function makeRequest( params )
{
    var r = null;

    if (window.XMLHttpRequest)
    {
        r = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        r = new ActiveXObject("Microsoft.XMLHTTP");
    }

    if( r )
    {
        r.onreadystatechange =
        function()
        {
            params.callback( this, params );
        };

        r.open( params.method, params.url, true );
        r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        if( typeof( params.qt ) != "undefined" && params.qt != null )
        {
            r.send( params.qt );
        }
        else
        {
            r.send(null);
        }

    }
}

function setCookie (name, value){ 
	document.cookie = name + '=' + escape(value) + ";path=/;domain=.caribbeancom.com" 
}

function getCookie(cookieName){
	var search = cookieName + '=';
	if (document.cookie.length>0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1){
			offset += search.length;
			end 		= document.cookie.indexOf(';',offset);
			if(end == -1)
				end = document.cookie.length;
			return unescape(document.cookie.substring(offset,end));
		}
	}
	return null; 
}

function querySt(ji) {

    hu = window.location.search.substring(1);
    gy = hu.split("&");

    for (i=0;i<gy.length;i++) {
        ft = gy[i].split("=");
        if (ft[0] == ji) {
            return ft[1];
        }
    }

    return null;
}


var base64list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';

function base64encode(s)
{
  var t = '', p = -6, a = 0, i = 0, v = 0, c;

  while ( (i < s.length) || (p > -6) ) {
    if ( p < 0 ) {
      if ( i < s.length ) {
        c = s.charCodeAt(i++);
        v += 8;
      } else {
        c = 0;
      }
      a = ((a&255)<<8)|(c&255);
      p += 8;
    }
    t += base64list.charAt( ( v > 0 )? (a>>p)&63 : 64 )
    p -= 6;
    v -= 6;
  }
  return t;
}

function base64decode(s)
{
  var t = '', p = -8, a = 0, c, d;

  for( var i = 0; i < s.length; i++ ) {
    if ( ( c = base64list.indexOf(s.charAt(i)) ) < 0 )
      continue;
    a = (a<<6)|(c&63);
    if ( ( p += 6 ) >= 0 ) {
      d = (a>>p)&255;
      if ( c != 64 )
        t += String.fromCharCode(d);
      a &= 63;
      p -= 8;
    }
  }
  return t;
}


function goback( defaultURL )
{
    var ref_base64 = querySt( "ref" );
    var ref_url;

    if( ref_base64 == null )
    {
        ref_url = defaultURL;
    }
    else
    {
        ref_url = base64decode( ref_base64.replace( "_", "=" ) );
    }
   
    location.href = ref_url;
}







