// COMMON VARS ======================================================
  var fa  =
  {
    site_domain : 'faboverfifty.com',
    site_url    : 'http://www.faboverfifty.com',
    site_www    : 'http://www.faboverfifty.com/'
  };
// ==================================================================
// COMMON FUNCTION ==================================================
  function fa_nowUnix()
  { returnText  = '';
    DummyDate = new Date();
    DummyReturn = String(DummyDate.getFullYear() + '' + DummyDate.getMonth() + '' + DummyDate.getDay() + '' + DummyDate.getHours() + '' + DummyDate.getMinutes() + '' + DummyDate.getSeconds() + '' + (Math.ceil(Math.random() * 1000)));
    returnText = DummyReturn;
    return returnText; };

  function fa_IsValidEmail(email)
  { filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return filter.test(email);  };

  function fa_g(name)
  { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
      return "";
    else
      return results[1];  };

  function fa_ltrim(str, chars) {
  	chars = chars || "\\s";
  	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");  };
  function fa_rtrim(str, chars) {
  	chars = chars || "\\s";
  	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");  };
  function fa_trim(str, chars) {
  	return fa_ltrim(fa_rtrim(str, chars), chars);  };


// ==================================================================
// COOKIES ==========================================================
  function fa_cookieSet(name, value,  days)
  { if (days)
    { var date = new Date();
  		date.setTime(date.getTime()+(days*24*60*60*1000));
  		var expires = "; expires="+date.toGMTString();  }
  	else { var expires = ""; };
  	document.cookie = name+"="+value+expires+"; path=/"; };

  function fa_cookieGet(name)
  {  var nameEQ = name + "=";
     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;  };

  function fa_cookieDelete(name)  { fa_cookieSet(name,"",-1);  };
// ==================================================================
// UTF 8 FUNCTIONS ==================================================
  function fa_utf8_encode(argString)
  { var string=(argString+'');
  	var utftext="";
  	var start, end;
  	var stringl=0;
  	start=end=0;
  	stringl=string.length;
  	for(var n=0; n<stringl;  n++) {
  	 var c1=string.charCodeAt(n);
  	 var enc=null;
      if(c1<128)
      { end++;  }
      else if(c1>127&&c1<2048)
      { enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);  }
    else
    { enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128); };
    if(enc!==null)
    { if(end>start) {
  	   utftext+=string.substring(start,end); }
  	  utftext+=enc;
  	 start=end=n+1;  };  };
    if(end>start)
    { utftext+=string.substring(start,string.length); }
  return utftext; };

  function fa_utf8_decode(str_data)
  { var tmp_arr=[], i=0, ac=0, c1=0, c2=0, c3=0;
  	str_data+='';
    while(i<str_data.length) {
  	c1=str_data.charCodeAt(i);
    if(c1<128) {
  	tmp_arr[ac++]=String.fromCharCode(c1);
  	i++;
    } else if((c1>191)&&(c1<224)) {
  	c2=str_data.charCodeAt(i+1);
  	tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));
  	i+=2;
    } else {
  	c2=str_data.charCodeAt(i+1);
  	c3=str_data.charCodeAt(i+2);
  	tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));
  	i+=3;  };  }; return tmp_arr.join(''); };
// ==================================================================
// BASE 64 DECODE ===================================================
  function fa_base64_encode(data)
  { var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	  var o1, o2, o3, h1, h2, h3, h4, bits, i=0, ac=0, enc="", tmp_arr=[];
    if(!data) { return data;  }
	 data=this.js_utf8_encode(data+'');
    do {
	  o1=data.charCodeAt(i++);
  	o2=data.charCodeAt(i++);
  	o3=data.charCodeAt(i++);
  	bits=o1<<16|o2<<8|o3;
  	h1=bits>>18&0x3f;
  	h2=bits>>12&0x3f;
  	h3=bits>>6&0x3f;
  	h4=bits&0x3f;
  	tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4); }
	  while(i<data.length);
	 enc=tmp_arr.join('');
    switch(data.length%3) {
	 case 1: enc=enc.slice(0,-2)+'==';
	   break;
	 case 2: enc=enc.slice(0,-1)+'=';
	 break;  };
	 return enc; };

  function fa_base64_decode(data) {
  	var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  	var o1, o2, o3, h1, h2, h3, h4, bits, i=0, ac=0, dec="", tmp_arr=[];
    if(!data) { return data; };
  	data+='';
    do {
  	h1=b64.indexOf(data.charAt(i++));
  	h2=b64.indexOf(data.charAt(i++));
  	h3=b64.indexOf(data.charAt(i++));
  	h4=b64.indexOf(data.charAt(i++));
  	bits=h1<<18|h2<<12|h3<<6|h4;
  	o1=bits>>16&0xff;
  	o2=bits>>8&0xff;
  	o3=bits&0xff;
    if(h3==64) {  tmp_arr[ac++]=String.fromCharCode(o1);  }
    else if(h4==64)
    { tmp_arr[ac++]=String.fromCharCode(o1,o2);
    } else {  tmp_arr[ac++]=String.fromCharCode(o1,o2,o3); };  }
  	while(i<data.length);
  	dec=tmp_arr.join('');
  	dec=this.js_utf8_decode(dec);
  	return dec;  };
// ==================================================================
// FOS DESTINATIONS =================================================
  function fa_ReturnDestination()
  { 
    thisGoBackDestination = window.location.href;
    thisGoBackDestination = thisGoBackDestination.replace("http://www.faboverfifty.com/", "");
    thisGoBackDestination = thisGoBackDestination.replace("http://dev.faboverfifty.com/", "");
    thisGoBackDestination = thisGoBackDestination.replace("www.faboverfifty.com/", "");
    thisGoBackDestination = thisGoBackDestination.replace("dev.faboverfifty.com/", "");    
    if (thisGoBackDestination !=  "user"  && thisGoBackDestination != "user/register")
    { 
      fa_cookieSet("sdestination", thisGoBackDestination);       
    }; 
  }; 
  
  function fa_removeLogin()
  {
    fa_cookieDelete('fof_master_user_uid');
    fa_cookieDelete('fof_master_user_name');
    fa_cookieDelete('fof_master_user_email');    
  };
// ==================================================================
