
/**
 * General useful functions
 */
function fetchobj(objname) {
	if(document.getElementById) {
		obj = document.getElementById(objname);
	} else if(document.all) {
		obj = document.all[objname];
	} else {
		obj = null;
	}
	return obj;
}

function showLayer(layerName){
	var x = fetchobj(layerName);
	x.style.position = "relative";
	x.style.visibility = "visible";
    x.style.display = "block";
}

function hideLayer(layerName){
	var x = fetchobj(layerName);
	x.style.position = "absolute";
	x.style.visibility = "hidden";
    x.style.display = "none";
}




/**
 * JS For web form payment page
 */
var req;
var onLoadXML;
var wid;
var changetimer;
var timeoutcount=0;
var speed=600;	/* default 500 */
var scheckspeed=5000;
var pleasewait_msg = 'Please wait - Receiving your text message';
var pleasewait_direction = 1;
var pleasewait_count = 3;
var c_order_location;

if(location.host == 'www.mobilefun.co.uk') {
	c_order_location = '/extras/check_order.php';
} else {
	c_order_location = '/check_order.php';
}

function payment_check(wid,checkspeed) {
	disable_done();
	scheck(wid,checkspeed);
	timeoutbar();
	showLayer('progressarea');
	showLayer('progressbars_per');
	pleasewait();
    //doPopUnder();
}

function doPopUnder() {
    //specify page to pop-under
    var popunder = "/survey.php"

    //specify popunder window features
    //set 1 to enable a particular feature, 0 to disable
    var winfeatures = "width=800,height=510,scrollbars=1,resizable=1,toolbar=1,location=1,menubar=1,status=1,directories=0"
    
    win2 = window.open(popunder, "", winfeatures)
    win2.blur()
    window.focus()
}

function timeoutbar() {
	var obj = fetchobj('progressbars_per');
	timeoutcount = timeoutcount+1;
	if(timeoutcount <= 100) {
		var perstatusobj = fetchobj('perstatus');
		perstatusobj.innerHTML = timeoutcount + "%";
		obj.style.width = timeoutcount + "%";
		changetimer = window.setTimeout("timeoutbar();",speed);
		pleasewait();
	} else {
		var form = document.forms['checkmsg'].submit();
	}
}

function disable_done() {
	var obj = fetchobj('donebut');
	obj.disabled = true;
}

function pleasewait() {
	if(pleasewait_count > 3) { pleasewait_direction = 1; pleasewait_count=0; }
	else if(pleasewait_count < 0) { pleasewait_direction = 1; pleasewait_count=1; }
	
	if(pleasewait_count == 0) { var dots = ''; }
	else if(pleasewait_count == 1) { var dots = '.'; }
	else if(pleasewait_count == 2) { var dots = '..'; }
	else if(pleasewait_count == 3) { var dots = '...'; }
	
	if(pleasewait_direction == 1) { pleasewait_count++; }
	else { pleasewait_count--; }
	
	var obj = fetchobj('pstatus');
	obj.innerHTML = '<div id="pleasewait">Please wait - Receiving your text message'+dots+'</div>';
}

function scheck(inwids,checkspeed) {
	scheckspeed=(checkspeed*1000);
	wid = inwids;
	changetimer = window.setTimeout("cchange();",scheckspeed);
	return true;
}

function cchange() {
	onLoadXML = cstatus;
	loadXMLDoc(c_order_location,"wid=" + wid);
	return true;
}

function cstatus() {
	docRoot = req.responseXML;
	
	if (!docRoot) {
		var form = document.forms['checkmsg'].submit();
		return false;
	}

	valueTags = docRoot.getElementsByTagName("rtn");
	valTag = valueTags[0];
	value = valTag.childNodes.item(0).nodeValue;

	if(value == '1') {
		clearTimeout(changetimer);
		
		var obj = fetchobj('pstatus');
		obj.innerHTML = '<div id="pleasewait">Received message!</div>';
		
		var form = document.forms['checkmsg'].submit();
	} else {
		changetimer = window.setTimeout("cchange();",scheckspeed);
	}	
	return true;
}

function loadXMLDoc(url,formdata) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req) {
		req.onreadystatechange = processReqChange;
		req.open("POST", url, true);
		req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		req.setRequestHeader('Connection','close');
		req.send(formdata);
	}
}

function processReqChange() {
	if (req.readyState == 4) { onLoadXML(); }
	return;
}


