
function changeSideHeaderImage(strItem, strTarget) {
	var imageName;
	var imageObject;
	imageName = '/Images/Global/but_top_medBlue' + strTarget + '.gif';
	imageObject = document.images;
	imageObject[strItem].src = imageName;
}


//In javascript, for some reason, the base tag is not used.
//This function addresses this problem in a limited way.
function gbl_FixRelativeURL(strRelativeURL){	
	if(document.all && document.all.tags("base") && document.all.tags("base")[0])
		return document.all.tags("base")[0].href + strRelativeURL;
	else
		return strRelativeURL;
}

function gbl_ChooseProvince(ProvID){
	document.location=gbl_FixRelativeURL('/EstimatePayments.aspx?UserQuoteID='+UserQuoteID+'&ProvinceID='+ProvID+'&lng='+LangID);
}

function gbl_redirectModel(modelId, Year){
	document.location=gbl_FixRelativeURL('/SubmitModel.aspx?ModelID='+modelId+'&TimePeriodID='+Year+'&UserQuoteID='+UserQuoteID+'&lng='+LangID);
}

function gbl_trimSelect(TrimID){
	document.location=gbl_FixRelativeURL('/SubmitTrim.aspx?TrimID='+TrimID+'&UserQuoteID='+UserQuoteID+'&lng='+LangID);
}
function gbl_PDFQuote(){
	gbl_OpenNewWindow(gbl_FixRelativeURL('/HTMLQuote2.aspx?popup=1&UserQuoteID='+UserQuoteID+'&lng='+LangID), 'quote', 'scrollbars=yes,location=no,toolbar=no,resizable=no,menubar=yes,status=no,width=710');
}
function gbl_refreshSidebar(){
	frames[0].window.document.location = gbl_FixRelativeURL('/SideBarSpecs.aspx?UserQuoteID='+UserQuoteID+'&lng='+LangID+'&popup=1')
}
 
function gbl_preConfigSelect(preConfiguredID, trimID){
	document.location=gbl_FixRelativeURL('/SubmitTrim.aspx?TrimID='+trimID+'&PreConfiguredTrimID='+preConfiguredID+'&UserQuoteID='+UserQuoteID+'&lng='+LangID);
}

function gbl_OpenNewWindow(strWinURL, strWinName, strOptions){
	var win;	
	if(strOptions == ''){
		strOptions = 'scrollbars=yes,location=yes,toolbar=yes,resizable=yes,menubar=yes,status=yes'
	}
	win = window.open(strWinURL, strWinName, strOptions);
	win.focus();
	return win;
}

function gbl_StripAmp(strIn){
	var strNoAmp = strIn;
	strNoAmp=strNoAmp.replace(/&amp;/g, '&');
	return strNoAmp;
}

function gbl_flashCubeClick(lng,modelID)
{
	var winUrl = 'http://www.volvocanada.com/corporateredirect.asp?lng=' + lng + '&page=seasonfinale&modelid='+modelID
	
	gbl_OpenNewWindow(winUrl, '', '')
}

function gbl_sendToAFriend(){
		gbl_OpenNewWindow(gbl_FixRelativeURL('EmailAFriend.aspx?popup=1&UserQuoteID=' +UserQuoteID+'&lng='+LangID),'','height=400, width=750, left=150, top=10, screenx=150, screeny=10, toolbar=yes, scrollbars=yes,location=yes, resizable=yes, menubar=yes, status=yes');
}

function gbl_openRetailerMap(langid, retailerid){
	var strName;
	var strURL;
	var strOptions;
	strName = 'VolvoRetailerMap';
	strOptions = 'resizable=no,scrollbars=yes,width=627,height=575,left=200,top=100,screenx=200,screeny=100,toolbar=0,menubar=0';
	strURL = 'http://volvocanada.com/corporateredirect.asp?page=specificretailer&lng=' + langid + '&Retailerid=' + retailerid;
	gbl_OpenNewWindow(strURL, strName, strOptions);
}

function gbl_openRetailerMap2(langid, retailerid){
	var strName;
	var strURL;
	var strOptions;
	strName = 'VolvoRetailerMap';
	strOptions = 'resizable=no,scrollbars=yes,width=627,height=575,left=200,top=100,screenx=200,screeny=100,toolbar=0,menubar=0';
	strURL = 'http://volvocanada.com/Retailer/Retailermap.aspx?popup=true&lng=' + langid + '&compid=' + retailerid;
	gbl_OpenNewWindow(strURL, strName, strOptions);
}

function gbl_chooseRetailer(ProvID, RetailerID){
	document.location=gbl_FixRelativeURL('/SubmitRetailer.aspx?&UserQuoteID=' + UserQuoteID + '&RetailerID=' + RetailerID + '&ProvinceID=' + ProvID + '&lng=' + LangID + '&ReferrerID=' + referrerID);
}
function gbl_definitionPopup(strDefinition, langid){
	gbl_OpenNewWindow(gbl_FixRelativeURL('/Definitions.aspx?popup=1&lng='+langid+'#'+strDefinition), 'definition', 'resizable=no,scrollbars=yes,width=627,height=575,left=200,top=100,screenx=200,screeny=100,toolbar=0,menubar=0');
}
function gbl_LegalDisclaimerPopup(langid, height){
	gbl_OpenNewWindow(gbl_FixRelativeURL('/Legal.aspx?popup=1&lng='+langid), 'definition', 'resizable=no,scrollbars=yes,width=600,height='+height+',left=200,top=100,screenx=200,screeny=100,toolbar=0,menubar=0');
}
function gbl_openAlertWindow(message, langid, messageType, xCoordinate, yCoordinate)
{
    if('' + langid == 'undefined')
		langid=LangID;
    var w = 350, h = 150;
    var left = (screen.width-w)/2;
    var top = (screen.height-h)/2;
	var win = gbl_OpenNewWindow(gbl_FixRelativeURL('/Attention.aspx?popup=1&lng='+langid+'&Message='+message+'&MessageType='+messageType), 'definition', 'resizable=no,scrollbars=yes,width='+w+',height='+h+',screenx='+left+',screeny='+top+',toolbar=0,menubar=0');
	win.focus();
}

function gbl_volvoContest(accept, pageid)
{
	var msg = ""
	if (accept == "1")
	{ 
		document.cookie = "VolvoContestOct05=0;expires=Monday, 20-Sep10 12:00:00 GMT";
		
		msg = (LangID == 3)
			  ? "Merci de participer au concours.<br />"+
				"Il se peut que le concessionnaire Volvo de votre choix communique avec vous pour confirmer votre inscription.<br /><br />"+
		        "Bonne Chance!"
		  
		      : "Thank you for entering our contest.<br />"+
		        "You may be contacted by your chosen Volvo Canada Retailer to confirm your entry.<br /><br />"+
		        "Good Luck!"		      
		      ;
		document.location = "/VolvoContestSubmit.aspx?UserQuoteID=" +UserQuoteID+"&lng="+LangID+"&RefID="+pageid;
		gbl_openAlertWindow(msg, LangID, "thankyou");
	}
	else if (accept == "0")
	{ 
		document.cookie = "VolvoContestOct05="+UserQuoteID+"=3;expires=-1";
		
		document.location = "/VolvoContestSubmit.aspx?UserQuoteID=" +UserQuoteID+"&lng="+LangID+"&RefID="+pageid;
	}
}

function gbl_disableInfoPopup()
{
	document.cookie = "VolvoConfigInfoPopup=0;expires=Monday, 20-Sep10 12:00:00 GMT";
}

//RD 20050812 - CapCostReduction Validation Checking
function pay_CapCostReduction(strTradeIn, strDownPayment, strSellingPrice, LangID){          

      var strErrorCode; 
      strErrorCode=gbl_DoActionWebService('/CapCostReductionValidation.aspx?DownPayment=' + escape(strDownPayment) + '&TradeIn=' + escape(strTradeIn) + '&SellingPrice=' + escape(strSellingPrice) + '&lng=' + escape(LangID));
      
      if(strErrorCode == '0'){
            return true;
      } else {
            return false;
      }
}
 
//functions to call to server
 
//    - returns XML node set from response
function gbl_DoWebService(strURL){
      var xmlhttp = gbl_GetXMLHttpRequestObject();
      xmlhttp.open('POST', gbl_FixRelativeURL(strURL), false);    
      xmlhttp.send(null);
      
      var intNumChildren;
      var objDom= gbl_GetXMLDomObject();
      
      objDom.resolveExternals=false;
      objDom.validateOnParse=false;
      objDom.async=false;     
      var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
      var isMac=(navigator.userAgent.indexOf("Mac")!=-1);
 
    if((document.all && !isOpera && (!isMac || navigator.appVersion.indexOf("MSIE 4")==-1)))
    { //if IE
            objDom.loadXML(xmlhttp.responseText)
      }else{ //else if netscape/opera/safari
            objDom = xmlhttp.responseXML;
            
      }
      
      if(objDom){
            return objDom;
      }else {
            return '';
      }
}
 
//    - returns error code from response (string)
//    - may return blank error code on no response
// TODO: add robust error handling
function gbl_DoActionWebService(strURL){
      
      var xmlhttp = gbl_GetXMLHttpRequestObject();
      xmlhttp.open('GET', gbl_FixRelativeURL(strURL), false);    
      xmlhttp.send(null);
      
      var intNumChildren;
      var objDom= gbl_GetXMLDomObject();
      
      objDom.resolveExternals=false;
      objDom.validateOnParse=false;
      objDom.async=false;     
      var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
      var isMac=(navigator.userAgent.indexOf("Mac")!=-1);
 
    if((document.all && !isOpera && (!isMac || navigator.appVersion.indexOf("MSIE 4")==-1)))
    { //if IE
            objDom.loadXML(xmlhttp.responseText)
      }else{ //else if netscape/opera/safari
            objDom = xmlhttp.responseXML;
            
      }
      
      if(objDom){
            intNumChildren=objDom.documentElement.childNodes.length;          
            if(intNumChildren>0){
                  var nodeSelected=objDom.documentElement.firstChild;                     
                  return nodeSelected.firstChild.nodeValue;
            } else {
                  return '';
            }
      }else {
            return '';
      }
}
 
function gbl_GetXMLHttpRequestObject(){

      var obj;
      try{ //to get the mozilla httprequest object
            obj = new XMLHttpRequest();
      }catch(e){
      
            try{ //to get MS HTTP request object
                  obj=new ActiveXObject("Msxml2.XMLHTTP.4.0");
            }catch(e){
                  try{ //to get MS HTTP request object
                        obj=new ActiveXObject("Msxml2.XMLHTTP")
                  }catch(e){
                        try{// to get the old MS HTTP request object
                              obj = new ActiveXObject("microsoft.XMLHTTP"); 
                        }catch(e){
                              throw new Error("No XML requestor found.");
                        }
                  }
            }
      }
      return obj;
}
function gbl_GetXMLDomObject(){
            if(document.implementation && document.implementation.createDocument){
                  return document.implementation.createDocument("", "doc", null);
            } else {
                  return new ActiveXObject("Msxml2.DOMDocument");
            }           
}

