/***************************************************
*pld_cms.js       V1.0 28_9_05_05                  *
*         COPYRIGHT www.pldproductions.com         *
*      May not be used copied or reproduced        *
*        without written permission                *
***************************************************/

function formcheck_pwd(){
form_username=document.log_in.username;
form_password=document.log_in.password;
if(form_username.value==""){
alert("Please complete the username field before attempting log in");
form_username.focus();
return false;
}
if(form_password.value==""){
alert("Please complete the password field before attempting log in");
form_password.focus();
return false;
}
}

function formcheck_blank(formname){
regExpURL=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
form_element=eval("document.forms[formname]");
elements_len=form_element.elements.length;
counter=0;
while(counter<elements_len){
if(form_element.elements[counter].value==""){
alert("Please complete the field to proceed");
form_element.elements[counter].focus();
form_element.elements[counter].style.backgroundColor="#FFE79D";
return false;
}
if(form_element.elements[counter].name=="e_mail_in" || form_element.elements[counter].name=="retype_e_mail_in"){
if(!regExpURL.test(form_element.elements[counter].value)){
alert("The e-mail address entered is not valid, please correct.");
form_element.elements[counter].focus();
form_element.elements[counter].select();
return false;
}
if(form_element.elements["e_mail_in"].value != form_element.elements["retype_e_mail_in"].value){
alert("Your e-mail address must appear in both e-mail fields and be exactly the same to proceed");
form_element.elements["e_mail_in"].focus();
form_element.elements["e_mail_in"].select();
return false;
}
}
if(form_element.elements[counter].name=="password_in"){
pass_len=form_element.elements["password_in"].value;
if(pass_len.length<6 || pass_len.length>8){
alert("Your password must be between 6 and 8 characters in length");
form_element.elements["password_in"].focus();
return false;
}
regExpPass=/^[\w]+$/;;
if(!regExpPass.test(pass_len)){
alert("Please use only alphanumeric characters in your password");
form_element.elements["password_in"].focus();
form_element.elements["password_in"].select();
return false;
}
}
if(form_element.elements[counter].name=="terms"){
  if (form_element.elements[counter].checked != 1){
	alert("You must accept the terms and conditions to proceed");
	form_element.elements[counter].focus();
	form_element.elements[counter].select();  
	return false;
  }

}//end if terms 
counter++;
}
}

/* configured formcheck - you must pass a list of fields to include in the check as follows: first_name|last_name etc */
function formcheck_configured(formname,check_fields){
field_arr=check_fields.split('|');
field_arr_len=field_arr.length;
//alert(field_arr_len);
regExpNUM=/^[\d]+\.[\d][\d]$/;
regExpURL=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
form_element=eval("document.forms[formname]");
elements_len=form_element.elements.length;
counter=0;
while(counter<field_arr_len){
if(form_element.elements[field_arr[counter]].value==""){
alert("Please complete the field to proceed");
form_element.elements[field_arr[counter]].focus();
form_element.elements[field_arr[counter]].style.backgroundColor="#FFE79D";
return false;
}

if(form_element.elements[field_arr[counter]].name=="eb_cost" && !regExpNUM.test(form_element.elements[field_arr[counter]].value)){
alert("The input should be numeric to two decimal places e.g 10.50 or 9.22 not 1 or 9.999, please correct.");
form_element.elements[field_arr[counter]].focus();
form_element.elements[field_arr[counter]].select();
return false;
}

if(form_element.elements[field_arr[counter]].name=="full_cost" && !regExpNUM.test(form_element.elements[field_arr[counter]].value)){
alert("The input should be numeric to two decimal places e.g 10.50 or 9.22 not 1 or 9.999, please correct.");
form_element.elements[field_arr[counter]].focus();
form_element.elements[field_arr[counter]].select();
return false;
}

if(form_element.elements[field_arr[counter]].name=="e_mail_in" || form_element.elements[field_arr[counter]].name=="retype_e_mail_in"){
if(!regExpURL.test(form_element.elements[field_arr[counter]].value)){
alert("The e-mail address entered is not valid, please correct.");
form_element.elements[field_arr[counter]].focus();
form_element.elements[field_arr[counter]].select();
return false;
}
if(form_element.elements["e_mail_in"].value != form_element.elements["retype_e_mail_in"].value){
alert("Your e-mail address must appear in both e-mail fields and be exactly the same to proceed");
form_element.elements["e_mail_in"].focus();
form_element.elements["e_mail_in"].select();
return false;
}
}

if(form_element.elements[field_arr[counter]].name=="password"){
pass_len=form_element.elements["password"].value;
if(pass_len.length<6 || pass_len.length>8){
alert("Your password must be between 6 and 8 characters in length");
form_element.elements["password"].focus();
return false;
}
regExpPass=/^[\w]+$/;;
if(!regExpPass.test(pass_len)){
alert("Please use only alphanumeric characters in your password");
form_element.elements["password"].focus();
form_element.elements["password"].select();
return false;
}
}


if(form_element.elements[field_arr[counter]].name=="terms"){
  if (form_element.elements[field_arr[counter]].checked != 1){
	alert("You must accept the terms and conditions to proceed");
	form_element.elements[field_arr[counter]].focus();
	form_element.elements[field_arr[counter]].select();  
	return false;
  }

}//end if terms 
counter++;
}
}




function formcheck_blank_admin(formname){
regExpURL=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
form_element=eval("document.forms[formname]");
elements_len=form_element.elements.length;
counter=0;
while(counter<elements_len){
if(form_element.elements[counter].value==""){
alert("Please complete the field to proceed");
form_element.elements[counter].focus();
form_element.elements[counter].style.backgroundColor="#FFE79D";
return false;
}
if(form_element.elements[counter].name=="e_mail_in"){
if(!regExpURL.test(form_element.elements[counter].value)){
alert("The e-mail address entered is not valid, please correct.");
form_element.elements[counter].focus();
form_element.elements[counter].select();
return false;
}
}
if(form_element.elements[counter].name=="password"){
pass_len=form_element.elements["password"].value;
if(pass_len.length<6 || pass_len.length>8){
alert("Your password must be between 6 and 8 characters in length");
form_element.elements["password"].focus();
return false;
}
regExpPass=/^[\w]+$/;;
if(!regExpPass.test(pass_len)){
alert("Please use only alphanumeric characters in your password");
form_element.elements["password"].focus();
return false;
}
}
counter++;
}
}

function pageSet(page,width,height){
var scr;
scr=screen.width;
posWinL=(scr/2)-(width/2)+"px";
var newWindow;
newWindow=window.open(page,"newWin","width="+width+",height="+height+",left="+posWinL+",top=60px,resizable=no,scrollbars=no");
}

function pageSet_help(page,width,height){
var scr;
scr=screen.width;
posWinL=(scr/2)-(width/2)+"px";
var newWindow;
newWindow=window.open(page,"newWin","width="+width+",height="+height+",left="+posWinL+",top=120px,resizable=yes,scrollbars=yes");
}

function closer(){
window.close();
}

function form_refocus(){
refocus=document.forms[0].submit;
refocus.focus();
}

function check_menu_order(formname){
form_element=eval("document."+formname);
elements_len=form_element.elements.length;
var el_count=new Array(elements_len);
var el_tally=new Array(elements_len);
co=0;
while(co<elements_len){
el_count[co]=form_element.elements[co].value;
el_tally[co]=0;
co++;
}
counter=0;
while(counter<elements_len){
i=0;
while(i<elements_len){

if(form_element.elements[counter].value==el_count[i]){
el_tally[counter]++;
if(el_tally[counter]>1){
alert("You have more than one menu item with the number "+form_element.elements[counter].value+" allocated. Please correct.");
form_element.elements[counter].focus();
return false;
}
}
i++;
}
counter++;
}
}

function confirm_delete(){
if(confirm("Are you sure you wish to proceed with the deletion? There will be no way to \"undo\" this action")){
return true;
}
else{
return false;
}
}

function confirm_mail(){
if(confirm("Are you sure you wish to send the e-mail to all recipients?\n\nClick \"OK\" to proceed and \"Cancel\" to stop")){
pageSet('mail_send.php?',500,400);
}
else{
return false;
}
}

function set_target(){

}

function trigger(){
setTimeout("status_bar()",4*1000);
}

function status_bar(){
window.location.reload(true);
window.parent.send.location.reload(true);
}

function form_transfer(in_field_name,out_field_name){
out_field=eval("document.retailer."+out_field_name);
in_field=eval("document.retailer."+in_field_name);
out_field.value=in_field.value;
}

function formcheck_blank_products(formname){
form_element=eval("document.forms[formname]");
elements_len=form_element.elements.length;
counter=0;
while(counter<elements_len){
if(form_element.elements[counter].value=="" || form_element.elements[counter].value==0){
alert("Please add a number to proceed");
form_element.elements[counter].focus();
form_element.elements[counter].style.backgroundColor="yellow";
return false;
}
regExpPass=/^[\d]+$/;;
quantity_val=form_element.elements["quantity"].value;
if(!regExpPass.test(quantity_val)){
alert("Please use only numeric characters to select products");
form_element.elements[counter].focus();
form_element.elements[counter].style.backgroundColor="yellow";
return false;
}
counter++;
}
}



function formcheck_shipping(formname){
regExpNUM=/^[\d]+\.[\d][\d]$/;
form_element=eval("document.forms[formname]");
elements_len=form_element.elements.length;
counter=0;
while(counter<elements_len){
if(form_element.elements[counter].value==""){
alert("Please complete the field to proceed");
form_element.elements[counter].focus();
form_element.elements[counter].style.backgroundColor="#FFE79D";
return false;
}
if(!regExpNUM.test(form_element.elements[counter].value) 
&& form_element.elements[counter].name!="speed"
&& form_element.elements[counter].name!="function"
&& form_element.elements[counter].value!="update"
&& form_element.elements[counter].name!="id"
&& form_element.elements[counter].value!="reset"
&& form_element.elements[counter].name!="zone"
&& form_element.elements[counter].value!="create"
){
alert("The input should be numeric to two decimal places e.g 10.50 or 9.22 not 1 or 9.999, please correct.");
form_element.elements[counter].focus();
form_element.elements[counter].select();
return false;
}
counter++;
}
}

/*formcheck for mixed currency and other input defined by fieldname extensions (see layout.class)*/
function formcheck_mixed(formname){
form_element=eval("document.forms[formname]");
elements_len=form_element.elements.length;
counter=0;
	while(counter<elements_len){
		if(form_element.elements[counter].value==""
		&& form_element.elements[counter].name!="submit"
		 && form_element.elements[counter].name!="destination"
		  && form_element.elements[counter].name!="table"){
			alert("Please complete the field to proceed");
			form_element.elements[counter].focus();
			form_element.elements[counter].style.backgroundColor="#FFE79D";
			return false;
		}
		field_name_len=form_element.elements[counter].name.length;
		field_indicator=form_element.elements[counter].name.substring(field_name_len-3);
		if(field_indicator=="_de" && !regExpNUM.test(form_element.elements[counter].value)){
			alert("The input should be numeric to two decimal places e.g 10.50 or 9.22 not 1 or 9.999, please correct.");
			form_element.elements[counter].focus();
			form_element.elements[counter].select();
			return false;
		}
	counter++;
	}
}

/*preload menu images*/
nav_1_up=new Image(120,17);
nav_1_up.src="images/buttons/log_in_but.gif";
nav_1_down=new Image(120,17);
nav_1_down.src="images/buttons/log_in_over_but.gif";
nav_2_up=new Image(120,17);
nav_2_up.src="images/buttons/register_but.gif";
nav_2_down=new Image(120,17);
nav_2_down.src="images/buttons/register_over_but.gif";
nav_3_up=new Image(120,17);
nav_3_up.src="images/buttons/site_map_but.gif";
nav_3_down=new Image(120,17);
nav_3_down.src="images/buttons/site_map_over_but.gif";


/* Image swapper */
function swapImg(homePic, imgNam){
swapper=document.images[homePic];
swapper.src=imgNam.src;
}


function display_closer(){
window.opener.location.reload();
window.close();
}

var scr;
scr=screen.width;
var scrh;
scrh= screen.height;

function pageSet(page,wid,hei){
var posWinL;
var posWinT;
posWinL=(scr/2)-(wid/2)+"px";
if(wid==scr){wid=(scr-10);}
wid=wid+"px";
hei=(hei-100)+"px";
posWinT=eval(scrh-((scrh*90)/100))+"px";
var newWindow;
newWindow=window.open(page,"newpage","width="+wid+",height="+hei+",left="+posWinL+",top="+posWinT+",resizable=yes,scrollbars=yes");
}


/* scrolling text */

		var contTest;
		contTest=1;
		var tester;
		var charcache;
		charcache="";
		var counter;
		tester=content.length;
		var chars;
		chars = new Array();
		var counter2;
		counter2=0;
		var spacer;
		spacer="_";
		var charcachespacer;
		charchachespacer="";
		var status;
		status=0;
		var lengthArray;
		lengthArray=0;
		


	function makeArray(){
		counter=0;
		while(counter<(tester+1)){
		chars[counter]=content.charAt(counter);
		counter++;
		}
	}

	function printer(){
		if (status==0){status=1;}else if(status==1){status=0;}
		ticktext=document.getElementById("ticker");
		if(counter2<(tester+1)){
		newchar=chars[counter2];
		charcachespacer=charcache+spacer;
		charcache=charcache+newchar;
		if(counter2==tester){
		status=0;
		setTimeout("cleaner()",2*1000);
		}
		if(status==0){
		//ticktext.style.color="black";
		ticktext.firstChild.nodeValue=charcache;
		}else{
		//ticktext.style.color="red";
		ticktext.firstChild.nodeValue=charcachespacer;
		}
		counter2++;
		}
	}


	function ticker(){
		makeArray();
		timer();
	}

	function trigger(){
		test=setInterval("printer()",100);
	}

	function cleaner(){
		clearInterval(test);
		ticktext=document.getElementById("ticker");
		ticktext.firstChild.nodeValue="";
		if(contTest==0){contTest=1}else{contTest=0;}
		if(contTest==0){
		content=text1;
		}else{
		content=text2;
		}
		tester=0;
		charcache="";
		chars = null;
		chars = new Array();
		counter2=0;
		spacer="_";
		charchachespacer="";
		status=0;
		lengthArray=0;
		tester=content.length;
		ticker();
	}

	function timer(){
		ticktext=document.getElementById("ticker");
		ticktext.style.color="black";
		ticktext.firstChild.nodeValue=initial_content;
		setTimeout("trigger()",3*1000);
		
	}
	
	
	
	/* end scrolling text */
	
function printpage() {
window.print();  
}

//alert(days_attending);

function calculate_charge(originating_element){
gst_rate=5;//set GST rate with this var expressed as a percentage
gst=document.getElementById("gst_output");
total=document.getElementById("tot");
gst_pass=document.forms["this_form"].gst;
total_out=document.forms["this_form"].total_cost;
tables=document.forms["this_form"].pass_tables_required;
tables_out=document.forms["this_form"].tables_required;
days_attending=document.forms["this_form"].days_attending;
actual_cost=document.forms["this_form"].actual_cost;
cost=document.getElementById("cost_output");
//alert(document.getElementById("cost_output").nodeType);

tables_val=tables.value;
tables_arr=tables_val.split("|");
days=days_attending.value;
if(originating_element=="tables_required"){
	if(days==""){
		cost.firstChild.nodeValue="Please select a number of days";
		return;
	}
	else{
	result=convert(tables_arr[0]*days);
	cost.firstChild.nodeValue=result;
	result_gst=convert(result/100*gst_rate);
	gst.firstChild.nodeValue=result_gst;
	gst_pass.value=result_gst;
	actual_cost.value=result;
	tables_out.value=tables_arr[1];
	total_pass=convert(parseFloat(result)+parseFloat(result_gst));
	total.firstChild.nodeValue=total_pass;
	total_out.value=total_pass;
	return;
	}
}
if(originating_element=="days_attending"){
	if(tables_val==""){
		cost.firstChild.nodeValue="Please select a number of tables";
		return;
	}
	else{
	result=convert(tables_arr[0]*days);
	cost.firstChild.nodeValue=result;
	result_gst=convert(result/100*5);
	gst.firstChild.nodeValue=result_gst;
	gst_pass.value=result_gst;
	actual_cost.value=result;
	tables_out.value=tables_arr[1];
	total_pass=convert(parseFloat(result)+parseFloat(result_gst));
	total.firstChild.nodeValue=total_pass;
	total_out.value=total_pass;
	return;
	}
}


}//end of function




/*OOOOOO                 ROUND UP FOR CURRENCY DECIMAL PLACES                    OOOOOO
**************************************************************************************/
function roundNum(origNum){
origNum=eval(origNum);
secNum=Math.abs((Math.round(origNum*100)/100));
thisNum=""+secNum;
if (thisNum.indexOf(".")==-1){
thisNum+=".00";
}
first=thisNum.substr(0,thisNum.indexOf("."));
second=thisNum.substr(thisNum.indexOf("."));
while (second.length<3){
second+="0";
}
finalVal=first+second; 
return finalVal;
}

function convert(pass){
var pointNum=new String(pass);
decNum=pointNum.indexOf(".");
if (decNum<1){
outPut=pass+".00";
return outPut;
}
if(pointNum>0){
myArray=pointNum.split(".");
if (myArray[1].length==1){
outPut=pass+"0";
return outPut;
}if(myArray[1].length==2){
outPut=pass;
return outPut;
}if(myArray[1].length>2){
fullStr=myArray[1];
partStr=fullStr.substring(0,2);
outPut=myArray[0]+"."+partStr;
return outPut;
}
}
}

