/*
New Concept Group
Date: 15/03/2011
Author: Antonio Cesar
*/

$(document).ready(function(){

	$('#navigation ul li a strong').hover(function(){
		$('#navigation ul li a strong').addClass('Touch');
		$(this).removeClass('Touch');
		$(this).css({
			'background':'url(images/nav.png) 0px -60px repeat-x'
		});
		$(this).animate({ top: '10px' }, 100 );
		
		$('.Touch').css({
			'background':'url(images/nav.png) 0px 0px repeat-x'
		});
		$('.Touch').animate({
				top: '15px'
			}, 100, function(){
				$('#navigation ul li a strong').removeClass('Touch');
		});
		
		var conteudo = $(this).parent().parent().find('div').html();
		if ( conteudo != null ){
			//alert(conteudo);
			$('.itens').html(conteudo);
			setTimeout(function(){$('.itens').slideDown(200);}, 200);
		}else{
			setTimeout(function(){$('.itens').slideUp(200);}, 200);
		}
	});
	
	$('#navigation ul li a strong').mouseout(function(){
		var conteudo = $(this).parent().parent().find('div').html();
		if ( conteudo == null ){
			$(this).animate({
				top: '15px'
			}, 100 );
			$(this).css({
				'background':'url(images/nav.png) 0px 0px repeat-x'
			});
		}
	});
	
	$('#btn_calcular_taxa').click(function(){
		if($('#cep_f').val()!="" && $('#numero_f').val()!=""){
			$('#resultado_taxa').html("Calculando...");
			
			var prefixos_bloqueados_dois  					=	 	new Array("03");
			var prefixos_bloqueados  					=	 	new Array("010","011","020","021","022","025","031","032","042");
			var prefixos_bloqueados_quatro  		=	 	new Array("0121");
			var prefixos_bloqueados_completo  	= 		new Array("");
			
			$.post('geo.php',{cep:$('#cep_f').val(), numero:$('#numero_f').val()},function(data){
				
				var value  = parseInt( distance(data[0].latitude,data[0].longitude));
				var value2 = value * 2;
				var taxa   = 0;
				var taxaminima = 3;
				
				for(var i = 0; i < prefixos_bloqueados_dois.length; i++ ){
					if( $('#cep_f').val().substring(0,2) == prefixos_bloqueados_dois[i] )
						value2 = 999;
				}
				
				for(var i = 0; i < prefixos_bloqueados.length; i++ ){
					if( $('#cep_f').val().substring(0,3) == prefixos_bloqueados[i] )
						value2 = 999;
				}
				
				for(var i = 0; i < prefixos_bloqueados_quatro.length; i++ ){
					if( $('#cep_f').val().substring(0,4) == prefixos_bloqueados_quatro[i] )
						value2 = 999;
				}
				for(var i = 0; i < prefixos_bloqueados_completo.length; i++ ){
					if( $('#cep_f').val().substring(0,4) == prefixos_bloqueados_completo[i] )
						value2 = 999;
				}

				if (value2 != 999) {				
					if (value2 <= 2 ) {
						taxa = 0 + taxaminima;
					} else if(value2 > 2 && value2 <= 4 ) {
						taxa = 2 + taxaminima;
					} else if(value2 > 4 && value2 <= 6 ) {
						taxa = 4 + taxaminima;
					} else if(value2 > 6) {
						taxa = 5 + taxaminima;
					}
				}
				
				/*if (value2 <= 2 ) {
					taxa = 0 + taxaminima;
				} else if(value2 > 2 && value2 <= 4 ) {
					taxa = 2 + taxaminima;
				} else if(value2 > 4 && value2 <= 6 ) {
					taxa = 4 + taxaminima;
				} else if(value2 > 6 && value2 <= 8 ) {
					taxa = 5 + taxaminima;
				} else if(value2 > 8 && value2 <= 10 ) {
					taxa = 6 + taxaminima;
				} else if(value2 > 10 && value2 < 12 ) {
					taxa = 7 + taxaminima;
				} else if(value2 >= 12 && value2 <= 14 ) {
					taxa = 8 + taxaminima;
				}*/
				
				if(taxa == 0){
					$('#resultado_taxa').html('Não entregamos nesta região.');
				}else{
					var v = " <div class='taxa_endereco'>" + data[0].endereco + "</div> "+
					" <div class='taxa_valor_entrga'> Será cobrada uma taxa por volta de <span class='taxa_preco'>R$ " + taxa.toFixed(2) +"</span>.</div> ";
					$('#resultado_taxa').html( v.replace('.','.') );
				}
				
			},'json');
		
		}else{
			alert('É necessário informar o CEP e o Número para consultar a taxa de entrega.');
		}
	
	});
	
	
	
});

function teste(lat1, lon1, lat2, lon2){
	
	lat2 = -23.5526547;
	lon2 = -46.6773890;
	
	console.log(lat1);
	console.log(lon1);
	console.log(lat2);
	console.log(lon2);
	
	var R = 6371; // Radius of the earth in km 
	var dLat = (lat2-lat1).toRad();  // Javascript functions in radians 
	var dLon = (lon2-lon1).toRad();  
	var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
			Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *  
			Math.sin(dLon/2) * Math.sin(dLon/2);  
	var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));  
	var d = R * c; // Distance in km 
return d;
}

function distance(lat1, lon1) {

	lat2 = -23.5526547;
	lon2 = -46.6773890;
	unit = "K";
	
	var radlat1 = Math.PI * lat1/180
	var radlat2 = Math.PI * lat2/180
	var radlon1 = Math.PI * lon1/180
	var radlon2 = Math.PI * lon2/180
	var theta = lon1-lon2
	var radtheta = Math.PI * theta/180
	var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
	dist = Math.acos(dist)
	dist = dist * 180/Math.PI
	dist = dist * 60 * 1.1515
	if (unit=="K") { dist = dist * 1.609344 }
	if (unit=="N") { dist = dist * 0.8684 }
	return dist
}  
