﻿// JavaScript Document
//////////////////////////////////////////////////////////////////////////////////////
//Ajax
function createXMLHTTP(){
	var ajax;
	try{
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	catch(e){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
			alert(ajax);
		}
		catch(ex){
			try{
				ajax = new XMLHttpRequest();
			}
			catch(exc){
				 alert("Esse browser não tem recursos para uso do Ajax");
				 ajax = null;
			}
		}
		return ajax;
	}
	var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
	for (var i=0; i < arrSignatures.length; i++){
		try{
			var oRequest = new ActiveXObject(arrSignatures[i]);
			return oRequest;
		} 
		catch (oError){}
	}
	throw new Error("MSXML is not installed on your system.");
}

//////////////////////////////////////////////////////////////////////
//Função mask utilizada para criar máscararas para campos

function mask(o,opt){
    v_obj=o
    v_opt=opt
    setTimeout("execMask()",1)
}

function execMask(){
    v_obj.value=doMask(v_opt, v_obj.value)
}


//----------------------------------------------------------------------------------------------//

function doMask(option, value) {
	if(option!="placa"){
		value = value.replace(/\D/g,"");
	}else{
		value = value.toUpperCase();
	}
	
	switch (option) {
		case "phone": // (11) 1111-1111
			value=value.replace(/^(\d{2})(\d)/g,"($1) $2");
    		value=value.replace(/(\d{4})(\d)/,"$1-$2");
		break;
		case "vox": // 1111-11
			value=value.replace(/^(\d{4})(\d)/g,"$1-$2");
		break;
		case "hora": // 11:11
			value=value.replace(/^(\d{2})(\d)/g,"$1:$2");
		break;
		case "zipcode": // CEP: 11111-11
			value=value.replace(/^(\d{5})(\d)/g,"$1-$2");
		break;
		case "date": // 11/11/1111
			value=value.replace(/^(\d{2})(\d)/g,"$1/$2");
			value=value.replace(/(\d{2})(\d)/,"$1/$2");
		break;
		case "decimal": // ...111.111.111,11
			value = value.replace(/(\d)(\d{2})$/g, "$1,$2");
			value = value.replace(/(\d)(\d{3},\d{2})/g, "$1.$2");
			value = value.replace(/(\d)(\d{3}\.\d{3},\d{2})/g, "$1.$2");
		break;
		case "number": // ...111.111.111
			value = value.replace(/(\d)(\d{3})$/g, "$1.$2");
			value = value.replace(/(\d{3})(\d)/g, "$1.$2");
			value = value.replace(/(\d{3})(\d)/g, "$1.$2");
		break;
		case "kilo": // ...1111,111
			value=value.replace(/(\d)(\d{3})$/g,"$1,$2");
		break;
		case "cpf": // 111.111.111-11
			value=value.replace(/^(\d{3})(\d)/g, "$1.$2");
			value=value.replace(/(\d{3})(\d)/, "$1.$2");
			value=value.replace(/(\d{3})(\d)/, "$1-$2");
		break;
		case "id": // RG: 11.111.111-1 || 11.111.111-x
			value=value.replace(/^(\d{2})(\d)/g, "$1.$2");
			value=value.replace(/(\d{3})(\d)/, "$1.$2");
			value=value.replace(/(\d{3})(\d|x)/, "$1-$2");
		break;
		case "cnpj": // CNPJ: 00.000.000/0000-00
			value=value.replace(/(\d)(\d{2})$/g, "$1-$2");
			value=value.replace(/(\d)(\d{4}-\d{2})/g, "$1/$2");
			value=value.replace(/(\d)(\d{3}\/\d{4}-\d{2})/g, "$1.$2");
			value=value.replace(/(\d)(\d{3}\.\d{3}\/\d{4}-\d{2})/g, "$1.$2");
		break;
	}
	return value;
}
function sanitize(obj, patt) {
	var objVal = obj.value;
	var objId = obj.id;
	var regex = new RegExp(patt, "g");
	
   objVal=objVal.replace(regex,"");  
   document.getElementById(objId).value= objVal; 
}
// Função utilizada para bloquear a digitação de caracteres que não sejam números
function noDigit( o ){
	var objVal = o.value;
	var objId = o.id;
	
    objVal=objVal.replace(/\D/g,"");  
    document.getElementById( objId ).value= objVal;  
}


//////////////////////////////////////////////////////////////////////////////////////
//Função para exibir data
var hoje = new Date();

function escreveData(){
	var NomeMes = new Array();
	NomeMes[0] = "janeiro";
	NomeMes[1] = "fevereiro";
	NomeMes[2] = "mar&ccedil;o";
	NomeMes[3] = "abril";
	NomeMes[4] = "maio";
	NomeMes[5] = "junho";
	NomeMes[6] = "julho";
	NomeMes[7] = "agosto";
	NomeMes[8] = "setembro";
	NomeMes[9] = "outubro";
	NomeMes[10] = "novembro";
	NomeMes[11] = "dezembro";
	
	var dia = hoje.getDate();
	var mes = hoje.getMonth();
	var ano = hoje.getYear();
	
	if (ano < 2000) { // Y2K Fix, Isaac Powell
		ano = ano + 1900;
	}
	if (dia < 10) {
		dia = "0" + dia;
	}
	
	return dia + " de " + NomeMes[mes] + " de " + ano;
}

function escreveDia (){
	var dias = hoje.getDay();
	var NomeDia = new Array();
	NomeDia[0] = "Domingo";
	NomeDia[1] = "Segunda-feira";
	NomeDia[2] = "Ter&ccedil;a-feira";
	NomeDia[3] = "Quarta-feira";
	NomeDia[4] = "Quinta-feira";
	NomeDia[5] = "Sexta-feira";
	NomeDia[6] = "S&aacute;bado";
	
	return NomeDia[dias];
}
//Função para exibir data
//////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////
//Funções Dreamweaver
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//Funçães Dreamweaver
//////////////////////////////////////////////////////////////////////////////////////*/

//////////////////////////////////////////////////////////////////////////////////////
//Saudação Bom dia, tarde e noite
function escreveSaudacao(){
	var hours = hoje.getHours();
	var saudacao = "";
	if (hours >=0 && hours <12) {
		saudacao = "Bom dia"
	} else if (hours >=12 && hours <18) {
		saudacao = "Boa tarde"
	} else if (hours >=18) {
		saudacao = "Boa noite";
	}
	return saudacao;
}
//Saudação: Bom dia, tarde e noite
//////////////////////////////////////////////////////////////////////////////////////

/*//////////////////////////////////////////////////////////////////////////////////////
///Iframe ajustável
function iframeAutoHeight(altura){
    //by Micox - elmicox.blogspot.com - elmicox.com - webly.com.br  
    if(navigator.appName.indexOf("Internet Explorer")>-1){ //ie sucks
        var func_temp = function(){
            var val_temp = altura.contentWindow.document.body.scrollHeight
            altura.style.height = val_temp + "px";
        }
        setTimeout(function() { func_temp() },100) //ie sucks
    }else{
        var val = altura.contentWindow.document.body.parentNode.offsetHeight
        altura.style.height= val + "px";
    }    
}
///Iframe ajustável
//////////////////////////////////////////////////////////////////////////////////////*/


$(function() { //Function executed after the page loads
	var dataExtensa = escreveDia() + ", " + escreveData();
	$("#saudacao").html(document.createTextNode(escreveSaudacao()));
	$("#date").html($.trim(dataExtensa));
	$("a[rel*=external]").attr("target", "_blank");
	
	$("#idFabricante").change(function(){
		loadModelos('comboModelos',$("#idFabricante>option:selected").val());
	});
	
	$('.listaVeiculos>ul>li:nth-child(even)').addClass('odd');
	if($('#idModelo').attr('id')!=undefined){
		MSDropDown.init('#frmBusca select');
		disableDropDown('idModelo',true);
	}
	
	function loadModelos(param0,param1){
		var ajaxParms=new Array();
		ajaxParms[0]='tipoRequest';
		ajaxParms[1]='codFabricante';
		
		var ajaxParmsValues=new Array();
		ajaxParmsValues[0]=param0;
		ajaxParmsValues[1]=param1;
		
		execAjax('estoque.ajax.asp',ajaxParms,ajaxParmsValues,$('#modelo').html(),'modelo',"MSDropDown.init('#frmBusca select');");
	}

});

var mizutaCarLat = -23.516861
var mizutaCarLon = -46.190825

var akiraMizutaLat = -23.538422
var akiraMizutaLon = -46.226694


//////////////////////////////////////////////////////////////////////////////////////
//Load combo ajax
/*function loadCombos(url, idElm) {
	var params = $("#uf").val();
	var loadCombos = createXMLHTTP();
	//$("#"+idElm).html("Aguarde, carregando a cidade...");
   loadCombos.open("post", url, true);
   loadCombos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   loadCombos.onreadystatechange=function(){
		if (loadCombos.readyState==4){// abaixo o texto do gerado no arquivo executa.asp e colocado no div
			$("#"+idElm).html(loadCombos.responseText);//substitui innerHTML
		}
	}
	loadCombos.send("codestado="+params);

}*/
//Load combo ajax

//Função genéca para AJAX
//Explicação dos parâmetros
// - url: url que o AJAX vai chamar
// - params: Array dos nomes dos parâmetros que devem ser passados por AJAX
// - paramsValues: Array dos valores dos parâmetros que devem ser passados por AJAX *deve seguir a mesma ordem dos nomes
// - msgLoading: mensagem que aparecerá enquanto o AJAX processa. *para não exibir nenhuma mensagem passe este parâmetro em branco
// - idElmDestination: id do elemento que receberá o retorno do AJAX *se não for retornar nada na tela passe este valor em branco
// - execOnComplete: string para execução no termino do AJAX
function execAjax(url,params,paramsValues,msgLoading,idElmDestination,execOnComplete){
   if(url!=''){
	   var execAjax = createXMLHTTP();
	   if(msgLoading!=''){
	      if(idElmDestination!=''){
	         $("#"+idElmDestination).html(msgLoading);
	      }
	   }
      execAjax.open("post", url, true);
      execAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      execAjax.onreadystatechange=function(){
		   if (execAjax.readyState==4){
		      if(idElmDestination!=''){
			      $("#"+idElmDestination).html(execAjax.responseText);//substitui innerHTML
			   }
				eval(execOnComplete);
		   }
	   }
	   strParams = '';
	   for(i=0;i<params.length;i++){
   	   strParams = strParams + params[i]+'='+paramsValues[i]+'&';
	   }
	   strParams = strParams.substring(0,strParams.length-1);
		strParams = encodeURI(strParams);
	   execAjax.send(strParams);
	}
}
//

//Script para validação do CNPJ
function validaCNPJ(CNPJID) {
	CNPJ = CNPJID.value;
	erro = new String;
	if (CNPJ.length < 18) erro += "É necessario preencher corretamente o numero do CNPJ! \n\n";
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
	if (erro.length == 0) erro += "É necessario preencher corretamente o numero do CNPJ! \n\n";
	}
	//substituir os caracteres que nao sao numeros
	if(document.layers && parseInt(navigator.appVersion) == 4){
		x = CNPJ.substring(0,2);
		x += CNPJ.substring(3,6);
		x += CNPJ.substring(7,10);
		x += CNPJ.substring(11,15);
		x += CNPJ.substring(16,18);
		CNPJ = x;
	} else {
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace("-","");
		CNPJ = CNPJ.replace("/","");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) erro += "A verificacao de CNPJ suporta apenas numeros! \n\n";
		var a = [];
		var b = new Number;
		var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
		for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
		if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
		b = 0;
		for (y=0; y<13; y++) {
		b += (a[y] * c[y]);
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		erro +="Digito verificador com problema!";
	}
	if (erro.length > 0){
		alert(erro);
		return false;
	} else {
		alert("CNPJ valido!");
	}
		return true;
}

function isEmail(email){
   var validaEmail = /^[a-z0-9_.-]+@[a-z0-9_-]+\.[a-z0-9.-]+$/i.test(email); //Validacao de e-mail com Regex
	return validaEmail
}

function textboxText(textbox,text){
	$(textbox).val(text);
	$(textbox).attr('iniText',text);
	$(textbox).focus(function(){
		if($(this).val()==$(this).attr('iniText')){
			$(this).val('');
		}
	});
	$(textbox).blur(function(){
		if($(this).val()==''){
			$(this).val($(this).attr('iniText'));
		}
	});
}

function disableDropDown(id,disabled){
	if(document.getElementById(id)!=undefined){
		$('#'+id).attr('disabled',disabled);
		if(document.getElementById(id).refresh!=undefined){
			document.getElementById(id).refresh();
		}
	}
}

