// ==========================================================
// Copyright (c) info-sol.com All rights reserved
// ==========================================================
function ProdObj(p_name) {
	this.length=3;
	// Object properties
	this.name=p_name;
	this.oProd=new Array();	
	// Object method
	this.fCreateProd=fCreateProd;}
	
function fCreateProd(p_idx,p_name) {
this.oProd[p_idx] = new Object();
this.oProd[p_idx].name = p_name; 
this.oProd[p_idx].oPrice = new Array();
this.fCreatePrice=fCreatePrices}

function fCreatePrices(p_idx,p_subidx, p_price) {
this.oProd[p_idx].oPrice[p_subidx] = new Object();
this.oProd[p_idx].oPrice[p_subidx].Size = p_subidx;
this.oProd[p_idx].oPrice[p_subidx].Price = p_price;}

function fcheckPrice(idx,objIn) { //alert(myCat.oProd[idx].oPrice[objIn.value].Price);
if (objIn.value!=="") { objIn.form.amount.value = myCat.oProd[idx].oPrice[objIn.value].Price;  } }	

function goback(step, f) {
	f.action="catalogue.asp?step=" + step;
	f.submit();	

}

function fSubmit(oFrm, lang) {
if (!validate(oFrm, lang)) { return false; }
var oCn = document.getElementById('kos_del');
switch (oCn.cn.value) {
	case 'Normal Air Mail':
		oFrm.shipping.value = oCn.shipping[0].value;
		oFrm.shipping2.value = oCn.shipping[0].value;
		oFrm.cn.value = oCn.cn.value;
		break;
	case 'Registered Courier':
		oFrm.shipping2.value = '0.00';
		var iPacking = parseInt(oFrm.quantity.value / 4) + (eval(oFrm.quantity.value % 4)?1:0);
		oFrm.shipping.value = iPacking * 25.00;	
		oFrm.shipping.value+= '.00'					
		oFrm.cn.value = oCn.cn.value;
		break;	
}
//alert('Del=' + oFrm.cn.value); 
//alert('Shipping=' + oFrm.shipping.value);
//alert('Shipping2=' + oFrm.shipping2.value);
oFrm.submit();
return true;
}

function fChangeShipping(o) {
	switch (o.name) {
		case 'shipping':
			switch (o.id) {
				case 'ship_opt1':
					o.form.cn.value = 'Normal Air Mail';
				break;
				case 'ship_opt2':
					o.form.cn.value = 'Registered Courier';
				break;
			}
			break;
	}
//	alert('Delivery items=' + parseInt(o.form.quantity.value / 4) + (eval(o.form.quantity.value % 4)?1:0));
//	alert('Option 1=' + o.form.ship_opt1.value);
//	alert('Option 2=' + o.form.ship_opt2.value);
//	alert('Del=' + o.form.cn.value); 
//	alert('Shipping2=' + o.form.shipping2.value);
}


// ==========================================================
// Function		:validate(form)
// ==========================================================
function validate(form, lang) {
var errmsg='', errOut='', posn, ifocuselem, pass=true, conStr='';isNum = '';
switch (lang) {
	case "en":
		sSize="\tA corresponding size for the order\n";
		sQty = "\tA quantity for the order\n";
		sColour = "\tA corresponding colour for the order\n";
		sDelivery="\tPlease select your choice of delivery\n";
		sMsg = "Please fill out the required fields in this form to place a valid order:\n";
	break;
	case "pt":
		sSize="\tIndique o seu número\n";
		sQty = "\tIndique a quantidade a encomendar\n";
		sColour = "\tIndique a cor\n";
		sDelivery= "\tIndique a modalidade de entrega\n";
		sMsg = "Por favor, preencha este formulária para efectuar a sua encomenda:\n";
	break;
}
	for (x=0; x<form.elements.length; x++) {

		switch (form.elements[x].name) {
		case "os0":		//size
			if (form.elements[x].value.length==0) {
				errmsg+=sSize; }			
		break;
		case "quantity":	//qty
			if (isNaN(form.elements[x].value) || (form.elements[x].value=='0')) {
				errmsg+=sQty;
				pass1=0; ifocuselem = x; }
		break;
		case "os1":		//colour
			if ((form.elements[x].value.length==0)) {
				errmsg+=sColour; }	
		break;}
	}
if (document.getElementById('kos_del').cn.value.length==0) {
	errmsg+=sDelivery; 
}
if (errmsg!='') {
	errOut= "_______________________________________________________________\n";	
	errOut+=sMsg;
	errOut+=errmsg;
	errOut+="\n_______________________________________________________________\n";
	alert(errOut);
	if (parseInt(ifocuselem)) eval("form.elements[" + ifocuselem + "].focus();");
	pass=false;
}
else {
	pass=true;
}
return (pass);
}

