/* save fims cookies across browsers  */	
  	
var CB_test = false;
var CB_flash_id  = 'CBFlash';
var CB_flash_holder_id ='CBFlashHolder';

var FC_max_timeouts = 20;
var FC_timeout_value = 1000; 
var FC_Error_Msg = 'Flash file unavailable'; 

var SaveFimsValuesInFileTimeOut = null;
var SaveFimsValuesFromFileInCookie = null;

/*  
	saves in a file ( if bfimsoec || !sOldFimsObject ): 
		Poker_Fims_fimsid  - FIMS1
		Poker_Fims_idfiacampaign - FIMS3
		Poker_Fims_idfiadvert - FIMS3
		Poker_Fims_btag - BTAG
		Poker_Fims_fimsoec
		Poker_Fims_fimsced 
		Poker_Fims_expires - as CustomDateString
*/
function FC_SaveFimsValuesInFile(timeoutnumber){
	if (!CB_Is_Ready()) {
		timeoutnumber = timeoutnumber + 1;
		if (timeoutnumber > FC_max_timeouts) {
			if (FC_Error_Msg != '') alert (FC_Error_Msg);
			return false;
		}
		if (SaveFimsValuesInFileTimeOut) clearTimeout(SaveFimsValuesInFileTimeOut);
		SaveFimsValuesInFileTimeOut = setTimeout('FC_SaveFimsValuesInFile('+ timeoutnumber + ')', FC_timeout_value);
		return false;
	}
	var oResult = FC_SaveFimsValuesInFile_Internal();
	if (CB_test) {
		/*alert('timeoutnumber = ' + timeoutnumber  + '; Result = ' + oResult); 
		alert('current fimsid = ' + CB_Cookie.get('Poker_Fims_fimsid'));
		alert('current idfiacampaign = ' + CB_Cookie.get('Poker_Fims_idfiacampaign'));*/
		alert('current btag = ' + CB_Cookie.get('Poker_Fims_btag'));
		alert('current expires = ' + CB_Cookie.get('Poker_Fims_expires'));
		var oFileValues = FC_GetFimsValuesFromFile_Internal(); 
		if (oFileValues) {
			alert('Saved:  fimsid = ' 
				+ oFileValues.Poker_Fims_fimsid 
				+ '; idfiacampaign  = ' +  oFileValues.Poker_Fims_idfiacampaign 
				+ '; btag  = ' +  oFileValues.Poker_Fims_btag );
		} else {
			alert ('Not saved;');
		}
	}
	return oResult;
}

function FC_SaveFimsValuesFromFileInCookie(timeoutnumber){
	if (!CB_Is_Ready()) {
		timeoutnumber = timeoutnumber + 1;
		if (timeoutnumber > FC_max_timeouts) {
			if (FC_Error_Msg != '') alert (FC_Error_Msg);
			return false;
		}
		if (SaveFimsValuesFromFileInCookie) clearTimeout(SaveFimsValuesFromFileInCookie);
		SaveFimsValuesFromFileInCookie = setTimeout('FC_SaveFimsValuesFromFileInCookie('+ timeoutnumber + ')', FC_timeout_value);
		return false;
	}
	var oFimsValues = FC_GetFimsValuesFromFile_Internal()
	if (!oFimsValues) {
		if (CB_test) alert('No values or expired value in file ;');
		return false;
	};
	if ((FC_castStr(oFimsValues.Poker_Fims_fimsid) == '')
		&& (FC_castStr(oFimsValues.Poker_Fims_idfiacampaign) == '')
		&& (FC_castStr(oFimsValues.Poker_Fims_btag) == '')) {
		if (CB_test) alert('No values or expired value in file ;');
		return false;
	};
	
	if (FC_castStr(oFimsValues.Poker_Fims_fimsid) != '' || FC_castStr(oFimsValues.Poker_Fims_btag) != '' ){
		var sOldCookie = FC_castStr( getCookie("Aff_fimsid"));
		if(sOldCookie == '')
			sOldCookie = FC_castStr( getCookie("Aff_btag"));
		if (sOldCookie == '') {
			setCookie("Aff_fimsid", oFimsValues.Poker_Fims_fimsid, oFimsValues.Poker_Fims_fimsced);
			setCookie("btag", oFimsValues.Poker_Fims_btag, oFimsValues.Poker_Fims_fimsced);
			FC_DeleteValuesInFile_Internal();
			if (CB_test) {
				alert('Cookie saved: fimsid= ' + oFimsValues.Poker_Fims_fimsid
					+ oFimsValues.Poker_Fims_btag);
				alert('Old cookie:' + sOldCookie);
				alert('Current value: fimsid=' + FC_castStr( getCookie("Aff_fimsid"))
					+ ' btag=' + FC_castStr( getCookie("Aff_btag")));
			};
		} else {
			if (CB_test) alert('No need to save cookie;');
		};
	};
	
	if (FC_castStr(oFimsValues.Poker_Fims_idfiacampaign) != ''  || FC_castStr(oFimsValues.Poker_Fims_btag) != ''){
		var sOldCookie = FC_castStr( getCookie("Aff_fimsid"));
		if(sOldCookie == '')
			sOldCookie = FC_castStr( getCookie("Aff_btag"));
		if (sOldCookie == '') {
			setCookie("Aff_fimsid", oFimsValues.Poker_Fims_idfiacampaign, oFimsValues.Poker_Fims_fimsced);
			setCookie("btag", oFimsValues.Poker_Fims_btag, oFimsValues.Poker_Fims_fimsced);
			setCookie("Aff_fimsidadvert", oFimsValues.Poker_Fims_idfiadvert , oFimsValues.Poker_Fims_fimsced);
			FC_DeleteValuesInFile_Internal();
			if (CB_test) {
				alert('Cookie saved: fimsid= ' + oFimsValues.Poker_Fims_idfiacampaign 
					+ '; fimsidadvert = ' + oFimsValues.Poker_Fims_idfiadvert
					+ ' btag= ' + oFimsValues.Poker_Fims_btag);
				alert('Old cookie:' + sOldCookie);
				alert('Current value: fimsid=' + FC_castStr( getCookie("Aff_fimsid"))
					+ ' fimsid=' + FC_castStr( getCookie("Aff_btag")));
			};
		} else {
			if (CB_test) alert('No need to save cookie;');
		};
	};
	return true;					
}




/*   internal functions - 	requires  CB_Cookie initialized   */

/*  
	get from file saved values if not expired...
		Poker_Fims_fimsid
		Poker_Fims_idfiacampaign
		Poker_Fims_idfiadvert
		Poker_Fims_fimsoec
		Poker_Fims_fimsced
		Poker_Fims_expires - as CustomDateString
*/
function FC_GetFimsValuesFromFile_Internal(){
	var oResult = false; 
	var sfimsId = FC_castStr(CB_Cookie.get('Poker_Fims_fimsid'));
	var sbtag = FC_castStr(CB_Cookie.get('Poker_Fims_btag'));
	var sidfiacampaign = FC_castStr(CB_Cookie.get('Poker_Fims_idfiacampaign'));
	if ((sfimsId != '') || (sidfiacampaign != '' ) || (sbtag != '' )){
		if (!(FC_compareCustomDateStrings(FC_castCustomDateString(0) ,CB_Cookie.get('Poker_Fims_expires')))){
			oResult = new Object();
			oResult.Poker_Fims_fimsid=CB_Cookie.get('Poker_Fims_fimsid');
			oResult.Poker_Fims_idfiacampaign=CB_Cookie.get('Poker_Fims_idfiacampaign');
			oResult.Poker_Fims_btag=CB_Cookie.get('Poker_Fims_btag');
			oResult.Poker_Fims_idfiadvert=CB_Cookie.get('Poker_Fims_idfiadvert');
			//oResult.Poker_Fims_fimsoec=CB_Cookie.get('Poker_Fims_fimsoec');
			oResult.Poker_Fims_fimsced=CB_Cookie.get('Poker_Fims_fimsced');
			oResult.Poker_Fims_expires=CB_Cookie.get('Poker_Fims_expires');
		} 
	}
	return oResult;
}

function FC_DeleteValuesInFile_Internal(){
	CB_Cookie.set('Poker_Fims_fimsid','');
	CB_Cookie.set('Poker_Fims_idfiacampaign','');
	CB_Cookie.set('Poker_Fims_btag','');
	CB_Cookie.set('Poker_Fims_idfiadvert','');
	//CB_Cookie.set('Poker_Fims_fimsoec', false);
	CB_Cookie.set('Poker_Fims_fimsced', 0 );
	CB_Cookie.set('Poker_Fims_expires',FC_castCustomDateString(0));
}


function FC_SaveFimsValuesInFile_Internal(){
	var sfimsid = FC_castStr(getFromQuery('fimsid'));
	var sidfiacampaign = FC_castStr(getFromQuery('idfiacampaign'));
	var sbtag = FC_castStr(getFromQuery('btag'));
	//if(sbtag == null || sbtag == '')
		//sbtag = FC_castStr(getCookie('btag'));
	var sidfiadvert = FC_castStr(getFromQuery('idfiadvert'));
	var bfimsoec = true;    // FC_castBool(getFromQuery('fimsoec'));
	var nfimsced = FC_castInt(getFromQuery('fimsced'));
	if (nfimsced == 0) nfimsced = 30;
	if ((sfimsid != '') || (sidfiacampaign != '') || (sbtag != '')){
		//var sOldFimsObject = FC_GetFimsValuesFromFile_Internal();
		//if (bfimsoec || (!sOldFimsObject ) ){
			CB_Cookie.set('Poker_Fims_fimsid',sfimsid);
			CB_Cookie.set('Poker_Fims_idfiacampaign',sidfiacampaign);
			CB_Cookie.set('Poker_Fims_btag',sbtag);
			CB_Cookie.set('Poker_Fims_idfiadvert',sidfiadvert);
			//CB_Cookie.set('Poker_Fims_fimsoec',bfimsoec);
			CB_Cookie.set('Poker_Fims_fimsced',nfimsced);
			CB_Cookie.set('Poker_Fims_expires',FC_castCustomDateString(nfimsced));
		//} 
	}
	return true;
}

function FC_SaveNewCookies() {
    var sfimsid = FC_castStr(getFromQuery('fimsid'));
    var sidfiacampaign = FC_castStr(getFromQuery('idfiacampaign'));
    var sbtag = FC_castStr(getFromQuery('btag'));
    alert(sbtag);
	if(sbtag == null || sbtag == '')
		sbtag = FC_castStr(getCookie('btag'));
	var sidfiadvert = FC_castStr(getFromQuery('idfiadvert'));
	var bfimsoec = true;    // FC_castBool(getFromQuery('fimsoec'));
	var nfimsced = FC_castInt(getFromQuery('fimsced'));
	if (nfimsced == 0) nfimsced = 30;
    CrossBrowserCookieManager.LoadCookie();
    alert("DOCUMENT.COOKIE: " + document.cookie);
	if ((sfimsid != '') || (sidfiacampaign != '') || (sbtag != '')){
        
		var sOldFimsObject = FC_GetFimsValuesFromFile_Internal();
		if (bfimsoec || (!sOldFimsObject ) ){
            document.cookie = 'Poker_Fims_fimsid=' + sfimsid;
            document.cookie = 'Poker_Fims_idfiacampaign=' + sidfiacampaign;
            document.cookie = 'Poker_Fims_btag=' + sbtag;
            document.cookie = 'Poker_Fims_idfiadvert=' + sidfiadvert;
            document.cookie = 'Poker_Fims_fimsoec=' + bfimsoec;
            document.cookie = 'Poker_Fims_fimsced=' + nfimsced;
            document.cookie = 'Poker_Fims_expires=' + FC_castCustomDateString(nfimsced);
            alert("SET COOKIE: Poker_Fims_fimsid=" + sbtag);
            CrossBrowserCookieManager.SaveCookie();
            alert("COOKIES SAVED!");
            /*CB_Cookie.set('Poker_Fims_fimsid', sfimsid);
			CB_Cookie.set('Poker_Fims_idfiacampaign',sidfiacampaign);
			CB_Cookie.set('Poker_Fims_btag',sbtag);
			CB_Cookie.set('Poker_Fims_idfiadvert',sidfiadvert);
			//CB_Cookie.set('Poker_Fims_fimsoec',bfimsoec);
			CB_Cookie.set('Poker_Fims_fimsced',nfimsced);
            CB_Cookie.set('Poker_Fims_expires', FC_castCustomDateString(nfimsced));*/
		} 
	}
	return true;
}

/*
function FC_GetFimsValuesFromFile_Internal() {
    var oResult = false;
    var sfimsId = FC_castStr(CB_Cookie.get('Poker_Fims_fimsid'));
    var sbtag = FC_castStr(CB_Cookie.get('Poker_Fims_btag'));
    var sidfiacampaign = FC_castStr(CB_Cookie.get('Poker_Fims_idfiacampaign'));
    if ((sfimsId != '') || (sidfiacampaign != '') || (sbtag != '')) {
        if (!(FC_compareCustomDateStrings(FC_castCustomDateString(0), CB_Cookie.get('Poker_Fims_expires')))) {
            oResult = new Object();
            oResult.Poker_Fims_fimsid = CB_Cookie.get('Poker_Fims_fimsid');
            oResult.Poker_Fims_idfiacampaign = CB_Cookie.get('Poker_Fims_idfiacampaign');
            oResult.Poker_Fims_btag = CB_Cookie.get('Poker_Fims_btag');
            oResult.Poker_Fims_idfiadvert = CB_Cookie.get('Poker_Fims_idfiadvert');
            //oResult.Poker_Fims_fimsoec=CB_Cookie.get('Poker_Fims_fimsoec');
            oResult.Poker_Fims_fimsced = CB_Cookie.get('Poker_Fims_fimsced');
            oResult.Poker_Fims_expires = CB_Cookie.get('Poker_Fims_expires');
        }
    }
    return oResult;
}*/

/* help  functions */
function FC_castStr(sArg){
	var sResult = '';
	if (sArg==null) {
		sResult ='';
	} else {
		sResult = sArg;
	};
	return sResult;
}

function FC_castBool(sArg){
	var bResult = true;
	if (sArg==null||sArg=='') {
		bResult = false;
	}else {
		if (sArg == 0 || sArg=='0') {
			bResult = false; 
		}else{
			if (sArg.toString().toLowerCase() == 'false') {
				bResult=false;
			}
		}				
	}
	return bResult;
}

function FC_castInt(sArg){
	var nResult = parseInt(sArg,10);
	if (!nResult) {
		nResult = 0; 
	}
	return nResult;
}

/* date in  = year/month/day/hours/minutes/seconds */
function FC_castCustomDateString(dayOffsetFromNow){
	var dDate = new Date();
	if (FC_castInt(dayOffsetFromNow) > 0 ) dDate.setDate(dDate.getDate()+dayOffsetFromNow);
	var sMonth = (dDate.getUTCMonth()+1);
	var sDay = dDate.getUTCDate();
	var sHours = dDate.getUTCHours();
	var sMinutes = dDate.getUTCMinutes();
	var sSeconds = dDate.getUTCSeconds();
	if (sMonth < 10 ) sMonth = '0' + sMonth;
	if (sDay < 10 ) sDay = '0' + sDay;
	if (sHours < 10 ) sHours = '0' + sHours;
	if (sMinutes < 10 ) sMinutes = '0' + sMinutes;
	if (sSeconds < 10 ) sSeconds = '0' + sSeconds;
	var sResult = dDate.getUTCFullYear() + '/' + sMonth + '/' + sDay + '/' + sHours + '/' + sMinutes + '/' + sSeconds;
	return sResult;
}

/*   true if sStr1 > sStr2  false if <=*/
function FC_compareCustomDateStrings(sStr1,sStr2){
	var aStr1 = sStr1.split('/');
	var aStr2 = sStr2.split('/');
	for (var i=0; i<aStr1.length; i++){
		if(parseInt(aStr1[i],10) > parseInt(aStr2[i],10)){
			return true;
		} else {
			if(parseInt(aStr1[i],10) < parseInt(aStr2[i],10)){
				return false;
			}
		}
	}
	return false;
}
function setCookie(CookieName,Value,ExpireDays)
{
	var ExpireOnDate=new Date();
	ExpireOnDate.setDate(ExpireOnDate.getDate()+parseInt(ExpireDays));
	var CookieString=CookieName+"="+escape(Value)+"; path=/"+((ExpireDays==null)?"":"; expires="+ExpireOnDate.toGMTString());
	document.cookie=CookieString;
}
function getCookie(CookieName)
{
	var Value="";
	if(document.cookie.length>0)
	{
		var Cookies=document.cookie.toString()+"\n";
		var RegEx=new RegExp(CookieName+"=(.*?)[;\n]","gi");
		var Matches=RegEx.exec(Cookies);
		if(Matches)
			Value=unescape(Matches[1]);
	}
	return Value;
}

	
	
