var rootdomain="http://"+window.location.hostname
function ajaxinclude(url) {
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false) //get page synchronously 
page_request.send(null)
writecontent(page_request)
}

function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}

function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


var randomValue = "";
var globalDomain = "reunion.com";
var globalCookiePrefix = "ABTest";
//var globalTestNumber = 'T006';
var globalTests = new Array(
	new Array('MKT1'),
	new Array('MKT2'),
	new Array('MKT3'),
	new Array('MKT4'),
	new Array('SMX1'),
	new Array('INX1'),
	new Array('INX2'));


/* Retrieves the channel from the full AB Test Id: MKT1, MKT2, etc..
   Example: var version = getABTestNumber('MKT1:T001:B')
   Returns: 'MKT1'
*/
function getChannelFromId(testId) {
	var testChannel = null;
	var a = testId.split(':');
	if (a != null && a.length > 0) {
		testChannel = a[0];
	}
	return testChannel;
}

/* Retrieves the test number from the full AB Test Id: 'T001' - 'T999' 
   Example: var version = getTestFromId('MKT1:T001:B')
   Returns: 'T001'
*/
function getTestFromId(testId) {
	var testNumber = null;
	var a = testId.split(':');
	if (a != null && a.length > 1) {
		testNumber = a[1];
	}
	
	return testNumber;
}

/* Retrieves the test version from the full AB Test Id: 'A', 'Am', 'B' 
   Example: var version = getABTestVersion('MKT1:T001:B')
   Returns: 'B' [FUNCTION FINE]
*/
function getVersionFromId(testId) {
	var testVersion = null;
	var a = testId.split(':');
	if (a != null && a.length > 2) {
		testVersion = a[2];
	}
	return testVersion;
}



function getABTestVersion(testID) {
	var testVersion = null;
	var a = testID.split(':');
	if (a != null && a.length > 1) {
		testVersion = a[1];
	}
	return testVersion;
}


function getABTestID() {
	var testID = readABTestCookie_old(); /////
	if (testID != null) {
		var testNumber = getABTestNumber(testID);
		if (testNumber != globalTestNumber) {
			testID = getNewRandomTestID();
			writeABTestCookie(testID);
		}
	} 
	
	
	else {
		testID = getNewRandomTestID();
		writeABTestCookie(testID);
	}
	return testID;
}



/* Retrieves the test number from the full AB Test ID: 'T001' - 'T999' 
   Example: var version = getABTestNumber('T001:B')
   Returns: 'T001'
*/
function getABTestNumber(testID) {
	var testNumber = null;
	var a = testID.split(':');
	if (a != null && a.length > 0) {
		testNumber = a[1];
	}
	return testNumber;
}



/* Sets the Omniture AB test variables and optional success event. It is assumed the 
   s.pageName variable has been set. 
   This function should be called after the inclusion of the base Omniture script
   and before the firing of the s object pixel
*/
function setABTestVariables(s, event) {
	var testID = getABTestID();
	s.eVar8  = testID;
	s.prop9  = testID;
	s.prop10  = testID + " - " + s.pageName;
	s.events = event; // change
}


/* now located in asp file
function getNewRandomTestID()
	{
	var randomnumber = Math.floor(Math.random()*10);
	var testVersion = 'A';
	if (randomnumber < 0) testVersion = 'B';
	return 'MKT2:' + globalTestNumber + ':' + testVersion;
	}*/

/* Writes the AB Test ID to the cookie */
function writeABTestCookie (value) {
	var today = new Date();
	today.setTime( today.getTime() );
	//alert(value);
	// set cookie to never expire from today
   	var expires = 999999 * 1000 * 60 * 60 * 24;
    var expires_date = new Date( today.getTime() + (expires) );
    
    // write blank path so cookie can be shared across similar sub domains
    document.cookie = globalCookiePrefix + "=" + value  +
        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
        ";path=" + 
        ( ( globalDomain ) ? ";domain=" + globalDomain : "" );
	//Lets set the variables and such
}


/* Pulls all AB Test Ids from all cookies by channel and sets the traffic variables in Omniture */
function setABTrafficVariables(s) {
		var channel = "MKT2";
		var testId = getTestIdFromChannel(channel);
		if (testId) {
				s.prop9  = testId;
				s.prop10  = testId + " - " + s.pageName; // change
		}
}


/* Reads the AB Test Id ('MKT1:T001:B') from the cookie using the channel name */
function readABTestCookie(channel) {
	var name = globalCookiePrefix + "-" + channel;
	var cookie = document.cookie.split(';');
	for(var i=0;i < cookie.length;i++) {
		var cookieValue = cookie[i];
		if (cookieValue.indexOf(channel) > 0) {
			var value = cookieValue.split('=');
			var id = null;
			if (value != null && value.length > 1) {
				id = value[1];
			}
			return id;		 
		}
	}
	return null;
}


function readABTestCookie_old() {
	var nameEQ = "ABTest=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') {
			c = c.substring(1,c.length);
		}
		if (c.indexOf(nameEQ) == 0) {
			return c.substring(nameEQ.length,c.length);
		}
	}
	return null;
}



/* Used by all pages accessing the AB Test Id. If the user test Id is null or not equal to the current
   test in progress, create a new test Id, otherwise pass back cookied Id
*/
function getTestIdFromChannel(channel) {
	var testId = readABTestCookie(channel);
	
	if (testId)
	{
		if (globalTestNumber != getABTestNumber(testId))
		{
		testId= getNewRandomTestID();
		writeABTestCookie(testId);
		} 
		return testId;	
	}
	else 
	{
		testId = getNewRandomTestID();
		writeABTestCookie(testId);
		return testId;
	}
	
	alert ("error condition");


}



/* Called on AB test page to segment users and associated conversion variables */
function setABEventVariables(s, channel, event) {
	if (channel) {
		var testId = getTestIdFromChannel(channel);
		if (channel == 'MKT1') {
			s.events = event;
			s.eVar2 = testId;
		} else if (channel == 'MKT2') {
			s.events = event;
			s.eVar8 = testId;
		} else if (channel == 'SMX1') {
			s.events = event;
			s.eVar9 = testId;
		} else if (channel == 'INX1') {
			s.events = event;
			s.eVar11 = testId;
		} else if (channel == 'INX2') {
			s.events = event;
			s.eVar12 = testId;
		} 
	}
	
}