


/******************************************************************************************
         cookieLib.js
 ******************************************************************************************/

/*
	v1.1 - defaults to current domain, instead of all subdomains 
	v1.0
   	===== Purpose =====
	Provide set/get cookie support for flash
	
	\\
	===== How to use it =====
		1. copy cookieLib.js to the same place as your .html file which references your .swf
		2. put this lines in your .html file :
		---------------------------------------------------------------------------
			<script src="cookieLib.js" type="text/javascript"></script>
		---------------------------------------------------------------------------
		3. SET A COOKIE FROM FLASH:
		
			import flash.external.*;
			ExternalInterface.call("fs_setCookie", "cookieName", "cookieValue", "EXPIRATION");
			
			(expiration can be: "never", or "session" or a "number" representing minutes)
			(default expiration is "never")
			(session expires when the browser is closed)
			(minutes= "60" for 1 hour, "1440" for 1 day, etc...) 
			
		4. RETRIEVE A COOKIE FROM FLAH:
		
			import flash.external.*;
			var cookievalue = ExternalInterface.call("fs_getCookie", "cookieName");
			

*/


function fs_getAllCookies(){
	return document.cookie;		
}

function fs_getCookie(a,isJson){
    var e, m=" "+document.cookie+";"
    var N=" "+a+"=",s=m.indexOf(N),r="";
    if(s!=-1){
        s+=N.length;
        e=m.indexOf(";",s);
        r=unescape(m.substring(s,e))
    }
    if(!r || r.length<1) return false;
    if(r.match(/ckjson.:1/) || r.match(/ckjson:1/) || isJson==true){
        try {
            r=JSON.decode(r);
            delete r.ckjson;
        }catch(e){ dbg('Err394x:Converting JSON') }
    }
    if(r=="false") r=false;
    return r
}

function fs_clearCookie(n){
    var e=new Date();
	e.setTime(e.getTime()-20000000);
	document.cookie=n+"=0; expires="+e.toGMTString() + "; path=/; domain="+fs_getHostname();
	document.cookie=n+"=0; expires="+e.toGMTString() + "; path=/;";
}

//allSubDomains is a bool. set true if you want to set to ".domain.com"
//which will be available to, and overwrite all subdomain cookies
function fs_setCookie(varName,varVal,exp,allSubDomains){
    varVal=(varVal==null)?'0':varVal
	if(typeof(varVal)!="string" && typeof(varVal)!="number"){
		varVal.ckjson=1;
		varVal=JSON.encode(varVal);
	}
	//escape semicolons
	varVal=varVal.replace(/;/g,"%3B");
	var e=new Date();
	if(typeof(exp)=="undefined" || exp=="null" || exp==null || exp=="" || exp=="session"){
		exp=";";
    }else if (exp=="never"||exp=="forever")
	{
		e.setFullYear(e.getFullYear() + 10);
		exp="; expires=" + e.toGMTString();
    }else{
        e.setTime(e.getTime()+(60000*exp))
		exp="; expires=" + e.toGMTString();
    }
    var ck = varName+"=" + varVal + exp + "; path=/;";
	if(allSubDomains==true) ck += " domain="+fs_getHostname()+";";
    document.cookie = ck;
	return "1";
}

var clearCookie=fs_clearCookie;
var setCookie=fs_setCookie;
var getCookie=fs_getCookie;

function fs_getHostname()
{
    var h=document.location.host;
    var p=h.lastIndexOf('.');
    p=h.lastIndexOf('.',p-1);
    if (p>-1) h=h.substr(p+1);
    return h;         
}

//records all vyew cookies, clears them, then re-sets them
//this is to clear out the global subdomain cookies (.domain.com)
function resetVyewCookies(){
	var sid=getCookie("sid");
	var lID=getCookie("lID");
	var kli=getCookie("keepLoggedIn");
	clearCookie("sid"); clearCookie("lID"); clearCookie("keepLoggedIn");
	setCookie("sid",sid);
	if(lID) setCookie("lID", lID, "forever");
	if(kli) setCookie("keepLoggedIn", kli, "forever");
}



