/*GOOGLE MAPS KEY*/
function googleMapsKey(){
	switch(document.location.host){
		case 'www.civicsi.com.br':
			document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAUpQ1MWzWnANTc9wlZvWPPBQYAYO9IgYe4NGBXAHaoJjzLGMfHBQawiolSymf5evU_9McIeib-Xv9Lw"' +' type="text/javascript"><' + '/script>');
		break;  
		  
		case 'www.newcivicsi.com.br':
			document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAA7-Sc5-TGvwmCZ74RT5HNRQZ1KtqXiWTw_xS9RpJ6DZ3PV1Z5RQxLGDlbdoyAGJauS6-BIu4dNPY9Q"' +' type="text/javascript"><' + '/script>');
		break;
		
		case 'www.garagehomologacao.com':
			document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA0wWSswEugdSw7lQTYgX15xSFfr68HSciawohc_DW6CT9DHBHdRTK7p0eDjb3J0Evy2EuG2WB5rkVuQ"' +' type="text/javascript"><' + '/script>');
		break;
		
		case '192.168.0.224':
			document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAA7-Sc5-TGvwmCZ74RT5HNRQuSn9IVEkEx3VulMJMzK8pkRNspxQMvfG96v5DmmOZux8M6_gOANYvrA"' +' type="text/javascript"><' + '/script>');
		break;
		
		default:
			document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAA7-Sc5-TGvwmCZ74RT5HNRQuSn9IVEkEx3VulMJMzK8pkRNspxQMvfG96v5DmmOZux8M6_gOANYvrA"' +' type="text/javascript"><' + '/script>');
		break;
	}
}

/*ONDE COMPRAR*/
function OndeComprar(){
	
	$('body').prepend('<div id="container" class="container"></div><div class="full"></div>');
	
	var h = $('html')[0].clientHeight;
	
	$('#container').css({marginTop: h + 'px'});
	
	$('#container').load('onde_comprar.html', function(){
	
		$('#container .bt_fechar').click(function(){
		
			$('body').removeAttr('onunload');
		
			$('#container').animate({marginTop: h + 'px'}, 1000, function(){
		
				$('#container, .full').remove();
		
			})
		})
		
		$('#container').animate({marginTop: 0}, 1000, function(){
			printToXML();
		})
	})
}

/*TYPE NUMBER*/
function typeNumber(obj){
	function returnTypeNumber(obj){
		var padrao = /[^0-9]/;
		
		for(var i = 0; i < obj.val().length; i++){
			obj.val(obj.val().replace(padrao.exec(obj.val()), ''));
		}
	}
	
	$(obj).keyup(function(){
		returnTypeNumber($(this));
	})
	
	$(obj).keydown(function(){
		returnTypeNumber($(this));
	})
	
	$(obj).keypress(function(){
		returnTypeNumber($(this));
	})
	
	$(obj).focus(function(){
		returnTypeNumber($(this));
	})
	
	$(obj).blur(function(){
		returnTypeNumber($(this));
	})
	
	returnTypeNumber($(this));
}

/*AUTO TAB*/
function autoTab(obj){
	$(obj.obj).keyup(function(){
		if(obj.size == undefined) obj.size = $(this).attr('maxlength');
		
		if(obj.type == 'number'){
			typeNumber($(this));
			if($(this).val().length == obj.size) $(obj.tab).focus();
			
		}else{
			if($(this).val().length == obj.size) $(obj.tab).focus();
		}
	})
}

/*REPLACE CHARECTER*/
function replaceCharacter(txt){
	var txt = txt.toLowerCase();
	var arrayCharacter = [['&nbsp', '_'], [' ', '_'], ['ã', 'a'], ['â', 'a'], ['á', 'a'], ['à', 'a'], ['@', 'a'], ['ä', 'a'], ['é', 'e'], ['è', 'e'], ['ê', 'e'], ['ë', 'e'], ['í', 'i'], ['ì', 'i'], ['î', 'i'], ['ï', 'i'], ['ó', 'o'], ['ò', 'o'], ['õ', 'o'], ['ô', 'o'], ['ö', 'o'], ['ú', 'u'], ['ù', 'u'], ['û', 'u'], ['ü', 'u'], ['.', ''], ['!', ''], ['?', ''], [':', ''], ['#', ''], ['$', ''], ['%', ''], ['¨', ''], ['~', ''], ['´', ''], ['`', ''], ['^', ''], ['+', ''], ['-', ''], ['=', ''], ['&', ''], ['*', ''], ['(', ''], [')', ''], ['{', ''], ['}', ''], ['[', ''], [']', ''], ['º', ''], ['°', ''], ['"', ''], ["'", ''], ['§', ''], ['¢', ''], ['¬', ''], ['£', ''], ['³', ''], ['²', ''], ['¹', ''], ['/', ''], ['ç', 'c']];			
	
	/*LOOP*/
	for(var i = 0; i < arrayCharacter.length; i++){
		for(var j = 0; j < txt.length; j++){
			txt = txt.replace(arrayCharacter[i][0], arrayCharacter[i][1]);
		}
	}
	
	return txt;
}

/*MAPS*/
var map;
var pin;
var arrayConcessionaria = [];
var arrayEstado = [];

/*INIT MAPS*/
function initMaps(){
	$('body').attr('onunload', 'GUnload()');
	map = new GMap2(document.getElementById('map_canvas'));
	map.setCenter(new GLatLng(-14.179186, -50.449219), 3);
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
}

/*CREATE PIN*/
function createPin(latitude, longitude){
	var icon = new GIcon(G_DEFAULT_ICON);
	icon.image = 'img/ico_honda.png';
	icon.iconSize = new GSize(45, 45);
	icon.shadowSize = new GSize(0, 0);
	icon.iconAnchor = new GPoint(45, 45);
	icon.infoWindowAnchor = new GPoint(10, 10);
	
	markerOptions = { icon:icon };

	var latlng = new GLatLng(latitude, longitude);
	pin = new GMarker(latlng, markerOptions);
	map.addOverlay(pin);
}

/*SET DIRECTION*/
function setDirection(latitude, longitude){
	if(pin != undefined) map.removeOverlay(pin);

	createPin(latitude, longitude);
	map.setCenter(new GLatLng(latitude, longitude), 17);
}

/*PRINT TO XML*/
function printToXML(){
	$.ajax({
		type: 'GET',
		url: '../xml/onde_encontrar.xml',
		dataType: 'xml',
		complete: function(data){
			$('.carregando').remove();
			
			initMaps();
			
			/*VARS*/
			var json = $.xmlToJSON(data.responseXML);
			
			$('.local').prepend('<div class="local_content"><ul></ul></div>');
			
			/*LOOP*/
			for(var i = 0; i < json.concessionaria.length; i++){
				arrayConcessionaria.push({nomefantasia: json.concessionaria[i].nomefantasia[0].Text, endereco: json.concessionaria[i].endereco[0].Text, uf: json.concessionaria[i].uf[0].Text, cidade: json.concessionaria[i].cidade[0].Text, bairro: json.concessionaria[i].bairro[0].Text, cep: json.concessionaria[i].cep[0].Text, fone: json.concessionaria[i].fone[0].Text, fax: json.concessionaria[i].fax[0].Text, site: json.concessionaria[i].site[0].Text, latitude: json.concessionaria[i].latitude[0].Text, longitude: json.concessionaria[i].longitude[0].Text})
				arrayEstado.push(json.concessionaria[i].uf[0].Text);

				if(arrayConcessionaria[i].site != undefined){
					$('.local ul').append(
						'<li class="estado_' + replaceCharacter(arrayConcessionaria[i].uf) + ' ' + 'cidade_' + replaceCharacter(arrayConcessionaria[i].cidade) + ' ' + 'bairro_' + replaceCharacter(arrayConcessionaria[i].bairro) + '">' + 
							'<h3><a href="#" onclick="setDirection(' + arrayConcessionaria[i].latitude + ',' + arrayConcessionaria[i].longitude + ');">' + arrayConcessionaria[i].nomefantasia + '</a></h3>' + 
							'<p>Endereço: ' + arrayConcessionaria[i].endereco + '<br />' + 'Bairro: ' + arrayConcessionaria[i].bairro + '<br />' + 'CEP: ' + arrayConcessionaria[i].cep + '<br />' + 'Tel: ' + arrayConcessionaria[i].fone + '<br />' + 'Fax: ' + arrayConcessionaria[i].fax + '<br />' + 'Site: ' + '<a href="' + arrayConcessionaria[i].site + '" target="_blank" class="site">' + arrayConcessionaria[i].site + '</a>' + '</p>' + 
						'</li>'
					)
				}else{
					$('.local ul').append(
						'<li class="estado_' + replaceCharacter(arrayConcessionaria[i].uf) + ' ' + 'cidade_' + replaceCharacter(arrayConcessionaria[i].cidade) + ' ' + 'bairro_' + replaceCharacter(arrayConcessionaria[i].bairro) + '">' + 
							'<h3><a href="#" onclick="setDirection(' + arrayConcessionaria[i].latitude + ',' + arrayConcessionaria[i].longitude + ');">' + arrayConcessionaria[i].nomefantasia + '</a></h3>' + 
							'<p>Endereço: ' + arrayConcessionaria[i].endereco + '<br />' + 'Bairro: ' + arrayConcessionaria[i].bairro + '<br />' + 'CEP: ' + arrayConcessionaria[i].cep + '<br />' + 'Tel: ' + arrayConcessionaria[i].fone + '<br />' + 'Fax: ' + arrayConcessionaria[i].fax + '</p>' + 
						'</li>'
					)
				}
			}
			
			/*ARRAY ORDER*/
			var arrayEstadoOrder = arrayEstado.sort();
			$('#txt_uf').html('<option>Selecione</option>');
			
			for(var i = 0; i < arrayEstadoOrder.length; i++){
				if(arrayEstadoOrder[i] != arrayEstadoOrder[i + 1]){
					$('#txt_uf').append('<option>' + arrayEstadoOrder[i] + '</option>');
				}
			}
			
			$('#txt_uf').change(function(){
				$('.cep input').val('');
				
				var estado = $(this).val();
				var estadoView = replaceCharacter(estado);
				
				$('.local ul li').hide();
				
				if(estadoView == 'selecione'){
					$('.local ul li').show();
					$('#txt_cidade, #txt_bairro').find('option').remove();
					
				}else{
					var arrayCidade = [];
					$('#txt_cidade').html('<option>Selecione</option>');
					$('#txt_bairro option').remove();
					
					$('.local ul li.estado_' + estadoView).show();
					$('.local ul li.estado_' + estadoView + ' h3 a').eq(0).click();
					
					for(var i = 0; i < arrayConcessionaria.length; i++){
						if(estado == arrayConcessionaria[i].uf) arrayCidade.push(arrayConcessionaria[i].cidade);
					}
					
					var arrayCidadeOrder = arrayCidade.sort();
					
					for(var i = 0; i < arrayCidadeOrder.length; i++){
						if(arrayCidadeOrder[i] != arrayCidadeOrder[i + 1]) $('#txt_cidade').append('<option>' + arrayCidadeOrder[i] + '</option>');
					}
				}
			})
			
			/*CIDADE CHANGE*/
			$('#txt_cidade').change(function(){
				var estado = replaceCharacter($('#txt_uf').val());
				var cidade = $(this).val();
				var cidadeView = replaceCharacter(cidade);
				
				$('.local ul li').hide();
				
				if(cidadeView == 'selecione'){
					$('.local ul li.estado_' + estado).show();
					$('#txt_bairro').find('option').remove();
					
				}else{
					$('.local ul li.estado_' + estado + '.cidade_' + cidadeView).show();
					$('.local ul li.estado_' + estado + '.cidade_' + cidadeView + ' h3 a').eq(0).click();
					
					var arrayBairro = [];
					$('#txt_bairro').html('<option>Selecione</option>');
					
					for(var i = 0; i < arrayConcessionaria.length; i++){
						if(cidade == arrayConcessionaria[i].cidade) arrayBairro.push(arrayConcessionaria[i].bairro);
					}
					
					var arrayBairroOrder = arrayBairro.sort();
					
					for(var i = 0; i < arrayBairroOrder.length; i++){
						if(arrayBairroOrder[i] != arrayBairroOrder[i + 1]) $('#txt_bairro').append('<option>' + arrayBairroOrder[i] + '</option>');
					}
				}
			})
			
			/*BAIRRO CHANGE*/
			$('#txt_bairro').change(function(){
				var estado = replaceCharacter($('#txt_uf').val());
				var cidade = replaceCharacter($('#txt_cidade').val());
				var bairro = replaceCharacter($(this).val());
				
				$('.local ul li').hide();
				
				if(bairro == 'selecione'){
					$('.local ul li.estado_' + estado + '.cidade_' + cidade).show();
					
				}else{
					$('.local ul li.estado_' + estado + '.cidade_' + cidade + '.bairro_' + bairro).show();
					$('.local ul li.estado_' + estado + '.cidade_' + cidade + '.bairro_' + bairro + ' h3 a').eq(0).click();
				}
			})
			
			/*CEP*/
			$('.cep input').val('');
			
			autoTab({obj: '.cep .txt_cep_inicial', tab: '.cep .txt_cep_final', type: 'number'});
			typeNumber('.cep .txt_cep_final');
			
			$('.cep button').click(function(){
				if($('.cep .txt_cep_inicial').val().length < 5 || $('.cep .txt_cep_final').val().length < 3){
					$('.cep .txt_cep_inicial').focus();
					alert('Preencha o campo CEP corretamente.');
					
				}else{
					$('.local ul li').hide();
					$('#txt_uf')[0].selectedIndex = 0;
					$('#txt_cidade, #txt_bairro').find('option').remove();
					
					var arrayCepSearch = [];
					var cep = $('.cep .txt_cep_inicial').val() + '-' + $('.cep .txt_cep_final').val();
					
					var substringCep = 9;
					for(var i = 0; i < substringCep; i++){
						if(arrayCepSearch.length == 0){
							for(var j = 0; j < arrayConcessionaria.length; j++){
								if(cep.substring(0, substringCep - i) == arrayConcessionaria[j].cep.substring(0, substringCep - i)){
									arrayCepSearch.push(j);
								}
							}
						}
					}
					
					for(var i = 0; i < arrayCepSearch.length; i++){
						$('.local ul li').eq(arrayCepSearch[i]).show();
						if(i == 0) $('.local ul li h3 a').eq(arrayCepSearch[i]).click();
					}
				}
				
				return false;
			})
		}
	})
}