//Arquivo de base em Js
var Ipad = false;
var Iphone = false;
var Opera = false;
if((navigator.userAgent.indexOf('iPhone')) != -1 || (navigator.userAgent.indexOf('iPod') != -1))
   Iphone = true ;
if((navigator.userAgent.indexOf('iPad') != -1))
   Ipad = true;
if((navigator.userAgent.indexOf('Opera') != -1))
   Opera = true;
$(function(){
	$('body').prepend('<div id="loader" style="position:fixed;top:45%;left:45%;z-index:99999;height:40px;width:150px;text-align:center;font-family:tahoma;display:none"><img src="/arquives/img/admin/layout/preview.gif" alt="Loading" /><br />Aguarde</div>');
	//Funcao para marcar/desmacar todos os checkBox
	$('#checarTodos').click(function(){
		//Quando clicado verifico se foi marcado ou desmarcado para mudar o texto
		if($(this).attr('checked')==true) {
			$('#checkAll').text('Desmarcar todos os classificadores');
			$('.check').each(function(){                            
                             if($(this).attr('disabled') === false)
				$(this).attr('checked', 'checked');
			});
		}else{
			$('#checkAll').text('Marcar todos os classificadores');
			$('.check').each(function(){                           
				$(this).attr('checked', '');
			});
		
		}
	});
	
	//Tooltip
	if($('.tooltip')[0]){
		$('.tooltip').easyTooltip();
	}
	
         $('input.trocar').each(function(){
            var trocar = $(this).attr('trocar');            
            
            if(trocar != undefined && trocar != null && trocar != ''){
                if($(this).val() == trocar || $(this).val() == ''){
                    $(this).val(trocar)
                    .focus(function(){
                        if($(this).val() == '' || $(this).val() == trocar){
                            $(this).val('');
                        }
                    }).blur(function(){
                        if($(this).val() == ''){
                            $(this).val(trocar);
                        }
                    })
                }
            }
        });
        
/**
 *------------------------------------------------------------------------------------------------
 *Página produto
 **/
        $('#cep2').keypress(function(e){            
            if(e.which == 13){
                buscaFreteProd(
                'input#precoProdVista','input#pesoProd','input#volumeProd',
                '#qtdeCep','input#comprimentoProd','input#larguraProd','input#alturaProd',
                '#freteResposta','#cep1','#cep2'
            );
            }
        })
        $('#saibaMaisFrete').live('click',function(){            
            $.fn.colorbox({
                height : '500px',width: '550px',iframe:true,arrowKey:false,href:'/item/disponibilidade/'
            });
            return false;
        });
/*Fim página produto ------------------------------------------------------------------------------*/
        
});	

//Função para esconder a imagem de ajax e abilitar o botão
function hideGif(){
	$('#showAjax').hide();	
	$(':submit').attr('disabled',false);
        $('body').children('#loader').hide();
	$('#cboxOverlay').hide();
}



//Função que desabilita botão e coloca o load na pagina
function loaderGif(elemento){
        $(":submit").attr('disabled',true);	
	$('#loader').show();
	$("#cboxOverlay").show().fadeTo('fast',0.7);
        	
}

//Função para selecionar selectbox
function checkSelect($val, $campo){
    $('#' + $campo + ' option').each(function(){
        if($(this).val() == $val){
            $(this).attr("selected", "selected");
        }
    });        
}

//Função para selecionar radiobox
function checkRadio($val, $campo){
    $('input[name=' + $campo + ']').each(function(){
        if($(this).val() == $val){
            $(this).attr("checked", "checked");
        }
    });        
}

//Funcao para escrever o label 'busca' dentro dos campos de busca das listagens e retirar quando for clicado para digitar algo
function focusIn(elemento) {

	if($(elemento).val()=="" || $(elemento).val()=="Busca"){
		var alt = $(elemento).attr('alt');
		$(elemento).val(alt);
	}	
	$(elemento).css('color','#999999');

	var alt = $(elemento).attr('alt');
	if($(elemento).val()==alt)
		$(elemento).val('');
	
}

//Sobrecarga no focusIn para mandar o campo a ser verificado
function focusIn(elemento, text) {
	
	if($(elemento).val()=="" || $(elemento).val()==text){
		var alt = $(elemento).attr('alt');
		$(elemento).val(alt);
	}	
	$(elemento).css('color','#6B6F70');

	var alt = $(elemento).attr('alt');
	if($(elemento).val()==alt)
		$(elemento).val('');
	
}


//Funcao para remover o value Busca dos campos de busca quando der o focus out
function focusOut(elemento) {
	var alt = $(elemento).attr('alt');
	if($(elemento).val() == '')
		$(elemento).val(alt);
	
}

//Sobrecarga do focusOut para passar o texto a ser reposto
function focusOut(elemento, text) {
	
	if($(elemento).val() == '')
		$(elemento).val(text);
	
	
}
/* mascara : numeros */
function maskNum(evt, obj)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   if ((charCode < 46 || charCode > 57) && (charCode != 8) && (charCode != 9) && (charCode != 44) && charCode != 37 && charCode != 39) {
      return false;
   }
   
   return true;
}
/*função que verifica se o email é verdadeiro*/
function checkMail(mail){
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
	if(typeof(mail) == "string"){
		if(er.test(mail)){return true;}
	}else if(typeof(mail) == "object"){
		if(er.test(mail.value)){ 
					return true; 
				}
	}else{
		return false;
		}
}
//mascara : campo CPF
function maskCPF(evt, obj)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
  
   if ((charCode < 46 || charCode > 57) && (charCode != 8) && (charCode !=9)) {
	  //alert(charCode);
      return false;
   }
   else {
	  if(charCode !=8){
	      if ((obj.value.length == 3) || (obj.value.length == 7)) obj.value += '.';
	      if (obj.value.length == 11) obj.value += '-';
	  }    
   }
   return true;
}

	// mascara : campo CNPJ
function maskCNPJ(evt, obj)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   if ((charCode < 46 || charCode > 57) && (charCode != 8) && (charCode !=9)) {
      return false;
   }
   else {
	  if(charCode !=8){
	      if ((obj.value.length == 2) || (obj.value.length == 6)) obj.value += '.';
	      if ((obj.value.length == 10)) obj.value += '/';
	      if (obj.value.length == 15) obj.value += '-';
	  }    
   }
   return true;
}

	// mascara : campo CEP
function maskCEP(evt, obj)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   if ((charCode < 46 || charCode > 57) && (charCode != 8) && (charCode !=9)) {
      return false;
   }
   else {
	   if(charCode !=8){
	   		if (obj.value.length == 5) obj.value += '-';
	   }
   }	   
   return true;
}

// mascara:numero
function maskNumero(evt,obj)
{
	   var charCode = (evt.which) ? evt.which : evt.keyCode;
	      if ((charCode < 46 || charCode > 57) && (charCode != 8) && (charCode !=9)) {
	         return false;
	      }
	      return true;
}

//Mascara:telefone
function maskFone(evt, obj)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
	   if(charCode > 47 && charCode < 58)
	  { // numeros de 0 a 9
	  		 if (obj.value.length == 0) obj.value += '(';
			 if (obj.value.length == 3) obj.value += ') ';
			 //Quando eu comeco a digitar tendo apagado o conteudo, o value 0 possui o conteudo antigo e ele n coloca a '(', entao na hora de colocar o ')'
			 //eu verifico novamente
			 if (obj.value.charAt(0)!='(') obj.value = '(' + obj.value;
			 if (obj.value.length == 9) obj.value += '-';
			return true;
			
	  }
	  else{
		if (charCode != 8 && charCode !=9) // backspace
			return false;
		else
			return true;
	  }
}

//Mascara: Dt. Nascimento
function maskDtnasc(evt, obj)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   if ((charCode < 46 || charCode > 57) && (charCode != 8) && (charCode !=9)) {
      return false;
   }
   else {
	  if(charCode != 8){
	      if ((obj.value.length == 2) || (obj.value.length == 5)) obj.value += '/';
	  }    
   }
   return true;
}

//Funcao para montar a mascara de CPF quando colado algum valor
function copyMaskCpf(obj){
	   if($(obj).val()!=''){
		   //tiro os espacos
			var vr = new String($.trim($(obj).val()));
			//Limpo a string
			while(vr.indexOf(".")!=-1){
				vr = vr.replace(".", "");
	   		}	
			vr = vr.replace("/", "");
			vr = vr.replace("-", "");
	
			//Se a string for maior que 11 caracteres, eu removo o restante e pego apenas os primeiros 11
			if(vr.length>11)
				vr = vr.substr(0,11);
	
			//Adiciono os caracteres em suas devidas posicoes
			$(obj).val(vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6, 3) + '-' + vr.substr(9, 2));
	   }	
		
}
		
//Funcao para montar a mascara de CNPJ quando colado algum valor
function copyMaskCnpj(obj){
	   if($(obj).val()!=''){
		   //tiro os espacos
			var vr = new String($.trim($(obj).val()));
			//Limpo a string
			//Limpo a string
			while(vr.indexOf(".")!=-1){
				vr = vr.replace(".", "");
	   		}
			vr = vr.replace("/", "");
			vr = vr.replace("-", "");
		
			//Se a string for maior que 14 caracteres, eu removo o restante e pego apenas os primeiros 11
			if(vr.length>14){
				vr = vr.substr(0,14);
				//Adiciono os caracteres em suas devidas posicoes
				$(obj).val(vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4) +'-'+ vr.substr(12,2));
			}	
	   }	
		
}  

//Funcao para montar a mascara de telefone quando colado algum valor
function copyMaskTel(obj){
	   if($(obj).val() !=''){
		   //tiro os espacos
			var vr = new String($.trim($(obj).val()));
			//Limpo a string
			vr = vr.replace("(", "");
			vr = vr.replace(")", "");
			vr = vr.replace("-", "");
		
			//Se a string for maior que 14 caracteres, eu removo o restante e pego apenas os primeiros 11
			if(vr.length>13){
				vr = vr.substr(0,13);
				//Adiciono os caracteres em suas devidas posicoes
				$(obj).val(vr.substr(0,0) + '(' + vr.substr(0,2) + ') ' + vr.substr(3,4) + '-' + vr.substr(7,4));
			}	
	   }	
	   
}

//Funcao para montar a mascara de cep quando for colado algum valor
function copyMaskCep(obj){
	   
	   if($(obj).val()!=''){
		   //tiro os espacos
		   var vr = new String($.trim($(obj).val()));
		   //Limpo a string
		   vr = vr.replace('-','');
		   
		   //Se a string colada tiver mais que 8 caracteres, irei pegar apenas os 8 primeiros
		   if(vr.length>8){
			   vr = vr.substr(0,8);

			   //Adiciono os caracteres em suas devidas posicoes
			   $(obj).val(vr.substr(0,5) + "-" + vr.substr(5,3));
		   }
		   
	   }
}

//Funcao para montar a mascara de Dt. Nasc quando colado algum valor
function copyMaskDtnasc(obj){
       if($(obj).val()!=''){
		   //tiro os espacos
			var vr = new String($.trim($(obj).val()));
			//Limpo a string
			vr = vr.replaceAll("/", "");
			vr = vr.replaceAll("-", "");
            
			//Se a string colada tiver mais que 8 caracteres, irei pegar apenas os 8 primeiros
		    if(vr.length>=8){
			   vr = vr.substr(0,8);

			   //Adiciono os caracteres em suas devidas posicoes
			   $(obj).val(vr.substr(0,2) + "/" + vr.substr(2,2) + "/" + vr.substr(4,4));
		   }
	   }	
		
}  
//Função number_format igual do PHP
function number_format(number, decimals, dec_point, thousands_sep) {
	
	number = (number+'').replace(',', '').replace(' ', '');
	var n = !isFinite(+number) ? 0 : +number, 
		prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
		sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
		dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
		s = '',
		toFixedFix = function (n, prec) {
			var k = Math.pow(10, prec);
			return '' + Math.round(n * k) / k;
		};
	// Fix for IE parseFloat(0.55).toFixed(0) = 0;
	s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
	if (s[0].length > 3) {
		s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
	}
	if ((s[1] || '').length < prec) {
		s[1] = s[1] || '';
		s[1] += new Array(prec - s[1].length + 1).join('0');
	}
	return s.join(dec);
}
/**
 * Substituir várias ocorrencias de uma string 
 * @exemple str = 'hojessss'; str.replaceAll('s',''); retorna hoje; 
 */
String.prototype.replaceAll = function( match , replace ) {
     return this.split( match ).join( replace );
};
/**
 * Função para página de produto ao dar o enter no frete
 */
function buscaFreteProd(preco,peso,volume,qtde,comprimento,largura,altura,objResposta,cep1,cep2){
    
    cep = $(cep1).val();
   var erro = false;
    if($(cep1).val() == ''){
            $(cep1).addClass('border_red').focus();
            erro = true;
    }else if(cep2 !== undefined && cep2 !== null){
        if($(cep2).val() == ''){
            $(cep2).addClass('border_red').focus();
            erro = true;
        }
    }
    
    if(erro === false){
         if(cep2 !== undefined && cep2 !== null){
            cep = $(cep1).val()+$(cep2).val();
            $(cep2).removeClass('border_red');
        }
       
        $(objResposta).html('');
        $(cep1).removeClass('border_red');   
        $('#similar').hide();
        $.ajax({
                url      : 'item/simular/',
                data     : {
                    preco:$(preco).val(),
                    peso:$(peso).val(),
                    volume:$(volume).val(),
                    cep:cep,
                    qtde : $(qtde).val(),
                    comprimento : $(comprimento).val(),
                    largura : $(largura).val(),
                    altura : $(altura).val()
                },
                beforeSend : function(){
                    loaderGif();
                },
                complete : function(){
                  hideGif();  
                },
                success  : function(data){
                        if(data != ''){
                                $(objResposta).html(data);
                        }
                }
        });
    }
}
