
	var slideIntervalo;
	
	function slideShow(side)
	{
		arrImg = $('divHomeSlideShowAux').getElementsByTagName('a');
		
		numMaxWidth = arrImg.length * (152+26);
		
		slideSide = side
		slideStart = true;
		numLeft = $('divHomeSlideShowAux').style.left;
		
		if (numLeft == '') numLeft = 0;
		else numLeft = parseInt(numLeft);
			
		if (side == 'right')
		{
			if ( (numMaxWidth-828) > ((numLeft - 10)*(-1)) )
			{
				numLeft = numLeft - 10;
				$('divHomeSlideShowAux').style.left = numLeft + 'px';
				slideIntervalo = setTimeout("slideShow('right')",50);
			}
		}
		else
		{
			if ((numLeft + 10) < 0)
			{
				numLeft = numLeft + 10;
				$('divHomeSlideShowAux').style.left = numLeft + 'px';
				slideIntervalo = setTimeout("slideShow('left')",50);
			}
			else
			{
				$('divHomeSlideShowAux').style.left = '0px';
			}
		}
	}

	function slideShow2(side)
	{
		arrImg = $('divSlideShowAux').getElementsByTagName('a');
		
		numMaxHeigth = arrImg.length * (107+26);
		
		slideSide = side
		slideStart = true;
		numTop = $('divSlideShowAux').style.top;
		
		if (numTop == '') numTop = 0;
		else numTop = parseInt(numTop);
			
		if (side == 'bottom')
		{
			if ( (numMaxHeigth-340) > ((numTop - 10)*(-1)) )
			{
				numTop = numTop - 10;
				$('divSlideShowAux').style.top = numTop + 'px';
				slideIntervalo = setTimeout("slideShow2('bottom')",50);
			}
		}
		else
		{
			if ((numTop + 10) < 0)
			{
				numTop = numTop + 10;
				$('divSlideShowAux').style.top = numTop + 'px';
				slideIntervalo = setTimeout("slideShow2('top')",50);
			}
			else
			{
				$('divSlideShowAux').style.top = '0px';
			}
		}
	}

	function slideShowStop()
	{
		clearTimeout(slideIntervalo);
	}

	function $(objId)
	{
		return document.getElementById(objId);
	}

	function searchValidation()
	{
		objPalavraChave = $('txtSearchPalavraChave');

		strPalavraChave = objPalavraChave.value;
		strPalavraChave = strPalavraChave.replace(/^\s+|\s+$/g,"");
		
		if (strPalavraChave.length < 3)
		{
			alert('A busca deve ser feita com pelo menos 3 letras.');
			objPalavraChave.focus();
			return false;
		}
		return true;
	}

	function returnUpperCase(objSrc)
	{
		objSrc.value = objSrc.value.toUpperCase();
	}

	function distributeMenu() 
	{
		objMenu = $('ulMenu');
		arrLI = objMenu.getElementsByTagName("li");

		numPadding = 0;
		numUtil = 0;
		
		for (i=0; i<arrLI.length; i++) 
		{
			numUtil += parseInt(arrLI[i].childNodes[0].clientWidth);
		}
		numPadding = Math.floor((904 - numUtil) / arrLI.length / 2);
		for (i=0; i<arrLI.length; i++) 
		{
			arrLI[i].style.paddingLeft = numPadding + 'px';
			arrLI[i].style.paddingRight = numPadding + 'px';
		}
	}

	function init(strRoot) 
	{
		preloadMenuImage(strRoot);
		distributeMenu();
		rotateBanner(0);
	}
	function preloadMenuImage(strRoot) 
	{
		imgMenuImage = new Image(1,1); 
		//imgMenuImage.src=strRoot+'library/images/m_02.jpg';
	}

	function openWindowPrint(strTarget)
	{
		window.open(strTarget, null, 'height=500,width=700,status=no,toolbar=yes,menubar=no,location=no,scrollbars=yes');
	}

	function openWindowRecomend(strRoot)
	{
		var objBody = document.body; 

		var objDivCover = document.createElement("DIV");
		objDivCover.id = "divCoverBody";
		objDivCover.style.width = "100%";
		objDivCover.style.height = objBody.parentNode.scrollHeight+'px';
		objDivCover.style.zIndex = "998";

		var objDivCoverBodyPhoto = document.createElement("DIV");
		objDivCoverBodyPhoto.id = "divCoverBodyPhoto";
		objDivCoverBodyPhoto.style.width = "100%";
		objDivCoverBodyPhoto.style.textAlign = "center";
		objDivCoverBodyPhoto.style.zIndex = "999";
		
		var objIframe = document.createElement("IFRAME");
		objIframe.style.marginTop = (window.document.documentElement.scrollTop + 50) + 'px';
		objIframe.style.backgroundColor = '#FFFFFF';
		objIframe.frameBorder = '0';
		objIframe.style.width = '405px';
		objIframe.style.height = '160px';
		objIframe.style.padding = '10px';
		objIframe.style.cursor = 'pointer';
		objIframe.src = strRoot+'recomend.php?url='+window.location.href;

		objBody.appendChild(objDivCover);
		objDivCoverBodyPhoto.appendChild(objIframe);
		objBody.appendChild(objDivCoverBodyPhoto);
	}

	function createXMLHTTP() 
	{
		try 
		{
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(e) 
		{
			try 
			{
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
				alert(ajax);
			}
			catch(ex) 
			{
				try 
				{
					ajax = new XMLHttpRequest();
				}
				catch(exc) 
				{
					alert("Esse browser não tem recursos para uso do Ajax");
					ajax = null;
				}
			}
			return ajax;
		}
		
		var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
	
		for (var i=0; i < arrSignatures.length; i++) 
		{
			try 
			{
				var oRequest = new ActiveXObject(arrSignatures[i]);
				return oRequest;
			} 
			catch (oError) 
			{
		
			}
		}
		
		throw new Error("MSXML is not installed on your system.");
	}


	function submitRTEForm(strFormId, strTextResponseId)
	{
		objForm = $(strFormId);
		objResponse = $(strTextResponseId);

		if (validateForm(strFormId))
		{
			
			objResponse.innerHTML = 'aguarde o envio...';
			
			var oHTTPRequest = createXMLHTTP();
			oHTTPRequest.open("post", "../../library/util/ajaxSubmitRTEForm.php", true);
			oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			oHTTPRequest.onreadystatechange=function() 
			{
				if (oHTTPRequest.readyState==4)
				{
					objResponse.innerHTML = oHTTPRequest.responseText;
				}
			}

			strRequest = '';
			for (i=0; i<objForm.elements.length; i++) 
			{
				if(objForm.item(i).type != 'button' && objForm.item(i).type != 'reset')
				{
					strValue = objForm.elements.item(i).value;
					if(objForm.item(i).nodeName == 'SELECT' && objForm.item(i).multiple)
					{
						strValue = '';
						for (j=0; j<objForm.item(i).length; j++)
						{
							if (objForm.item(i).options[j].selected)
							{
								strValue += objForm.item(i).options[j].value + ', ';
							}
						}
					}
					strRequest += objForm.elements.item(i).id + '=' + strValue + '&';
				}
			}
			oHTTPRequest.send(strRequest);
		}
	}

	function ajaxFilterCombo(strParent, strTarget, strTable, strFieldFK, strFieldLabel, strFieldValue, idSelected)
	{
		objParent = $(strParent);
		objTarget = $(strTarget);
		objParentValue = objParent.value;

		ajaxSetOptions(strTarget, "<option>Carregando...</option>", true);
	
		var oHTTPRequest = createXMLHTTP(); 
		oHTTPRequest.open("post", "../cms/util/ajaxFilterDropDown.php", true);
		oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		oHTTPRequest.onreadystatechange=function() 
		{
			if (oHTTPRequest.readyState==4)
			{
				objTarget.disabled = false;
				window.setTimeout(function(){ajaxSetOptions(strTarget, oHTTPRequest.responseText, false)}, 100);
			}
		}
		strPost = 	"strValueCompare=" 	+ objParentValue + 
					"&strFieldFK=" 		+ strFieldFK + 
					"&strFieldLabel=" 	+ strFieldLabel + 
					"&strFieldValue=" 	+ strFieldValue + 
					"&strTable=" 		+ strTable + 
					"&idSelected=" 		+ idSelected;
		oHTTPRequest.send(strPost);
	}
	
	function ajaxSetOptions(strTarget, strReturn, bolDisabled)
	{
		objTarget = $(strTarget);
		objParent = objTarget.parentNode;
		objTarget.disabled = bolDisabled;
		strReference = '#reference#';
	
		strReturn = unescape(strReturn);
		strReturn = strReturn.replace(/\+/g, ' ');
	
		objClone = objTarget.cloneNode(false);
		objTarget.innerHTML = '';
	
		objTarget = $(strTarget);
	
		if(document.all)
		{
			arrOptions = strReturn.split('</option>');
			for	(i=0; i<arrOptions.length-1; i++)
			{
				strOption = arrOptions[i] + '</option>';
				strOption = strOption.replace(/\n/, '');
				strOption = strOption.replace(/\r/, '');
				objOption = document.createElement(strOption);
				objOption.text = arrOptions[i].replace(/<option(.*)>/, '');
				objTarget.add(objOption);
			}
		}
		else
		{
			objTarget.innerHTML = strReturn;
		}
	}

//########################################################
//##################### Banner Rotate ####################
//########################################################

	var timeoutID;
	function rotateBanner(numCount)
	{
		if($('divContentHomeBanner'))
		{
			arrBanner = $('divContentHomeBanner').getElementsByTagName("div");
			
			divBanner = arrBanner[numCount];

			for (i=0; i<arrBanner.length; i++) 
			{
				if (i != numCount)
				{
					arrBanner[i].style.display = 'none';
				}
				else
				{
					arrBanner[i].style.display = 'block';
				}
			}

			if (numCount+1 >= arrBanner.length)
				numCountNext = 0;
			else
				numCountNext = numCount+1;

			numInterval = parseInt(arrBanner[numCount].getAttribute('time')) * 1000;
	
			clearTimeout(timeoutID);
			timeoutID = setTimeout("rotateBanner(numCountNext)", numInterval);
			
		}
	}
	function rotateBannerUp()
	{
		if($('divContentHomeBanner'))
		{
			arrBanner = $('divContentHomeBanner').getElementsByTagName("div");
			
			numCount = 0;

			for (i=0; i<arrBanner.length; i++)
			{
				if (arrBanner[i].style.display != 'none')
				{
					numCount = i;
				}
			}

			if (numCount+1 >= arrBanner.length)
				numCountNext = 0;
			else
				numCountNext = numCount+1;

			numInterval = parseInt(arrBanner[numCount].getAttribute('time')) * 1000;
	
			clearTimeout(timeoutID);
			rotateBanner(numCountNext);
			
		}
	}

	function rotateBannerDown()
	{
		if($('divContentHomeBanner'))
		{
			arrBanner = $('divContentHomeBanner').getElementsByTagName("div");
			
			numCount = 0;

			for (i=0; i<arrBanner.length; i++)
			{
				if (arrBanner[i].style.display != 'none')
				{
					numCount = i;
				}
			}

			if (numCount <= 0)
				numCountNext = arrBanner.length-1;
			else
				numCountNext = numCount-1;

			numInterval = parseInt(arrBanner[numCount].getAttribute('time')) * 1000;

			clearTimeout(timeoutID);
			rotateBanner(numCountNext);
			
		}
	}


//########################################################
//#################### Form Validation ###################
//########################################################

	function submitForm(targetForm)
	{
		form = $(targetForm);
		if (validateForm(targetForm))
		{
			form.submit();
		}
		else
		{
			return false;
		}
	}

	function validateForm(targetForm)
	{
		form = $(targetForm);
		for (i=0; i<form.elements.length; i++) 
		{
			//if (form.elements.item(i).validation != 'none')	validationRemoveBlankSpace(form.elements.item(i));
			
			if (form.elements.item(i).style.display != 'none')
			{
				if (!validationRequieredField(form.elements.item(i)))
				{
					alert("O campo " + form.elements.item(i).id + " é de preenchimento obrigatório.");
					setFocus(form.elements.item(i));
					return false;
				} 
	
				if (!validationDateFormat(form.elements.item(i)))
				{
					alert("O campo " + form.elements.item(i).id + " deve ter o formato dd/mm/yyyy.");
					setFocus(form.elements.item(i));
					return false;
				}
	
				if (!validationEmailFormat(form.elements.item(i)))
				{
					alert("O campo " + form.elements.item(i).id + " deve ter um formato válido de e-mail.");
					setFocus(form.elements.item(i));
					return false;
				}
	
				if (!validationCurrencyFormat(form.elements.item(i)))
				{
					alert("O campo " + form.elements.item(i).id + " deve ter um formato válido de moeda.");
					setFocus(form.elements.item(i));
					return false;
				}
	
				if (!validationNumberFormat(form.elements.item(i)))
				{
					alert("O campo " + form.elements.item(i).id + " deve conter um número inteiro.");
					setFocus(form.elements.item(i));
					return false;
				}
	
				if (!validationDecimalFormat(form.elements.item(i)))
				{
					alert("O campo " + form.elements.item(i).id + " deve conter um número decimal.");
					setFocus(form.elements.item(i));
					return false;
				}

			}
		}
		return true;
	}

	function validationRequieredField(targetField)
	{
		isValid = true;
		if (targetField.className == 'requiredfield')
		{
			if (targetField.value == "" || targetField.value == " ")
			{
				isValid = false;
			}
			if (targetField.value == "0" && (targetField.getAttribute('validation') != "number" && targetField.getAttribute('validation') != "decimal") )
			{
				isValid = false;
			}
		}
		return isValid;
	}

	function validationDateFormat(targetField)
	{
		isValid = true;
		if (targetField.getAttribute('validation') != 'date')
		{
			return isValid;
		}
		if (targetField.value == '')
		{
			return isValid;
		}
		
		if (targetField.value.length > 10) isValid = false;
		if (targetField.value.length < 6) isValid = false;
		try
		{
			splitString = targetField.value.split("/")
			if (eval(splitString[0]) > 31) isValid = false;
			if (eval(splitString[1]) > 12) isValid = false;
			if (splitString[2] == '') isValid = false;
			if (eval(splitString[2]) < 1 || eval(splitString[2]) < 999) isValid = false;
		}
		catch (e)
		{
			 isValid = false;
		}		
		return isValid;
	}

	function validationEmailFormat(targetField)
	{
		isValid = true;
		if (targetField.getAttribute('validation') != 'email')
		{
			return isValid;
		}
		if (targetField.value == '')
		{
			return isValid;
		}

		var regExp = /^[a-z0-9.-_]{3,}@[a-z0-9-._]{3,}\.[a-z]{2,3}\b/;
		if (!regExp.test(targetField.value)) isValid = false;

		return isValid;
	}

	function validationCurrencyFormat(targetField)
	{
		isValid = true;
		if (targetField.getAttribute('validation') != 'currency')
		{
			return isValid;
		}
		if (targetField.value == '')
		{
			return isValid;
		}

		var regExp = /^(R\$ *)?[0-9]{1,3}(\.[0-9]{3})*(\,[0-9]{1,2})?$/;
		if (!regExp.test(targetField.value)) isValid = false;

		return isValid;
	}

	function validationNumberFormat(targetField)
	{
		isValid = true;
		if (targetField.getAttribute('validation') != 'number')
		{
			return isValid;
		}
		try
		{
			if (eval(targetField.value) < 0) isValid = true;
		}
		catch (e)
		{
			 isValid = false;
		}
		return isValid;
	}

	function validationDecimalFormat(targetField)
	{
		isValid = true;
		if (targetField.getAttribute('validation') != 'decimal')
		{
			return isValid;
		}
		try
		{
			strAux = targetField.value.replace(",", ".");
			if (eval(strAux) < 0) isValid = true;
		}
		catch (e)
		{
			 isValid = false;
		}		
		return isValid;
	}

	function validationRemoveBlankSpace(targetField)
	{
		aux = targetField.value.length;
		for (j=0; j<aux; j++)
		{
			targetField.value = targetField.value.replace("  ", " ");
		}
	}

	function setFocus(targetField)
	{
		try
		{
			numAba = abaNumber;
		}
		catch (e)
		{
			numAba = 0;
		}
		if (numAba == 0)
		{
			targetField.focus();
			if (targetField.nodeName != 'SELECT') targetField.select();
		} 
		else
		{
			x=1;
			while (x<=numAba)
			{
				changeAba(x);
				try
				{
					targetField.focus();
					if (targetField.nodeName != 'SELECT') targetField.select();
					x = numAba+1;
				}
				catch (e)
				{
					x++;
				}
			}
		}
	}


//########################################################
//##################### Inputs Mask ######################
//########################################################

	function setMask(objTextBox, strMask, evtKeyPress) 
	{
		if (document.all)  // Internet Explorer
		{
			nTecla = evtKeyPress.keyCode;
		}
		else // Other
		{
			nTecla = evtKeyPress.which;
		}
	
		strValue = objTextBox.value;
		numLength = strValue.length;
	
		nextChar = strMask.charAt(numLength); 
		
		if (nTecla == 8 || nTecla == 46)
		{
			return nTecla;
		}
		else
		{
	
			if (nextChar != "9" && nextChar != "x" && nextChar != "X")
			{
				objTextBox.value = objTextBox.value + nextChar;
				nextChar = strMask.charAt(numLength+1); 
			}
	
			switch (nextChar) {
				case "9":
					if (nTecla > 47 && nTecla < 58) 
					{
						return nTecla;
					}
					else 
					{
						return false;
					}
					break
				case "x":
					if ((nTecla > 96 && nTecla < 123) || (nTecla > 64 && nTecla < 91)) 
					{
						objTextBox.value = objTextBox.value + String.fromCharCode(nTecla).toLowerCase();
						return false;
					}
					else 
					{
						return false;
					}
					break
				case "X":
					if ((nTecla > 96 && nTecla < 123) || (nTecla > 64 && nTecla < 91)) 
					{
						objTextBox.value = objTextBox.value + String.fromCharCode(nTecla).toUpperCase();
						return false;
					}
					else 
					{
						return false;
					}
					break
			}
		}
	}