
/* GLOBAL INIT */
var storeID = "ff80808120c535a00120cca3284201b0";
var storeUrl = "proxy.php?params=Store/FindByPrimaryKey?id=" + storeID;
var specialsUrl = "proxy.php?params=Promotion/FindByStore?storeID=" + storeID;
var phoneType = ""; //Override for certain pages

//Store Variables
var storeLongitude = "";
var storeLatitude = "";
var storeAddress = "";
var storeCity = "";
var storeState = "";
var storeZip = "";
var storeMainPhone = "";
var storeSalesPhone = "";
var storeServicePhone = "";
var storePartsPhone = "";
var storeFax = "";

/* GENERIC FUNCTIONS */
function drawEmail(name, domain, subject){ var subjectline = ""; if ( subject != undefined ) { subjectline = "&subject="+ subject; } document.write('<a href=\"mailto:' + name + '@' + domain + subjectline +'\">'); document.write(name + '@' + domain + '</a>'); }
function toggleDiv(whichDiv){ $('.'+whichDiv).toggle(); }
function toggleClass(whichDiv, newClass){ $('.'+whichDiv).toggleClass(newClass); }
jQuery.preloadImages = function() { for(var i = 0; i<arguments.length; i++) { jQuery("<img>").attr("src", arguments[i]);  } }


/* XML FUNCTIONS */
function getStoreInfo(){
	$.ajax({ type: "GET", url: storeUrl, dataType: "xml", success: parseStoreInfo }); 
}
function parseStoreInfo(xml){
	storeLongitude = $(xml).find("longitude").text();
	storeLatitude = $(xml).find("latitude").text();
	storeAddress = $(xml).find("street").text() + " " + $(xml).find("street2").text();
	storeCity = $(xml).find("city").text();
	storeState = $(xml).find("state").text();
	storeZip = $(xml).find("postalCode").text();
	storeMainPhoneNode = $(xml).find("mainphone");
	storeSalesPhoneNode = $(xml).find("salesphone");
	storeServicePhoneNode = $(xml).find("servicephone");
	storePartsPhoneNode = $(xml).find("partsphone");
	storeFaxNode = $(xml).find("fax");
	storeMainPhone = "1-"+ $(storeMainPhoneNode).find("areaCode").text() + "-" + $(storeMainPhoneNode).find("prefix").text() + "-" + $(storeMainPhoneNode).find("suffix").text();
	storeSalesPhone = "1-"+ $(storeSalesPhoneNode).find("areaCode").text() + "-" + $(storeSalesPhoneNode).find("prefix").text() + "-" + $(storeSalesPhoneNode).find("suffix").text();
	storeServicePhone = "1-"+ $(storeServicePhoneNode).find("areaCode").text() + "-" + $(storeServicePhoneNode).find("prefix").text() + "-" + $(storeServicePhoneNode).find("suffix").text();
	storePartsPhone = "1-"+ $(storePartsPhoneNode).find("areaCode").text() + "-" + $(storePartsPhoneNode).find("prefix").text() + "-" + $(storePartsPhoneNode).find("suffix").text();
	storeFax = "1-"+ $(storeFaxNode).find("areaCode").text() + "-" + $(storeFaxNode).find("prefix").text() + "-" + $(storeFaxNode).find("suffix").text();
	
	setDirections();
	setContact();
	setCallNumbers();
}


/* HEADER */
function initHeader(){
	getStoreInfo(); 
	$('.rollover').imghover();  
	
	$('#mapbutton').hover(function () { $('#mapcontainer').css("top", "30px");; }, function() {  $('#mapcontainer').css("top", "-800px");;} );
	$('#mapcontainer').hover(function () {$('#mapcontainer').css("top", "30px");; }, function() { $('#mapcontainer').css("top", "-800px");; } );
	$('#contactbutton').hover(function () { $('#contactcontainer').css("top", "30px");; }, function() {  $('#contactcontainer').css("top", "-800px");;} );
	$('#contactcontainer').hover(function () {$('#contactcontainer').css("top", "30px");; }, function() { $('#contactcontainer').css("top", "-800px");; } );
	$('#hoursbutton').hover(function () { $('#hourscontainer').css("top", "30px");; }, function() {  $('#hourscontainer').css("top", "-800px");;} );
	$('#hourscontainer').hover(function () {$('#hourscontainer').css("top", "30px");; }, function() { $('#hourscontainer').css("top", "-800px");; } );
	
	//For IE6
	$('<div class="ieheader"></div>').insertBefore('.header');
	$('<div class="ietouts"></div>').insertBefore('.touts');
	
	//SIFR
	sIFR.replaceElement(named({sSelector:"h6", sFlashSrc:"../app_themes/global/images/touts/h6.swf", sColor:"#000000", sWmode:"transparent" }));
}
function setDirections(){
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("mapcanvas"));
		var center = new GLatLng(storeLatitude,storeLongitude);
		map.setCenter(center, 14);
		var marker = new GMarker(center);
		map.addOverlay(marker);
    	map.addControl(new GSmallMapControl());
	}
	
	if (phoneType == "service"){			$('.mainphone').html(storeServicePhone);
	}else if (phoneType == "showroom"){		$('.mainphone').html(storeSalesPhone);
	}else{									$('.mainphone').html(storeMainPhone);}
	
	$('.storeaddress').html(storeAddress+", "+ storeCity + ", " + storeState + " " + storeZip);
	$('.footer .storeaddress').html(storeAddress+" "+ storeCity + ", " + storeState + " " + storeZip);
}
function setContact(){
	$('#contactcontainer').prepend("<p><span class='name'><strong>Fax:</strong></span><br/> "+ storeFax+"</p>");
	$('#contactcontainer').prepend("<p><span class='name'><strong>Parts:</strong></span><br/> "+ storePartsPhone+"<br/><a href='mailto:parts@sandiegovolvo.com'>parts@sandiegovolvo.com</a></p>");
	$('#contactcontainer').prepend("<p><span class='name'><strong>Service:</strong></span><br/> "+ storeServicePhone+"<br/><a href='mailto:service@sandiegovolvo.com'>service@sandiegovolvo.com</a></p>");
	$('#contactcontainer').prepend("<p><span class='name'><strong>Sales:</strong></span><br/> "+ storeSalesPhone+"<br/><a href='mailto:sales@sandiegovolvo.com'>sales@sandiegovolvo.com</a></p>");
	$('#contactcontainer').prepend("<p<span class='name'><strong>Main Phone:</strong></span><br/> "+ storeMainPhone+"</p>");
}
function setCallNumbers(){
	$('.callshowroom').html(storeSalesPhone);
	$('.callservice').html(storeServicePhone);
	$('.callparts').html(storePartsPhone);
}


/* HOURS */
function getStoreHours(returnDiv, primaryKey){
	currentUrl = "proxy.php?params=Operatinghours/FindByDepartment?departmentID="+primaryKey;
	$.ajax({ type: "GET", url: currentUrl, dataType: "xml", success: function(xml){
		$(xml).find("data").children().each(function(){																			  
			var startHour = 	parseHours($(this).find("startHour").text());
			var endHour = 		parseHours($(this).find("endHour").text());
			var startDay = 		parseDays($(this).find("startDay").text());
			var endDay = 		parseDays($(this).find("endDay").text());	
			if ( startDay == endDay ){
				$(returnDiv).append("<span class='days'>" + startDay + ":</span> " + startHour + " to " + endHour + "<br/>");
			}else{
				$(returnDiv).append("<span class='days'>" + startDay + " - " + endDay + ":</span> " + startHour + " to " + endHour + "<br/>");
			}
		});
   	} })
}
function parseHours(data){
	if( data <= 12){
		return (data + " am");	
	}else{
		data = Number(data);
		data = data - 12;
		return (data + " pm");	
	}
}
function parseDays(data){
	switch(data){
		case "1": return ("Sun");	
		case "2": return ("Mon");	
		case "3": return ("Tue");	
		case "4": return ("Wed");	
		case "5": return ("Thu");	
		case "6": return ("Fri");	
		case "7": return ("Sat");	
	}
}

/* PROMOTIONS */
function getPromotions(returnDiv, specialNumber){
	$("#tabs").tabs();
	
	currentUrl = "proxy.php?params=Promotion/FindByStore?storeID="+storeID;
	$.ajax({ type: "GET", url: currentUrl, dataType: "xml", success: function(xml){
		$(xml).find("data").children().each(function(){		
													 
			var promoImage = "";										 
			$(this).find("picture").each(function(){
				//Replace multiple times to be able to override useless first picture node								  
				promoImage = $(this).text();	
			});
			var startNumber = ($(this).find("startDate").text()).charAt(0);	
			startNumber += ($(this).find("startDate").text()).charAt(1);
			
			if ( startNumber == specialNumber ){
				$(returnDiv).append("<img src='" + promoImage + "' /><br/><br/>");
			}
		});
   	} })
}


/* MODEL PROMOTIONS */
function getModelPromotions(returnDiv, specialNumber){
	
	currentUrl = "proxy.php?params=Event/FindByStore?storeID="+storeID;
	$.ajax({ type: "GET", url: currentUrl, dataType: "xml", success: function(xml){
		$(xml).find("data").children().each(function(){		
													 
			var promoImage = "";										 
			$(this).find("picture").each(function(){
				//Replace multiple times to be able to override useless first picture node								  
				promoImage = $(this).text();	
			});
			var startNumber = ($(this).find("startDate").text()).charAt(0);	
			startNumber += ($(this).find("startDate").text()).charAt(1);
			
			if ( startNumber == specialNumber ){
				$(returnDiv).append("<img src='" + promoImage + "' /><br/><br/>");
			}
		});
   	} })
}


/* TOUTS */
function initSpecialsTout(){
	$.ajax({ type: "GET", url: specialsUrl, dataType: "xml", success: parseSpecialsInfo }); 
}
function parseSpecialsInfo(xml){
	/*var arr = jQuery.makeArray($(xml).find('name'));
	jQuery.each(arr, function() {  
		var currentSpecial = $(this).text()	;
		if(currentSpecial != 'San Diego Volvo'){
			$('.spcontent').append('<a href="specials.php" class="splink"><span>' + currentSpecial + '</span></a>')
		}
    });*/
	
	//sIFR.replaceElement(named({sSelector:"a.splink span", sFlashSrc:"../app_themes/global/images/touts/h6.swf", sColor:"#760101", sCase:"upper", sWmode:"transparent", sFlashVars:"textalign=center"  }));
	
	$('.specialspop').hide();
	$('.specialstout').hover(function () { $('.specialspop').show(); }, function() { } );
	$('.specialspop').hover(function () { }, function() { $('.specialspop').hide(); } );
}
function initVolvoCareTout(){
	$('.caretout').click(function () { window.location = 'service_your_volvo.php'; });	
}


/* IE6 TOPNAV HOVER FIX */
tnHover = function() { var topNav = document.getElementById("topnav"); if (topNav == null) { return; } var tnEls = topNav.getElementsByTagName("LI"); if (tnEls == null) { return; } for (var i=0; i<tnEls.length; i++) { tnEls[i].onmouseover=function() { this.className+=" tnhover"; }; tnEls[i].onmouseout=function() { this.className=this.className.replace(new RegExp(" tnhover\\b"), ""); }; } }; if (window.attachEvent) window.attachEvent("onload", tnHover);