// JavaScript Document
/*
// Abre o Google Maps dentro do ShadowBox
*/
function abreGoogleMapsShadowBox(titulo, varLat, varLon){
	Shadowbox.open({
		player:     'html',
		content:    '',
		height:     600,
		width:      600,
		options:    {
			onFinish: function(item) {
				if(GBrowserIsCompatible()){
					var map = new GMap2(document.getElementById(Shadowbox.contentId()));
					map.addControl(new GScaleControl());
					map.addControl(new GLargeMapControl());
					map.addControl(new GMapTypeControl());
					map.enableScrollWheelZoom(true);
					map.setCenter(new GLatLng(-26.991072,-48.635208), 10); //Baln. Camboriú
					var bounds = new GLatLngBounds();
					// Coloca o marcador
					var point = new GLatLng(varLat, varLon); 
					bounds.extend(point); 
					var marker = new GMarker(point);
					map.addOverlay(marker);
					//marker.openInfoWindowHtml(titulo);
					map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)-1); 
				}
			}
		}
	});
};
/*
// Valida conteúdo do file field!
*/
function validaFileField(){
	var f = document.getElementById("imagem");
	if(f.value == ""){
		alert("Selecione um Arquivo");	
		return false;
	} else {
		f = f.value.split("/");
		f= f[f.length-1];
		if(/[a-z0-9]+\.(jpg|gif|png|bmp)$/i.test(f)){
			//alert( "OK");
		return true;
		} else {
			alert("Tipo de arquivo não aceito, por favor, escolha entre os tipos: .jpg, .gif, .png e .bmp");
		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');
}
/*
// 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 checaCamposLogin(form) {
	if (!validaEmail(form.email.value)) {
		alert("Digite corretamente o seu e-mail.");
		form.email.focus();
		return false;
	}
	if (form.senha.value.length < 4) {
		alert("Sua senha não pode ser menor que 4 caracteres!");
		form.senha.focus();
		return false;
	}
	return true;
}
/*
// AJAX -> LoginUser
*/
function ajaxLoginUser(form, url, urlDest) {
	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 + "&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);
			var result = ajax.responseText;
			var arVariable = result.split(new RegExp( ("\\&"), "gi" ));
			//
			for(var i=0; i<arVariable.length; i++) {
				var arTemp = arVariable[i].split(new RegExp( ("\\="), "gi" ));
				var label = arTemp[0];
				var value = arTemp[1];
				window[label] = value;
			}
			//
			if(logged == 1) {
				//Tem foto
				if(foto == 1) {
					alert("Seja bem vindo, "+nome+"!");
					if(urlDest) {
						window.location = urlDest;
					} else {
						location.reload(true);
					}
				//Não tem foto
				} else {
					//Quer botar foto
					if(confirm("Seja bem vindo, "+nome+"!\nPercebemos que você ainda não tem foto.\nGostaria de adicionar uma?")) {
						window.location = url + 'perfil/editar';
					} else {
						if(urlDest) {
							window.location = urlDest;
						} else {
							location.reload(true);
						}
					}
				}
			} else { 
				alert("Usuário/Senha inválido! Por favor tente novamente!");
			}
		}
	}
	ajax.send(null);
	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;
			}
		}
	}
}
/*
// 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
}