/* *************************************************
 * WAIT MODAL popup
 *
***************************************************/
var waitmodal;

function get_waitmodal_template_1(message) {
	return '<div class="floatright"><a href="#" onclick="return waitmodal_close();">X</A></div>\
	<h6>\
	<span class="imglink sel"><span class="pngspan"><img src="/direct/master/ext/silk-1.3/clock.png" width="16" height="16" align="top" /> Status</span></span>\
	</h6><p>'+message+'</p>';
}

// open or update the waitmodal with the following message
function waitmodal_set(message,templateid) {
	if(templateid==1) {
		templatedmessage = get_waitmodal_template_1(message);
	}
	else {
		templatedmessage = get_waitmodal_template_1(message);
	}
	if(!waitmodal) {
		waitmodal = new Control.Modal('modalwaitlocation', {
			contents: templatedmessage,
			opacity: 0.8,
    		position: 'relative',
    		width: 300,
    		height: 50,
    		overlayCloseOnClick: false
		});
		waitmodal.open();
	}
	else {
		waitmodal.update(templatedmessage);
	}
}
function waitmodal_close() {
	if(waitmodal) {
		waitmodal.close();
	}
	waitmodal = null;
	return false;
}


/* *************************************************
 * generic DIV REPLACEMENT
 *
 * params
 * formid, if present will attach the form contents in.
 * popunder, if present will activate the popunder window once complete
 * popover, if present will activate the popover window once complete
 *
***************************************************/
function ajax_replacediv(containerid, desturl, params) {
	
	if(!params) { params = {} };
	
	waitmessage = (params.waitmessage) ? params.waitmessage : 'Please Wait, Updating...';
	showpopup = (params.nowait) ? false : true;

	urlparams = '';
	if(params.formid) {
		urlparams = $(params.formid).serialize(true);
	}
	if(params.formgroup) {
		urlparams = '';
		arr = params.formgroup.split(':');	
		for(i=0;i<arr.length;i++) {
			id = arr[i];
			p = $(id).serialize();
			if(p.length>0) {
				if(urlparams.length>0) urlparams += '&';	
				urlparams += p;
			}
		}
	}
	
	if(showpopup) {
		waitmodal_set(waitmessage);
	}
	
	new Ajax.Updater(containerid, desturl,
	{
		method: 'post',
  		parameters: urlparams,
    	evalScripts: true,
    	onSuccess: function(transport) {
			if(showpopup) {
				waitmodal_close();
			}
			
			if(params.popunder) {
				$('page-popover').hide();
				$('page-popunder').show();
			}
			if(params.popover) {
				$('page-popunder').hide();
				$('page-popover').show();
			}
    	},
    	onFailure: function(){ alert('Something went wrong...'); return false; }
  	});

	return false;
}
	
function show_popover() {
	$('page-popunder').hide();
	$('page-popover').show();
	return false;
}
function show_popunder() {
	$('page-popover').hide();
	$('page-popunder').show();
	return false;
}

/* *************************************************
 * DEBUG
 *
***************************************************/

function page_debug_add_debug(json) {
	if(!json.debug) return;
	if(!$('page-debug')) return;
	h = $A(json.debug);
	h.each(function(node){
		new Insertion.Top('page-debug', '<div class="debugitem">'+node+'</div>');
	});
}
function page_debug_add_error(message) {
	if(!$('page-debug')) return;
	new Insertion.Top('page-debug', '<div class="erroritem"><pre>'+message+'</pre></div>');
}

/* *************************************************
 * EFFECTS
 *
***************************************************/
function ef_ri(o) {
	Element.addClassName(o, 'thover');
}
function ef_ro(o) {
	Element.removeClassName(o, 'thover');
}

function sol_tk(o) {
	url = o.href;
	//alert(url);
	
	tk = o.readAttribute('tk');
	// alert(tk);
	
	nogo = o.readAttribute('nogo');
	
	var arnd = Math.random() + "";
	var num = arnd * 1000000000000000000;

	dest = encodeURI('/tk?tk='+tk+'&target='+url+'&rn='+num);
	//alert(dest);
	
	//if(document.images) { (new Image()).src=dest; shortdelay(300); }
     new Ajax.Request(
     dest,
     {
     	method: 'get'
     });

	shortdelay(300);
	
	// flash ad placeholder - a href is for tracking only, don't follow link.
	if(nogo==1) return false;
	
	return true;	
}

function shortdelay(mseconds) {
	var currentTime = new Date();
	var endTime = currentTime.getTime() + mseconds;
	while (currentTime.getTime() < endTime) {
		currentTime = new Date();
	}
}




