/*
Open Software
Programador: Victor Dias
Data: 16/02/2008
Descrição: Classe visa unificar funcionamento padrão javascript
E-mail: victor@opencorporate.com
*/
function Global()
{
	this.fcAlteraSenha = function()
	{
		if(document.getElementById("chkSenha").value == "0")
		{
			document.getElementById("alterar").style.display  = "block;";
			document.getElementById("chkSenha").value = "1"
		}
		else
		{
			document.getElementById("alterar").style.display  = "none;";
			document.getElementById("chkSenha").value = "0";
		}
	}

	//Criar Elemento getElementById Definido
	this.fcCreateElement = function(strId, strTipo, strValor)
	{
		switch (strTipo)
		{
			case "innerHTML":
				   document.getElementById(strId).innerHTML = strValor;
			   break
			case "value":
			   		document.getElementById(strId).value = strValor;
			   break
			case "display":
			   		document.getElementById(strId).display = strValor;
			   break
			case "visible":
			   		document.getElementById(strId).visible = strValor;
			   break
		}

	}

	//Função onde abri o facebox com a string strMensagem
	this.fcAbrir = function(strMensagem)
	{
        $(document).ready(function(){
             jQuery.facebox(strMensagem);
        })
	}


	//Funções para buscar
	this.fcBusca = function()
	{
		strBusca = document.getElementById("txtBusca").value;
		erro = 0;
		strMensagem = "";
		
		if(strBusca == "")
		{
			strMensagem += "Preencha o campo 'Busca'.<br />";
			erro = 1;
		}
		if(erro == 1)
		{
			this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
			return false;
		}
		else
		{
			//this.fcCreateElement("hndAction", "value", "1");
			return true;
		}

	}	

	//funções para indique
	this.fcIndique = function()
	{
		padrao = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		strNome = document.getElementById("txtNome").value;
		strEmail = document.getElementById("txtEmail").value;
		strAmigoNome = document.getElementById("txtAmigoNome").value;
		strAmigoEmail = document.getElementById("txtAmigoEmail").value;
		erro = 0;
		strMensagem = "";
		
		if(strNome == "")
		{
			strMensagem += "Preencha o campo 'Nome'.<br />";
			erro = 1;
		}
		if(strEmail == "")
		{
			strMensagem += "Preencha o campo 'Email'.<br />";	
			erro = 1;
		}
		else
		{
			OK = padrao.exec(strEmail)
			if(!OK)
			{
				strMensagem += "Seu Email esta incorreto.<br />";
				erro = 1;
			}
		}
		if(strAmigoNome == "")
		{
				strMensagem += "Preencha o campo 'Nome do Amigo'.<br />";
				erro = 1;
		}
		if(strAmigoEmail == "")
		{
				strMensagem += "Preencha o campo 'Email do Amigo'.<br />";
				erro = 1;
		}
		if(erro == 1)
		{
			this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
			return false;
		}
		else
		{
			return true;
		}

	}


	//Funções para validar alterar
	this.fcAlterar = function()
	{
		padrao = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		strNome = document.getElementById("txtNome").value;
		strEmail = document.getElementById("txtEmail").value;
		strSenha = document.getElementById("txtSenha").value;
		strSenhaConf = document.getElementById("txtConfSenha").value;
		erro = 0;
		strMensagem = "";

		if(strNome == "")
		{
			strMensagem += "Preencha o campo 'Nome'.<br />";
			erro = 1;
		}
		if(strEmail == "")
		{
			strMensagem += "Preencha o campo 'Email'.<br />";
			erro = 1;
		}
		else
		{
			OK = padrao.exec(strEmail)
			if(!OK)
			{
				strMensagem += "Seu Email esta incorreto.<br />";
				erro = 1;
			}
		}
		if(strSenha != strSenhaConf)
		{
			strMensagem += "Sua senha nao confere";
			erro = 1;
		}
		if(erro == 1)
		{
			this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
			return false;
		}
		else
		{
			//this.fcCreateElement("hndAction", "value", "1");
			return true;
		}
	}

	// Função para validar ASSOCIE
	this.fcAssocie = function()
	{
		padrao = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		strNome = document.getElementById("txtNome").value;
		strEmail = document.getElementById("txtEmail").value;
		strEndereco = document.getElementById("txtEndereco").value;
		strCota = document.getElementById("ddlEnredeco").value;
		//strEstado = document.getElementById("ddlEstados").value;
		strCidade = document.getElementById("txtCidade").value;
		strCPF = document.getElementById("txtCPF").value;
		strTelefone = document.getElementById("txtTelefone").value;
		erro = 0;
		strMensagem = "";

		if(strNome == "")
		{
			strMensagem += "Preencha o campo 'Nome'.<br />";
			erro = 1;
		}
		if(strEmail == "")
		{
			strMensagem += "Preencha o campo 'Email'.<br />";
			erro = 1;
		}
		else
		{
			OK = padrao.exec(strEmail)
			if(!OK)
			{
				strMensagem += "Seu Email esta incorreto.<br />";
				erro = 1;
			}
		}
		if(strEndereco == "")
		{
				strMensagem += "Preencha o campo 'Endere&ccedil;o'.<br />";
				erro = 1;
		}
		if(strCota == "")
		{
				strMensagem += "Preencha o campo 'Cota'.<br />";
				erro = 1;
		}

		if(strCidade == "0")
		{
				strMensagem += "Preencha o campo 'Estado'.<br />";
				erro = 1;
		}
		if(strCPF == "")
		{
				strMensagem += "Preencha o campo 'CPF'.<br />";
				erro = 1;
		}
		if(strTelefone == "")
		{
				strMensagem += "Preencha o campo 'Telefone'.<br />";
				erro = 1;
		}
		if(erro == 1)
		{
			this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
			return false;
		}
		else
		{
			this.fcCreateElement("hndAction", "value", "1");
			return true;
		}

	}

	//Função para Validar o fale conosco
	this.fcFaleConosco = function()
	{
		padrao = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		strNome = document.getElementById("txtNome").value;
		strEmail = document.getElementById("txtEmail").value;
		strTelefone = document.getElementById("txtTelefone").value;
		strMensagemCampo = document.getElementById("txtMensagem").value;
		erro = 0;
		strMensagem = "";

		if(strNome == "")
		{
			strMensagem += "Preencha o campo 'Nome'.<br />";
			erro = 1;
		}
		if (strEmail == "")
		{
			strMensagem += "Preencha o campo 'Email'.<br />";
			erro = 1;
		}
		else
		{
			OK = padrao.exec(strEmail)
			if(!OK)
			{
				strMensagem += "Seu Email esta incorreto.<br />";
				erro = 1;
			}
		}
		if(strTelefone =="")
		{
			strMensagem += "Preencha o campo 'Telefone'.<br />";
			erro = 1;
		}
		if(strMensagemCampo == "")
		{
			strMensagem += "Preencha o campo 'Mensagem'.<br />";
			erro = 1;
		}
		if(erro == 1)
		{
			this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
			return false;
		}
		else
		{
			this.fcCreateElement("hndAction", "value", "1");
			return true;
		}

	}

//Função para Anuncie
	this.fcAnuncie = function()
	{
		padrao = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		strNome = document.getElementById("txtNome").value;
		strEmail = document.getElementById("txtEmail").value;
		strTelefone = document.getElementById("txtTelefone").value;
		strMensagemCampo = document.getElementById("txtMensagem").value;
		erro = 0;
		strMensagem = "";

		if(strNome == "")
		{
			strMensagem += "Preencha o campo 'Nome'.<br />";
			erro = 1;
		}
		if (strEmail == "")
		{
			strMensagem += "Preencha o campo 'Email'.<br />";
			erro = 1;
		}
		else
		{
			OK = padrao.exec(strEmail)
			if(!OK)
			{
				strMensagem += "Seu Email esta incorreto.<br />";
				erro = 1;
			}
		}
		if(strTelefone =="")
		{
			strMensagem += "Preencha o campo 'Telefone'.<br />";
			erro = 1;
		}
		if(strMensagemCampo == "")
		{
			strMensagem += "Preencha o campo 'Mensagem'.<br />";
			erro = 1;
		}
		if(erro == 1)
		{
			this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
			return false;
		}
		else
		{
			this.fcCreateElement("hndAction", "value", "1");
			return true;
		}

	}

	//Função onde Valida o cadastro da newsletter
	this.fcValida = function()
	{
	    padrao = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	    strNome = document.getElementById("txtNome").value;
	    strTelefone = document.getElementById("txtTelefone").value;
	    strCpf = document.getElementById("txtCPF").value;
	    strTelefone = document.getElementById("txtTelefone").value;
	    strEmail = document.getElementById("txtEmail").value;
	    erro = 0;
	    strMensagem = "";
	    if(strNome == "")
	    {
	                strMensagem += "Preencha o campo 'Nome'.<br />";
	                erro = 1;
	    }
	    if(strEmail == "")
	    {
	                strMensagem += "Preencha o campo 'Email'.<br />";
	                erro = 1;
	    }
	    else
	    {
                    OK = padrao.exec(strEmail);
                    if (!OK){
                        strMensagem += "Seu Email esta incorreto.<br />";
                    erro = 1;
                    }
	    }




	    if(strTelefone == "")
	    {
	                strMensagem += "Preencha o campo 'Telefone'.<br />";
	                erro = 1;
	    }
	    if(strCpf == "")
	    {
	                strMensagem += "Preencha o campo 'CPF'.<br />";
	                erro = 1;

	    }

	    if(erro == 1)
	    {
	        this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
            return false;
	    }
	    else
	    {
	        this.fcCreateElement("hndAction", "value", "1");
	        return true;
	    }

	}
	
	this.fcvalidaUsuario = function()
	{
		this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3> Usuario ou senha invalida");	
	}
	//Função onde Valida o cadastro da newsletter
	this.fcValidaLogin = function()
	{
	    strLogin = document.getElementById("txtLogin").value;
	    strSenha = document.getElementById("txtSenha").value;
	    erro = 0;
	    strMensagem = "";

		if(strLogin == "")
		{
			strMensagem += "Preencha com o campo 'Login'.<br />";
	        erro = 1;
		}
		if(strSenha == "")
		{
			strMensagem += "Preencha com o campo 'Senha'.<br />";
	        erro = 1;
		}


	    if(erro == 1)
	    {
	        this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>" + strMensagem + "");
            return false;
	    }
	    else
	    {
	        //this.fcCreateElement("hndAction", "value", "1");
	        return true;
	    }

  		this.fcAbrir("<h3 class='Aamerelo Aalerta'>Aten&ccedil;&atilde;o!</h3>"+ strMensagem +"!");
		return false;

	}

	//Cria o Metodo do Ajax
//	this.fcOpenAjax = function()
//	{
//		try
//		{
//			xmlhttp = new XMLHttpRequest();
//		}
//		catch(ee)
//		{
//			try
//			{
//				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
//			}
//			catch(e)
//			{
//				try{
//					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
//				}
//				catch(E)
//				{
//						xmlhttp = false;
//				}
//			}
//		}
//	}
	this.fcMascara = function(isNum, event, field, mask, maxLength)
	{
			var keyCode;
	if (event.srcElement)
		keyCode = event.keyCode;
	else if (event.target)
		keyCode = event.which;

	var maskStack = new Array();

	var isDynMask = false;
	if (mask.indexOf('[') != -1)
		isDynMask = true;

	var length = mask.length;

	for (var i = 0; i < length; i++)
		maskStack.push(mask.charAt(i));

	var value = field.value;
	var i = value.length;

	if (keyCode == 0 || keyCode == 8)
		return true;

	//código adaptado para aceitar X (maiúsculo) ou x (minúsculo), além de números
	if (isNum && (keyCode < 48 || keyCode > 57) && (keyCode != 88) && (keyCode != 120))
		return false;

	if (!isDynMask && i < length) {

		if (maskStack.toString().indexOf(String.fromCharCode(keyCode)) != -1 && keyCode != 8) {
			return false;
		} else {
			if (keyCode != 8) {
				if (maskStack[i] != '#') {
					var old = field.value;
					field.value = old + maskStack[i];
				}
			}

//			if (autoTab(field, keyCode, length)) {
//				if (!document.layers) {
//					return true;
//				} else if (keyCode != 8) {
//					field.value += String.fromCharCode(keyCode);
//					return false;
//				} else {
//					return true;
//				}
//			} else {
//				return false;
//			}
		}

	} else if (isDynMask) {

		var maskChars = "";
		for (var j = 0; j < maskStack.length; j++)
			if (maskStack[j] != '#' && maskStack[j] != '[' && maskStack[j] != ']')
				maskChars += maskStack[j];

		var tempValue = "";
		for (var j = 0; j < value.length; j++) {
			if (maskChars.indexOf(value.charAt(j)) == -1)
				tempValue += value.charAt(j);
		}

		value = tempValue + String.fromCharCode(keyCode);

		if (maskChars.indexOf(String.fromCharCode(keyCode)) != -1) {
			return false;
		} else {

			var staticMask = mask.substring(mask.indexOf(']') + 1);
			var dynMask = mask.substring(mask.indexOf('[') + 1, mask.indexOf(']'));

			var realMask = new Array;

			if (mask.indexOf('[') == 0) {
				var countStaticMask = staticMask.length - 1;
				var countDynMask = dynMask.length - 1;
				for (var j = value.length - 1; j >= 0; j--) {
					if (countStaticMask >= 0) {
						realMask.push(staticMask.charAt(countStaticMask));
						countStaticMask--;
					}
					if (countStaticMask < 0) {
						if (countDynMask >= 0) {
							if (dynMask.charAt(countDynMask) != '#') {
								realMask.push(dynMask.charAt(countDynMask));
								countDynMask--;
							}
						}
						if (countDynMask == -1) {
							countDynMask = dynMask.length - 1;
						}
						realMask.push(dynMask.charAt(countDynMask));
						countDynMask--;
					}
				}
			}

			var result = "";

			var countValue = 0;
			while (realMask.length > 0) {
				var c = realMask.pop();
				if (c == '#') {
					result += value.charAt(countValue);
					countValue++;
				} else {
					result += c;
				}
			}

			field.value = result;

			if (maxLength != undefined &&  value.length == maxLength) {

				var form = field.form;
				for (var i = 0; i < form.elements.length; i++) {
					if (form.elements[i] == field) {
						field.blur();
						//if alterado para quando a máscara for utilizada no último campo, não dê mensagem de erro quando tentar colocar o foco no "Salvar"
						//if (form.elements[i + 1] != null)
						if ((form.elements[i + 1] != null) && (form.elements[i + 1].name != "METHOD"))
							form.elements[i + 1].focus();
						break;
					}
				}
			}

			return false;
		}
	} else {
		return false;
	}
	function autoTab(field, keyCode, length) {
		var i = field.value.length;

		if (i == length - 1) {

			field.value += String.fromCharCode(keyCode);

			var form = field.form;
			for (var i = 0; i < form.elements.length; i++) {
				if (form.elements[i] == field) {
					field.blur();
					//if alterado para quando a máscara for utilizada no último campo, não dê mensagem de erro quando tentar colocar o foco no "Salvar"
					//if (form.elements[i + 1] != null)
					if ((form.elements[i + 1] != null) && (form.elements[i + 1].name != "METHOD"))
						form.elements[i + 1].focus();
					break;
				}
			}

			return false;
		} else {
			return true;
		}
	}

	}
	this.confirmarExclusao = function()
{
    var mensagem = "Deseja realmente excluir os registros selecionados?";
    if(confirm(mensagem)){
        return true;
    }
    else
        return false;
}
}
// A List Apart article #229
// http://www.alistapart.com/articles/switchymclayout/
// Example
// http://www.alistapart.com/d/switchymclayout/transition_layout_news.html

window.onload = setScreenClass;
window.onresize = setScreenClass;

//  Tabela:
//
//	classname		|		screenwidth
//	--------------------------------------
//	small			|		<= 800px
//	medium			|		>  800px

function setScreenClass(){
	var fmt = document.documentElement.clientWidth;
	var cls = (fmt<=975)?'small':'medium';
	document.getElementById('count').innerHTML=fmt+'px -> '+cls;
	document.body.className=cls;
};
