/*
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 ];
}

/*
// Carrega Flash
*/
/*
Usage:
<script language="JavaScript"> carregaFlash("../img/carregaBannerFull.swf", "?img=ban_deep.swf&codLocalizacao=835", "468", "60", "banner_full"); </script>
*/
function carregaFlash(arquivo, parametro, width, height, name) {
	arquivo = arquivo + parametro;
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'" id="'+name+'" align="middle">');
	document.write('<param name="allowScriptAccess" value="sameDomain" /><PARAM NAME=wmode VALUE=transparent />');
	document.write('<param name="movie" value="'+arquivo+'" /><param name="quality" value="high" 	/><param name="bgcolor" value="#ffffff" /><embed src="'+arquivo+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+name+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.write('</object>');
}
/*
// 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');
}
/*
//
*/
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 veremail(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);
}
//
function checaCamposCadastro(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) {
		document.form.nome.focus();
		alert("Informe seu nome!");
		return false;
	}          
	if (!veremail(form.email.value)) {
		alert("Digite corretamente o seu e-mail.");
		form.email.focus();
		return false;
	}
	
	data = form.dataNascimento.value;
	if (!reDate.test(data)) {
		alert("Data de Nascimento inválida");
		form.dataNascimento.focus();
		return false;
	}
	if (form.dataNascimento.value.length < 1) {
		alert("Data de Nascimento inválida");
		form.dataNascimento.focus();
		return false;
	}

	if (form.cidade.value.length < 1) {
		alert("Cidade obrigatório");
		form.cidade.focus();
		return false;
	}

	if (form.endereco.value.length < 1) {
		alert("Endereço obrigatório");
		form.endereco.focus();
		return false;
	}

	return true;
}
//
function checaCamposContato(form) {
	if (form.nome.value.length < 1) {
		form.nome.focus();
		alert("Informe seu nome!");
		return false;
	}
	if (!veremail(form.email.value)) {
		alert("Digite corretamente o seu e-mail.");
		form.email.focus();
		return false;
	}
	if (form.cidade.value.length < 1) {
		form.cidade.focus();
		alert("Informe sua cidade!");
		return false;
	}
	return true;
}
//
function checaCamposNewsLetter(form) {
	if (!veremail(form.email.value)) {
		alert("Digite corretamente o seu e-mail.");
		form.email.focus();
		return false;
	}
	return true;
}
/*
// 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;
			}
		}
	}
}
/*
// 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
}