//####################
//SAFARI AND OPERA OFF
//####################

//$Rev: 6033 $

//--------------------------------- CUSTOM GLOBAL SECTION ----------------------------------
var mm_domain            = 'partycasino.com';
var mm_server            = 'cg1.maxymiser.com/cg2/';
var mm_enable_time_track = 1;
var mm_traffic_level     = 1;
var mm_guard_interval    = 9; 
var mm_mode              = 0; 
var mm_debug             = 0; 
var mm_js_version        = 2.4;
//--------------------------------- END GLOBAL SECTION -------------------------------

//--------------- DO NOT EDIT BELOW THIS LINE------------------------------------------
var mm_execution_start = (new Date()).getTime();
var mm_query_finish    = mm_execution_start;
var mm_response_finish = mm_execution_start; 
var mm_execution_finish = mm_execution_start;
var mm_variables      = new Array();
var mm_boxes          = new Array();
var mm_attributes     = new Array();
var mm_hidden         = false;
var mm_cookie_OK      = 0;
var mm_pd             ='';
var mm_id             ='';
var mm_rnd            = Math.random?Math.random():0.5;
var mm_host           = self.location.hostname.toLowerCase();
var mm_ref            = self.document.referrer.substring(0,128);
var mm_page           = self.location.href.substring(0,128);
var mm_proto          = self.location.protocol=="file:"?"http:":self.location.protocol;
var mm_screen_width   = self.window.screen.width;
var mm_screen_height  = self.window.screen.height;
var mm_color_depth    = self.window.screen.colorDepth;
var mm_style;
var mm_guard;
var mm_is_timeout     = 0;
var mm_url;

//--------------------------------- CODE SECTION --------------------------------------
function mmTrim(str)
{
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function mmStartUp() 
{
  if ((navigator.userAgent).toLowerCase().indexOf("safari")!=-1) mm_mode=2; //Safari off
  if ((navigator.userAgent).indexOf("Opera")!=-1) mm_mode=2; //Opera off

	mm_url = self.location.search.toLowerCase().substring(1);
	mm_domain = mm_toStr(mm_domain, mm_getValueByKey(mm_url, 'mm_domain','=','&'));
	mm_server = mm_toStr(mm_server, mm_getValueByKey(mm_url, 'mm_server','=','&'));
	mm_traffic_level = mm_toNum(mm_traffic_level, mm_getValueByKey(mm_url, 'mm_traffic_level','=','&'));
	mm_guard_interval = mm_toNum(mm_guard_interval, mm_getValueByKey(mm_url, 'mm_guard_interval','=','&'));
	mm_mode = mm_toNum(mm_mode, mm_getValueByKey(mm_url, 'mm_mode','=','&'));
	mm_debug = mm_toNum(mm_debug, mm_getValueByKey(mm_url, 'mm_debug','=','&'));

	if(mm_host.indexOf(mm_domain.toLowerCase() )<0){
		var host_parts = mm_host.split("."); 
		var str = ""; 
		for(var i=host_parts.length-1; i>=0 && i>host_parts.length-3; i--) str = "." + host_parts[i] + str;
		if(str.length) mm_host=str.substring(1);
	} else mm_host = mm_domain;	

	if(!document.createElement || !document.getElementsByTagName) mm_mode = 2;

	mm_pd = mmGetCookie('mmpd');
	mm_id = mmGetCookie('mmid');
	if( mm_pd == '' && (mmGetCookie('mmtl')>0 || mm_traffic_level < mm_rnd) ){ 
		mmSetCookie('mmtl',mm_traffic_level, 5);
		mm_mode = 2;
	}
	mmSetCookie('mmtst', (''+mm_rnd).substring(0,5), 0); 
	mm_cookie_OK = (mmGetCookie('mmtst')==(''+mm_rnd).substring(0,5))?1:0;
	if (typeof no_maxymiser != 'undefined' && no_maxymiser) mm_mode=2;
	if( mm_pd=='' && mm_mode==0 && !mm_cookie_OK)  mm_mode=1;
	if( mm_mode==0) mm_hidden = mmHideContent(true); 
	if( mm_hidden)  mm_guard = window.setTimeout(mm_guard_func, mm_guard_interval*1000); 
	else mm_mode = 1;
}

function mm_toNum(default_value, str)
{
	return (str.length && !isNaN(str))? Number(str): default_value;     
}

function mm_toStr(default_value, str)
{
	return str.length? str : default_value;     
}

function mm_getValueByKey(str, paramName, field_delim, rec_delim) 
{
	var recs = str.split(rec_delim);
	for(var i=0; i<recs.length; i++) { 
		var flds = recs[i].split(field_delim); 
		if(flds[0].replace(' ','').toLowerCase()==paramName.replace(' ','').toLowerCase()) 
			return (flds.length>1)?flds[1]:'';		
	};
	return '';
}

function mm_guard_func()
{
    if(mm_hidden) mm_hidden = !mmHideContent(false);        
    mm_guard = 0; mm_is_timeout = 1;
}

function mmCreateStyle(style)
{			    
	if (!style && document.styleSheets) {	
		style = document.createElement('style');
        style.setAttribute('type','text/css');
		document.getElementsByTagName('head')[0].appendChild(style);
		style = document.styleSheets[document.styleSheets.length - 1];
	}		
	return style;
}

function mmAttachStyle(rule, style, index)
{	
	try {	
		if (typeof rule == 'undefined' || rule == null) return false;
		style = mmCreateStyle(style);
		if (typeof style == 'undefined' || style == null) return false;
		if (typeof index == 'undefined') index = style.cssRules ? style.cssRules.length : style.rules.length;
		var mtch; rule = rule.replace(/\/\*(.|\s)*\*\//,''); var try_num=0;
		while(try_num<100) {             
			mtch = /([^{]+)\{([^}]*)\}\s*/.exec(rule);
			if (mtch != null) {
				try{
					if (style.addRule) style.addRule(mtch[1], mtch[2], index);
					else if (style.insertRule) style.insertRule(mtch[0], index);
					rule = rule.replace(mtch[0], ' ');
					index++;
				} catch (e) {};
				try_num++;
			} else break;
		}
	}
 	catch(err) {
		if (mm_debug) alert(err.message);
		return false;
	}
	return true;
}

function mmHideContent(hide)
{
	var hidden_style = '.Maxybox{visibility:hidden;}';
	var visible_style = '.Maxybox{visibility:visible;}';
	try {
		if (hide) {
			var body = document.getElementsByTagName('body');
			if (body.length<1) {
				document.write('<style type=\"text/css\">'+hidden_style+'</style>');
				return true;			
			} else return mmAttachStyle(hidden_style, mm_style, 0);
		} else {		 		
			var mboxes = mmGetMaxyboxes();
			for (var i=0; i<mboxes.length; i++) mboxes[i].style.visibility = 'visible';
			mmAttachStyle(visible_style);
			return false;
		}
	} catch (err) {
		if (mm_debug) alert('Cannot hide/show content: ' + err.message);
		return false;
	}
}

function mmSetCookie(name, value, exp_days)
{
    var exp = new Date();
    exp.setTime((new Date()).getTime() + exp_days*1000*24*60*60);
    document.cookie  = escape(name) + "=" + escape(value)+ (mm_host!="localhost"?"; domain=" + mm_host:"") + "; path=/" + (exp_days>0?("; expires=" + exp.toGMTString()):'');
}

function mmGetCookie(name)
{
    return mm_getValueByKey(document.cookie, name.toLowerCase(), '=', ';');
}

function mmSetAction(varname, value, attribute)
{
	try {
    	if( typeof value == "undefined") value = "";
	    if( typeof attribute == "undefined") attribute = "";
    	mm_variables.push(varname + "=" + value +","+attribute);
	} catch(err) {
		if (mm_debug) alert('Cannot set action: ' + err.message);
		mm_mode = 1;
	}
}

function mmSetUserAttribute(attrname, value)
{
	try {
	    if( typeof value == "undefined") value = "";
    	mm_attributes.push(attrname + "=" + value);
	} catch(err) {
		if (mm_debug) alert('Cannot set attribute: ' + err.message);
		mm_mode = 1;
	}
}

function mmGetMaxyboxes()
{
	try {
		var all_div_boxes = document.getElementsByTagName('div');
		var all_div_boxes_len = all_div_boxes.length;
		var result = new Array();
		for(var i=0; i<all_div_boxes_len; i++)
			if(all_div_boxes[i].id.length && all_div_boxes[i].className.toLowerCase() == 'maxybox')
				result.push( all_div_boxes[i] );
		return result;
	} catch (err) {
		if (mm_debug) alert('Cannot find maxyboxes: ' + err.message);
		mm_mode = 1;
		return new Array();
	}
}

function mmVerifyMaxyboxes()
{
    if( mm_hidden && mm_mode>0) {mm_hidden = mmHideContent(false); return; }
    if( mm_boxes.length ==0) mm_boxes = mmGetMaxyboxes(); 
}

function mmGetMaxyBoxByID(id)
{
	if( !mm_hidden )  return;
	try {
		var iid = id.toLowerCase();
		for(var i=0; i<mm_boxes.length; i++) {
			var mb = mm_boxes[i];
			if( mb.className.toLowerCase() == 'maxybox' && mb.id.toLowerCase()==iid) return mb;		
		}
	} catch (err) {
		if (mm_mode) alert('Cannot find a maxybox:' + err.message);
	}
}

//-------------------------------- Query to maxymiser ----------------------------
function mmGo()
{
	if (mm_debug && !mm_hidden) alert('Cannot hide the default content.');
	if(mm_mode>0) {
		if (mm_guard){ clearTimeout(mm_guard);}; 
		if (mm_hidden) {mm_hidden = !mmHideContent(false);}
		if (mm_debug) alert('mm_mode=1 => default content will be shown');        
	}
	if(mm_mode>1) return;		

	try {
		var uri = mm_proto+"//"+mm_server + "?";

		var mm_cv = '';
		for(var j=0; j<mm_boxes.length; j++) { 
			var mbox_debug_value = mm_getValueByKey(mm_url, mm_boxes[j].id,'=','&');
			if(mbox_debug_value.length==0) mm_cv += mm_boxes[j].id + ';';
			else mm_cv += mm_boxes[j].id + '=' + mbox_debug_value + ';';
		}
	    uri += mm_cv.length?'cv='+escape(mm_cv)+'&':'';

		var mm_fv = '';
		mm_fv+="dbg="+ mm_debug+';';
		mm_fv+='dmn='+ mm_domain+';';
		mm_fv+='cok='+ mm_cookie_OK+';';
		mm_fv+='ref='+ escape(mm_ref)+';';
		mm_fv+="url="+ escape(mm_page)+';';
		mm_fv += 'scrw=' + mm_screen_width + ';';
		mm_fv += 'scrh=' + mm_screen_height + ';';
		mm_fv += 'clrd=' + mm_color_depth + ';';
		uri  +='fv='+escape(mm_fv);

		var mm_uv = '';
		for (var i = 0; i < mm_variables.length; i++){ mm_uv += mm_variables[i] + ";"; } 
		uri += mm_uv.length?'&uv='+escape(mm_uv):'';

		var mm_uat = '';
		for (var i = 0; i < mm_attributes.length; i++) { mm_uat += mm_attributes[i] + ";"; }
		uri += mm_uat.length?'&uat='+escape(mm_uat):'';

		mm_pd = mmGetCookie('mmpd');
		mm_id = mmGetCookie('mmid');
		uri += mm_pd.length?'&pd='+escape(mm_pd):'';
		uri += mm_id.length?'&id='+escape(mm_id):''; 
		uri += '&jsver=' + escape(mm_js_version);
		uri += '&gm=' + mm_mode;

		if( mm_hidden){ 
			if(mm_guard) clearTimeout(mm_guard);
			mm_guard = window.setTimeout(mm_guard_func, mm_guard_interval*1000); 
		};

		var script  = document.createElement('script');
		script.type = 'text/javascript';
		script.src  = uri;	
		mm_execution_finish = (new Date()).getTime();
		document.getElementsByTagName('head')[0].appendChild(script); //request to MM
		if(mm_variables) mm_variables.length = 0;
	} 
	catch(err) {
		if (mm_guard) clearTimeout(mm_guard);
		if (mm_hidden) mm_hidden = !mmHideContent(false);
		if (mm_debug) alert('Cannot execute mmGo: ' + err.message);
	};
}

mmStartUp();
