﻿var localSwitch = true;
//var localSwitch= false;

var browser = new BrowserDetect(); 
var _http = document.location.protocol;

//If Google Chrome : don't serve
try { if (browser.isChrome) { localSwitch = false; } } catch (Err) { }

/*****************************************************************************/
//var gJSFile = "javascript/Layer_XXX.js";
var url = location.href.toLowerCase();
var _ext = 'corporate';
var _lang = 'en';
var _rate = 0;

/*
1.	Corporate
http://www.gm.ca/gm/english/owner_centre/corporate/home/overview
http://www.gm.ca/gm/french/owner_centre/corporate/home/overview
2.	Chevrolet 
http://www.gm.ca/gm/english/motion/chevrolet/home/overview
http://www.gm.ca/gm/french/motion/chevrolet/home/overview
3.	Buik
http://www.gm.ca/gm/english/motion/buick/home/overview
http://www.gm.ca/gm/french/motion/chevrolet/home/overview
4.	GMC
http://www.gm.ca/gm/english/motion/gmc/home/overview
http://www.gm.ca/gm/french/motion/chevrolet/home/overview
5.	Cadillac 
http://www.gm.ca/gm/english/motion/cadillac/home/overview
http://www.gm.ca/gm/french/motion/chevrolet/home/overview
*/

if (url.indexOf('french') != -1) { _lang = 'fr'; }
else { _lang = 'en'; }


//July 5, 2010: 50%
if (url.indexOf('corporate') != -1) {
    _ext = 'corporate'; _rate = 75;
} else if (url.indexOf('chevrolet') != -1) {
    _ext = 'chevrolet'; _rate = 75; //no invitation for Ireland
} else if (url.indexOf('buick') != -1) {
    _ext = 'buick'; _rate = 75;
} else if (url.indexOf('gmc') != -1) {
    _ext = 'gmc'; _rate = 75;
} else if (url.indexOf('cadillac') != -1) {
    _ext = 'cadillac'; _rate = 75;
} else {
    _ext = 'corporate'; _rate = 0;
}

var gJSFile = _http + "//ipinvite.iperceptions.com/Invitations/Javascripts/Layer_812_" + _ext + "_" + _lang + ".js";

/*****************************************************************************/
//added for GlobalCookie
var IPCrossDomain = false;
//added for GlobalCookie : inject aspx cookie page
var content = _http + "//ipinvite.iperceptions.com/Invitations/Javascripts/ip_Layer_GlobalCookie_812.aspx";
/*****************************************************************************/

function BrowserDetect() {
   ua = navigator.userAgent.toLowerCase(); this._string = navigator.userAgent.toLowerCase();
   this.isOpera= (ua.indexOf('opera') != -1);  this.isGecko= (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
   this.isIE= (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) ); 
   this.isMozilla= (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   this.isFirefox = (ua.indexOf('firefox') != -1);
   this.isChrome = (ua.indexOf('chrome') != -1);
}

function lScript(file) {
	var script = document.createElement('script');
	script.type = 'text/javascript'; script.src = file;	
	if (typeof(script.onreadystatechange) == 'undefined') 
	    script.onload = function() { this.onload = null; }; 
	else  
	    script.onreadystatechange = function() { if (this.readyState != 'loaded' && this.readyState != 'complete') return; this.onreadystatechange = null;  }; 
	
	document.getElementsByTagName('head')[0].appendChild(script);
}

function CC(name,value,days) {
	if (days) { var expDate = new Date(); expDate.setTime(expDate.getTime()+(days*24*60*60*1000)); var expires = "; expires="+expDate.toUTCString(); }	
	else var expires = ""; document.cookie = name+"="+value+expires+"; path=/";
}

function RC(NameOfCookie) {
    if (document.cookie.length > 0) {
        begin = document.cookie.indexOf(NameOfCookie+"=");
        if (begin != -1) {
            begin += NameOfCookie.length+1; end = document.cookie.indexOf(";", begin);          
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(begin, end)); 
        }
    }
    return null;
}
	
function EC(name) { CC(name,"",-1); }

//added for GlobalCookie : If global cookie not set, run server side script to set the cookie
if (IPCrossDomain == false) { lScript(content); }

function Exec() {
    if (IPCrossDomain == false) {
        var sCName = "IPERCEPTIONS_812"; var sCVal = "iPe_812_User";
        var sCN = "IPE_S_812"; var sCV = "IPE_812_Session"; var sCVR; sCVR = RC(sCN);
        var sCValRet; var tCVName = "IPERCEPTIONS_TEST"; var tCVVal = "iPe_Test"; var tCVValRet;
        CC(tCVName, tCVVal, 1);
        tCVValRet = RC(tCVName);
        sCValRet = RC(sCName);
        EC(tCVName);
        var rndNum = Math.floor((Math.random() * 100));

        if (rndNum < _rate && tCVValRet !== null && sCVR === null && sCValRet === null) {
            CC(sCName, sCVal, 90); lScript(gJSFile);
        }

        if (sCVR == null) { CC(sCN, sCV); }
    }
}



if (localSwitch) {
	var GJS = _http + "//ipinvite.iperceptions.com/Invitations/Javascripts/Layer_Global_aicollect.js"; lScript(GJS);
}	
	



