function FP_preloadImgs() {//v1.0
 var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
 for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}

function FP_swapImg() {//v1.0
 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length;
 n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm;
 elm.$src=elm.src; elm.src=args[n+1]; } }
}

function FP_getObjectByID(id,o) {//v1.0
 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
 else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
 if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
 for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
 f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
 for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
 return null;
}

var totalsArray = new Object();

function validateForm( form ){
	
   // see http://www.thesitewizard.com/archive/validation.shtml
  // for an explanation of this script and how to use it on your
  // own website

  // ** START **
  if (form.PayerEMail.value == "" && ForcePayerEMail) {
    alert( "Please enter your email address." );
    form.PayerEMail.focus();
    return false ;
  }

    if (form.PayerLastName.value == "" && ForcePayerLastName) {
    alert( "Please enter your full name." );
    form.PayerLastName.focus();
    return false ;
  }

    if (form.PayerFirstName.value == "" && ForcePayerFirstName) {
    alert( "Please enter your full name." );
    form.PayerFirstName.focus();
    return false ;
  }

  
  if (form.PayerAddress.value == "" && ForcePayerAddress) {
    alert( "Please enter your adress." );
    form.PayerAddress.focus();
    return false ;
  }


  if (form.PupilInfo.value == "" && ForcePupilInfo) {
    alert( "Please enter your adress." );
    form.PayerAddress.focus();
    return false ;
  }

// ** END **


// ToDo: Append PupilInfo to general info.
  return true ;
}

function refreshTotals( srvId ){
	if (totalsArray["Srv" + srvId] == null )
	{
		totalsArray["Srv" + srvId]=0;
	}	
	try{
		if (! document.getElementById("Service" + srvId ).checked )
		{
			totalsArray["Srv" + srvId]=0;
		}
		else
		{
			var ctlV1 = document.getElementsByName("Quantity" + srvId)[0].value;
			var ctlV2 = document.getElementsByName("Amount" + srvId)[0].value;
			//alert ( ctlV1 + "+" + ctlV2 + "=" + ctlV1 * ctlV2);
			totalsArray["Srv" + srvId] = ctlV1 * ctlV2;
		}
		document.getElementById("Total" + srvId).value = formatCurrency(totalsArray["Srv" + srvId]);
		var tmpTotal = 0;
		for( var el in totalsArray )
		{
			//alert ( el + ": " + totalsArray[el] ) ;
			tmpTotal+=totalsArray[el];
		}
	}
	catch(e){
		window.status="refreshTotals called on bogus service id : " + srvId;
	}
	document.getElementById("Tot").value=formatCurrency(tmpTotal);
	return;
}

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;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	//return (((sign)?'':'-') + '$' + num + '.' + cents);
	return (((sign)?'':'-') + num + '.' + cents);
}
