	function openSRAQ(url){
        var w=861, h=740, bw, bh, bl, bt, topPos, leftPos;
        // CENTER POPUP
        if (document.all)
        {
        bw = screen.width;  bh = screen.height;  bl = 0;  bt = 0;
        }
        else
        {
        bw = window.outerWidth;  bh = window.outerHeight;  bl = window.screenX;  bt = window.screenY;
        }
        leftPos = Math.floor((bw-w)/2) + bl;
        topPos = Math.floor((bh-h)/2) + bt;
        var popWindow = window.open (url,"CurrentOffers","toolbar=0, status=0, width=" + w + "px, height=" + h + "px, top=" + topPos + "px, left=" + leftPos + "px");
                popWindow.focus();
        }

	function setCookie(name, value, expires, path, domain, secure) {
		domain = location.toString();
		if (domain.indexOf('.gm.ca') != -1){
			if(navigator.appName.indexOf('Microsoft') != -1){
				domain = "";
			}
			else{
				domain = ".gm.ca";
			}
		}
		else if(domain.indexOf('.mminteractive.com') != -1){
			if(navigator.appName.indexOf('Microsoft') != -1)
				domain = "";
			else{
				domain = ".mminteractive.com";
			}
		}
		else{
			domain ="";
		}
		var curCookie = name + '=' + escape(value) + ((expires) ? '; expires=' + expires.toGMTString() : '') + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + ((secure) ? '; secure' : '');
		document.cookie = curCookie;
	}

	function switchLangWithSession () {

		var engDelimiter = 'english',

		freDelimiter = 'french',

		newURL = switchLangSearch(engDelimiter, freDelimiter);

		if (newURL != 'null') {

			self.location = newURL;

			return;

		}

		engDelimiter = "lang=en";

		freDelimeter = "lang=fr";

		newURL = switchLangSearch(engDelimiter, freDelimeter);

		if (newURL != 'null') {

			self.location = newURL;

			return;

		}

		engDelimiter = "_code=en";

		freDelimeter = "_code=fr";

		newURL = switchLangSearch(engDelimiter, freDelimeter);

		if (newURL != 'null') {

			self.location = newURL;

			return;

		}

	}
	
	/* @kh: Adding new updates to manipulate the language toggling functionalty for Google Box.
	   This will handle 2 completely different URLS queries, one generate externally by the 
	   CGA (XSLT)file for "footer links" and the second is generated throughout GM.CA */
	  
	function switchLangSearch (engDelim, freDelim) {

		var docURL = document.URL,
		
	    englishCollection='english_pref_search',
		
		frenchCollection='french_pref_search',

		newURL = 'null',

		engPosition = 0,

		frePosition = 0,

		charStart = 0,

		charEnd = docURL.length + 1,

		engDelimiter = engDelim,

		freDelimiter = freDelim;

		do {

			var test = docURL.substr(charStart, engDelimiter.length);

			if (test == engDelimiter) { engPosition = charStart;}

			charStart++;

		}

		while (charStart < charEnd - engDelimiter.length);

		if (engPosition > 0) {
		/*=================  "English google box url logic"  ======================================*/
			if(docURL.indexOf("proxystylesheet")!=-1){
			    newURL='';
				
				if(docURL.indexOf("&lang=") == -1){
				
					var mySplitResult = docURL.split(englishCollection);
					
					var lastENquery = mySplitResult[mySplitResult.length-1] + "&lang=fr";
													
					for(i =0; i<(mySplitResult.length-1); i++){
						newURL += mySplitResult[i] + freDelimiter + "_pref_search";
					}
					//Clean up on the fly an obsolete query passed in throughout GM.CA- recommended by CGA.
					var filterUrlQueries= (newURL + lastENquery).replace("&vehicle_collection=", "");
					
					newURL = filterUrlQueries;
					
				}else{
					//URL dosn't has the Language reference
					var mySplitResult = docURL.split(englishCollection);
				 
					var lastENquery = mySplitResult[mySplitResult.length-1];
					
					var formatedENLast = lastENquery.substr(0,lastENquery.indexOf("&lang="));
					
					var formatedFRfinal = formatedENLast + "&lang=fr";
					

					for(i =0; i<(mySplitResult.length-1); i++){
						newURL += mySplitResult[i] + freDelimiter + "_pref_search";
					}
					
					var filterUrlQueries= (newURL + formatedFRfinal).replace("&vehicle_collection=", "");
					
					newURL = filterUrlQueries;
					
					
				}
			/*=================  "End English google url logic"  ======================================*/
			}else{
				newURL = docURL.substr(0,engPosition) + freDelimiter + docURL.substr((engPosition + engDelimiter.length),docURL.length);
			}

		} else {

			charStart = 0;

			do {

				var test = docURL.substr(charStart, freDelimiter.length)

				if (test == freDelimiter) { frePosition = charStart;}

				charStart++;

			}

			while (charStart < charEnd - freDelimiter.length);

			if (frePosition > 0) {
				/*=================  "French google box url logic"  ======================================*/
				if(docURL.indexOf("proxystylesheet")!=-1){
				
					newURL='';		
					
					if(docURL.indexOf("&lang=") == -1){
					
						var mySplitResult = docURL.split(frenchCollection);
									   
						var lastFRquery= mySplitResult[mySplitResult.length-1]+"&lang=en";
				
						for(i =0; i<(mySplitResult.length-1); i++){
							newURL += mySplitResult[i]+engDelimiter+"_pref_search";
						}
						//Clean up on the fly an obsolete query passed in throughout GM.CA- recommended by CGA.
						var filterUrlQueries= (newURL +lastFRquery).replace("&vehicle_collection=", "");
						
						newURL =filterUrlQueries;
						
					}else{
						//URL dosn't has the Language reference
						var mySplitResult = docURL.split(frenchCollection);
						
						var lastFRquery= mySplitResult[mySplitResult.length-1];
						
						var formatedFRLast=lastFRquery.substr(0,lastFRquery.indexOf("&lang="));
				
						var formatedENLastquery=formatedFRLast+"&lang=en";
				
						for(i =0; i<(mySplitResult.length-1); i++){
							newURL += mySplitResult[i]+engDelimiter+"_pref_search";
						}
			           
						var filterUrlQueries= (newURL +formatedENLastquery).replace("&vehicle_collection=", "");
						
						newURL =filterUrlQueries;
					
					}
			    /*=================  "End French google url logic"  ======================================*/
				}else{
					newURL = docURL.substr(0,frePosition) + engDelimiter + docURL.substr((frePosition + freDelimiter.length),docURL.length);
				}
				
			}

		}
		if (engPosition == 0) {
			setCookie("gmcanada_lang","english", "", "/gm");
		}
		else{
			setCookie("gmcanada_lang","french", "", "/gm");
		}
		return newURL;
	}


	(function ()
	{
			/**
			* @menu		Site Nav Menu.
			*/
		var oSiteMapNavMenu =
			{
				/**
				* @function		buildFunctionality
				* @usage		Sets the event handlers and such for the Site Map.
				*/
				buildFunctionality: function ()
				{
					/**
					* @note                              Handlers for the images covering the content sections.
					*/
					jQuery('#SiteMapBTN').hover(function (event)
					{
						if (jQuery.browser.msie && jQuery.browser.version == 6.0){
							jQuery('select').css('visibility','hidden');
							if (window.location.href.indexOf('http://compare.autodata.preprod.gm.ca/compare/main.asp') != -1 || window.location.href.indexOf('http://compare.autodata.gm.ca/compare/main.asp') != -1){
								jQuery('#Main').contents().find('select').css('visibility','hidden');
							}
							else if (window.location.href.indexOf('UsedVehicleLocatorCriteria.do') != -1){
								jQuery('#searchByMakeModelTable').css('visibility','hidden');
							}
						}

						if (sLanguage == 'fr')
						{
							document.getElementById('SiteMapBTNImg').style.top = '-103px';
						}
						else
						{
							document.getElementById('SiteMapBTNImg').style.top = '-34px';
						}

						document.getElementById('SocialMenuBTNImg').style.top = '0px';

						document.getElementById('GlobalNav').style.width = '990px';

						document.getElementById('SiteMapMenuContainer').style.display = 'block';
						document.getElementById('SiteMapMenuContainer').style.visibility = 'visible';

						jQuery('#SiteMapMenuContainer').stop().animate({top: '0px'}, {queue: false, duration: 500});
						jQuery('#SocialMenuContainer').stop().animate({top: '-650px'}, {queue: false, duration: 500});
					}, function () {}, 1);

					jQuery('#GlobalNav').hover(function () {},
					function ()
					{
						if (jQuery.browser.msie && jQuery.browser.version == 6.0){
							jQuery('select').css('visibility','visible');
							if (window.location.href.indexOf('http://compare.autodata.preprod.gm.ca/compare/main.asp') != -1 || window.location.href.indexOf('http://compare.autodata.gm.ca/compare/main.asp') != -1){
								jQuery('#Main').contents().find('select').css('visibility','visible');
							}
							else if (window.location.href.indexOf('UsedVehicleLocatorCriteria.do') != -1){
								jQuery('#searchByMakeModelTable').css('visibility','visible');
							}
						}

						if (sLanguage == 'fr')
						{
							document.getElementById('SiteMapBTNImg').style.top = '-68px';
						}
						else
						{
							document.getElementById('SiteMapBTNImg').style.top = '0px';
						}
						jQuery('#SiteMapMenuContainer').stop().animate({top: '-650px'}, {queue: false, duration: 500, complete: function () {document.getElementById('GlobalNav').style.width = '300px';
						document.getElementById('SiteMapMenuContainer').style.display = 'none';
						document.getElementById('SiteMapMenuContainer').style.visibility = 'hidden';}});
					}, 2);

					jQuery('#GoogleSubmit').click(function () {document.getElementById('gsfull').submit();});

					jQuery('#CloseSiteMap').click(function () {jQuery('#SiteMapMenuContainer').stop().animate({top: '-650px'}, {queue: false, duration: 500});});
				},

				/**
				* @function		getData
				* @usage		Returns the data object for the Site Nav Menu.
				*/
				getData: function ()
				{
					return [
								{
									title: {en: {value: 'Vehicles', url: '/gm/english/vehicles'}, fr: {value: 'V&eacute;hicules', url: '/gm/french/vehicles'}},
									bBorder: true,
									rows:
									[
										[
											{en: {value: 'Buick', url: '/gm/english/vehicles/buick/'}, fr: {value: 'Buick', url: '/gm/french/vehicles/buick/'}},
											{en: {value: 'Cadillac', url: '/gm/english/vehicles/cadillac/'}, fr: {value: 'Cadillac', url: '/gm/french/vehicles/cadillac/'}},
											{en: {value: 'Chevrolet', url: '/gm/english/vehicles/chevrolet/'}, fr: {value: 'Chevrolet', url: '/gm/french/vehicles/chevrolet/'}},
											{en: {value: 'GMC', url: '/gm/english/vehicles/gmc/'}, fr: {value: 'GMC', url: '/gm/french/vehicles/gmc/'}}
										],

										[
											{en: {value: 'New Vehicles', url: '/gm/english/showrooms/?adv=72465'}, fr: {value: 'V&eacute;hicules neufs', url: '/gm/french/showrooms/?adv=72465'}},
											{bURL: true, en: {value: 'Certified Used Vehicles', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://apps.gm.ca/app/GMCanada/UsedVehicleLocatorCriteria.do&lang=en&nav=040&adv=IOPTENH001&page=qsearch#ddType~dv~refresh~year~1111~make~'}, fr: {value: 'V&eacute;hicules d\'occasion', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://apps.gm.ca/app/GMCanada/UsedVehicleLocatorCriteria.do&lang=fr&nav=040&adv=IOPTENH001&page=qsearch#ddType~dv~refresh~year~1111~make~'}},
											{en: {value: 'Fleet', url: '/gm/english/services/fleet/overview'}, fr: {value: 'Parcs', url: '/gm/french/services/fleet/overview'}},
											{en: {value: 'Commercial Trucks', url: '/gm/english/vehicles/commercial/index'}, fr: {value: 'V&eacute;hicules commerciaux', url: '/gm/french/vehicles/commercial/index'}},
											{en: {value: 'OnStar', url: '/gm/english/shopping/accessories/onstar'}, fr: {value: 'OnStar', url: '/gm/french/shopping/accessories/onstar'}}

										],

										[
											{bURL: true, bLink: true, bLink: true, en: {value: '<span class="textInside">OTHER LANGUAGES</span>', url: '#'}, fr: {value: '<span class="textInside">AUTRES LANGUES</span>', url: '#'}},
											{en: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-cantonese.gif" alt="Cantonese" border="0" />', url: '/gm/english/corporate/multicultural/cantonese'}, fr: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-cantonese.gif" alt="Cantonese" border="0" />', url: '/gm/french/corporate/multicultural/cantonese'}},
											{en: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-mandarin.gif" alt="Mandarin" border="0" />', url: '/gm/english/corporate/multicultural/mandarin'}, fr: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-mandarin.gif" alt="Mandarin" border="0" />', url: '/gm/french/corporate/multicultural/mandarin'}},
											{en: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-punjabi.gif" alt="Punjabi" border="0" />', url: '/gm/english/corporate/multicultural/punjabi'}, fr: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-punjabi.gif" alt="Punjabi" border="0" />', url: '/gm/french/corporate/multicultural/punjabi'}},
											{en: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-tamil.gif" alt="Tamil" border="0" />', url: '/gm/english/corporate/multicultural/tamil'}, fr: {value: '<img src="' + oEnvInfo.imgServer + '/images/home/2011/footer-multicultural-tamil.gif" alt="Tamil" border="0" />', url: '/gm/french/corporate/multicultural/tamil'}}
										]
									]
								},

								{	title: {en: {value: 'Shopping Tools', url: '/gm/english/tools'}, fr: {value: 'Outils d\'achat', url: '/gm/french/tools'}},
									rows:
									[
										[
											{bURL: true, en: {value: 'New Vehicle Offers', url: 'javascript:openCurrentOffers(document.location.href)'}, fr: {value: 'Offre de v&eacute;hicules neufs', url: 'javascript:openCurrentOffers(document.location.href)'}},
											{bURL: true, en: {value: 'Build &amp; Price', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://configurator.autodata.gm.ca/GMCanada/modelSelect.html&lang=en'}, fr: {value: 'Fabriquer et obtenir un prix', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://configurator.autodata.gm.ca/GMCanada/modelSelect.html&lang=fr'}},
											{bURL: true, en: {value: 'Estimate Payments', url: oEnvInfo.mainServer + '/gm/english/payment-estimator/selectMakeModel'}, fr: {value: 'Estimer les paiements', url: oEnvInfo.mainServer + '/gm/french/payment-estimator/selectMakeModel'}},
											{bURL: true, en: {value: 'Compare Vehicles', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://compare.autodata.gm.ca/compare/main.asp&lang=en&year=2012'}, fr: {value: 'Comparaison de v&eacute;hicules', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://compare.autodata.gm.ca/compare/main.asp&lang=fr&year=2012'}},
											{bURL: true, en: {value: 'Locate a Vehicle', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://apps.gm.ca/app/GMCanada/NewVehicleLocatorCriteria.do&lang=en&nav=0&cta=blank&search_year=2012'}, fr: {value: 'Trouvez un v&eacute;hicule', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://apps.gm.ca/app/GMCanada/NewVehicleLocatorCriteria.do&lang=fr&nav=0&cta=blank&search_year=2012'}},
											{bURL: true, en: {value: 'Locate a Dealer', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do&nav=0&cta=blank&lang=en'}, fr: {value: 'Trouvez un concessionnaire', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do&nav=0&cta=blank&lang=fr'}},
											{bURL: true, en: {value: 'Schedule a Test Drive', url: 'javascript:openSRAQ' + '(' + "'"  + oEnvInfo.mainServer + '/gm/english/hostredirect?host=https://apps.gm.ca/app/GMCanada/ContactADealer.do&amp;lang=en&amp;reqType=newveh&amp;year=2012&amp;nav=0' + "'" +')'}, fr: {value: 'Rendez-vous pour un essai routier', url: 'javascript:openSRAQ' + '(' + "'"  + oEnvInfo.mainServer + '/gm/french/hostredirect?host=https://apps.gm.ca/app/GMCanada/ContactADealer.do&amp;lang=fr&amp;reqType=newveh&amp;year=2012&amp;nav=0' + "'" +')'}},
											{bURL: true, en: {value: 'Request a Quote', url: 'javascript:openSRAQ' + '(' + "'"  + oEnvInfo.mainServer + '/gm/english/hostredirect?host=https://apps.gm.ca/app/GMCanada/ContactADealer.do&amp;lang=en&amp;reqType=newveh&amp;year=2012&amp;nav=0' + "'" +')'}, fr: {value: 'Demande de soumission', url: 'javascript:openSRAQ' + '(' + "'"  + oEnvInfo.mainServer + '/gm/french/hostredirect?host=https://apps.gm.ca/app/GMCanada/ContactADealer.do&amp;lang=fr&amp;reqType=newveh&amp;year=2012&amp;nav=0' + "'" +')'}},
											{bURL: true, en: {value: 'Appraise Trade In Value', url: oEnvInfo.mainServer + '/gm/english/services/financial/financing/appraise-tradein-value'}, fr: {value: '&Eacute;valuez votre v&eacute;hicule', url: oEnvInfo.mainServer + '/gm/french/services/financial/financing/appraise-tradein-value'}}
										],

										[
											{en: {value: 'First New Car', url: '/gm/english/shopping/first-new-car/overview'}, fr: {value: 'Premi&egrave;re voiture neuve', url: '/gm/french/shopping/first-new-car/overview'}},
											{en: {value: 'Trailering Guide', url: '/gm/english/trailering-guide/all-vehicles/home/overview'}, fr: {value: 'Guide sur le remorquage', url: '/gm/french/trailering-guide/all-vehicles/home/overview'}},
											{en: {value: 'Financing &amp; Insurance', url: '/gm/english/services/financial/overview'}, fr: {value: 'Financement et assurance', url: '/gm/french/services/financial/overview'}}
										]
									]
								},

								{
									title: {bURL: true, en: {value: 'Offers and Promotions', url: 'javascript:openCurrentOffers(document.location.href)'}, fr: {value: 'Offres et promotions', url: 'javascript:openCurrentOffers(document.location.href)'}},
									rows:
									[
										[
											{bURL: true, en: {value: 'New Vehicle Offers', url: 'javascript:openCurrentOffers(document.location.href)'}, fr: {value: 'Offre de v&eacute;hicules neufs', url: 'javascript:openCurrentOffers(document.location.href)'}},
											{en: {value: 'Goodwrench Offers', url: '/gm/english/services/goodwrench/offers'}, fr: {value: 'Offres Goodwrench', url: '/gm/french/services/goodwrench/offers'}}
										],

										[
											{en: {value: 'GM Card', url: '/gm/english/services/gm-card/overview'}, fr: {value: 'La Carte GM', url: '/gm/french/services/gm-card/overview'}},
											{en: {value: 'Military Program', url: '/gm/english/corporate/offers/gm-military-program/overview'}, fr: {value: 'Programme pour militaires', url: '/gm/french/corporate/offers/gm-military-program/overview'}},
											{en: {value: 'Mobility Program', url: '/gm/english/corporate/offers/mobility-program/overview'}, fr: {value: 'Programme Mobilit&#233;', url: '/gm/french/corporate/offers/mobility-program/overview'}},
											{en: {value: 'Student Bonus', url: '/gm/english/corporate/offers/student-bonus-program/overview'}, fr: {value: 'Prime GM pour &eacute;tudiants', url: '/gm/french/corporate/offers/student-bonus-program/overview'}},
											{en: {value: 'Supplier Program', url: '/gm/english/corporate/supplier-program/overview'}, fr: {value: 'Programme de Fournisseur', url: '/gm/french/corporate/supplier-program/overview'}}
											
										]
									]
								},

								{
									title: {en: {value: 'For Owners', url: '/gm/english/owners/home'}, fr: {value: 'Propri&eacute;taires', url: '/gm/french/owners/home'}},
									rows:
									[
										[
											{en: {value: 'Buick', url: '/gm/english/owner_centre/buick/home/overview'}, fr: {value: 'Buick', url: '/gm/french/owner_centre/buick/home/overview'}},
											{en: {value: 'Cadillac', url: '/gm/english/owner_centre/cadillac/home/overview'}, fr: {value: 'Cadillac', url: '/gm/french/owner_centre/cadillac/home/overview'}},
											{en: {value: 'Chevrolet', url: '/gm/english/owner_centre/chevrolet/home/overview'}, fr: {value: 'Chevrolet', url: '/gm/french/owner_centre/chevrolet/home/overview'}},
											{en: {value: 'GMC', url: '/gm/english/owner_centre/gmc/home/overview'}, fr: {value: 'GMC', url: '/gm/french/owner_centre/gmc/home/overview'}},
											{en: {value: 'HUMMER', url: '/gm/english/owner_centre/hummer/home/overview'}, fr: {value: 'HUMMER', url: '/gm/french/owner_centre/hummer/home/overview'}},
											{en: {value: 'Pontiac', url: '/gm/english/owner_centre/pontiac/home/overview'}, fr: {value: 'Pontiac', url: '/gm/french/owner_centre/pontiac/home/overview'}},
											{en: {value: 'Saturn', url: '/gm/english/owner_centre/saturn/home/overview'}, fr: {value: 'Saturn', url: '/gm/french/owner_centre/saturn/home/overview'}},
											{en: {value: 'Other', url: '/gm/english/owner_centre/corporate/home/overview'}, fr: {value: 'Autres', url: '/gm/french/owner_centre/corporate/home/overview'}}
										],

										[
											{en: {value: 'Goodwrench Service', url: '/gm/english/services/goodwrench/overview'}, fr: {value: 'Service Goodwrench', url: '/gm/french/services/goodwrench/overview'}},
											{en: {value: 'Financing &amp; Insurance', url: '/gm/english/services/financial/overview'}, fr: {value: 'Financement et assurance', url: '/gm/french/services/financial/overview'}},
											{en: {value: 'Warranty', url: '/gm/english/services/warranty/overview'}, fr: {value: 'Garanties', url: '/gm/french/services/warranty/overview'}},
											{en: {value: 'Parts', url: '/gm/english/shopping/parts/overview'}, fr: {value: 'Pi&egrave;ces', url: '/gm/french/shopping/parts/overview'}},
											{en: {value: 'Accessories', url: '/gm/english/shopping/accessories/overview'}, fr: {value: 'Accessoires', url: '/gm/french/shopping/accessories/overview'}},
											{en: {value: 'OnStar', url: '/gm/english/shopping/accessories/onstar'}, fr: {value: 'OnStar', url: '/gm/french/shopping/accessories/onstar'}},
											{en: {value: 'XM Radio', url: '/gm/english/shopping/xm-radio/overview'}, fr: {value: 'Radio XM', url: '/gm/french/shopping/xm-radio/overview'}},
											{en: {value: 'Appraise Trade In Value', url: '/gm/english/services/financial/financing/appraise-tradein-value'}, fr: {value: '&Eacute;valuez votre v&eacute;hicule', url: '/gm/french/services/financial/financing/appraise-tradein-value'}}

										]
									]
								},

								{
									title: {bURL: true, en: {value: 'Dealers', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do&nav=0&cta=blank&lang=en'}, fr: {value: 'Concessionnaires', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do&nav=0&cta=blank&lang=fr'}},
									rows:
									[
										[
											{bURL: true, en: {value: 'Locate a Dealer', url: oEnvInfo.mainServer + '/gm/english/hostredirect?host=http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do&nav=0&cta=blank&lang=en'}, fr: {value: 'Trouvez un concessionnaire', url: oEnvInfo.mainServer + '/gm/french/hostredirect?host=http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do&nav=0&cta=blank&lang=fr'}}
										]
									]
								},

								{
									title: {en: {value: 'About Us', url: '/gm/english/about'}, fr: {value: '&Agrave; notre sujet', url: '/gm/french/about'}},
									rows:
									[
										[
											{en: {value: 'Our Company', url: '/inm/gmcanada/english/about/index.html'}, fr: {value: 'Aper&ccedil;u de la soci&eacute;t&eacute;', url: '/inm/gmcanada/french/about/index.html'}},
											{en: {value: 'News and Events', url: '/inm/gmcanada/english/about/News/news.html'}, fr: {value: 'Nouvelles et &eacute;v&eacute;nements', url: '/inm/gmcanada/french/about/News/news.html'}},
											{en: {value: 'The Olympic Games', url: '/gm/english/corporate/olympics/overview'}, fr: {value: 'Les Jeux olympiques', url: '/gm/french/corporate/olympics/overview'}},
											{en: {value: 'Career Centre', url: '/gm/english/corporate/about/career'}, fr: {value: 'Centre des carri&egrave;res', url: '/gm/french/corporate/about/career'}},
											{bURL: true, en: {value: 'Contact Us', url: 'https://contactus.gm.ca/english/email_us.aspx'}, fr: {value: 'Renseignements', url: 'https://contactus.gm.ca/french/email_us.aspx'}}
										]
									]
								}
							];
				},

				/**
				* @function		getCSS
				* @usage		Returns the CSS for the Site Map Menu.
				*/
				getCSS: function ()
				{
					return  '#specialWrap {width:990px; margin:0 auto; text-align:left; float:none;position:relative;z-index:9999;}\n\
							#SiteMapMenuContainer {position: absolute; top: -600px; left: 0; width: 100%; display: none; visibility: hidden;}\n\
							#SiteMapMenuContainer * {font-size: 11px; font-family:Arial, Sans-serif;}\n\
							#SiteMapMenuContainer .MenuContentArea {float: left; position: relative; padding-top: 20px; padding-bottom: 10px; width: 100%; background: #fff;}\n\
							#SiteMapMenuContainer .MenuGradientBar {float: left; position: relative; width: 100%; height: 34px; background: url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/top_nav_grey_fade.jpg) repeat-x}\n\
							#SiteMapMenuContainer .MenuColumnTitle {float: left; margin: 0 0 10px 0; _margin-bottom:0; padding: 0px; position: relative; width: 160px; font-weight: bold; text-align: left; text-indent: 10px;}\n\
							#SiteMapMenuContainer .MenuColumnTitle a {font-size: 12px; color: #3b5997; text-decoration: none;}\n\
							#SiteMapMenuContainer .MenuColumnTitle a:hover {text-decoration: underline;}\n\
							#SiteMapMenuContainer .MenuColumn {float: left; position: relative; width: 159px; height: 300px; max-height: 100%; border-left: 1px solid #dedfe9;}\n\
							#SiteMapMenuContainer .MenuColumnSection {margin: 0 0 5px 0; padding: 0px; padding-top:5px; _padding-top:5px; _padding-bottom:0; margin-left: 5px; _margin-bottom: 0px; width: 150px;}\n\
							#SiteMapMenuContainer .MenuColumnSection ul {margin: 0 0; padding: 0 0; list-style: none;}\n\
							#SiteMapMenuContainer .MenuColumnSection ul li {padding: 0 5px; margin:3px 0 3px 0;_margin:0 0; _padding-left: 5px; _padding-right: 5px; width: 139px; line-height: 12px; text-align: left;}\n\
							#SiteMapMenuContainer .MenuColumnSection ul li a {font-size: 11px; font-weight: bold; color: #686868; text-decoration: none;}\n\
							#SiteMapMenuContainer .MenuColumnSection ul li a:hover {text-decoration: underline;}\n\
							#SiteMapMenuContainer .MenuColumnSpacer {border-bottom: 1px solid #dedfe9;}\n\
							#SiteMapMenuContainer .MenuColumnSmall {float: left; position: relative; padding: 0 10px; width: 140px;}\n\
							#SiteMapMenuContainer .MenuColumnURL {margin-top: 10px;}\n\
							#SiteMapMenuContainer .MenuColumnURL a {font-size: 12px; font-weight: bold; color: #3b5997; text-decoration: none;}\n\
							#SiteMapMenuContainer .MenuColumnURL a:hover {text-decoration: underline;}\n\
							#SiteMapMenuContainer #GoogleSearch {float: left; position: relative; width: 100%; height: 55px; background: #ccc;}\n\
							#SiteMapMenuContainer #GoogleSearch .GoogleLogo {float: left; position: relative; margin-left: 20px; margin-top: 10px; _margin-left: 20px;}\n\
							#SiteMapMenuContainer #GoogleSearch .GoogleFormContainer {float: left; position: relative; margin-left: 20px; _margin-left: 20px; margin-top: 15px; height: 35px;}\n\
							#SiteMapMenuContainer #GoogleSearch .GoogleForm {float: left; position: relative;}\n\
							#SiteMapMenuContainer #GoogleSearch .GoogleForm #search {padding: 0 4px; width: 200px; height: 23px; line-height: 23px; font-size: 12px; color: #373737; border: 1px solid #3b5997; background: #fff; outline: none;}\n\
							#SiteMapMenuContainer #GoogleSubmit {float: left; position: relative; margin-left: 20px; _margin-left: 20px; padding: 0 10px; height: 23px; line-height: 23px; font-size: 12px; font-weight: bold; border: 1px solid #dedfe9; background: #3b5997; color: #fff; cursor: pointer;}\n\
							#SiteMapMenuContainer #CloseSiteMap {float: right; position: relative; margin-right: 20px; _margin-right: 20px; margin-top: 10px; padding: 0 10px; height: 25px; line-height: 25px; font-size: 12px; font-weight: bold; color: #3b5997; cursor: pointer;}\n\
							#SiteMapMenuContainer .textInside {color: #3b5997; font-weight:bold}';

				},

				/**
				* @function		getElement
				* @usage		Returns the xhtml elements for the Site Map Menu.
				*/
				getElement: function ()
				{
					var oDiv = document.createElement('div');

						oDiv.id = 'SiteMapMenuContainer';
						oDiv.className = 'MenuContainer';

						oDiv.innerHTML = '<div class="MenuGradientBar">\
										  	<div class="GMLogoBTN"><a href="' + oEnvInfo.mainServer + '"><img style="border: none; outline: none;" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/gm_logo_footer.gif" /></a></div>\n\
											<div class="GMBTN"><a href="' + oEnvInfo.mainServer + (sLanguage == 'fr' ? '/gm/french/home">VISITEZ L\'ACCUEIL GM >' : '/gm/english/home">VISIT GM HOME >') + '</a></div>\n\
										  </div>\
										  <div id="SiteMapContentArea" class="MenuContentArea"></div>\
										  <div id="GoogleSearch">\
										  	<div class="GoogleLogo"><img src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/powered_by_google.gif" /></div>\
											<div class="GoogleFormContainer">\
												<div class="GoogleForm">\
													<form id="gsfull" name="gsfull" action="http://www.gm.ca/gm/site/search.do" method="get">\
														<input type="text" id="search" name="q" />\
														<input id="GoBtn" name="vehicle_collection" type="hidden" value="" />\
														<input value="xml_no_dtd" name="output" type="hidden"/>\
														'+ (sLanguage == 'fr' ? '<input name="client" value="french_pref_search" type="hidden"/><input name="site" type="hidden" value="french_pref_search"/><input name="proxystylesheet" type="hidden" value="french_pref_search"/>' : '<input name="client" value="english_pref_search" type="hidden"/><input name="site" type="hidden" value="english_pref_search"/><input name="proxystylesheet" type="hidden" value="english_pref_search"/>') + '\n\
														<input value="UTF-8" name="oe" type="hidden"/>\
														<input value="0" name="filter" type="hidden"/>\
														<input value="40" name="num" type="hidden"/>\
														<input value="description" name="getfields" type="hidden"/>\
													</form>\
												</div>\
												<div id="GoogleSubmit">' + (sLanguage == 'fr' ? 'Recherche' : 'SEARCH') + '</div>\
											</div>\
											<div id="CloseSiteMap">' + (sLanguage == 'fr' ? 'Fermer X' : 'CLOSE X') + '</div>\
										</div>';

					return oDiv;
				},

				/**
				* @function 	getContainer
				* @usage		Returns the menu container object.
				*/
				getContainer: function ()
				{
					return document.getElementById('SiteMapMenuContainer');
				},

				/**
				* @function		getContentArea
				* @usage		Returns the menu content object.
				*/
				getContentArea: function ()
				{
					return document.getElementById('SiteMapContentArea');
				}
			};


			/**
			* @menu		Nav Menu.
			*/
		var oNavMenu =
			{
				/**
				* @function		getData
				* @usage		Returns the data object for the Site Nav Menu.
				*/
				getData: function ()
				{
					return [
							{
								title: {bURL: true, en: {value: '<div class="TopNavMenuTitleContainerEnglishMyGM"></div>', url: oEnvInfo.appServer + '/app/mygm/Logon.do?lang=en'}, fr: {value: '<div class="TopNavMenuTitleContainerFrenchMyGM"></div>', url: oEnvInfo.appServer + '/app/mygm/Logon.do?lang=fr'}},
								rows:
								[
									[
										{bURL: true, en: {value: 'My Showroom', url: oEnvInfo.appsSecureServer + '/app/mygm/MyShowroom.do?lang=en&cta=myshowroom'}, fr: {value: 'Ma salle d\'exposition', url: oEnvInfo.appsSecureServer + '/app/mygm/MyShowroom.do?lang=fr&cta=myshowroom'}},
										{bURL: true, en: {value: 'My Dealers', url: oEnvInfo.appsSecureServer + '/app/mygm/MyDealers.do?lang=en&cta=mydealers&ComponentName=buycentre'}, fr: {value: 'Mes concessionnaires', url: oEnvInfo.appsSecureServer + '/app/mygm/MyDealers.do?lang=fr&cta=mydealers&ComponentName=buycentre'}},
										{bURL: true, en: {value: 'My Driveway', url: oEnvInfo.appsSecureServer + '/app/mygm/MyDriveway.do?nav=mygm&lang=en'}, fr: {value: 'Mon garage', url: oEnvInfo.appsSecureServer + '/app/mygm/MyDriveway.do?nav=mygm&lang=fr'}},
										{bURL: true, en: {value: 'My Preferences', url: oEnvInfo.appsSecureServer + '/app/mygm/ManageProfile.do?lang=en'}, fr: {value: 'Mes pr&eacute;f&eacute;rences', url: oEnvInfo.appsSecureServer + '/app/mygm/ManageProfile.do?lang=fr'}}
									]
								]
							},

							{
								title: {id: 'nav_lang', bURL: true, en: {value: '<div class="TopNavMenuTitleContainerEnglishLangToggle"></div>', url: 'javascript:switchLangWithSession();'}, fr: {bURL: true, value: '<div class="TopNavMenuTitleContainerFrenchLangToggle"></div>', url: 'javascript:switchLangWithSession();'}}
							}
						];
				},

				/**
				* @function		getCSS
				* @usage		Returns the CSS for the Site Map Menu.
				*/
				getCSS: function ()
				{
					return '#TopNavMenuContainer {float: left; position: relative; repeat-x; z-index: 11000;}\n\
							#TopNavMenuContainer * {font-size: 11px; font-family:Arial, Sans-serif;}\n\
							#TopNavMenuContainer .MenuContentArea {float: left; position: relative;}\n\
							#TopNavMenuContainer .MenuColumn {float: left; position: relative;}\n\
							#TopNavMenuContainer .MenuColumn:hover .MenuColumnSection {display: block; visibility: visible;}\n\
							#TopNavMenuContainer .MenuColumnTitle {float: left; position: relative; height: 34px; line-height: 34px; font-weight: bold; cursor: pointer;}\n\
							#TopNavMenuContainer .MenuColumnTitle a {padding: 0 0; display: block; position: relative; font-size: 10px; font-weight: bold; color: #686868; text-decoration: none;}\n\
							#TopNavMenuContainer .MenuColumnTitle a:hover {text-decoration: underline;}\n\
							#TopNavMenuContainer .MenuColumnTitle a.MenuTitleBorder {border: none;}\n\
							#TopNavMenuContainer .MenuColumnSection {padding: 5px 0; position: absolute; top: 34px; right: 0; background: #EEE; display: none; visibility: hidden;}\n\
							#TopNavMenuContainer .MenuColumnSection ul {margin: 0 0; padding: 0 0; list-style: none;}\n\
							#TopNavMenuContainer .MenuColumnSection ul li {padding: 1px 10px; position: relative;  line-height: 12px; text-align: left; white-space: nowrap;}\n\
							#TopNavMenuContainer .MenuColumnSection ul li a {position: relative; font-size: 11px; color: #686868; text-decoration: none;}\n\
							#TopNavMenuContainer .MenuColumnSection ul li a:hover {text-decoration: underline;}\
							#TopNavMenuContainer .TopNavMenuTitleContainerEnglishLangToggle, #TopNavMenuContainer .TopNavMenuTitleContainerEnglishMyGM, #TopNavMenuContainer .TopNavMenuTitleContainerFrenchLangToggle, #TopNavMenuContainer .TopNavMenuTitleContainerFrenchMyGM {position: relative; width: 90px; height: 34px; overflow: hidden; background: url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/nav_sprite.gif);}\
							#TopNavMenuContainer .TopNavMenuTitleContainerEnglishLangToggle {width: 51px; background-position: -239px 0;}\
							#TopNavMenuContainer a:hover .TopNavMenuTitleContainerEnglishLangToggle {background-position: -239px -34px;}\
							#TopNavMenuContainer .TopNavMenuTitleContainerFrenchLangToggle {width: 45px; background-position: -245px -68px;}\
							#TopNavMenuContainer a:hover .TopNavMenuTitleContainerFrenchLangToggle {background-position: -245px -102px}\
							#TopNavMenuContainer .TopNavMenuTitleContainerEnglishMyGM {width: 52px; background-position: -186px 0;}\
							#TopNavMenuContainer a:hover .TopNavMenuTitleContainerEnglishMyGM {background-position: -186px -34px;}\
							#TopNavMenuContainer .TopNavMenuTitleContainerFrenchMyGM {width: 59px; background-position: -186px -68px;}\
							#TopNavMenuContainer a:hover .TopNavMenuTitleContainerFrenchMyGM {background-position: -186px -102px}';
				},

				/**
				* @function		getElement
				* @usage		Returns the xhtml elements for the Site Map Menu.
				*/
				getElement: function ()
				{
					var oDiv = document.createElement('div');
						oDiv.style.display = 'none';
						oDiv.style.visiblity = 'hidden';

					return oDiv;
				},

				/**
				* @function 	getContainer
				* @usage		Returns the menu container object.
				*/
				getContainer: function ()
				{
					return document.getElementById('TopNavMenuContainer');
				},

				/**
				* @function		getContentArea
				* @usage		Returns the menu content object.
				*/
				getContentArea: function ()
				{
					return document.getElementById('NavMenuContentArea');
				}
			};

			/**
			* @menu		Nav Menu.
			*/
		var oSocialMenu =
			{
				/**
				* @note		currentTab, holds the value of the current tab selection.
				*/
				currentTab: null,

				/**
				* @function 	extendBuild
				* @usage		Updates the columns in the tab sections.
				*/
				extendBuild: function (sTab, oData)
				{
					var oContentArea = oSocialMenu.getContentArea();

						oContentArea.innerHTML = '';

					/**
					* @note		Ensure data integrity before continuing.
					*/
					if (typeof oData == 'object' && oData != null)
					{
						for (var i = 0, l = oData.length; i < l; ++i)
						{
							/**
							* @note		Pass the column's data to the addColumn function to create the column object.
							*/
							oContentArea.appendChild(oGlobalNavBuild.addColumn(oData[i], false, false));
						}
					}

					/**
					* @note		Adjust the background of the tab
					*/
					if (oSocialMenu.currentTab)
					{
						oSocialMenu.currentTab.style.background = 'url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/tab_off.gif)';
					}

					oSocialMenu.currentTab = document.getElementById(sTab);

					if (oSocialMenu.currentTab)
					{
						oSocialMenu.currentTab.style.background = 'url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/tab_on.gif)';
					}
				},

				getGMData: function ()
				{
					return [
							{
								title: {bURL: true, bLink: true, bWindow: true, en: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								bBorder: true,
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'General Motors', url: 'http://www.facebook.com/generalmotors'}, fr: {value: 'General Motors', url: 'http://www.facebook.com/generalmotors'}},
										{bURL: true, bWindow: true, en: {value: 'OnStar', url: 'http://www.facebook.com/onstar'}, fr: {value: 'OnStar', url: 'http://www.facebook.com/onstar'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'GM Canada', url: 'http://twitter.com/gmcanada'}, fr: {value: 'GM Canada', url: 'http://twitter.com/gmcanada'}},
										{bURL: true, bWindow: true, en: {value: 'General Motors', url: 'http://twitter.com/gmblogs'}, fr: {value: 'General Motors', url: 'http://twitter.com/gmblogs'}},
										{bURL: true, bWindow: true, en: {value: 'OnStar', url: 'http://twitter.com/TheReal_OnStar'}, fr: {value: 'OnStar', url: 'http://twitter.com/TheReal_OnStar'}},
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialFlickr" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFlickr" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'GM Blog Photos', url: 'http://www.flickr.com/photos/gmblogs/'}, fr: {value: 'Photos du blogue GM', url: 'http://www.flickr.com/photos/gmblogs/'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'OnStar', url: 'http://www.youtube.com/user/OnStar'}, fr: {value: 'OnStar', url: 'http://www.youtube.com/user/OnStar'}},
										{bURL: true, bWindow: true, en: {value: 'Videos from the GM Blog', url: 'http://www.youtube.com/user/gmblogs'}, fr: {value: 'Vid&eacute;os du blogue GM', url: 'http://www.youtube.com/user/gmblogs'}},
										{bURL: true, bWindow: true, en: {value: 'GM\'s New Technologies Channel', url: 'http://www.youtube.com/user/GMnext'}, fr: {value: 'Canal Nouvelles technologies GM', url: 'http://www.youtube.com/user/GMnext'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, bLink: true, en: {value: 'Conversations', url: '#'}, fr: {value: 'Conversations', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'FastLane Blog', url: 'http://fastlane.gmblogs.com/'}, fr: {value: 'Blogue Voie rapide', url: 'http://fastlane.gmblogs.com/'}},
										{bURL: true, bWindow: true, en: {value: 'The Lab Blog', url: 'http://thelab.gmblogs.com/'}, fr: {value: 'Blogue du lab', url: 'http://thelab.gmblogs.com/'}}
									]
								]
							}
						];
				},

				getChevroletData: function ()
				{
					return [
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								bBorder: true,
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Chevrolet', url: 'http://www.facebook.com/chevrolet'}, fr: {value: 'Chevrolet', url: 'http://www.facebook.com/chevrolet'}},
										{bURL: true, bWindow: true, en: {value: 'Chevrolet Canada', url: 'http://www.facebook.com/chevroletcanada'}, fr: {value: 'Chevrolet Canada', url: 'http://www.facebook.com/chevroletcanada'}},
										{bURL: true, bWindow: true, en: {value: 'Camaro', url: 'http://www.facebook.com/login.php#/chevycamaro'}, fr: {value: 'Camaro', url: 'http://www.facebook.com/login.php#/chevycamaro'}},
										{bURL: true, bWindow: true, en: {value: 'Cruze', url: 'http://www.facebook.com/chevycruze?ref=ts'}, fr: {value: 'Cruze', url: 'http://www.facebook.com/chevycruze?ref=ts'}},
										{bURL: true, bWindow: true, en: {value: 'Volt', url: 'http://www.facebook.com/chevroletvolt'}, fr: {value: 'Volt', url: 'http://www.facebook.com/chevroletvolt'}},
										{bURL: true, bWindow: true, en: {value: 'Chevrolet On Scene ', url: 'http://www.facebook.com/chevroletonscene'}, fr: {value: 'Chevrolet On Scene ', url: 'http://www.facebook.com/chevroletonscene'}},
										{bURL: true, bWindow: true, en: {value: 'Chevrolet Racing', url: 'http://www.facebook.com/group.php?gid=2216942064&ref=search&sid=513597044.2724077825..1'}, fr: {value: 'Course Chevrolet', url: 'http://www.facebook.com/group.php?gid=2216942064&ref=search&sid=513597044.2724077825..1'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Chevrolet', url: 'http://twitter.com/chevrolet'}, fr: {value: 'Chevrolet', url: 'http://twitter.com/chevrolet'}},
										{bURL: true, bWindow: true, en: {value: 'Volt\'s New Technology', url: 'http://twitter.com/chevyvolt'}, fr: {value: 'Nouvelle technologie Volt', url: 'http://twitter.com/chevyvolt'}},

										{bURL: true, bWindow: true, en: {value: 'Chevrolet On Scene ', url: 'http://www.twitter.com/ChevyOnScene'}, fr: {value: 'Chevrolet On Scene ', url: 'http://www.twitter.com/ChevyOnScene'}}
									]
								]
							},
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialFlickr" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFlickr" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Chevrolet On Scene', url: 'http://www.flickr.com/photos/chevroletonscene'}, fr: {value: 'Chevrolet On Scene', url: 'http://www.flickr.com/photos/chevroletonscene/'}},
									]
								]
							},
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Chevrolet', url: 'http://www.youtube.com/chevrolet'}, fr: {value: 'Chevrolet', url: 'http://www.youtube.com/chevrolet'}},
										{bURL: true, bWindow: true, en: {value: 'Chevrolet Canada', url: 'http://www.youtube.com/user/ChevroletCanada'}, fr: {value: 'Chevrolet Canada', url: 'http://www.youtube.com/user/ChevroletCanada'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: 'Conversations', url: '#'}, fr: {value: 'Conversations', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Chevrolet Volt News and Discussions', url: 'http://www.chevroletvoltage.com'}, fr: {value: 'Nouvelles et discussions sur la Volt de Chevrolet', url: 'http://www.chevroletvoltage.com'}},
										{bURL: true, bWindow: true, en: {value: 'Truck Owners Network Forum', url: 'http://www.tonforums.ca'}, fr: {value: 'Forum du R&eacute;seau des mordus de camions', url: 'http://www.tonforums.ca'}},
										{bURL: true, bWindow: true, en: {value: 'Ask An Owner ', url: 'https://www.mychevrolet.ca/home'}, fr: {value: 'Posez une question &#224; un propri&#233;taire', url: 'https://www.machevrolet.ca/home'}}
									]
								]
							}
						];
				},

				getBuickData: function ()
				{

					return [
							{
								title: {bURL: true, bWindow: true, bLink: true, bBorder: true, en: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								 bBorder: true,
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Buick', url: 'http://www.facebook.com/login.php#/buick'}, fr: {value: 'Buick', url: 'http://www.facebook.com/login.php#/buick'}}
									]
								]
							},
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'All New Buick Buzz &amp; Videos', url: 'http://www.youtube.com/user/BuickBuzz'}, fr: {value: 'Buzz et vid&eacute;os sur la toute nouvelle gamme Buick', url: 'http://www.youtube.com/user/BuickBuzz'}}
									]
								]
							},
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Buick', url: 'http://twitter.com/buick'}, fr: {value: 'Buick', url: 'http://twitter.com/buick'}},
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, bLink: true, en: {value: 'Conversations', url: '#'}, fr: {value: 'Conversations', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Ask An Owner ', url: 'https://www.mybuick.ca/'}, fr: {value: 'Posez une question &#224; un propri&#233;taire', url: 'https://www.mabuick.ca/'}}
									]
								]
							}
						];
				},

				getGMCData: function ()
				{
					return [
							{
								title: {bURL: true, bWindow: true, bLink: true, bBorder: true, en: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								bBorder: true,
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'GMC', url: 'http://www.facebook.com/gmc'}, fr: {value: 'GMC', url: 'http://www.facebook.com/gmc'}},
										{bURL: true, bWindow: true, en: {value: 'GMC &amp; The Stampede', url: 'http://www.facebook.com/pages/GMC-The-Calgary-Stampede/75572357419?ref=ts'}, fr: {value: 'GMC et le Stampede', url: 'http://www.facebook.com/pages/GMC-The-Calgary-Stampede/75572357419?ref=ts'}}
									]
								]
							},
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'GMC', url: 'http://twitter.com/thisisgmc'}, fr: {value: 'GMC', url: 'http://twitter.com/thisisgmc'}},
									]
								]
							},
							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'GMC', url: 'http://youtube.com/gmc'}, fr: {value: 'GMC', url: 'http://youtube.com/gmc'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: 'Conversations', url: '#'}, fr: {value: 'Conversations', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Truck Owners Network Forum', url: 'http://www.tonforums.ca'}, fr: {value: 'Forum du R&eacute;seau des mordus de camions', url: 'http://www.tonforums.ca'}},
										{bURL: true, bWindow: true, en: {value: 'Ask An Owner ', url: 'https://www.mygmc.ca/'}, fr: {value: 'Posez une question &#224; un propri&#233;taire', url: 'https://www.mongmc.ca/'}}
									]
								]
							}
						];
				},

				getCadillacData: function ()
				{
					return [
							{
								title: {bURL: true, bWindow: true, bLink: true, bBorder: true, en: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFacebook" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								bBorder: true,
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Cadillac', url: 'http://www.facebook.com/cadillac'}, fr: {value: 'Cadillac', url: 'http://www.facebook.com/cadillac'}},
										{bURL: true, bWindow: true, en: {value: 'Festival Insider', url: 'http://www.facebook.com/festivalinsider'}, fr: {value: 'Festival Insider', url: 'http://www.facebook.com/festivalinsider'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialTwitter" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Cadillac', url: 'http://twitter.com/Cadillac'}, fr: {value: 'Cadillac', url: 'http://twitter.com/Cadillac'}},
										{bURL: true, bWindow: true, en: {value: 'Festival Insider', url: 'http://twitter.com/festivalinsider'}, fr: {value: 'Festival Insider', url: 'http://twitter.com/festivalinsider'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialFlickr" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialFlickr" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Festival Insider', url: 'http://www.flickr.com/tiffinsider'}, fr: {value: 'Festival Insider', url: 'http://www.flickr.com/tiffinsider'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}, fr: {value: '<div class="SocialLogo"><img class="SocialYouTube" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/social_logos.gif" /></div>', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Cadillac', url: 'http://www.youtube.com/cadillac'}, fr: {value: 'Cadillac', url: 'http://www.youtube.com/cadillac'}},
										{bURL: true, bWindow: true, en: {value: 'Festival Insider', url: 'http://www.youtube.com/tiffinsider'}, fr: {value: 'Festival Insider', url: 'http://www.youtube.com/tiffinsider'}}
									]
								]
							},

							{
								title: {bURL: true, bWindow: true, bLink: true, en: {value: 'Conversations', url: '#'}, fr: {value: 'Conversations', url: '#'}},
								rows:
								[
									[
										{bURL: true, bWindow: true, en: {value: 'Festival Insider', url: 'http://www.festivalinsider.ca/blog/'}, fr: {value: 'Festival Insider', url: 'http://www.festivalinsider.ca/blog/'}},
										{bURL: true, bWindow: true, en: {value: 'Ask An Owner ', url: 'https://www.thisismycadillac.ca/'}, fr: {value: 'Posez une question &#224; un propri&#233;taire', url: 'https://www.macadillac.ca/'}}
									]
								]
							}
						];
				},

				/**
				* @function		buildFunctionality
				* @usage		Sets the event handlers and such for the Site Map.
				*/
				buildFunctionality: function ()
				{

					/**
					* @note		Handlers for the images covering the content sections.
					*/
					jQuery('#SocialMenuBTN').hover(function ()
					{
						if (jQuery.browser.msie && jQuery.browser.version == 6.0){
							jQuery('select').css('visibility','hidden');
							if (window.location.href.indexOf('http://compare.autodata.preprod.gm.ca/compare/main.asp') != -1 || window.location.href.indexOf('http://compare.autodata.gm.ca/compare/main.asp') != -1){
								jQuery('#Main').contents().find('select').css('visibility','hidden');
							}
							else if (window.location.href.indexOf('UsedVehicleLocatorCriteria.do') != -1){
								jQuery('#searchByMakeModelTable').css('visibility','hidden');
							}
						}

						document.getElementById('SocialMenuContainer').style.display = 'block';
						document.getElementById('SocialMenuContainer').style.visibility = 'visible';

						document.getElementById('GlobalNav').style.width = '990px';

						if (sLanguage == 'fr')
						{
							document.getElementById('SiteMapBTNImg').style.top = '-68px';
						}
						else
						{
							document.getElementById('SiteMapBTNImg').style.top = '0px';
						}

						document.getElementById('SocialMenuBTNImg').style.top = '-34px';

						jQuery('#SocialMenuContainer').stop().animate({top: '0px'}, {queue: false, duration: 500});
						jQuery('#SiteMapMenuContainer').stop().animate({top: '-650px'}, {queue: false, duration: 500});
					}, function () {}, 3);

					jQuery('#GlobalNav').hover(function () {},
					function ()
					{
						if (jQuery.browser.msie && jQuery.browser.version == 6.0){
							jQuery('select').css('visibility','visible');
							if (window.location.href.indexOf('http://compare.autodata.preprod.gm.ca/compare/main.asp') != -1 || window.location.href.indexOf('http://compare.autodata.gm.ca/compare/main.asp') != -1){
								jQuery('#Main').contents().find('select').css('visibility','visible');
							}
							else if (window.location.href.indexOf('UsedVehicleLocatorCriteria.do') != -1){
								jQuery('#searchByMakeModelTable').css('visibility','visible');
							}
						}


						document.getElementById('SocialMenuBTNImg').style.top = '0px';
						jQuery('#SocialMenuContainer').stop().animate({top: '-650px'}, {queue: false, duration: 500, complete: function () {document.getElementById('GlobalNav').style.width = '300px';
							document.getElementById('SocialMenuContainer').style.display = 'none';
							document.getElementById('SocialMenuContainer').style.visibility = 'hidden';
						}});
					}, 4);

					jQuery('#CloseSocialMenu').click(function () {jQuery('#SocialMenuContainer').stop().animate({top: '-650px'}, {queue: false, duration: 500});});

					jQuery('#GMTab').click(function () {
						oSocialMenu.extendBuild('GMTab', oSocialMenu.getGMData());
					});

					jQuery('#CHEVROLETTab').click(function () {
						oSocialMenu.extendBuild('CHEVROLETTab', oSocialMenu.getChevroletData());
					});
					jQuery('#BUICKTab').click(function () {
						oSocialMenu.extendBuild('BUICKTab', oSocialMenu.getBuickData());
					});
					jQuery('#GMCTab').click(function () {
						oSocialMenu.extendBuild('GMCTab', oSocialMenu.getGMCData());
					});
					jQuery('#CADILLACTab').click(function () {
						oSocialMenu.extendBuild('CADILLACTab', oSocialMenu.getCadillacData());
					});
				},

				/**
				* @function		getData
				* @usage		Returns the data object for the Site Nav Menu.
				*/
				getData: function ()
				{
					var aSection = ['gmc', 'buick', 'cadillac', 'chevrolet'],
						i = aSection.length - 1,
						sURL = window.location.href,
						sTab = 'GM',
						oBTN;

						for (; i >= 0; --i)
						{
							if (sURL.indexOf(aSection[i]) != -1)
							{
								sTab = aSection[i].toUpperCase();
								break;
							}
						}

						oBTN = document.getElementById(sTab + 'Tab');

						if (oBTN)
						{
							oBTN.style.background = 'url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/tab_on.gif)';
						}

						if (oSocialMenu.currentTab)
						{
							oSocialMenu.currentTab.style.background = 'url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/tab_off.gif)';
						}

						oSocialMenu.currentTab = oBTN;

						switch (sTab)
						{
							case 'GMC':
								return oSocialMenu.getGMCData();
							break;

							case 'BUICK':
								return oSocialMenu.getBuickData();
							break;

							case 'CHEVROLET':
								return oSocialMenu.getChevroletData();
							break;

							case 'CADILLAC':
								return oSocialMenu.getCadillacData();
							break;

							default:
								return oSocialMenu.getGMData();
							break;
						}
				},

				/**
				* @function		getCSS
				* @usage		Returns the CSS for the Site Map Menu.
				*/
				getCSS: function ()
				{
					return '#SocialMenuContainer {position: absolute; top: -600px; left: 0; width: 100%; display: none; visibility: hidden;}\n\
							#SocialMenuContainer * {font-size: 11px; font-family:Arial, Sans-serif;}\n\
							#SocialMenuContainer .MenuContentArea {float: left; position: relative; padding: 20px 0; width: 100%; height: 240px; background: #fff;}\n\
							#SocialMenuContainer .MenuGradientBar {float: left; position: relative; width: 100%; height: 34px; background: url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/top_nav_grey_fade.jpg) repeat-x}\n\
							#SocialMenuContainer .MenuColumnTitle {float: left; padding-bottom: 10px; padding-left: 15px; position: relative; width: 182px; height: 30px; line-height: 30px; font-weight: bold; text-align: left;}\n\
							#SocialMenuContainer .MenuColumnTitle img {outline: none; border: none;}\n\
							#SocialMenuContainer .MenuColumnTitle, #SocialMenuContainer .MenuColumnTitle a {font-size: 12px; color: #3b5997; text-decoration: none;}\n\
							#SocialMenuContainer .MenuColumnTitle, #SocialMenuContainer .MenuColumnTitle a {text-decoration: none;}\n\
							#SocialMenuContainer .MenuColumn .SocialLogo {float: left; position: relative; width: 141px; height: 30px; overflow: hidden;}\n\
							#SocialMenuContainer .MenuColumn .SocialLogo .SocialFacbook {position: absolute; left: 0; top: 0;}\n\
							#SocialMenuContainer .MenuColumn .SocialLogo .SocialTwitter {position: absolute; left: 0; top: -30px;}\n\
							#SocialMenuContainer .MenuColumn .SocialLogo .SocialFlickr {position: absolute; left: 0; top: -60px;}\n\
							#SocialMenuContainer .MenuColumn .SocialLogo .SocialYouTube {position: absolute; left: 0; top: -90px;}\n\
							#SocialMenuContainer .MenuColumn {float: left; position: relative; width: 197px; height: 240px; max-height: 100%; border-left: 1px solid #dedfe9;}\n\
							#SocialMenuContainer .MenuColumnSection {margin-top: 10px; padding-bottom: 10px; width: 197px;}\n\
							#SocialMenuContainer .MenuColumnSection ul {margin: 0 0; padding: 0 0; list-style: none;}\n\
							#SocialMenuContainer .MenuColumnSection ul li {margin-left: 0}\n\
							#SocialMenuContainer .MenuColumnSection ul li {padding: 0 5px; padding-left: 15px; width: 175px; line-height: 12px; text-align: left;}\n\
							#SocialMenuContainer .MenuColumnSection ul li a {font-size: 11px; font-weight: bold; color: #686868; text-decoration: none;}\n\
							#SocialMenuContainer .MenuColumnSection ul li a:hover {text-decoration: underline;}\n\
							#SocialMenuContainer .MenuColumnSpacer {border-bottom: 1px solid #dedfe9;}\n\
							#SocialMenuContainer .MenuTabsContainer {float: left; position: relative; width: 100%; padding-top: 20px; background: #eee;}\n\
							#SocialMenuContainer .MenuTabsContainer .MenuTabBTN {float: left; margin: 0 2px; position: relative; width: 160px; height: 30px; line-height: 30px; font-size: 14px; font-weight: bold; background: url(' + oEnvInfo.imgServer + '/images/gmcl_navigation/tab_off.gif); cursor: pointer; text-align: center; color: #686868;}\n\
							#SocialMenuContainer .BottomBar {float: left; position: relative; width: 100%; height: 55px; background: #ccc;}\n\
							#SocialMenuContainer #CloseSocialMenu {float: right; position: relative; margin-right: 20px; _margin-right: 20px; margin-top: 10px; padding: 0 10px; height: 25px; line-height: 25px; font-size: 12px; font-weight: bold; color: #3b5997; cursor: pointer;}\
							#SocialMenuContainer .Disclaimer {float: left; position: relative; width: 100%; height: 20px; z-index: 9999; margin-bottom:-10px; padding-top:8px;text-indent:10px; line-height: 20px; font-size: 12px; font-style:italic; color: #555; text-align: left; background: #fff;}';
				},

				/**
				* @function		getElement
				* @usage		Returns the xhtml elements for the Site Map Menu.
				*/
				getElement: function ()
				{
					var oDiv = document.createElement('div');
						oDiv.id = 'SocialMenuContainer';
						oDiv.className = 'SocialMenuContainer';

						oDiv.innerHTML = '<div class="MenuGradientBar">\
										  	<div class="GMLogoBTN"><a href="' + oEnvInfo.mainServer + '"><img style="border: none; outline: none;" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/gm_logo_footer.gif" /></a></div>\n\
											<div class="GMBTN"><a href="' + oEnvInfo.mainServer + '">' + (sLanguage == 'fr' ? 'VISITEZ L\'ACCUEIL GM >' : 'VISIT GM HOME >') + '</a></div>\n\
										  </div>\
										  <div class="MenuTabsContainer">\
										  	<div id="GMTab" class="MenuTabBTN">GM</div>\
											<div id="CHEVROLETTab" class="MenuTabBTN">CHEVROLET</div>\
											<div id="BUICKTab" class="MenuTabBTN">BUICK</div>\
											<div id="GMCTab" class="MenuTabBTN">GMC</div>\
											<div id="CADILLACTab" class="MenuTabBTN">CADILLAC</div>\
										  </div>\
										  ' + (sLanguage == 'fr' ? '<div class="Disclaimer">Ces sites ne sont disponibles qu\'en anglais.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>' : '') + '\
										  <div id="SocialMenuContentArea" class="MenuContentArea">\
										  </div>\
										  <div class="BottomBar">\
										  	<div id="CloseSocialMenu">' + (sLanguage == 'fr' ? 'Fermer X' : 'CLOSE X') + '</div>\
										</div>';

					return oDiv;
				},

				/**
				* @function 	getContainer
				* @usage		Returns the menu container object.
				*/
				getContainer: function ()
				{
					return document.getElementById('SocialMenuContainer');
				},

				/**
				* @function		getContentArea
				* @usage		Returns the menu content object.
				*/
				getContentArea: function ()
				{
					return document.getElementById('SocialMenuContentArea');
				}
			};

			/**
			* @note		Determine the language value for the menus. (document.cookie.match('(gmcanada_lang=french)') && document.cookie.match('(gmcanada_lang=french)').length > 0)
			*/
		var sLanguage = window.location.href.indexOf('/english/') != -1 || window.location.href.indexOf('lang=en') != -1 || window.location.href.indexOf('_code=en') != -1 || window.location.href.indexOf('/en/') != -1;
		var bLangCookie = false;
			if (sLanguage)
			{
				sLanguage = 'en';
				if(document.cookie.match('(gmcanada_lang=english)') && document.cookie.match('(gmcanada_lang=english)').length > 0){
					bLangCookie = true;
				}
			}
			else if (window.location.href.indexOf('/french/') != -1 || window.location.href.indexOf('lang=fr') != -1 || window.location.href.indexOf('_code=fr') != -1 || window.location.href.indexOf('/fr/') != -1)
			{
				sLanguage = 'fr';
				if(document.cookie.match('(gmcanada_lang=french)') && document.cookie.match('(gmcanada_lang=french)').length > 0){
					bLangCookie = true;
				}
			}
			else if (document.cookie.match('(gmcanada_lang=french)') && document.cookie.match('(gmcanada_lang=french)').length > 0)
			{
				sLanguage = 'fr';
			}
			else
			{
				sLanguage = 'en';
			}

			if(!bLangCookie){
				var langLongForCookie = "english";
				if(sLanguage == "fr"){
					langLongForCookie = "french";
				}
				setCookie("gmcanada_lang",langLongForCookie, "", "/gm");
			}


			/**
			* @note		Locally global values.
			*/
		var sGlobalNavID = 'GlobalNav',
			oGlobalNavContainer,
			oHead = document.getElementsByTagName('head')[0],

			/**
			* @note		Determines the correct production environment.
			*/
			oEnv =
			{
				/**
				* @function		getInfo
				* @usage		Returns an object containing the environment values.
				*/
				getInfo: function ()
				{
					var sLoc = window.location.href,
							protocal = sLoc.indexOf('https://') != -1 ? 'https://' : 'http://',
							retObj;
					var theDomain = 'http://' + sLoc.split('/')[2];
							/**
							* @note		Possible location, itl, preprod, prodprev, localhost, and www.
							* 			www, is checked first because it is the most critical for performance.
							*/
							if (sLoc.indexOf('www.') != -1)
							{
								retObj =
								{
									mainServer: 'http://www.gm.ca',
									appServer: 'http://apps.gm.ca',
									appsSecureServer: 'http://apps.gm.ca',
									devPath: '',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.gm.ca',
									xmlGlobalNavDomain: protocal + 'www.gm.ca',
									imgServer : protocal + 'www.gm.ca'
								};
							}
							else if (sLoc.indexOf('www-wrn.') != -1)
							{
								retObj =
								{
									mainServer: 'http://www-wrn.gm.ca',
									appServer: 'http://apps.gm.ca',
									appsSecureServer: 'http://apps.gm.ca',
									devPath: '',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.gm.ca',
									xmlGlobalNavDomain: protocal + 'www-wrn.gm.ca',
									imgServer : protocal + 'www-wrn.gm.ca'
								};
							}
							else if (sLoc.indexOf('preprod-pnt.') != -1)
							{
								retObj =
								{
									mainServer: 'http://preprod-pnt.gm.ca',
									appServer: 'http://apps.preprod.gm.ca',
									appsSecureServer: 'http://apps.preprod.gm.ca',
									devPath: 'dev/',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Eitl%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.itl.gm.ca',
									xmlGlobalNavDomain: protocal + 'preprod.gm.ca',
									imgServer : protocal + 'preprod-pnt.gm.ca'
								};
							}
							else if (sLoc.indexOf('dit.tech.') != -1)
							{
								retObj =
								{
									mainServer: 'http://dit.tech.mminteractive.com',
									appServer: 'http://apps.preprod.gm.ca',
									appsSecureServer: 'http://apps.preprod.gm.ca',
									devPath: 'dev/',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Eitl%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.itl.gm.ca',
									xmlGlobalNavDomain: protocal + 'dit.tech.mminteractive.com',
									imgServer : protocal + 'dit.tech.mminteractive.com'
								};
							}								
							else if (sLoc.indexOf('itl.') != -1)
							{
								retObj =
								{
									mainServer: 'http://itl.gm.ca',
									appServer: 'http://apps.itl.gm.ca',
									appsSecureServer: 'https://apps.itl.gm.ca',
									devPath: 'dev/',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Epreprod%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.preprod.gm.ca',
									xmlGlobalNavDomain: protocal + 'itl.gm.ca',
									imgServer : protocal + 'itl.gm.ca'
								};
							}
							else if (sLoc.indexOf('preprod.preview.') != -1)
							{
								retObj =
								{
									mainServer: 'http://preprod.preview.tech.mminteractive.com',
									appServer: 'http://gm.ca',
									devPath: 'dev/',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Epreprod%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.preprod.gm.ca',
									xmlGlobalNavDomain: protocal + 'preprod.preview.tech.mminteractive.com',
									imgServer : protocal + 'preprod.preview.tech.mminteractive.com'
								};
							}
							else if (sLoc.indexOf('preprod.') != -1)
							{
								retObj =
								{
									mainServer: 'http://preprod.gm.ca',
									appServer: 'http://apps.preprod.gm.ca',
									appsSecureServer: 'https://apps.preprod.gm.ca',
									devPath: 'dev/',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Epreprod%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.preprod.gm.ca',
									xmlGlobalNavDomain: protocal + 'preprod.gm.ca',
									imgServer : protocal + 'preprod.gm.ca'
								};
							}
							else if (sLoc.indexOf('prod.preview.') != -1)
							{
								retObj =
								{
									mainServer: 'http://prod.preview.tech.mminteractive.com',
									appServer: 'http://gm.ca',
									devPath: 'dev/',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Epreprod%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.preprod.gm.ca',
									xmlGlobalNavDomain: protocal + 'prod.preview.tech.mminteractive.com',
									imgServer : protocal + 'prod.preview.tech.mminteractive.com'
								};
							}
							else if (sLoc.indexOf('localhost') != -1)
							{
								retObj =
								{
									mainServer: 'http://localhost',
									appServer: 'http://apps.gm.ca',
									appsSecureServer: 'http://apps.preprod.gm.ca',
									devPath: '',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.gm.ca',
									xmlGlobalNavDomain: protocal + 'www.gm.ca',
									imgServer : protocal + 'localhost'
								};
							}
							else
							{
								retObj =
								{
									mainServer: 'http://www.gm.ca',
									appServer: 'http://apps.gm.ca',
									appsSecureServer: 'http://apps.gm.ca',
									devPath: '',
									configDomain: 'http%3A%2F%2Fconfigurator%2Eautodata%2Egm%2Eca',
									PEDomain: 'http://paymentestimator.autodata.gm.ca',
									xmlGlobalNavDomain: protocal + 'www.gm.ca',
									imgServer : protocal + 'www.gm.ca'
								};
							}

							/**
							* @idea		concept
							* @note		We are returning an object literal to avoid many variables being passed around.
							*/
							return retObj;
					}
			},

			oEnvInfo = oEnv.getInfo(),

			/**
			* @note		Constructs the global navigation menu.
			*/
			oGlobalNavBuild =
			{
				/**
				* @note		Used for the IE6 fix for drop down menus.
				*/
				currentSection: null,

				/**
				* @function 	getCSS
				*/
				getCSS: function ()
				{
					return '#GlobalNav {position: absolute; top: 0; right: 0; width: 300px; z-index: 20000;}\n\
							#GlobalNav .GlobalNavMenu {clear: left; float: right; position: relative; height: 34px; z-index: 10000;}\n\
							#GlobalNav #SiteMapBTN {float: left; position: relative; width: 93px; height: 34px; overflow: hidden;}\n\
							#GlobalNav #SiteMapBTN .SiteMapBTNImg {float: left; position: relative; top: 0; left: 0; overflow: hidden; cursor: pointer;}\n\
							#GlobalNav #SocialMenuBTN {float: left; position: relative; width: 93px; height: 34px; overflow: hidden;}\n\
							#GlobalNav #SocialMenuBTN .SocialMenuBTNImg {float: left; position: relative; top: 0; left: -93px;; overflow: hidden; cursor: pointer;}\n\
							#divNavContainer ol,#divNavContainer ul {list-style: none;}\n\
							#divNavContainer {line-height: 1;}\n\
							' + (sLanguage == 'fr' ? '#GlobalNav #SiteMapBTN {width: 80px;}' : '') + '\n\
							#GlobalNav #SiteMapBTN .SiteMapBTNFrench {top: -68px;}\
							#GlobalNav .GMLogoBTN, #GlobalNav .GMBTN {float: left; position: relative; height: 34px; line-height: 34px;}\
							#GlobalNav .GMBTN a {color: #3b5997; font-weight: bold; font-size: 11px; text-decoration: none;}\n\
							#GlobalNav .GMBTN a:hover {text-decoration: underline;}';
				},

				/**
				* @function		getElement
				*/
				getElement: function ()
				{
					var oDiv = document.createElement('div');
						oDiv.className = 'GlobalNavMenu';

						oDiv.innerHTML = '<div id="SiteMapBTN">\
											<img id="SiteMapBTNImg" class="SiteMapBTNImg ' + (sLanguage == 'fr' ? 'SiteMapBTNFrench' : '') + '" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/nav_sprite.gif" />\
										</div>\
										<div id="SocialMenuBTN">\
											<img id="SocialMenuBTNImg" class="SocialMenuBTNImg" src="' + oEnvInfo.imgServer + '/images/gmcl_navigation/nav_sprite.gif" />\
										</div>\
										<div id="TopNavMenuContainer" class="MenuContainer">\
											<div id="NavMenuContentArea" class="MenuContentArea"></div>\
										</div>';

					return oDiv;
				},

				/**
				* @function		isBuildable
				* @usage		Determines whether the global can be built or not.
				*/
				isBuildable: function ()
				{
					oGlobalNavContainer = document.getElementById(sGlobalNavID);

					return typeof oGlobalNavContainer == 'object' && oGlobalNavContainer != null;
				},

				/**
				* @function		buildCSS
				* @note			Sets the CSS for the navigation menu.
				*/
				buildCSS: function (oMenu)
				{
					if (typeof oMenu == 'object')
					{
						var oStyle = document.createElement('style');

							oStyle.type = 'text/css';

							if(oStyle.styleSheet)
							{
								oStyle.styleSheet.cssText = oMenu.getCSS();
							}
							else
							{
								oStyle.appendChild(document.createTextNode(oMenu.getCSS()));
							}

							oHead.appendChild(oStyle);
					}
				},

				/**
				* @function		buildElement
				* @usage		Builds the elements for the menu in the Global Nav container object.
				*/
				buildElement: function (oMenu)
				{
					if (typeof oMenu == 'object')
					{
						oGlobalNavContainer.appendChild(oMenu.getElement());
					}
				},

				/**
				* @function		create
				* @usage		Constructs the menu.
				*/
				create: function (oMenu, bHover)
				{
					/**
					* @note		Construct the menu CSS by calling the buildCSS function.
					*/
					oGlobalNavBuild.buildCSS(oMenu);

					/**
					* @note		Construct the menu element by calling the buildElements function.
					*/
					oGlobalNavBuild.buildElement(oMenu);


					var oContentArea = oMenu.getContentArea(),

						/**
						* @note		data object for the menu.
						*/
						oData = oMenu.getData();

					/**
					* @note		Ensure data integrity before continuing.
					*/
					if (typeof oData == 'object' && oData != null)
					{
						for (var i = 0, l = oData.length - 1; i <= l; ++i)
						{
							/**
							* @note		Pass the column's data to the addColumn function to create the column object.
							*/
							oContentArea.appendChild(oGlobalNavBuild.addColumn(oData[i], bHover, i == l));
						}
					}
				},

				/**
				* @function		addColumn
				*/
				addColumn: function (oColumn, bHover, bBorder)
				{
					var oLanguageBlock,

						/**
						* @note		The column div element.
						*/
						oDiv = document.createElement('div'),

						/**
						* @note		The output string.
						*/
						sOutput = '',

						/**
						* @note		Variables used for menu creation.
						*/
						sValue,
						sURL,

						/**
						* @note		Server info object.
						*/
						oInfo = oEnv.getInfo(),

						/**
						* @note		The column element title or btn name.
						*/
						oTitle = (typeof oColumn.title == 'object' && typeof oColumn.title[sLanguage] == 'object') ? oColumn.title[sLanguage] : oColumn.title['en'],

						/**
						* @note		The rows of the column
						*/
						oRows = oColumn.rows;

						/**
						* @note		Set the Column class
						*/
						oDiv.className = 'MenuColumn';

						if (oColumn.bBorder)
						{
							oDiv.style.border = 'none';
						}

						/**
						* @note		Check if a title exists for the column, and if so craete it.
						*/
						if (typeof oTitle == 'object')
						{
							sOutput += '<div ' + (typeof oColumn.title.id == 'string' ? 'id=' + oColumn.title.id : '') + ' class="MenuColumnTitle">' + (oColumn.title.bLink == true ? oTitle.value : '<a ' + (oColumn.title.bWindow == true ? 'target="_blank"' : '') + ' ' + (bBorder ? 'class="MenuTitleBorder"' : '') + ' ' + (typeof oTitle.url === 'string' ? 'href="' + (oColumn.title.bURL == true ? '' : oInfo.mainServer) + oTitle.url + '"' : '') + '>' + oTitle.value + '</a>') + '</div>';
						}

						/**
						* @note		Create row blocks for each row. At the end, a separator is added if it is not the first and last block.
						*/
						if (typeof oRows == 'object')
						{
							for (var i = 0, l = oRows.length - 1, oBlock, j, k, oRow; i <= l && (oBlock = oRows[i]) && typeof oBlock == 'object'; ++i)
							{
								sOutput += '<div class="MenuColumnSection"><ul>';

								/**
								* @note		Create the url;
								*/
								for (j = 0, k = oBlock.length; j < k && (oRow = oBlock[j]) && typeof oRow == 'object'; ++j)
								{

									/**
									* @note		Capture the language object.
									*/
									sValue = oRow[sLanguage];

									/**
									* @note		Default to english if the French value does not exist and is set by the URL.
									*/
									if (typeof sValue == 'object' && typeof sValue.value == 'string' && typeof sValue.url == 'string')
									{
										sURL = sValue.url;
										sValue = sValue.value;
									}
									else if (typeof oRow['en'] == 'object' && typeof oRow['en'].value == 'string' && typeof oRow['en'].url == 'string')
									{
										sValue = oRow['en'].value;
										sURL = oRow['en'].url;
									}
									else
									{
										sValue = '';

										/**
										* @note		Current page (".").
										*/
										sURL = '.';
									}

									sOutput += '<li>' + (oRow.bLink == true ? sValue : '<a ' + (oRow.bWindow == true ? 'target="_blank"' : '') + ' href="' + (oRow.bURL == true ? '' : oInfo.mainServer) + sURL +'">' + sValue  + '</a>') + '</li>';
								}

								sOutput += '</ul></div>' + (i != l ? '<div style="float: left; margin-left: 10px; _margin-left: 5px; position: relative; width: 40px; height: 1px; display: block; border-top: 1px solid #dedfe9;"></div>' : '');
							}
						}

						/**
						* @note		Cycle through the data object and add the content to the ContentArea element.
						*/

						oDiv.innerHTML = sOutput;

						/**
						* @note		Accomodate IE6 fixes
						*/
						if (jQuery.browser.msie && jQuery.browser.version == 6.0)
						{
							if(bHover)
							{
								jQuery(oDiv).hover(oGlobalNavBuild.IE6HoverOverFix, oGlobalNavBuild.IE6HoverOffFix);
							}
						}

						return oDiv;
				},

				/**
				* @function		IE6HoverOverFix
				*/
				IE6HoverOverFix: function (event)
				{
					/**
					* @note		The MenuColumnTitle is the target that should be returned from the hover affect by JQuery.
					*/
					var oTitle = event.target, oSection = oTitle.nextSibling;

						if (oTitle.className != 'MenuColumnTitle' && oTitle.className == 'MenuColumn' && oTitle.firstChild)
						{
							oSection = oTitle.firstChild.nextSibling;
						}

						if (oSection)
						{
							oSection =  oSection.style;

							oSection.display = 'block';
							oSection.visibility = 'visible';

							/**
							* @note		Set the currentSection property so the IE6HoverOffFix function can hide the element that was just displayed.
							*/
							oGlobalNavBuild.currentSection = oSection;
						}
				},

				/**
				* @function		IE6HoverOffFix
				*/
				IE6HoverOffFix: function ()
				{
					if (oGlobalNavBuild.currentSection)
					{
						oGlobalNavBuild.currentSection.display = 'none';
						oGlobalNavBuild.currentSection.visibility = 'hidden';
						oGlobalNavBuild.currentSection = null;
					}
				}
			};


			/**
			* @note		An interval is run to check for the GlobalNav element. If one exists, then it sets the menu and clears the interval.
			*			This is done to avoid using the onload window and dom functions.
			*/
			var iInt = 0, fInt = setInterval(function ()
			{
				/**
				* @note		If the menu has been searched for many times in this case 100, stop the interval.
				*/
				if (iInt == 100)
				{
					clearInterval(fInt);
				}

				/**
				* @note		Constructs the menu.
				*/
				if (oGlobalNavBuild.isBuildable())
				{
					/**
					* @note		Build the CSS for the global nav.
					*/
					oGlobalNavBuild.buildCSS(oGlobalNavBuild);

					/**
					* @note		Build the Element for the global nav.
					*/
					oGlobalNavBuild.buildElement(oGlobalNavBuild);

					/**
					* @note		Call the create function to make the menu.
					*/
					oGlobalNavBuild.create(oSiteMapNavMenu);

					/**
					* @note		Call the create function to make the nav menu.
					*/
					oGlobalNavBuild.create(oNavMenu, true);

					/**
					* @note		Build menu extra functionality.
					*/
					oSiteMapNavMenu.buildFunctionality();

					/**
					* @note		Call the create function to make the social menu.
					*/
					oGlobalNavBuild.create(oSocialMenu);

					/**
					* @note		Build menu extra functionality.
					*/
					oSocialMenu.buildFunctionality();


					/**
					* @note		Hover over Global Nav to set width that avoids covering anyting while not active.
					*/
					jQuery('#GlobalNav').hover(function () {
						document.getElementById('GlobalNav').style.width = '990px';
					},
					function ()
					{
					}, 2);

					clearInterval(fInt);

				}

				++iInt;

			}, 100);
	}) ();

	/*
		------------------------------------------- CURRENT OFFERS ----------------------------------------------------------------------
	*/

	function openCurrentOffers(Query, ADV, ChangeInput){

		var w=300, h=434, bw, bh, bl, bt, topPos, leftPos;

		// CENTER POPUP
		if (document.all)
		{
		bw = screen.width;  bh = screen.height;  bl = 0;  bt = 0;
		}
		else
		{
		bw = window.outerWidth;  bh = window.outerHeight;  bl = window.screenX;  bt = window.screenY;
		}

		leftPos = Math.floor((bw-w)/2) + bl;
		topPos = Math.floor((bh-h)/2) + bt;


		// GET COOKIE FUNCTION  ---------------------------------------------------------------------------------------------------------
			var getCookie = true;
			var dc = document.cookie;
			var prefix = "pc=";
			var begin = dc.indexOf("; " + prefix);
			if (begin == -1) {
				begin = dc.indexOf(prefix);
				if (begin != 0) getCookie = false;
			}else begin += 2;

			if(getCookie){
				var end = document.cookie.indexOf(";", begin);
				if (end == -1) end = dc.length;
				var postal = unescape(dc.substring(begin + prefix.length, end));
			}else{
				var postal = "";
			}

			// GET LANGUAGE
			var getCookieL = true;
			var prefix = "gmcanada_lang=";
			var beginL = dc.indexOf("; " + prefix);

			if (beginL == -1) {
				beginL = dc.indexOf(prefix);
				if (beginL != 0) getCookieL = false;
			}else beginL += 2;

			if(getCookieL){
				var endL = document.cookie.indexOf(";", beginL);
				if (endL == -1) endL = dc.length;
				var CookieLang = unescape(dc.substring(beginL + prefix.length, endL));
			}else{
				var CookieLang = false;
			}

		// -------------------------------------------------------------------------------------------------------------------------------

		if(!CookieLang)
			var language  	= (Query.indexOf("/french/") != -1) ? "french" : "english";
		else
			language = CookieLang;

		var division = "all/";																					// Division detection
		division  = (Query.indexOf("/chevrolet/") != -1) ? "chevrolet/" : division;
		division  = (Query.indexOf("/buick/") != -1) ? "buick/" : division;
		division  = (Query.indexOf("/gmc/") != -1) ? "gmc/" : division;
		division  = (Query.indexOf("/cadillac/") != -1) ? "cadillac/" : division;

		var redirectionFromApps = "";
		var ADVURL1 = (ADV) ? "&adv=" + ADV : "";
		var ADVURL2 = (ADV) ? "?adv=" + ADV : "";

		var sLoc = window.location.href;
		var serverURL = 'http://' + sLoc.split('/')[2];		

		if (sLoc.indexOf('apps.') != -1 || sLoc.indexOf('autodata.') != -1 || sLoc.indexOf('contactus.') != -1){
				redirectionFromApps = "apps";
				serverURL = 'http://www.gm.ca';
		}
		if(division != "" && division != "all/" && postal != "" && !ChangeInput){	// Make redirection when we have brand + postal + we don`t wan`t to change brand / postal
			document.location = serverURL + "/gm/" + language + "/vehicles/" + division + "all/current-offers?postalCode=" + postal + ADVURL1;
		}else{
			var popWindow = window.open (serverURL + "/gm/" + language + "/vehicles/" + division + "all/current-offers/selection/" + redirectionFromApps + ADVURL2,"CurrentOffers","toolbar=0, status=0, width=" + w + "px, height=" + h + "px, top=" + topPos + "px, left=" + leftPos + "px");
			popWindow.focus();
		}

	}
	
/////////////////////////////////////////////////////////////////////////////////////////////
// Multi-cultural Footer Button which appears on specific pages (e.g. Chev Div, Buick Div, and various model pages)
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
}

// onLoad check for multicultural cookie, if null value show, otherwise hide/show appropriately
jQuery(document).ready(function(){
	if (!getCookie("gmcanada_multicultural") || getCookie("gmcanada_multicultural") == "show") {
		showMultiCulturalButtton();
	} else if (getCookie("gmcanada_multicultural") == "hide") {
		hideMultiCulturalButtton();
	}
})
// Hide & set cookie for next time
function hideMultiCulturalButtton(){
	if ( document.getElementById("multiculturalFooter") ) {
		document.getElementById("multiculturalFooter").style.display = "none";
		setCookie("gmcanada_multicultural","hide", "", "/gm");
	}
}
// Show & set cookie for next time
function showMultiCulturalButtton(){
	if ( document.getElementById("multiculturalFooter") ) {
		document.getElementById("multiculturalFooter").style.display = "block";
		setCookie("gmcanada_multicultural","show", "", "/gm");
	}
}
/////////////////////////////////////

