/*
//Função para formatação de campo numerico (É tudo isso mesmo)
*/
documentall = document.all;   
function formatamoney(c) {   
    var t = this; if(c == undefined) c = 2;         
    var p, d = (t=t.split("."))[1].substr(0, c);   
    for(p = (t=t[0]).length; (p-=3) >= 1;) {   
           t = t.substr(0,p) + "." + t.substr(p);   
    }   
    return t+","+d+Array(c+1-d.length).join(0);   
}   
  
String.prototype.formatCurrency=formatamoney   
  
function demaskvalue(valor, currency, aposVirgula){
	//alert(aposVirgula);
	var length = -2;
	var val2 = '';   
	var strCheck = '0123456789';   
	var len = valor.length;   
    if (len== 0){
		if(aposVirgula == 3){
			return 0.000;
		} else {
			return 0.00;
		}
	}
  
   	if (currency ==true){      
    	for(var i = 0; i < len; i++)   
        if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;   
       	for(; i < len; i++){   
        	if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);   
      	}   
		if(val2.length==0){
			if(aposVirgula == 3){
				return "0.000";
			} else {
				return "0.00";
			}
		}
      	if (val2.length==1){
			if(aposVirgula == 3){
				return "0.00" + val2;
			} else {
				return "0.0" + val2;
			}
		}
      	if (val2.length==2){
			if(aposVirgula == 3){
				return "0.0" + val2;
			} else {
				return "0." + val2;
			}
		}
		if(aposVirgula == 3){
			var parte1 = val2.substring(0,val2.length-3);
			var parte1 = val2.substring(0,val2.length-3);   
      		var parte2 = val2.substring(val2.length-3);   
		} else {
			var parte1 = val2.substring(0,val2.length-2);
			var parte1 = val2.substring(0,val2.length-2);   
      		var parte2 = val2.substring(val2.length-2);   
      		
		}
		var returnvalue = parte1 + "." + parte2;
		return returnvalue; 
          
   	} else {   
        val3 ="";   
        for(var k=0; k < len; k++){   
        	if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);   
        }            
   	return val3;   
   	}   
}   
  
function reais(obj,event, aposVirgula){
	var whichCode = (window.Event) ? event.which : event.keyCode;   
	if (whichCode == 8 && !documentall) {      
		if (event.preventDefault){ //standart browsers   
    		event.preventDefault();   
    	} else { // internet explorer   
    	    event.returnValue = false;   
   		}   
   		var valor = obj.value;   
   		var x = valor.substring(0,valor.length-1);   
   		obj.value= demaskvalue(x,true,aposVirgula).formatCurrency(aposVirgula);   
   		return false;   
	}   
	FormataReais(obj,'.',',',event,aposVirgula);   
} // end reais   
  
function backspace(obj,event, aposVirgula){ 
	
	var whichCode = (window.Event) ? event.which : event.keyCode;   
	if (whichCode == 8 && documentall) {      
   		var valor = obj.value;   
		var x = valor.substring(0,valor.length-1);   
   		var y = demaskvalue(x,true,aposVirgula).formatCurrency(aposVirgula);   
   		obj.value =""; //necessário para o opera   
   		obj.value += y;   
      	if (event.preventDefault){ //standart browsers   
       		event.preventDefault();   
      	} else { // internet explorer   
        	 event.returnValue = false;   
   		}   
   		return false;   
   }// end if         
}// end backspace   
  
function FormataReais(fld, milSep, decSep, e, aposVirgula) {   
	//alert(aposVirgula);
	var sep = 0;   
	var key = '';   
	var i = j = 0;   
	var len = len2 = 0;   
	var strCheck = '0123456789';   
	var aux = aux2 = '';   
	var whichCode = (window.Event) ? e.which : e.keyCode;   
	if (whichCode == 0 ) return true;   
	if (whichCode == 9 ) return true; //tecla tab   
	if (whichCode == 13) return true; //tecla enter   
	if (whichCode == 16) return true; //shift internet explorer   
	if (whichCode == 17) return true; //control no internet explorer   
	if (whichCode == 27 ) return true; //tecla esc   
	if (whichCode == 34 ) return true; //tecla end   
	if (whichCode == 35 ) return true;//tecla end   
	if (whichCode == 36 ) return true; //tecla home   
  
	if (e.preventDefault){ //standart browsers   
    	e.preventDefault()   
   	} else { // internet explorer   
      	e.returnValue = false  
	}   
  
	var key = String.fromCharCode(whichCode);  // Valor para o código da Chave   
	if (strCheck.indexOf(key) == -1) return false;  // Chave inválida   
  
	fld.value += key;   
  
	var len = fld.value.length;   
	var bodeaux = demaskvalue(fld.value,true,aposVirgula).formatCurrency(aposVirgula);   
	fld.value=bodeaux;   
  
  	if (fld.createTextRange) {   
    	var range = fld.createTextRange();   
    	range.collapse(false);   
    	range.select();   
  	} else if (fld.setSelectionRange) {   
    	fld.focus();   
    	var length = fld.value.length;   
   	 	fld.setSelectionRange(length, length);   
  	}   
  	return false;   
}
/*
//Fim função de formatação
*/
function validaFileFieldRh(campo){
	var f = document.getElementById(campo);
	if(f.value == ""){
		alert("Selecione um Arquivo");	
		return false;
	} else {
		f = f.value.split("/");
		f= f[f.length-1];
		if(/[a-z0-9]+\.(doc)$/i.test(f)){
		return true;
		} else {
			alert("Erro!\nPor favor, escolha um arquivo .doc (Microsoft Word)");
		return false;
		}
	}
}
/*
Função ativa scroll mouse
*/
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
	    //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    }
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    }
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
   }
   return [ scrOfX, scrOfY ];
}
/*
// Abre Janela YouTube
*/
function abrirTube(s) {
	window.open('http://www.youtube.com/v/'+s,'youTube','width=425, height=340,left=200,top=200,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');
}
/*
// Popup
*/
function popUp(url, width, height) {
	var stageWidth   = screen.width;
	var stageHeight  = screen.height;
	var avalWidth	 = screen.availWidth - 10;
	var avalHeight   = screen.availHeight - 30;
	var windowWidth	 = width;
	var windowHeight = height;
	//
	var left = (stageWidth/2) - (windowWidth/2);
	var top = (stageHeight/2) - (windowHeight/2) - 30;
	//
	var strFeatures = "toolbar=no,status=no,menubar=no,location=no,scrollbars=no,resizable=no,width="+windowWidth+",height="+windowHeight+",left="+left+",top="+top;
	window.open(url, "popUp", strFeatures);

	return false;
}
/*
// Ajustra o Banner Expansivo
*/
function ajusta468x60Expansivo(layerDiv, w, h) {
	var obj;
	if(document.layers) {
		obj = document.layers[layerDiv];
	} else if(document.all && !document.getElementById) {
		obj = document.all[layerDiv];
	} else {
		obj = document.getElementById(layerDiv);
	}
	obj.style.clip = 'rect(0px '+w+'px '+h+'px 0px)';
}
/*
// AJAX -> LoginUser
*/
function ajaxLoginUser(form, url) {
	if(!checaCamposLogin(form)) {
		return false;
	}
	//
	var email = form.email.value;
	var senha = form.senha.value;
	var cidade = form.cidade.value;
	var autoLogin = form.autologin.checked;
	var urlSend = url + "include/form_login_ajax.php?email=" + email + "&senha=" + senha + "&cidade=" + cidade + "&autologin=" + autoLogin;
	var ajax = GetXmlHttpObject();
	
	//
	ajax.open('POST', urlSend, true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajax.onreadystatechange = function(){
		if (ajax.readyState == 4){
			//alert("responseText: "+ ajax.responseText);
			if(ajax.responseText == '1') {
				alert("Seja Bem Vindo!");
				window.location = url;
			} else { 
				alert("Usuário/Senha inválido! Por favor tente novamente!");
			}
		}
	}
	ajax.send(null);
	//For not refresh the page, since it´s a form
	return false;
}
/*
// AJAX -> COMBOBOX POPULATOR (para popular combo boxes)
*/
function ajaxPopulaCombo(codigo, url, combo) {
	url = url+"?cod="+codigo;
	var ajax = GetXmlHttpObject();
	combo.options.length = 1;
	ajax.open("GET", url, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	ajax.onreadystatechange = function () {
		if (ajax.readyState == 0) { //Nao inicializado
			combo.options[0] = new Option('Problemas na inicializaçao','0');
		} else if (ajax.readyState == 1) { //Carregando
			combo.options[0] = new Option('Carregando...','0');
		} else if (ajax.readyState == 4) { //Completado
			comboProcessXML(ajax.responseXML, combo);
		}
	}
	ajax.send(null);
}
/*
// AJAX -> Processa o XML retornado
*/
function comboProcessXML(obj, combo){
	//pega a tag cidade
	var dataArray = obj.getElementsByTagName("item");
	//total de elementos contidos na tag cidade
	if(dataArray.length > 0) {
		combo.options[0] = new Option('Selecione', '');
		for(var i=0; i<dataArray.length; i++) {
			var xmlNode = dataArray[i];
			var codigo = xmlNode.getElementsByTagName("codigo")[0].firstChild.nodeValue;
			var descricao =  xmlNode.getElementsByTagName("descricao")[0].firstChild.nodeValue;
			combo.options[i+1] = new Option(descricao, codigo);
		}
	} else { //caso o XML volte vazio, printa a mensagem abaixo
		combo.options[0] = new Option('Nenhum item cadastrado','0');
	}
}
/*
// Inicializa o XMLHttpRequest -> AJAX
*/
function GetXmlHttpObject() { 
	var ajax = null;
	try {
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
		//alert("Microsoft.XMLHTTP");
		return ajax;
	} catch(e) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
			//alert("Msxml2.XMLHTTP");
			return ajax;
		} catch(ex) {
			try {
				ajax = new XMLHttpRequest();
				//alert("XMLHttpRequest");
				return ajax;
			} catch(exc) {
				alert("Esse browser nao tem recursos para uso do Ajax");
				return ajax;
			}
		}
	}
}