/* JS Document */

/*


	Copyright 2008 pkage design

	mail@pkage.com
      

*/
	// -- CONVERÇÂO DE RGB PARA HEX -- //	
	function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}
	function toHex(N) {
	 if (N==null) return "00";
	 N=parseInt(N); if (N==0 || isNaN(N)) return "00";
	 N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N);
	 return "0123456789ABCDEF".charAt((N-N%16)/16)
		  + "0123456789ABCDEF".charAt(N%16);
	}

	// -- INICIO PARA APANHAR AS TAGNAMES (CLASS) -- //
	var initArray = function(arrayPka, tagName){
		var elems = document.getElementsByTagName("*");
		for (var i=0; ( elem = elems[i] ); i++) {	
			if( (elem.className.indexOf(tagName) != -1)){
				
				arrayPka[arrayPka.length] = elem
			}					
		}
	}

	// -- ACTIVA AS CORES AOS ELEMENTOS -- //	
	function changeColorByClass(whichArray, myColor,propChange){	
		for (i=0; i<whichArray.length; i++){	
				var prop = whichArray[i].style				
				var elForeColor = styleGet(whichArray[i], propChange);	
				var corHex				
				if(elForeColor._browser=='ff'){		
					var RGBColor = elForeColor._elem.toString()
					
					var patt1 = /,/
					var resulton = RGBColor.search('b');
					var result = RGBColor.search(patt1);				
					var red = RGBColor.substring(resulton+2,result)			
						
					
					var newRgb = RGBColor.substring(result+1,RGBColor.length)
					var newresult = newRgb.search(patt1);				
					var green = newRgb.substring(0,newresult)				
					var blue = newRgb.substring(newresult+1,newRgb.length-1)
					
					corHex = RGBtoHex(red,green,blue)
					
				} else {
					var RGBColor = elForeColor._elem.toString()
						
					corHex = RGBColor.substring(1,RGBColor.length)
				} 

				
				var colorTween = new ColorTween(prop,propChange,Tween.regularEaseInOut,corHex,myColor,1);
				colorTween.start()
		}	
	}
	// -- ENCHIMENTO DOS ARRAYS - DEFINIR QUANTAS CORES PARA CADA TIPO (FONT,FUNDO,BORDAS) -- //
	function changeAll(colorObj){
		changeColorByClass(arrayFontColor1,colorObj._cor1_,'color')
		changeColorByClass(arrayFontColor2,colorObj._cor2_,'color')
		changeColorByClass(arrayBackGroundColor1,colorObj._cor1_,'backgroundColor')
		changeColorByClass(arrayBackGroundColor2,colorObj._cor2_,'backgroundColor')
		changeColorByClass(arrayBorderColor1,colorObj._cor1_,'borderColor')
		changeColorByClass(arrayBorderColor2,colorObj._cor2_,'borderColor')
		
	} 
	function initAllArrays(colorObj){	
		arrayBorderColor1 = []
		arrayFontColo1r1 = []
		arrayBackGroundColor1 = []
		arrayBorderColor2 = []
		arrayFontColo1r2 = []
		arrayBackGroundColor2 = []
		
		// -- CLASS -- //
		initArray(arrayFontColor1, 'font_titulo');
		initArray(arrayFontColor1, 'div_sexo');
		initArray(arrayFontColor1, 'font_nome');
		initArray(arrayFontColor1, 'font_9_cor');
		initArray(arrayFontColor1, 'letra_atras');
		initArray(arrayFontColor1, 'font_azul');
		
		initArray(arrayBorderColor1, 'molduracor');
		initArray(arrayBorderColor1, 'table');
		initArray(arrayBorderColor1, 'servi_border01');
		initArray(arrayBorderColor1, 'div_info_destaque');
		initArray(arrayBorderColor1, 'links_tab');
		
		initArray(arrayBorderColor2, 'form_normal_focus');
		initArray(arrayBorderColor2, 'form_texto_focus');
		initArray(arrayBorderColor2, 'div_border');
		initArray(arrayBorderColor2, 'linha2');
		initArray(arrayBorderColor2, 'letra_frente');
		initArray(arrayBorderColor2, 'servi_border02');
		
		initArray(arrayBackGroundColor1, 'button_antes');
		initArray(arrayBackGroundColor1, 'button_depois');
		initArray(arrayBackGroundColor1, 'button_ok');
		initArray(arrayBackGroundColor1, 'seta');
		initArray(arrayBackGroundColor1, 'bloco');
		initArray(arrayBackGroundColor1, 'line3');
		initArray(arrayBackGroundColor1, 'line4');
		initArray(arrayBackGroundColor1, 'enviar');
		initArray(arrayBackGroundColor1, 'barra_menu');
		initArray(arrayBackGroundColor1, 'enviar_contacto');
		initArray(arrayBackGroundColor1, 'letras_fundo');
		initArray(arrayBackGroundColor1, 'letra_frente');
		initArray(arrayBackGroundColor1, 'link_abrir');
		
		initArray(arrayBackGroundColor2, 'line1');
		initArray(arrayBackGroundColor2, 'line2');

		changeAll(colorObj)
	
	}
	var arrayFontColor1 = new Array() 
	var arrayBackGroundColor1 = new Array()
	var arrayBorderColor1 = new Array() 
	var arrayFontColor2 = new Array() 
	var arrayBackGroundColo2 = new Array()
	var arrayBorderColor2 = new Array()
	/// Array especial para propriedades com nomes diferentes
	/// 'backgroundColor' --- >>PROP NORMAL
	// 'borderColor' --PROP ESPECIAL PQ TEM DE TER 'border-top-color'
	var spcialPro = new Array({_propClass:'borderColor',_propText:'border-top-color'})
	
	function styleGet(Element, CssProperty)
		{
				var oElement = Element
				
				if(window.getComputedStyle){
					var elementStyle = eval('window.getComputedStyle(Element, null).'+CssProperty)
					for(var i=0;i<spcialPro.length;i++){
						var Class = spcialPro[i]._propClass
						var text = spcialPro[i]._propText
						if(CssProperty==Class){
							elementStyle =  window.getComputedStyle(Element, null).getPropertyValue(text)
						}			
					}
					var obj = {_browser:'ff',_elem:elementStyle}					
				} else if(oElement.currentStyle){
					var elementStyle = eval('oElement.currentStyle.'+CssProperty)
					var obj = {_browser:'ie',_elem:elementStyle}
					
				}			
				return obj
		}
	
