/*
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)';
}
/*
//
*/
function trocaImagem(thumb) {
	if (document.getElementById) {
		document.getElementById('imagem').src = thumb.href;
		return false;
	} else {
		return true;
	}
}
/*
// Funções de Formulário de Email/Contato
*/
function validaEmail(email) {
	var achou_ponto=false;
	var achou_arroba=false;
	var achou_caracter=false;

	for (var i=0; i<email.length; i++) {
		if (email.charAt(i)=="@") achou_arroba=true;
		else if (email.charAt(i)==".") achou_ponto=true;
		else if (email.charAt(i)!=" ") achou_caracter=true;
	}
	return (achou_ponto & achou_arroba & achou_caracter);
}
/*
// Função de Checa Combo passando valor que não é aceito
*/
function checaCombo(campo, valor) {
	if ((campo.options[campo.selectedIndex]).value == valor) {
		return false;
	}
	return true;
}
/*
// Valida o CPF (Função para ser usada com a mascara de cpf (000.000.000-00)
*/
function validaCpf(s) {
	var i; 
	var c = s.substr(0,3) + s.substr(4,3) + s.substr(8,3);
	var dv = s.substr(12,2);
	var d1 = 0; 
	//Verifica se todos os número são iguais
	var iguais = true;
	for (i = 0; i<8; i++) {
		if(c.charAt(i) != c.charAt(i+1)) {
			iguais = false;
		}
	}
	if(iguais == true) { return false; }
	//
	for (i = 0; i < 9; i++) { 
		d1 += c.charAt(i)*(10-i); 
	}
	if (d1 == 0){ return false; } 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(0) != d1) { return false; } 
	d1 *= 2; 
	for (i = 0; i < 9; i++) { 
		d1 += c.charAt(i)*(11-i); 
	} 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(1) != d1) { 
		return false; 
	}
	return true; 
} 
//
function checaCamposContato(form) {
	var reDate = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
	if (form.nome.value.length < 1) {
		form.nome.focus();
		alert("Informe seu nome!");
		return false;
	}
	if (!validaEmail(form.email.value)) {
		alert("Digite corretamente o seu e-mail.");
		form.email.focus();
		return false;
	}
	if(!checaCombo(form.estado, 0)) {
		alert("Selecione o seu estado.");
		form.estado.focus();
		return false;
	}
	if(!checaCombo(form.cidade, 0)) {
		alert("Selecione a sua cidade.");
		form.cidade.focus();
		return false;
	}
	data = form.nascimento.value;
	if (!reDate.test(data)) {
		alert("Data de Nascimento inválida");
		form.nascimento.focus();
		return false;
	}
	return true;
}
//
function checaCamposBusca(form) {
	if (form.numero.value.length == 0) {
		alert("Informe o número do leilão!");
		form.numero.focus();
		return false;
	}
	return true;
}
/*
// 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, firstItem) {
	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
			var dataArray = ajax.responseXML.getElementsByTagName("item");
			if(dataArray.length > 0) {
				if(firstItem != null) {
					combo.options[0] = new Option(firstItem, '');
				} else {
					combo.options.length = 0;
				}
				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');
			}
		}
	}
	ajax.send(null);
}
/*
// AJAX -> CHECKBOXES POPULATOR (para popular checkBoxes)
*/
function ajaxPopulaCheck(codigo, url, divStr) {
	var div = document.getElementById(divStr);
	url = url+"?cod="+codigo;
	var ajax = GetXmlHttpObject();
	ajax.open("GET", url, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	ajax.onreadystatechange = function () {
		if (ajax.readyState == 0) { //Nao inicializado
			div.appendChild(document.createTextNode('Problemas na inicializaçao'));
		} else if (ajax.readyState == 1) { //Carregando
			div.appendChild(document.createTextNode('Carregando...'));
		} else if (ajax.readyState == 4) { //Completado
			//first remove all existing checkboxes
		    while(div.hasChildNodes()){
		        for(var i=0; i<div.childNodes.length; i++){
		            div.removeChild(div.firstChild);
		        }
		    }
			//
			var dataArray = ajax.responseXML.getElementsByTagName("item");
			if(dataArray.length > 0) {
				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;
					var check = document.createElement("input");
					check.setAttribute("type", "checkbox");
					check.setAttribute("name", divStr+"["+i+"]");
					check.setAttribute("value", codigo);
					div.appendChild(check);
					div.appendChild(document.createTextNode(descricao));
					div.appendChild(document.createElement("br"));
				}
			}
		}
	}
	ajax.send(null);
}
/*
// 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;
			}
		}
	}
}
/*
// Mascaras de formatação de entrada de dados
// Usage: mascara(objeto, função)
*/
function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function maskLeech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

function maskSoNumeros(v){
    return v.replace(/\D/g,"")
}

function maskTelefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function maskCpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function maskCep(v){
    v=v.replace(/\D/g,"")                //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

function maskNascimento(v){
	v=v.replace(/\D/g,"")
	v=v.replace(/^(\d{2})(\d)/,"$1/$2")
	v=v.replace(/^(\d{2})\/(\d{2})(\d)/,"$1/$2/$3")
	return v
}

function maskCnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}
function maskSite(v){
    //Esse sem comentarios para que você entenda sozinho ;-)
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
        caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v
}
/*
//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
*/
