
	
/* Login Page functions */
function form_login(frm) {	
	if(!ValidateField(frm.username, "text", "Please enter your username."))
		return false;
	if(!ValidateField(frm.password, "text", "Please enter your password."))
		return false;
	return true;
}

function form_passwordRetrieve(frm) {	
	if(!ValidateField(frm.username, "text", "Please enter your Booking number / Username."))
		return false;
	if(!ValidateField(frm.email, "email", "Please enter your email address."))
		return false;
	return true;
}


/* Common Useradmin Functions */

currentObjId = 0;
function toggleSubMenu(objId) {
	obj = document.getElementById('sub_' + objId);
	currentObj = document.getElementById('sub_' + currentObjId);
	
	if (currentObj) {
		if (currentObj.style.display == 'none') {
			currentObj.style.display = '';
			document.getElementById('img_' + currentObjId).src = 'images/icons/list_minus.gif';
		}
		else {
			currentObj.style.display = 'none';
			document.getElementById('img_' + currentObjId).src = 'images/icons/list_plus.gif';
		}
	}

	if (obj.style.display == 'none') {
		obj.style.display = '';
		document.getElementById('img_' + objId).src = 'images/icons/list_minus.gif';
	}
	else {
		obj.style.display = 'none';
		document.getElementById('img_' + objId).src = 'images/icons/list_plus.gif';
	}

	currentObjId = objId;
}


function openReport(path) {
	var newwin = window.open(path,'reportWin','top=0,left=0,height=600,width=800,resizable=yes,scrollbars=yes,status=yes,menubar=yes,dependent=yes');
	newwin.focus();
}

function openReportWithMenuBar(path) {
	var newwin = window.open(path,'reportWin','top=0,left=0,height=600,width=800,resizable=yes,scrollbars=yes,status=yes,dependent=yes');
	newwin.focus();
}

checkallconfirmed_value = true;

function checkallconfirmed() {
	boxarray = document.getElementsByName('bookingitems');			
	for (i=0; i < boxarray.length; i++) {
		if (boxarray[i].checked != checkallconfirmed_value)
			boxarray[i].click();
	}
	checkallconfirmed_value = !checkallconfirmed_value;
}		



// Refunds Section

function refundClick(obj, amount, ischeckbox) {
	refundfld = document.getElementById('refunditemstotal');
	currentrefund = parseFloat(refundfld.innerHTML);
	totalfld = document.getElementById('totalrefund');
	currenttotal = parseFloat(totalfld.innerHTML);
	
	if (ischeckbox) {
		// checking booking item
		if (obj.checked == true) {
			currentrefund += parseFloat(amount);
			currenttotal += parseFloat(amount);
		}
		// unchecking booking item
		else {
			currentrefund -= parseFloat(amount);
			currenttotal -= parseFloat(amount);
		}
	}
	else {
		cancelfee = parseFloat(document.getElementsByName('cancellationfee')[0].value);
		merchfee = parseFloat(document.getElementsByName('merchantfee')[0].value);
		bnkfee = parseFloat(document.getElementsByName('bankfee')[0].value);
		
		//changed to allow 3rd pf option of organisor to refund by cheque
		if (document.getElementsByName('processingfee')[0].value == 'nofee') {
			currenttotal = currentrefund - cancelfee - merchfee - bnkfee;
			document.getElementsByName('processingfee')[0].value = 'nofee';
			document.getElementById('clientpays').style.display = 'none';
			document.getElementById('organisorpays').style.display = 'none';
			document.getElementById('organisorrefund').style.display = 'block';
		}
		else
		{
			processfee = parseFloat(document.getElementsByName('processingfee')[0].value);
			currenttotal = currentrefund - cancelfee - merchfee - bnkfee - processfee;
			document.getElementsByName('processingfee')[0].value = formatCurrency(processfee);
			document.getElementById('organisorrefund').style.display = 'none';
			if (processfee > 0) {
			document.getElementById('clientpays').style.display = 'block';
			document.getElementById('organisorpays').style.display = 'none';
			document.getElementById('organisorrefund').style.display = 'none';			}
			else
			{
			document.getElementById('clientpays').style.display = 'none';
			document.getElementById('organisorpays').style.display = 'block';
			document.getElementById('organisorrefund').style.display = 'none';
			}
		}

		document.getElementsByName('cancellationfee')[0].value = formatCurrency(cancelfee);
		document.getElementsByName('merchantfee')[0].value = formatCurrency(merchfee);
		document.getElementsByName('bankfee')[0].value = formatCurrency(bnkfee);
		

 
	}
	
	refundfld.innerHTML = formatCurrency(currentrefund);
	totalfld.innerHTML = formatCurrency(currenttotal);
}

function form_refunds(frm) {
	refundfld = document.getElementById('refunditemstotal');
	currentrefund = parseFloat(refundfld.innerHTML);
	totalfld = document.getElementById('totalrefund');
	currenttotal = parseFloat(totalfld.innerHTML);
	
	if (!ValidateField(frm.bookingitems, "checks", "Please select at least one booking item to refund."))
		return false;
	
	if (currenttotal < 0) {
		alert('The fees you have entered are greater than the total amount to be refunded. Please adjust your fees and try again.');
		return false;
	}
	
	return true;
}

// used to format strings to 2 decimal places, with commas as thousand separators
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if (isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if (cents < 10)
		cents = "0" + cents;
	return (((sign)?'':'-') + num + '.' + cents);
}
// ^NLS 20100323 this bit of code is in several js files and needs to be put in one only, and with correct style code
// display should never be an empty string! And 2nd var is redundant?
function toggledisplay(fld, img) {

	if (fld.style.display == 'block') {
		fld.style.display = 'none';
	}
	else {
		fld.style.display = 'block';
	}
}

function toggleDisplayArea(fld) {

	if (fld.style.display != 'none') {
		fld.style.display = 'none';
	}
	else {
		fld.style.display = 'compact';
	}
}	

function ToggleSearch(obj){
	obj = document.getElementById(obj);
	if(obj.style.display == "none") obj.style.display = "block";
	else obj.style.display = "none";
}

function validateEarlyBirdDate(regid) {
	obj = document.getElementById('regcategory_dateearlybird_' + regid);
	obj2= document.getElementById('regcategory_allowearlybird_'+ regid);
	myvalue= obj.value;
	myvalue2= obj2.checked;
		//alert(myvalue2);
		if ((myvalue == 0) && (myvalue2)) {
					alert('You need to enter a date for the Early Bird using the Calendar Tool alongside');
					obj.focus();
					return false;
				} else {
					return true;
			}
}

function showColourSchemeAlert() {
	if(document.getElementById('conference_usecolourscheme').checked)
	alert("IMPORTANT INFORMATION!: Once you save this page with this option ticked,\n there are several things you must do for the new layout to work correctly:\n\t1. You may wish to modify the new banner which displays throughout the booking process.\n\t2. The  landing page no longer requires any banner at the top, just information about the conference.\n\t3. Your colour scheme will be the default, you may wish to change it.\n\t5. Check all your booking items, our new form allows for more on page instructions.\n\t5. MOST IMPORTANTLY: TEST, TEST and TEST! Make sure each page of the booking form is working.");
}
