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 ;
	  }

  }

// ** END **


function refreshTotals( ){
	var tot = 0;
	var vTot = 0;
	var exvTot = 0;
			//alert ( Items.length ) ;
	for (i=0;i<Items.length ; i++ )
	{
		it=Items[i];
		itemChosen = false;
		if ( document.getElementsByName("Shop" + it + "ItemCode")[0] ) {
			
			// maybe it is a checkbox:
			if (document.getElementsByName("Shop" + it + "ItemCode")[0].type == "checkbox")
			{
				//alert ( "checked" + document.getElementsByName("Shop" + it + "ItemCode")[0].checked );
				itemChosen=document.getElementsByName("Shop" + it + "ItemCode")[0].checked ;
			}
			else{
				itemChosen = true;
				//alert ( "defaulting to true" );
			}
		}
		//alert ( "set to. " + itemChosen );
		try{
			if ( itemChosen ) {
				
					//alert ( it);
					lQ=document.getElementsByName("Shop" + it + "ItemQuantity")[0].value;
					//alert ( i + " " + lQ );
					lP=document.getElementsByName("Shop" + it + "ItemPrice")[0].value;
					lT =  lQ * lP;
					tot += lT;
					lV = 0;
					try{
						lV=document.getElementsByName("Shop" + it + "ItemVatRate")[0].value / 100;
					}
					catch(e){
						lV=0;
					}
					document.getElementById("Total" + it).value = formatCurrency(lT);
					//alert(document.getElementsByName("Shop" + it + "ItemVatAmount")[0]);
					if (document.getElementsByName("Shop" + it + "ItemVatAmount")[0] ){
						lV=lT*lV;
						exV=lT-lV;
						vTot += lV;
						exvTot += exV;
						document.getElementsByName("Shop" + it + "ItemVatAmount")[0].value = formatCurrency(lV);
						try{
							//alert(exV);
							document.getElementsByName("Shop" + it + "ItemPriceExVat")[0].value = formatCurrency(exV);
						}
						catch(e){}
					}
				} // itemChosen
				else {
					document.getElementById("Total" + it).value = formatCurrency(0);
					document.getElementsByName("Shop" + it + "ItemVatAmount")[0].value = formatCurrency(0);
					document.getElementsByName("Shop" + it + "ItemPriceExVat")[0].value = formatCurrency(0);
				}

			}catch (ignore){ 
				//alert (ignore);
			}
	}
	try{
		document.getElementById("Tot").value=formatCurrency(tot);
	}
	catch(e){}
	try{
		document.getElementById("vTot").value=formatCurrency(vTot);
	}
	catch(e){}
	try{
		document.getElementById("exvTot").value=formatCurrency(exvTot);
	}
	catch(e){}
	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);
}

