/* 	######################
	if a page needs a js variable, it can define it in its own js file and use it here.
	pages that dont define it, will set it to empty string, thanks to the next declarations...
	######################
*/
if (typeof vehicle == "undefined") var vehicle = "";
if (typeof site == "undefined") var site = "";
if (typeof menuType == "undefined") var menuType = "";
if (typeof superCat == "undefined") var superCat = "";
if (typeof superItem == "undefined") var superItem = "";
if (typeof modelId == "undefined") var modelId = "";
if (typeof deeplink == "undefined") var deeplink = "";

/* 	######################
	hash of uri's and corresponding flash replacement values
	######################
*/

var siteDir = (typeof site != "undefined" && site == "lightduty") ? "lightduty/" : "";
var lcid = new Date().getTime();


var URIs = new Array();
URIs['/index.jsp'] = new Array("gPageWrapper","/flash/homepage/homeStage.swf","999","1120","smenu=" + menuType + "&site=" + site + "&lcid=" + lcid + "");
URIs['/' + siteDir + brand + '/' + vehicle + '/index.jsp'] = new Array("gContent","/flash/vehicleHome/modelPages.swf","840","860","brand=" + brand + "&section=masthead&site=" + site + "&deeplink="+ deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" );
URIs['/' + siteDir + brand + '/' + vehicle + '/colors.jsp'] = new Array("gContent","/flash/vehicleHome/modelPages.swf","840","860","brand=" + brand + "&section=colors&site=" + site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" );
URIs['/' + siteDir + brand + '/' + vehicle + '/gallery.jsp'] = new Array("gContent","/flash/vehicleHome/modelPages.swf","840","860","brand=" + brand + "&section=gallery&site=" + site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" );
URIs['/' + siteDir + brand + '/' + vehicle + '/accessories.jsp'] = new Array("gContent","/flash/vehicleHome/modelPages.swf","840","860","brand=" + brand + "&section=accessories&site=" + site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" );
//URIs['/currentoffers/index.jsp'] = new Array("pFlashMap","/flash/currentOffers/currentOffers.swf","839","428","brand=" + brand); 
//URIs['/yukonhybrid/index.jsp'] = new Array("yukonHybrid","/yukonhybrid/index.jsp","840","750");
//family content


URIs['/'+ brand +'/index.jsp'] = new Array("cfamilyContent","/flash/family/masthead.swf","840","151");
URIs['/sierra/index.jsp'] = new Array("cfamilyContent","/letstalktrucks/familyPageLetsTalk.swf","840","176");
URIs['/yukonhybrid/index.jsp'] = new Array("yukonHybrid","/flash/yukonHybrid/YukonSplash.swf","840","1000");

URIs['/sierra-hybrid/index.jsp'] = new Array("sierraHybrid","/flash/vehicleHome/sierraHybrid.swf","840","770");

URIs['/terrain/terrain/index.jsp'] = new Array("gContent","/flash/vehicleHome/terrainSitelet.swf","839","770","brand=" + brand + "&section=masthead&trackingBrand=terrain&trackingVehicle=terrain&controlURL=/flash/divisional/colors/&site=" + site + "&deeplink="+ deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "&playVideo=false" + "");
URIs['/terrain/terrain/gallery.jsp'] = new Array("gContent","/flash/vehicleHome/terrainSitelet.swf","839","770","brand=" + brand + "&section=gallery&site=" + site + "&deeplink="+ deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "");
URIs['/terrain/terrain/colors.jsp'] = new Array("gContent","/flash/vehicleHome/terrainSitelet.swf","839","729","brand=" + brand + "&section=colors&site=" + site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" ); 
URIs['/terrain/terrain/accessories.jsp'] = new Array("gContent","/flash/vehicleHome/terrainSitelet.swf","839","770","brand=" + brand + "&section=accessories&site=" + site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" ); 


URIs['/denali-xt/index.jsp'] = new Array("sierraHybrid","/flash/vehicleHome/sierraHybrid.swf","840","900");
URIs['/gmc-hybrid/index.jsp'] = new Array("sierraHibridP","/flash/vehicleHome/shybrid.swf","840","960");
URIs['/fuel-economy/index.jsp'] = new Array("pFuelPageContent","/flash/vehicleHome/FuelPage.swf","840","650");

URIs['/'+ brand +'/safety.jsp'] = new Array("gContent","/flash/vehicleHome/modelPages.swf","840","860","page=safety&brand=" + brand+ "&site="+site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" );

URIs['/'+ brand +'/capabilities.jsp'] = new Array("gContent","/flash/vehicleHome/modelPages.swf","840","860","page=capabilities&brand=" + brand+ "&site="+site + "&deeplink=" + deeplink + "&lcid=" + lcid + "&vehicle=" + vehicle + "" );
//URIs['/common/bp/compare.jsp'] = new Array("contentComp","/flash/compare.swf","600","330","brand=" + brand);
URIs['/popup/' + brand + '/' + superCat + '.jsp'] = new Array("gContent","/flash/divisional/superpop.swf","605","580","brand=" + brand + "&superCat=" + superCat + "&site=" + site + "&superItem=gspMenu" + superItem);

URIs['/modelSelector.jsp'] = new Array("pModelSelectorContent","/flash/allvehicles/gmc_vav_loader.swf","950","650","");

URIs['/viewAllVehicles.jsp'] = new Array("pModelSelectorContentTest","/flash/allvehiclesTest/gmc_vav_loader.swf","750","650","");

URIs['/'+ brand + '/' + vehicle + '/specsStandard.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsCapabilities.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsDimension.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsInterior.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsExterior.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsFuel.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsSafety.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");
URIs['/'+ brand + '/' + vehicle + '/specsEngine.jsp'] = new Array("badgeContent","/flash/vehicleHome/badgeAndHeader.swf","840","70");

URIs['/terrain/terrain/specsStandard.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsCapabilities.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsDimension.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsInterior.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsExterior.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsFuel.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsSafety.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");

URIs['/terrain/terrain/specsEngine.jsp'] = new Array("badgeContent","/flash/vehicleHome/terrainBadgeAndHeader.swf","840","70","brand=" + brand +"&vehicle=" + vehicle + "");


/* 	######################
	flash replacement
	######################
*/
/*
function myInnerHTML(node) {
 
               var nodeNamesWeIgnore = "accessKey|coords|noWrap|dataFormatAs|disabled|dataSrc|object|dataFld|language|compact|contentEditable|inherit|tabIndex|align|clear|shape|charset|urn|dir|css";
 
               // that string doesn't let us ignore "hreflang" (href) of "hideFocus" (id)
 
               // it might be easier to search for the attributes we DO want instead of those we DON'T want. 
               var result = "";   
               switch (node.nodeType) {
               // http://www.zvon.org/xxl/DOM2reference/DOM2/Output/data/_glossary.html#NodeTypes 
                       case 3: // text node 
                               var textValue = node.nodeValue;
                               textValue = textValue.replace(/\t/g, "");
                                textValue = textValue.replace(/\n/g, ""); 
                               textValue = textValue.replace(/\r/g, "");   
                               result += textValue;
                               break;  
                       case 1: 
                               result += "<" + node.nodeName.toLowerCase();
                               if (node.attributes != null) { 
                                      if (node.attributes.length > 0) { 
                                              for (var i = 0;  i < node.attributes.length; i++) {
 
                                                     var nodeName = node.attributes.item(i).nodeName;
 
                                                     //if ((node.attributes.item(i).value != "null") && (node.attributes.item(i).value != "") && (nodeNamesWeIgnore.indexOf(nodeName) == -1)) {
 
                                                     if ((node.attributes.item(i).value != "null") && (nodeNamesWeIgnore.indexOf(nodeName) == -1)) {
                                                             result += " " + node.attributes.item(i).nodeName; 
                                                             result += "=\""; 
                                                             if(node.attributes.item(i).nodeName == "alt" || node.attributes.item(i).nodeName == "title"){
 
                                         node.attributes.item(i).value = node.attributes.item(i).value.replace("\"", "&#34;");
 
                                                             }
                                                             result += node.attributes.item(i).value +"\"";
                                                     } 
                                              }
                                      }
                               }   
                               if (node.childNodes != null) { 
                                      if (node.childNodes.length > 0) {
                                              result += ">"; 
                                              for (var j = 0;  j < node.childNodes.length; j++) {
                                                     //alert(node.childNodes[j]);
                                                      result += myInnerHTML(node.childNodes[j]);
                                              } 
                                              result += "</"+ node.nodeName.toLowerCase() +">"; 
                                      } else { 
                                              result += "/>"; 
                                      } 
                               }   
                               break; 
               }     
               return result;
 
        }
*/


function gReplaceFlash() {
if(URIs[uri] != undefined && useFlash == "Y"){
	
	// if flash is present && uri is listed above && and we want to use flash, replace flash
	var replaceNode = getElemRefs(URIs[uri][0]);
	var swfName = URIs[uri][1];
	var width = URIs[uri][2];
	var height = URIs[uri][3];
	var params = URIs[uri][4];
	
	var bgColor = "#292C33";
	if (uri == "/currentoffers/index.jsp") bgColor="#2C2F38";
	if (uri == "/acadia/acadiaexperience.jsp") bgColor="#ffffff";
	if (uri == "/yukonhybrid/index.jsp") bgColor="#2C2F38";
	/*if (uri == "/gmc-hybrid/index.jsp"){
		document.getElementById("gContent").style.backgroundImage = "none";
		document.getElementById("gContent").style.width = "840px";
		document.getElementById("gContent").style.backgroundColor = bgColor;
		document.getElementById("sierraHibridP").style.visibility = "visible";
	}*/

	
	if (typeof(lcId) != "undefined") {
		if (lcId != null) { 
			params += "&lcId="+ lcId;
		}
	} 

	//sIFR.replaceElement(named({nWidth:width,nHeight:height,oNodeRef: replaceNode, sFlashSrc:swfName, sColor:"#FFFFFF", sLinkColor:"#000000", sBgColor:bgColor, sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:params + '&allowscriptaccess=always'}));
	var so = new SWFObject(swfName, "flashReplaced", width, height, "8", bgColor);
	so.addVariable("allowscriptaccess", "always");
	
	if (params) {
		var pp = params.split("&");
		for (var q = 0; q < pp.length; q++) so.addVariable(pp[q].split("=")[0], pp[q].split("=")[1]);
	}
	so.addVariable("txtCount", 1);
	var ihtml = sIFR.myInnerHTML(replaceNode);
	ihtml = ihtml.split("\"").join(escape("\""));
	ihtml = ihtml.split("&").join(escape("&"));
	
	so.addVariable("txt0", ihtml);
	so.addParam("align","top");
	so.addParam("scale","noorder");
	so.addParam("salign","left");
	so.addParam("wmode","transparent");
	
	so.write(replaceNode.id);
	
} else if( (uri.indexOf( brand + '/' + vehicle ) > -1) && (brand != "")){
	
	var obj = getElemRefs("gContent");
	obj.className = "noFlash";
}
else{
	// otherwise, make XHTML display:block (with a special case for homepage
		if(uri == '/index.jsp') {
			document.getElementById('gNav').style.display = 'block';
			document.getElementById('gContent').style.display = 'block';
		}	
		else 
		{
		  var e = document.getElementById('gXHTMLContent');
		  if (e)
			   e.style.display = 'block';
		}
		if(uri == '/yukonhybrid/index.jsp') 
		{
			document.getElementById('gNav').style.display = 'block';
			document.getElementById('gContent').style.display = 'block';
			document.getElementById('gXHTMLContent').style.display = 'block';
		}		
}

if (uri == "/currentoffers/index.jsp") document.getElementById('gXHTMLContent').style.display = 'block';
if (uri == "/yukonhybrid/index.jsp") document.getElementById('gXHTMLContent').style.display = 'block';
}

AttachEvent(window, "load", gReplaceFlash);