var glob_registered = 0;
var glob_username = '';
var glob_password = '';
var glob_prsid = 0;
var glob_smsid = 0;
var glob_loading = false;
var glob_objects_currently_loading = 0;
var glob_showing_register	= false;
var glob_sms_received_confirm = false;
var glob_count_options = 0;
var glob_is_payment_page = 0;
var glob_prs_number = 0;
var glob_payment_type;
var glob_access_type;
var glob_done_register_innerHTML = false;
var glob_shown_02_alert_before = false;


/* The following variables are set in the html page */
var glob_option_register = 0;
var glob_siteid = 0;
var glob_company = 0;
var glob_credit_card_url = '';

function set_glob_is_payment_page(value){
	glob_is_payment_page = value
}

function set_glob_option_register(value) {
	glob_option_register = value;
}
function set_glob_siteid(value) {
	glob_siteid = value;
}
function set_glob_company(value) {
	glob_company = value;
}

function set_glob_credit_card_url(value){
	glob_credit_card_url = value;
}

function set_glob_access_type(type) {
	glob_access_type = type;
}


function showElement(el) {
	startLoading();
	document.getElementById(el).style.display = 'block';

	var attributes = {
		opacity: { from: 0, to: 1 },
		width: { from: 0, to: 260, unit: 'px' }
	};

	var finishLoadingNow = function() {
		finishLoading()
	}



	var myAnim = new YAHOO.util.Anim(el, attributes, 0.7);
	myAnim.onComplete.subscribe( finishLoadingNow )
	myAnim.animate();
}

function showElementInline(el) {
	startLoading();
	document.getElementById(el).style.display = 'inline';

	var attributes = {
		opacity: { from: 0, to: 1 },
		width: { from: 0, to: 260, unit: 'px' }
	};

	var finishLoadingNow = function() {
		finishLoading()
	}



	var myAnim = new YAHOO.util.Anim(el, attributes, 0.7);
	myAnim.onComplete.subscribe( finishLoadingNow )
	myAnim.animate();
}


function showElementNoResize(el) {
	startLoading();
	document.getElementById(el).style.display = 'block';

	var attributes = {
		opacity: { from: 0, to: 1 }
	};

	var finishLoadingNow = function() {
		finishLoading()
	}



	var myAnim = new YAHOO.util.Anim(el, attributes, 1.5);
	myAnim.onComplete.subscribe( finishLoadingNow )
	myAnim.animate();
}



function hideElementNoResize(el){
	startLoading();
	var attributes = {

		opacity: { from: 1, to: 0 }
	};

	var finishLoadingNow = function() {
		finishLoading()
	}



	var myAnim = new YAHOO.util.Anim(el, attributes, 1.5);
	myAnim.onComplete.subscribe( finishLoadingNow )


	myAnim.animate()
}

function hideElement(el) {
	startLoading();
	var attributes = {

		opacity: { from: 1, to: 0 },
		width: { from: 300, to: 0, unit: 'px' }
	};

	var finishLoadingNow = function() {
		finishLoading()
	}



	var myAnim = new YAHOO.util.Anim(el, attributes, 0.7);
	myAnim.onComplete.subscribe( finishLoadingNow )


	myAnim.animate()
}


function hideChart(el) {
	startLoading();

	var attributes = {
		opacity: { from: 1, to: 0 },
		height: { from: 300, to: 0, unit: 'px' }
	};

	var finishLoadingNow = function() {
		finishLoading()
		document.getElementById(el).style.display='none';
	}



	var myAnim = new YAHOO.util.Anim(el, attributes, 0.7);
	myAnim.onComplete.subscribe( finishLoadingNow )


	myAnim.animate()
}

function showChart(el) {
	startLoading();
	document.getElementById(el).style.display = 'block';

	var attributes = {
		opacity: { from: 0, to: 1 },
		height: { from: 0, to: 470, unit: 'px' }
	};

	var finishLoadingNow = function() {
		finishLoading()
	}

	var myAnim = new YAHOO.util.Anim(el, attributes, 0.7);
	myAnim.onComplete.subscribe( finishLoadingNow )
	myAnim.animate();
}

function __getUrl(url) {
	var xmlrpc_obj
	try {
		xmlrpc_obj = new XMLHttpRequest;
	} catch(e) {
		try {
			xmlrpc_obj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlrpc_obj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				alert("Your web browser does not support this feature. Please upgrade your web browser.");
			}
		}
	}

	xmlrpc_obj.open("GET", url, false);
	xmlrpc_obj.send(null);
	if (xmlrpc_obj.status == 200)   {
		return xmlrpc_obj.responseText;
	} else {
		return false;
	}
}

function FB_Debug(s){
	try {
		window.console.log(s);
	} catch (ex) {
	}
}

function countrySelectedForSMS(country) {
	document.getElementById("xmlrpc_target_sms_word").style.display = "none";
	var aurl = 'xmlrpc_sms_init?site='+glob_siteid+'&company='+glob_company+'&country=' + country + '&reg=' + glob_option_register;

	var resp = __getUrl(aurl);
	if (! resp) {
		alert("There was an error. Please try again in a few moments.." + aurl);
		return false;
	}

	response_array = new Array();
	response_array	= resp.split("#");
	var word			= response_array[0];
	var word_id 	= response_array[1];
	var keyword 	= response_array[2];
	var icstis 		= response_array[3];
	var shortcode	= response_array[4];
	glob_smsid 		= response_array[5];
	FB_Debug("Setting glob_smsid to " + glob_smsid);
	var cost   		= response_array[6];
	var string_sms_text = response_array[7];
	var string_sms_to   = response_array[8];


	document.getElementById("sms_cost_info").innerHTML = cost;

	strWord = string_sms_text + "<br><b>" + keyword + ' ' +  word + "</b> " + string_sms_to + " <br><b> " + shortcode + "</b>"
	strWord+= "<div id='xmlrpc_target_sms_icstis'>"+icstis+"</div>";

	document.getElementById("xmlrpc_target_sms_word").innerHTML = strWord;

	showElement("sms_step_two");
	showElement("xmlrpc_target_sms_word");
}


function countrySelectedForPRS(country) {
	document.getElementById("xmlrpc_target_prs_number").style.display = "none";
	document.getElementById("xmlrpc_target_prs_pin").style.display = "none";

	var resp = __getUrl('xmlrpc_prs_init?site='+glob_siteid+'&company='+glob_company+'&country=' + country);
	if (! resp) {
		alert("There was an error. Please try again in a few moments.");
		return false;
	}

	response_array = new Array();
	response_array = resp.split("#");

	var country = response_array[0];
	var icstis  = response_array[1];
	var prsno   = response_array[2];
	var prsid   = response_array[3];
	var cost   	= response_array[4];

	var pipe    = new RegExp( '\\|',  'g' );
	icstis 		= icstis.replace(pipe, "#");

	glob_prsid = prsid;
	glob_prs_number = prsno;

	document.getElementById("prs_cost_info").innerHTML = cost;
	document.getElementById("xmlrpc_target_prs_number").innerHTML = prsno
	document.getElementById("xmlrpc_target_prs_pin").innerHTML = prsid
	document.getElementById('xmlrpc_target_prs_icstis').innerHTML = icstis

	showElement("xmlrpc_target_prs_number");
	showElement("xmlrpc_target_prs_pin");
	showElement("prs_step_two");
}

function countrySelectedForCC(country) {
	var resp = __getUrl('xmlrpc_prs_init?site='+glob_siteid+'&company='+glob_company+'&country=' + country);
	if (! resp) {
		alert("There was an error. Please try again in a few moments");
		return false;
	}

	response_array = new Array();
	response_array = resp.split("#");

	var country = response_array[0];


	showElement("cc_step_one");
}

function countrySelectedCheckMethods(country) {
	var resp = __getUrl('xmlrpc_country_change?site='+glob_siteid+'&company='+glob_company+'&country=' + country + '&prs_ddi=' + glob_prs_number);
	if (! resp) {
		alert("There was an error. Please try again in a few moments");
		return false;
	}

	response_array = new Array();
	response_array = resp.split("#");

	var prs 	= response_array[0];
	var sms	= response_array[1];
	var cc 	= response_array[2];

	glob_count_options = 0;

	if (sms == '1') {
		showElement("sms");
		glob_count_options += 1;
	}	else {
		hideElement("sms");
	}

	if (prs == '1') {
		showElement("prs");
		glob_count_options += 1;
	}	else {
		hideElement("prs");
	}

	if (cc == '1') {
		showElement("cc");
		glob_count_options += 1;
	}	else {
		hideElement("cc");
	}
}

function finishLoading() {
	glob_objects_currently_loading--;
	if (glob_objects_currently_loading > 0){
		return false;
	}
	glob_loading = false;
	document.getElementById('loading').style.display='none';
}

function startLoading() {
	glob_objects_currently_loading++;
	if (glob_objects_currently_loading > 1){
		return false;
	}
	glob_loading = true;
	document.getElementById('loading').style.display='inline';
}

function countrySelected() {
	startLoading();

	var country = document.getElementById('xmlrpc_info_country').value
	countrySelectedCheckMethods(country)
	countrySelectedForPRS(country);
	countrySelectedForSMS(country);
	countrySelectedForCC(country);
	setTimeout('finishLoading()', 700);
}


function prsPoll() {
	setTimeout('smsPoll()', 1000);
	if(glob_showing_register == false) {
		if (document.getElementById("prs").style.display == 'none') {
			return false;
		}
	}

	var xmlrpc_obj
	try {
		xmlrpc_obj = new XMLHttpRequest;
	} catch(e) {
		try {
			xmlrpc_obj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlrpc_obj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				alert("Your web browser does not support this feature. Please upgrade your web browser.");
			}
		}
	}

	url = 'xmlrpc_prs_poll?username='+glob_username+'&password='+glob_password+'&site='+glob_siteid+'&pin=' + glob_prsid+"&reg="+glob_option_register
	xmlrpc_obj.open("GET", url, true);
	xmlrpc_obj.send(null);

	xmlrpc_obj.onreadystatechange = function() {
		if (xmlrpc_obj.readyState == 4)   {
			if (xmlrpc_obj.status == 200)   {
				prsPollReturn(xmlrpc_obj.responseText)
			} else {
				setTimeout('prsPoll()', 5000);
			}
		}
	}
}

function update_time_left() {
	if(glob_loading) {
		setTimeout('finishLoading()', 700);
	}

	var resp = __getUrl('xmlrpc_prs_done_time_left?pin='+glob_prsid);
	if(resp.substring(0,2) == 'NO') {
		if(document.getElementById('prs_step_four_innerspan').style.display != 'none') {
			countrySelected();
			document.getElementById('prs_step_four_innerspan').style.display = 'none';
			document.getElementById('prs_step_four').style.display = 'none';
			prsPoll();
		}
	} else if(resp.substring(0,2) == 'AC') { /* They have completely paid. Aint they ace? */
		document.getElementById('prs_step_four_innerspan').innerHTML = resp.substring(2);

		if(glob_access_type == 'after_disconnect_only') {
			if(glob_done_register_innerHTML == false) {
				document.getElementById("register_td").innerHTML = document.getElementById("payment_register").innerHTML;
				glob_done_register_innerHTML = true;
			}
		}
	} else {
		try {
			document.getElementById('cc_td').style.display = 'none';
			document.getElementById('prs_td').style.display = 'none';
			document.getElementById('sms_td').style.display = 'none';
		} catch(e) {

		}

		document.getElementById('prs_step_four_innerspan').innerHTML = resp.substring(2);
		setTimeout('update_time_left()', 3000);
	}
}


function prsPollReturn(resp) {
	var access = resp.substring(0, resp.indexOf('#'));
	var url = resp.substring(resp.indexOf('#')+1);

	registered=true

	/* if this thows an exception it means the parent window has been closed, so we'll have to just have to try to popup */
	try {
		var tmp = window.opener.window
		parent_still_accessible = true
	} catch(ex) {
		parent_still_accessible = false
	}

	if ( (access == 'OK') && (glob_registered) ) {
		setTimeout('update_time_left()', 500);
		if(glob_option_register == 0) {
			window.location.href = url;
		} else {
			if (parent_still_accessible) {
				window.opener.window.location.href = url;
				try{
					window.opener.window.focus()
				} catch(ex){
				}
			} else {
				window.location.href = url;
			}
		}
	} else if (access == 'OK') {
		document.getElementById('xmlrpc_info_country').style.display = 'none';
		if (glob_option_register == 1) {
			setTimeout('prsPoll()', 5000);

			if(glob_showing_register == false) {
				glob_payment_type = 'prs';
				hideElement("prs");
				hideElement("sms");
				hideElement("cc");

				if(glob_access_type != 'after_disconnect_only') {
					document.getElementById("register_td").innerHTML = document.getElementById("payment_register").innerHTML;
				} else { /* If we should only give access once the user has paid entirely, then show the "You have been on phone for X minutes" message. */
					document.getElementById('prs_step_four').style.display = 'block';
					setTimeout('update_time_left()', 3000);
				}
				glob_showing_register = true;
			}
		} else {
			glob_registered = true
			prsPoll();
		}
	} else {
		setTimeout('prsPoll()', 5000);
	}
}



function smsPoll() {
	if(glob_showing_register == false) {
		if (document.getElementById("sms").style.display == 'none') {
			try {
				window.console.log("smsPoll returning false on 509");
			}catch (ex){
			}
			return false;
		}
	}

	if(glob_smsid == 0) {
		try {
			window.console.log("smsPoll returning false on 518");
		}catch (ex){
		}
		return false;
	}

	var xmlrpc_obj
	try {
		xmlrpc_obj = new XMLHttpRequest;
	} catch(e) {
		try {
			xmlrpc_obj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlrpc_obj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				alert("Your web browser does not support this feature. Please upgrade your web browser.");
			}
		}
	}

	url = 'xmlrpc_sms_poll?username='+glob_username+'&password='+glob_password+'&site='+glob_siteid+'&smsid=' + glob_smsid+"&reg="+glob_option_register

	xmlrpc_obj.open("GET", url, true);
	xmlrpc_obj.send(null);

	xmlrpc_obj.onreadystatechange = function() {
		if (xmlrpc_obj.readyState == 4)   {
			if (xmlrpc_obj.status == 200)   {
				smsPollReturn(xmlrpc_obj.responseText)
			} else {
			}
		}
	}
}

function goToCreditCard(){
	document.location.href = glob_credit_card_url;
}


function smsPollReturn(resp) {
	/* if this thows an exception it means the parent window has been closed, so we'll have to just have to try to popup */
	try {
		var tmp = window.opener.window
		parent_still_accessible = true
	} catch(ex) {
		parent_still_accessible = false
	}

	var access = resp.substring(0, resp.indexOf('#'));
	var url = resp.substring(resp.indexOf('#')+1);

	if(access == '02') {
		if(glob_shown_02_alert_before == false) {
			alert('SMS billing is not supported by your network.');
			glob_shown_02_alert_before = true;
		}
	} else if ( (access == 'OK') && (glob_registered) ) {
		window.location.href = url;
	} else if (access == 'OK') {
		document.getElementById('xmlrpc_info_country').style.display = 'none';
		if (glob_option_register == 1) {

			if(glob_showing_register == false) {
				glob_payment_type = 'sms';
				hideElement("prs");
				hideElement("sms");
				hideElement("cc");
				document.getElementById("register_td").innerHTML = document.getElementById("payment_register").innerHTML;
				glob_showing_register = true;
			}
		} else {
			glob_registered = true
			smsPoll();
		}
	} else if(access == 'CONFIRMATION') {
		if(document.getElementById("xmlrpc_target_sms_word").innerHTML != url) {
			document.getElementById("xmlrpc_target_sms_word").innerHTML = url;
			try {

			}catch(er) {

			}
		}
	} else {
	}
}


/*
This function is named badly, but it would take too much work to rename it. its a generic register function for all payment methods
*/


function prs_register_form_submit() {
	/*
	return 'INVALID_USERNAME';
	return 'INVALID_PASSWORD';
	return 'USERNAME_TAKEN';
	return 'USERNAME_TAKEN';
	return 'GENERIC_ERROR';
	return 'OK';
	*/

	var username = document.getElementById('prs_register_user').value
	var password = document.getElementById('prs_register_pass').value

	glob_username = username
	glob_password = password


	/*document.getElementById('table_register_login_container').style.display = "none";*/

	hideElementNoResize('table_register_login_container');
	if(glob_payment_type == 'sms') {
		var pin = glob_smsid;
	} else {
		var pin = glob_prsid;
	}

	var r = __getUrl('xmlrpc_create_user?username=' + username + '&password=' + password + '&site='+glob_siteid + '&payment_type=' + glob_payment_type + '&pin=' + pin)
	switch(r) {
		case 'INVALID_USERNAME':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("This username is invalid. It must be between 3 and 30 characters");
		return false;
		break;
		case 'INVALID_PASSWORD':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("Your password is invalid. It must be at least 3 characters long.");
		return false;
		break;
		case 'USERNAME_TAKEN':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("The username you entered is already taken");
		return false;
		break;
		case 'INCOMPLETE_PAYMENT':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("Please complete your payment before registering");
		return false;
		break;
		case '':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("We could not create your account at this time due to an unknown error. Please try again in a moment.");
		return false;
		case 'GENERIC_ERROR':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("We could not create your account at this time due to an unknown system error. Please try again in a moment.");
		return false;
		break;
		case 'OK':
		glob_registered = true;
		if(glob_access_type == 'after_disconnect_only' && glob_payment_type == 'prs') {
			prsPoll();
		} else {
			showElement("prs_step_four");
			showElement("prs_step_four_innerspan");
		}
		return true;
		break;
	}
}


/*
This function is named badly, but it would take too much work to rename it. its a generic login function for all payment methods
*/
function prs_login_form_submit() {
	/*
	return 'INVALID_AUTH';
	return 'GENERIC_ERROR';
	return 'OK';
	*/
	startLoading();
	var username = document.getElementById('prs_login_user').value
	var password = document.getElementById('prs_login_pass').value

	glob_username = username
	glob_password = password


	hideElementNoResize('table_register_login_container');

	if(glob_payment_type == 'sms') {
		var pin = glob_smsid;
	} else {
		var pin = glob_prsid;
	}

	var r = __getUrl('xmlrpc_auth_user?username=' + username + '&password=' + password + '&site='+glob_siteid+"&payment_method="+glob_payment_type)

	switch(r) {
		case 'INVALID_AUTH':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("Your login details were invalid");
		return false;
		break;
		case 'GENERIC_ERROR':
		case '':
		setTimeout('finishLoading()', 700);
		showElementNoResize('table_register_login_container');
		alert("We could not attempt to log you into your account at this time due to an unknown error. Please try again in a moment.");
		return false;
		break;
		case 'OK':
		glob_registered = true;
		if(glob_access_type == 'after_disconnect_only' && glob_payment_type == 'prs') {
			prsPoll();
		} else {
			showElement("prs_step_four");
			showElement("prs_step_four_innerspan");
		}
		return true;
		break;
	}

	/* Unrecognised response */
	showElementNoResize('table_register_login_container');
	alert("Unrecognised response: " + r);
}













/**
Dont read this next bit, you'll regret it.
*/

function set_total_encapsulation_top(){
	if (screen.height >= 1024){
		document.getElementById("total_encapsulation").style.marginTop = 100;
	}
}

function showTotalEncapsulation(){
	document.getElementById('total_encapsulation').style.display = 'block';
}

window.onload = function() {


	var startedLoading = function() {
		setTimeout('showTotalEncapsulation()', 30);
		if (glob_is_payment_page){
			countrySelected();
		}

	}

	var finishedLoading = function(){
		if (glob_is_payment_page){
			setTimeout('prsPoll()', 5000);
		}
	}

	var finishedLoadingLoading = function(){
		document.getElementById('big_pre_page_loading').style.display = 'none'
	}

	var loadingAttributes = {
		opacity: { from: 1, to: 0 }
	};
	var loadingAnim = new YAHOO.util.Anim('big_pre_page_loading', loadingAttributes, 0.2);
	loadingAnim.onComplete.subscribe( finishedLoadingLoading )
	loadingAnim.animate();

	var attributes = {
		opacity: { from: 0, to: 1 }
	};
	var myAnim = new YAHOO.util.Anim('total_encapsulation', attributes, 0.1);
	myAnim.onStart.subscribe( startedLoading )
	myAnim.onComplete.subscribe( finishedLoading )
	myAnim.animate();
	hideElement('big_pre_page_loading');


}

/**
Ok, its safe to look again
*/

















/** Zone Edit Stuff */

function urlencode(str) {
	str = escape(str);
	str = str.replace('+', '%2B');
	str = str.replace('%20', '+');
	str = str.replace('*', '%2A');
	str = str.replace('/', '%2F');
	str = str.replace('@', '%40');
	return str;
}

var glob_old_data;

function updateZoneEditProperty(el, counter){
	var oldc = el.style.backgroundColor

	sp 	= new Array();
	sp 	= el.name.split("_");
	zone  = urlencode(sp[0]);
	prop  = urlencode(sp[1]);
	val	= urlencode(el.value);

	url 	= 'xmlrpc_set_property?zone='+zone+'&prop='+prop+'&val='+val;
	r 		= __getUrl(url);


	if (r == 'LOGIN'){
		document.location.href = 'account?session=expired'
		return true;
	} else if (r == "RELOAD"){
		document.getElementById('saving_input_counter_' + counter).innerHTML = 'Loading....'
		document.location.reload();
	} else if (r != "YES"){
		alert(r);
	} else {
		document.getElementById('saving_input_counter_' + counter).innerHTML = 'Your changes have been saved'
		showElementNoResize('saving_input_counter_' + counter);
		hideElementNoResize(el.id);
	}


	showElementNoResize(el.id);
}

function updateZoneEditFeature(el, counter){
	var oldc = el.style.backgroundColor

	document.getElementById('saving_input_counter_' + counter).innerHTML = 'Your changes have been saved'
	showElementNoResize('saving_input_counter_' + counter);
	hideElementNoResize(el.id);

	sp 	= new Array();
	sp 	= el.name.split("_");
	zone  = urlencode(sp[0]);
	prop  = urlencode(sp[1]);
	val	= urlencode(el.value);

	url 	= 'xmlrpc_set_feature?zone='+zone+'&prop='+prop+'&val='+val;
	r 		= __getUrl(url);



	if (r == 'LOGIN'){
		document.location.href = 'account?session=expired'
		return true;
	} else if (r != "YES"){
		alert(r);
	}


	showElementNoResize(el.id);
}


function updateTubeCashVideosProperty(el, counter){
	var oldc = el.style.backgroundColor

	sp 	= new Array();
	sp 	= el.name.split("_");
	video  = urlencode(sp[0]);
	prop  = urlencode(sp[1]);
	val	= urlencode(el.value);

	url 	= 'xmlrpc_set_tubecash_video_property?video='+video+'&prop='+prop+'&val='+val;
	r 		= __getUrl(url);


	if (r == 'LOGIN'){
		document.location.href = 'account?session=expired'
		return true;
	} else if (r != "YES"){
		alert(r);
	} else {
		document.getElementById('saving_input_counter_' + counter).innerHTML = 'Your changes have been saved'
		showElementNoResize('saving_input_counter_' + counter);
		hideElementNoResize(el.id);
	}


	showElementNoResize(el.id);
}





function zoneEditUpdateCost(costtype, el, counter, minutes){
	var oldc = el.style.backgroundColor

	document.getElementById('saving_input_counter_' + counter).innerHTML = 'Your changes have been saved'
	showElementNoResize('saving_input_counter_' + counter);
	hideElementNoResize(el.id);

	sp 	= new Array();
	sp 	= el.name.split("_");
	zone  = urlencode(sp[0]);
	prop  = urlencode(sp[1]);
	val	= urlencode(el.value);

	url 	= 'xmlrpc_set_cost?zone='+zone+'&prop='+prop+'&val='+val+'&type='+costtype+'&minutes=' + minutes;
	r 		= __getUrl(url);



	if (r == 'LOGIN'){
		document.location.href = 'account?session=expired'
		return true;
	} else if (r != "YES"){
		alert(r);
	}


	showElementNoResize(el.id);
}


/**
Zone Editor country stuff:
*/


function zone_country_select_hover(el){
	var orig_class = document.getElementById(el).orig_class
	if (orig_class == 'zone_country_select_add'){
		document.getElementById(el).className='zone_country_select_add_hover'
	} else {
		document.getElementById(el).className='zone_country_select_del_hover'
	}
}

function zone_country_select_unhover(el){
	var orig_class = document.getElementById(el).orig_class
	document.getElementById(el).className = orig_class
}

function zone_country_select_do_add(el){
	startLoading();
	var cid = document.getElementById(el).countryid
	var r = __getUrl('xmlrpc_add_country?countryid='+cid+'&siteid='+glob_siteid);
	if (r != 'YES'){
		alert("There was an error");
		return false;
	}


	document.getElementById(el).orig_class 	= 'zone_country_select_del'
	document.getElementById(el).state		 	= 'on';
	document.getElementById(el).className 		= document.getElementById(el).orig_class
	setTimeout('finishLoading()', 500);
}

function zone_country_select_do_del(el){
	startLoading();
	var cid = document.getElementById(el).countryid
	var url = 'xmlrpc_del_country?countryid='+cid+'&siteid='+glob_siteid
	var r = __getUrl(url);
	if (r != 'YES'){
		alert("There was an error");
		return false;
	}

	document.getElementById(el).orig_class 	= 'zone_country_select_add'
	document.getElementById(el).state		 	= 'off';
	document.getElementById(el).className 		= document.getElementById(el).orig_class
	setTimeout('finishLoading()', 500);
}

function zone_country_select_do_switch(el){
	var state = document.getElementById(el).state;
	if (state == 'on'){
		zone_country_select_do_del(el);
	} else {
		zone_country_select_do_add(el);
	}
}


/* ACCOUNT PREFERENCES */

function updateAccountPreferenceProperty(el, counter){
	var oldc = el.style.backgroundColor

	sp 	= new Array();
	sp 	= el.name.split("_");
	zone  = urlencode(sp[0]);
	prop  = urlencode(sp[1]);
	val	= urlencode(el.value);

	url 	= 'xmlrpc_set_account_p?prop='+prop+'&val='+val;
	r 		= __getUrl(url);


	if (r == 'LOGIN'){
		document.location.href = 'account?session=expired'
		return true;
	} else if (r != "YES"){
		alert(r);
	} else {
		document.getElementById('saving_input_counter_' + counter).innerHTML = 'Your changes have been saved'
		showElementNoResize('saving_input_counter_' + counter);
		hideElementNoResize(el.id);
	}


	showElementNoResize(el.id);
}



function HelpPopupShowZoneEdit(counter) {
	document.getElementById("saving_input_counter_" + counter).innerHTML = document.getElementById("help_text_" + counter ).innerHTML;
	showElementInline("saving_input_counter_" + counter)
}

function HelpPopupHideZoneEdit(counter) {
	hideElement("saving_input_counter_" + counter)
}






function HelpPopupShowTubeCashVideos(counter) {
	document.getElementById("saving_input_counter_" + counter).innerHTML = document.getElementById("help_text_" + counter ).innerHTML;
	showElementInline("saving_input_counter_" + counter)
}

function HelpPopupHideTubeCashVideos(counter) {
	hideElement("saving_input_counter_" + counter)
}



/*function HelpPopupShow(this, \"help_text_{$counter}\")*/

/*
In this function, you pass a reference to an element (usually 'this') for where you want to show the help popup, and the *NAME* of an element which contains the help text in its innerHTML
*/
function HelpPopupShowString(txt, width){
	var help = document.getElementById("help_text")

	help.innerHTML = txt
	help.style.position = 'absolute';
	help.style.top 	= mouse_Y + "px"
	help.style.left 	= (mouse_X+15) + "px"
	help.style.width	= width + 'px'
	help.style.display = 'inline';
}

function HelpPopupShow(text_element, width){
	var txt 	= document.getElementById(text_element).innerHTML
	HelpPopupShowString(txt, width)
}



function HelpPopupHide(){
	document.getElementById("help_text").style.display = 'none';
}




/* The YUI mouse positioning stuff */
/*
You need to include:
<script src="yui/build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script src="yui/build/event/event.js"></script>

*/

var mouse_X = 0;
var mouse_Y = 0;



var UpdateMouseCoords = function (e) {
	/*document.write("HELLO");*/
	var xy = YAHOO.util.Event.getXY(e)
	mouse_X = xy[0];
	mouse_Y = xy[1];

}
YAHOO.util.Event.addListener('body', "mousemove", UpdateMouseCoords);

/* End of YUI mouse positioning stuff */
