cReferrer();
////////////////////////////////////////
function cReferrer(){

	var cusReferrer = getCookie ("cusReferrer");
	if(!cusReferrer){
		setReferrer();
	}
	return;
}
////////////////////////////////////////
function setReferrer(){

	var cusReferrer = "direct";
	if (document.referrer && document.referrer != ""){
		cusReferrer = document.referrer;
	}
	var expdate = new Date ();
	expdate.setTime (expdate.getTime() + (1000 * 60 * 60 * 365));
	setCookie ("cusReferrer", cusReferrer, expdate);
}
////////////////////////////////////////
function getCookie (name) {

	var dcookie = document.cookie;
	var cname = name + "=";
	var clen = dcookie.length;
	var cbegin = 0;
	while (cbegin < clen) {
		var vbegin = cbegin + cname.length;
		if (dcookie.substring(cbegin, vbegin) == cname) {
			var vend = dcookie.indexOf (";", vbegin);
			if (vend == -1) vend = clen;
			return unescape(dcookie.substring(vbegin, vend));
		}
		cbegin = dcookie.indexOf(" ", cbegin) + 1;
		if (cbegin == 0) break;
	}
	return null;
}
////////////////////////////////////////
function setCookie (name, value, expires) {

	document.cookie = name + "=" + escape (value) + "; expires=" + expires.toGMTString() +  "; path=/";
}

function openDownload(){

	setTimeout('window.location = "/download/";',2000);
}
function openDownloadLocal(){

	setTimeout('window.location = "/download/";',5000);
}
function goDownload(){

	location.href="/cgi-bin/download.cgi";
	setTimeout('window.location = "/download/"',1000);
}

//this function mimics the GET function of any server side language
//it recieves a paramater name and searches for it in the URL header string
function urlGET(urlParameter){

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

//gets the 'onWeb' parameter from the pages URL if there is no parameter than the function returns true
function getOnWeb(){

	var urlParameter = urlGET("onWeb");
	if(urlParameter != ""){
		return urlParameter;
	}
	else
		return "true";
}

//builds the ref tracking code for a cross/child site by env cookie
function crossDomainTracking (callerLang, callerLink,lid) {

	var trackHref = getTrackingHref(lid);
	if (trackHref == null || trackHref == undefined) {
		trackHref = '';
	}
	var desURL = '';
	switch (callerLang) {
		case 'nl':
			//callerLink.href = 'http://www.rummyroyal.nl/' + trackHref;
			desURL = 'http://www.rummyroyal.nl/' + trackHref;
			break;
		case 'hu':
			//callerLink.href = 'http://www.romiroyal.hu/' + trackHref;
			desURL = 'http://www.romiroyal.hu/' + trackHref;
			break;
		case 'de':
			//callerLink.href = 'http://www.rommeroyal.de/' + trackHref;
			desURL = 'http://www.rommeroyal.de/' + trackHref;
			break;
		case 'es':
			//callerLink.href = 'http://www.rummyroyal.es/' + trackHref;
			desURL = 'http://www.rummyroyal.es/' + trackHref;
			break;
		case 'ro':
			//callerLink.href = 'http://www.remiroyal.ro/' + trackHref;
			desURL = 'http://www.remiroyal.ro/' + trackHref;
			break;
		case 'it':
			//callerLink.href = 'http://www.raminoroyal.net/' + trackHref;
			desURL = 'http://www.raminoroyal.net/' + trackHref;
			break;
		case 'fr':
			//callerLink.href = 'http://www.ramiroyal.fr/' + trackHref;
			desURL = 'http://www.ramiroyal.fr/' + trackHref;
			break;
		case 'tr':
			//callerLink.href = 'http://www.okeyroyal.net/' + trackHref;
			desURL = 'http://www.okeyroyal.net/' + trackHref;
			break;
		case 'he':
			//callerLink.href = 'http://www.remi.co.il/' + trackHref;
			desURL = 'http://www.remi.co.il/' + trackHref;
			break;
		default: // 'en'
			//callerLink.href = 'http://www.rummyroyal.com/' + trackHref;
			desURL = 'http://www.rummyroyal.com/' + trackHref;
			break;
	}
	if (callerLink == null || callerLink == undefined) {
		arr = new Array();
		arr[0] = desURL;
		arr[1] = trackHref;
		return arr;
	}else{
		callerLink.href = desURL;
		return true;
	}

}

//builds the tracking href
function getTrackingHref (lid) {

	var resStr = '1-';

	var nameRef = new Array;
	nameRef[0] = getCookie('aid');
	if (nameRef[0] == null || nameRef[0] == undefined || nameRef[0] <= 1) {
		return null;
	}

	nameRef[1] = getCookie('cid');
	if (nameRef[1] == null || nameRef[1] == undefined) {
		return null;
	}

	if(lid == null){//Aplay default
		lid = 1;
	}
	nameRef[2] = lid;

	nameRef[3] = getCookie('bid');
	if (nameRef[3] == null || nameRef[3] == undefined) {
		return null;
	}

	resStr = resStr + nameRef.join('-');
	return resStr;
}

	////////////////////////////////////////////////////////////
	function writeActionForm() {

		var formStr = '<form action="http://www.rummyroyal.com/cgi-bin/download_p.cgi" name="jsDownload" id="jsDownload" method="post">';
		formStr += '<input type="hidden" name="sid" value="'+getCookie("sid")+'" />';
		formStr += '<input type="hidden" name="rAFID" value="'+getCookie("rAFID")+'" />';
		formStr += '<input type="hidden" name="cRefID" value="'+getCookie("cRefID")+'" />';
		formStr += '<input type="hidden" name="cusReferrer" value="'+getCookie("cusReferrer")+'" />';
		formStr += '<input type="hidden" name="qs" value="'+getCookie("qs")+'" />';
		formStr += '<input type="hidden" name="aid" value="'+getCookie("aid")+'" />';
		formStr += '<input type="hidden" name="bid" value="'+getCookie("bid")+'" />';
		formStr += '<input type="hidden" name="cid" value="'+getCookie("cid")+'" />';
		formStr += '<input type="hidden" name="lid" value="'+getCookie("lid")+'" />';
		formStr += '</form>';
		//alert(formStr);
		$("body").append(formStr);
	}


	////////////////////////////////////////////////////////////
	function sendDownload(){

		$waitUntil(
			function () {
				return $("form#jsDownload").trigger('submit');
			},
			function () {
				openDownloadLocal();
			}
		);
	}



	$(document).ready(function() {
		$("a[id='downloadLink12']").click(function(){$(this).attr("href","#");writeActionForm();sendDownload();})
	});


	/////////////////////////////////////////////////////////////////

	function $waitUntil(check,onComplete,delay,timeout) {
	// if the check returns true, execute onComplete immediately
	if (check()) {
		onComplete();
		return;
	}

	if (!delay) delay=100;

	var timeoutPointer;
	var intervalPointer=setInterval(function () {
		if (!check()) return; // if check didn't return true, means we need another check in the next interval

		// if the check returned true, means we're done here. clear the interval and the timeout and execute onComplete
		clearInterval(intervalPointer);
		if (timeoutPointer) clearTimeout(timeoutPointer);
		onComplete();
	},delay);
	// if after timeout milliseconds function doesn't return true, abort
	if (timeout) timeoutPointer=setTimeout(function () {
		clearInterval(intervalPointer);
	},timeout);
}

// dropdown flags script //////////////////

var onMenu = false;
var onImg = false;

$(function(){
	$('#languages').hover(
		function(){
			onImg = true;
			$('#dropmenudiv').fadeIn('fast');
		},
		function(){
			onImg = false;
			setTimeout(
				function(){
					if (!onMenu) $('#dropmenudiv').fadeOut('fast');
				},50);
	}).children(":first").click(function(e){e.preventDefault();});

	$('#dropmenudiv').hover(
		function(){
			onMenu = true;
		},
		function(){
			onMenu = false;
			setTimeout(
				function(){
					if (!onImg) $('#dropmenudiv').fadeOut('fast');
				},50);
	});
});
