var domain="http://www.chinesean.com/";
var affiliate="affiliate/";
var script=affiliate+"Scripts/";
var randomNumberSize=89998;
var isFlashReady = false;
var retryCount = 0;
var retryLimit = 5;
var requestLink = "bannerClick1.do";
var trackingLink = "trackingA.do";
var trackingWithCurrLink = "trackingB.do";
var flashCookieDivId = "chinesean_cookie";
document.write('<script type="text/javascript" src="' + domain + script + 'swfobject2.js"></script>');

function setFlashReady() {
	isFlashReady = true;
}

function getBannerClickUrl() {
	return domain + affiliate + requestLink;
}

function embededFlashCookie() {
	document.write('<div id="' + flashCookieDivId + '" name = "chinesean" align="left"></div>');
	var flashvars = {};
	var params = {};
	var attributes = {wmode:"transparent"};
	swfobject2.embedSWF("chinesean.swf", flashCookieDivId, "1", "1", "8.0.0", false, flashvars, params, attributes);
}

function setLSOValue(key,val,cookieExpirationTime) {
	var a = swfobject2.getObjectById(flashCookieDivId);	
	if (a && isFlashReady) {
		if(computerId_regexp.test(key)||cookieBehaviouralTargetingRecordSize_regexp.test(key)||cookieBehaviouralTargetingRecord_regexp.test(key))
			a.setVal(key,val,9999999999999); 
		else
			a.setVal(key,val,cookieExpirationTime); 
	} else {
		retryCount++;
		checkSet(key,val);
	}
}

var computerId_regexp = new RegExp("^can_computerId");
var programId_regexp = new RegExp("^can_Program_");
var websiteId_regexp = new RegExp("^can_Website_");
var creativeId_regexp = new RegExp("^can_Creative_");
var crazyAdId_regexp = new RegExp("^can_CrazyAd_");
var referredLink_regexp = new RegExp("^can_ReferredLink_");
var cookieCreateDate_regexp = new RegExp("^can_CookieCreateDate_");
var cookeieTargetUrl_regexp = new RegExp("^can_CookieTargetURL_");
var memberId_regexp = new RegExp("^can_Member_");

var cookieBehaviouralTargetingRecordSize_regexp = new RegExp("^can_bs");
var cookieBehaviouralTargetingRecord_regexp = new RegExp("^can_rd");

var computerId;
var programId;
var websiteId;
var creativeId;
var crazyAdId;
var referredLink;
var cookieCreateDate;
var cookieTargetUrl;
var memberId;

function getLSOValue(key, val) {
	if (computerId_regexp.test(key)) {
		eval('computerId=val');
	} else if (programId_regexp.test(key)) {
		eval('programId=val');
	} else if (websiteId_regexp.test(key)) {
		eval('websiteId=val');
	} else if (creativeId_regexp.test(key)) {
		eval('creativeId=val');
	} else if (crazyAdId_regexp.test(key)) {
		eval('crazyAdId=val');
	} else if (referredLink_regexp.test(key)) {
		eval('referredLink=val');
	} else if (cookieCreateDate_regexp.test(key)) {
		eval('cookieCreateDate=val');
	} else if (cookeieTargetUrl_regexp.test(key)) {
		eval('cookieTargetUrl=val');
	} else if (memberId_regexp.test(key)) {
		eval('memberId=val');
	} 
}

function loadValue(key) {
	var a = swfobject2.getObjectById(flashCookieDivId);
	if (a && isFlashReady) {
		a.getVal(key); 
	} else {
		retryCount++;
		checkGet(key);
	}
}
	
function checkSet(key,val) {
	setTimeout("setLSOValue('"+key+"','"+val+"')",200);
}

function checkGet(key) {
	setTimeout("loadValue('"+key+"')",200);
}

function redirect(url) {
	window.location = url;
}

function genComputerId(wId, pId) {
	var currentDateTime = new Date();
	var today = new Date();
	var dd = currentDateTime.getDate();
	var mm = currentDateTime.getMonth()+1;
	var yyyy = currentDateTime.getFullYear();
	if (dd < 10) {
		dd = '0' + dd;
	}
	if (mm < 10) { 
		mm = '0' + mm;
	}
	var randomNumber = Math.floor(Math.random()*randomNumberSize)+10000;
	
	return yyyy + mm + dd + "-" + wId + "-" + pId + "-" + randomNumber;
}

function getCookie(cookieName) {
	var results = document.cookie.match ( '(^|;) ?' + cookieName + '=([^;]*)(;|$)' );

	if ( results ) {
		return ( unescape ( results[2] ) );
	} else {
		return null;
	}
}

function setCookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ) {
	var cookie_string = name + "=" + escape ( value );

	if ( exp_y ) {
		var expires = new Date ( exp_y, exp_m, exp_d );
		cookie_string += "; expires=" + expires.toGMTString();
	}

	if ( path )
		cookie_string += "; path=" + escape ( path );

	if ( domain )
		cookie_string += "; domain=" + escape ( domain );
	  
	if ( secure )
		cookie_string += "; secure";
	  
	document.cookie = cookie_string;
}

function getElementTagByName(tag, elementName) {
	var elem = document.getElementsByTagName(tag);
	var arr = new Array();
	for(i = 0,iarr = 0; i < elem.length; i++) {
		att = elem[i].getAttribute("name");
		if(att == elementName) {
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr; 
}

function cookieTest(){
	if (navigator.cookieEnabled) {   
	    return true;  
	} else {   
	    return false;   
	}
}
function flashTest(){
	var i_flash; 
	// Netscape 
	if (navigator.plugins) {
		if(navigator.plugins.length>0){
			for (var i = 0; i < navigator.plugins.length; i++) {
				if (navigator.plugins[i].name.toLowerCase().indexOf("shockwave flash") >= 0) {
					i_flash = true;
				}
			}				
		}else{
			 for (var j=9;j>=6;j--) {
               try {   
                   i_flash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+j+"');");
				   if(i_flash){
				   	  break;
				   }
               }
               catch(e) {}
            }				
		}
		if (i_flash) {
			return true;
		}
		else {
			return false;
		}			
	}
} 
