

	function $(objId)

	{

		return document.getElementById(objId);

	}



	function returnUpperCase(objSrc)

	{

		objSrc.value = objSrc.value.toUpperCase();

	}



	function distributeMenu() 

	{

		objMenu = $('ulMenu');

		arrLI = objMenu.getElementsByTagName("li");

		

		numPadding = 940;

		numUtil = 0;

		

		for (i=0; i<arrLI.length; i++) 

		{

			numUtil += parseInt(arrLI[i].childNodes[0].clientWidth);

		}

		numPadding = Math.floor((940 - 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();

	}

	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);

		}

	}



//########################################################

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

//########################################################



	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_-]{1,}@[.a-z0-9_-]{1,}\.[a-z]{2,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

			}

		}

	}

	

