dealer = { 

    map : '',
	infowindow : '',
	maxdistance : 0,

   getFormString : function(){
		var form = document.getElementById("dealer_search_form");
		var form_length = form.length;
		var qstring = '';
		
		for(i=0;i<form_length;i++){
			if (i > 0) {
				qstring += "&" + form.elements[i].name + '=' + form.elements[i].value;
			}else{
				qstring +=  form.elements[i].name + '=' + form.elements[i].value;
			}
		}
		return qstring;
	},
	
   getLocations : function(){
	   document.getElementById("message").innerHTML = "";
		$.get("/utils/dealer_retrieve.php?" + dealer.getFormString(), function(data){dealer.getListing(data);});
		$.get("/utils/dealer_retrieve.php?xml=true&" + dealer.getFormString(), function(data){dealer.getMap(data);});
		if (dealer.maxdistance == 0){
			dealer.searchDealerGoal();
		}
	},
	
	getListing: function(cont){
		var results = document.getElementById("result_cont");
		results.innerHTML = cont;
		admin.striper('playlist', '#E7E9E6', '#fff'); 
	},
	
	getMap : function(data){
		var slat = $(data).find("location").attr("lat");
		var slon = $(data).find("location").attr("lon");
		
		var latlng = new google.maps.LatLng(slat,slon);
		var myOptions = {
			zoom: 10,
			center: latlng,
			scrollwheel: false,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		};
		var map = new google.maps.Map(document.getElementById("map_cont"), myOptions);
		
		dealer.maxdistance=0;
		$(data).find("marker").each(function(index){dealer.addMarker(this, map);})
		if (dealer.maxdistance<15){
			map.setZoom(10);
		}else if (dealer.maxdistance>=15 && dealer.maxdistance<30){
			map.setZoom(9);
		}else if (dealer.maxdistance>=30 && dealer.maxdistance<60){
			map.setZoom(8);
		}else if(dealer.maxdistance>=60){
			map.setZoom(7);
		}
		if (dealer.maxdistance == 0){
			document.getElementById("message").innerHTML = "No results were found in your area.  Refine your search and try again.";
		}
	},
	
	addMarker : function(info, map){
		var latlng = new google.maps.LatLng($(info).attr("lat"),$(info).attr("lng"));
		var marker = new google.maps.Marker({
			position: latlng,
			map: map,
			title: $(info).attr("title")
		});
		var html = '<h2>' + $(info).attr("title") + '</h2>' + $(info).attr("street") + '<br/>' + $(info).attr("address") + '<br />' + $(info).attr("phone");
		var url = $(info).attr("url");
		if (url != ''){
			html += '<br /><a target="_blank" href="' + url + '">' + url + '</a>';
		}
		
		if (dealer.maxdistance < parseFloat($(info).attr("distance"))){
			dealer.maxdistance = parseFloat($(info).attr("distance"));
		}
		
		google.maps.event.addListener(marker, "click", function() {
			if (dealer.infowindow) dealer.infowindow.close();
			dealer.infowindow = new google.maps.InfoWindow({content: html});
			dealer.infowindow.open(map, marker);
		});
	},
	
	switchView : function(ele){
		var btnEle = document.getElementById(ele);
		var mainEle = document.getElementById(ele + '_cont');
		var tab = ['map','result'];
		var tab_length = tab.length;
		
		for(i=0;i<tab_length;i++){
			if (tab[i] == ele) {
				mainEle.className = 'show';
				if (btnEle.childNodes[0].src.search(/_over/)==-1){
					btnEle.childNodes[0].src = btnEle.childNodes[0].src.replace(/.jpg/, '_over.jpg');
					btnEle.blur();
				}
			}else{
				var otherEleName = tab[i] + '_cont';
				var otherEle = document.getElementById(otherEleName);
				var otherBtnEle = document.getElementById(tab[i]);

				otherBtnEle.childNodes[0].src = otherBtnEle.childNodes[0].src.replace(/_over.jpg/, '.jpg');
				otherEle.className = 'hidden';
			}
				
		}
	},
	
	searchDealerGoal : function(){
		//analytics
		var pageTracker = _gat._getTracker("UA-204372-2");
		pageTracker._trackPageview("/find_dealer");
		
		var vortexTracker = _gat._getTracker("UA-531096-1");
		vortexTracker._trackPageview("/find_dealer");
		
		//adwords
		var img = new Image(1,1);
		img.src = 'http://www.googleadservices.com/pagead/conversion/1070683134/?value=1.0&amp;label=XSBaCKSQRBD-p8X-Aw&amp;guid=ON&amp;script=0';
		document.getElementById('footer').appendChild(img);
		
		//ms adcenter
		if (!window.mstag) mstag = {loadTag : function(){},time : (new Date()).getTime()};
		mstag.loadTag("conversion", {cp : "5050", dedup : "1"})
	},
	
	onlineDealerGoal : function(id){
		//analytics
		var pageTracker = _gat._getTracker("UA-204372-2");
		pageTracker._trackPageview("/outgoing/" + id);
		
		var vortexTracker = _gat._getTracker("UA-531096-1");
		vortexTracker._trackPageview("/outgoing/" + id);

		//adwords
/*		var google_conversion_id = 1070683134;
		var google_conversion_language = "en_US";
		var google_conversion_format = "1";
		var google_conversion_color = "ffffff";
		var google_conversion_label = "njhhCMaBcBD-p8X-Aw";
		var google_conversion_value = 0;
		if (1.0) {
		  google_conversion_value = 1.0;
		}
		$.getScript( "http://www.googleadservices.com/pagead/conversion.js" );*/
		
		var img = new Image(1,1);
		img.src = 'http://www.googleadservices.com/pagead/conversion/1070683134/?value=1.0&amp;label=njhhCMaBcBD-p8X-Aw&amp;guid=ON&amp;script=0';
		document.getElementById('footer').appendChild(img);
		
		//ms adcenter
		if (!window.mstag) mstag = {loadTag : function(){},time : (new Date()).getTime()};
		mstag.loadTag("conversion", {cp : "5050", dedup : "1"})
	}
}

