function NewWindow(URL, title, width, height)
{
	var st = "width="+width+",height=" + height 
	      +",status=no,resizable=no,menubar=no,toolbar=no,";
	var w = window.open(URL,title,st);
}

function floatVal(s)
{
    
	var f;
	f = parseFloat(s);

	//isNaN doesn't seem to work, so use isFinite
	if (!isFinite(f))
		return 0;
	return f;
}

function floatToStr(n,d)
{
	if (d<=0)
		return Math.round(n).toString();

	var s = n.toString();
	var dp = s.lastIndexOf(".");
	if (dp<0)
	{
	    s = s.concat(".0");
	    dp = s.length -2;
	}
	var pl = s.length - dp-1;
	if (pl>d)
		s = s.substring(0,dp+d+1);
	else
		for(var c=pl;c<d;c++)
			s = s.concat("0");
	return s;
}

function CopyAddress()
{
	var f = document.forms[0];
	
	f.DeliveryTitle.value = f.Title.value;
	f.DeliveryFirstname.value = f.Firstname.value;
	f.DeliverySurname.value = f.Surname.value;
	f.DeliveryCompanyName.value = f.CompanyName.value;
	f.DeliveryAddressStreet.value = f.AddressStreet.value;
	f.DeliveryAddressCity.value = f.AddressCity.value;
	f.DeliveryState.selectedIndex = f.ContactState.selectedIndex;		
	f.DeliveryAddressPostcode.value = f.AddressPostcode.value;
	f.DeliveryCountry.selectedIndex = f.ContactCountry.selectedIndex;
	f.DeliveryPhone.value = f.Phone.value;
	f.DeliveryFax.value = f.Fax.value;
	f.DeliveryMobile.value = f.Mobile.value;
	f.DeliveryEmail.value = f.Email.value;
}

function verify(f)
{
	if(typeof f.OrderTotal != "undefined")
		if (floatVal(f.OrderTotal.value) <= 0)
		{
			alert("You must choose a quantity to print");
			return false;
		}
		
	if(typeof f.Firstname != "undefined")
		if (!formValContains(f.Firstname,"first name",""))
			return false;
	
	if(typeof f.Surname != "undefined")
		if (!formValContains(f.Surname,"surname",""))
			return false;

	if(typeof f.Phone != "undefined")
		if (!formValContains(f.Phone,"phone number",""))
			return false;

	if(typeof f.Email != "undefined") 
	{
		if (!formValContains(f.Email,"email","@"))
			return false;

		if (!formValContains(f.Email,"email","."))
			return false;
	}
	
	return true;
	
}

function formValContains(Field,tag,tStr)
{
	if (Field.value.length > 0)
		if (Field.value.indexOf(tStr) >= 0)
			return true;
	
	if (tStr.length > 0)
		alert("You must enter a valid " + tag);
	else
		alert("You must enter a value for " + tag);
	
	Field.focus();
	
	return false;
}


function generateRandomON()
{
    
	var randomnumber;
	var topRange;
	var bottomRange;
	
	topRange = 4001;
	bottomRange = 1000;
	// generate a random number	
	randomnumber = Math.floor(Math.random()*(topRange - bottomRange) + bottomRange)
	//isNaN doesn't seem to work, so use isFinite
	if (!isFinite(randomnumber))
		return 0;
		
	return randomnumber;
}

function transferToOrderForm(orderNumber)
{
	
	var randNumber;
	var form1;
	var form2;
	var orderString;
	
	// update correct price
	CalcPrice();
	
	form1 = document.forms[1];
	form2 = document.forms[0];
	
	// enable the submit button
		if (document.getElementById('Submit')) {
		form2.Submit.disabled = false;
	}
	
	
	randNumber = generateRandomON();
	form2.elements['txtON2'].value = 'POL' + randNumber
	
	// booklets
	if (document.getElementById('NumberOfPages')) {
		//alert('booklets ')
		//alert('pages = ' + form1.NumberOfPages.value); 
		nBookletPages = NumberPages[form1.NumberOfPages.value];
		orderString = document.title + ': ' + nBookletPages + ' page booklet, ';
	}
	else {
		orderString = document.title + ': ';
	}
	
	// transfer qty
	orderString = orderString + form1.BaseQty.value + ' copies, ';
	//Colour Adjustment or Blank Second Sheets
	
	//back colour 
	if (document.getElementById('BackCover')) {
		for(c=0;c<form1.BackCover.length;c++) {
			if (form1.BackCover[c].checked) {
				orderString = orderString + ' back colour: ' + form1.BackCover[c].value + ', ';
			}
		}
	}
	
	// cover paper
	if (document.getElementById('CoverPaper')) {
		for(c=0;c<form1.CoverPaper.length;c++) {
			if (form1.CoverPaper[c].checked) {
				orderString = orderString + ' cover paper: ' + form1.CoverPaper[c].value + ', ';
			}
		}
	}
	
	
	//second sheet
	if (document.getElementById('BlankSecondSheetQty')) {
		if (form1.BlankSecondSheetQty.value > 0 ) {
			orderString = orderString + ' ' + form1.BlankSecondSheetQty.value + ' blank second sheets, ';	
		}
	}
		// varnish
	//fold
	if (document.getElementById('Varnish')) {
		for(c=0;c<form1.Varnish.length;c++) {
			if (form1.Varnish[c].checked) {
				orderString = orderString + form1.Varnish[c].value + ', ';
			}
		}
	}
	//back colour 
	if (document.getElementById('InsidePages')) {
		for(c=0;c<form1.InsidePages.length;c++) {
			if (form1.InsidePages[c].checked) {
				orderString = orderString + ' inside colour: ' + form1.InsidePages[c].value + ', ';
			}
		}
	}
	
	// paper
	if (document.getElementById('Paper')) {
		for(c=0;c<form1.Paper.length;c++) {
			if (form1.Paper[c].checked) {
				orderString = orderString + form1.Paper[c].value + ', ';
			}
		}
	}
		
	//fold
	if (document.getElementById('Folding')) {
		for(c=0;c<form1.Folding.length;c++) {
			if (form1.Folding[c].checked) {
				orderString = orderString + form1.Folding[c].value + ', ';
			}
		}
	}
	
	//  proof
	if (document.getElementById('Proof')) {
		for(c=0;c<form1.Proof.length;c++) {
			if (form1.Proof[c].checked) {
				orderString = orderString + form1.Proof[c].value + ', ';
			}
		}
	}
	
	//  production spped
	if (document.getElementById('ProductionSpeed')) {
		for(c=0;c<form1.ProductionSpeed.length;c++) {
			if (form1.ProductionSpeed[c].selected) {
				orderString = orderString + Urgency[c] + ', ';
			}
		}
	}
	//  delivery method
	if (document.getElementById('DeliveryMethod')) {
		for(c=0;c<form1.DeliveryMethod.length;c++) {
			if (form1.DeliveryMethod[c].selected) {
				orderString = orderString + Delivery[c] + ', ';
			}
		}
	}
	//  deliver postcode
	if (form1.DeliveryPostcode.value == '') {
		// do nothing
	}
	else {
		orderString = orderString + 'to postcode ' + form1.DeliveryPostcode.value + "  "
	}
	//  total price
	orderString = orderString + 'TOTAL PRICE inc GST : $' + form1.OrderTotal.value;
	form2.txtOrderDetails.value = orderString
	
}

Urgency = ['Normal', 'Fast', 'Urgent', 'Super urgent'];

Delivery = ['Premium delivery', 'Economy delivery'];
