// JavaScript Document

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}


// ----
// Document variable declare
var dish_cnt = 0;

// Pack Lunch Limit
var PACKLUNCH1_LIMIT = 2;

// High Tea Limit
var DISH_ORDER2_LIMIT = 6;
var HIGH_TEA_MENU_1_LIMIT = 6;
var HIGH_TEA_MENU_2_LIMIT = 7;
var HIGH_TEA_MENU_3_LIMIT = 8;

// Party Buffet Limit
var DISH_ORDER3_LIMIT = 8;
var PARTY_BUFFET_8_LIMIT = 8;
var PARTY_BUFFET_9_LIMIT = 9;
var PARTY_BUFFET_10_LIMIT = 10;

var beverage_cnt = 0;
var prawn_cnt = 0;
var rice_cnt = 0;
var BEVERAGE_LIMIT = 1;
	
var bgBad = "#cccc99";
var bgGood = "white";

function setColor(el, bg) {  if (el.style) el.style.backgroundColor = bg;}

function get_check_value(fieldname)
{
	var c_value = "";
	for (var i=0; i < fieldname.length; i++)
	   if (fieldname[i].checked)
	    c_value = c_value + fieldname[i].value + "\n";
	
	return c_value;
}
function checkOrders(form,formname){
	var returnval = false;
	var isOrderssOk = false;
	var isDetailsOk = false;
	var isNameOk = false;
	var isTelOk = false;
	var isAddressOk = false;
	var isDateOk = false;
	var isPaxOk = false;
	var isEmailOk=false;
	
	if(form['name'].value=='' ) {setColor(form['name'], bgBad);isNameOk = false;}
	else {setColor(form['name'], bgGood);isNameOk = true;}

	if(form['telephone'].value=='' ) {setColor(form['telephone'], bgBad);isTelOk = false;}
	else {setColor(form['telephone'], bgGood);isTelOk = true;}
	
	if(form['address'].value=='' ) {setColor(form['address'], bgBad);isAddressOk = false;}
	else {setColor(form['address'], bgGood);isAddressOk = true;}

	if(form['email'].value==''  || isEmail(form['pax'].value=='')){setColor(form['email'], bgBad);isEmailOk = false;}
	else {setColor(form['email'], bgGood);isEmailOk = true;}

	// customer details validation
	if(isNameOk==true && isTelOk==true && isAddressOk==true && isEmailOk==true)
		isDetailsOk = true;
	else
		alert("Please fill in all the fields highlighted.\nThank You");
		
	// Pack lunch validation
	if(formname=="packlunch1" && isDetailsOk==true)
		if (dish_cnt!=PACKLUNCH1_LIMIT || beverage_cnt != BEVERAGE_LIMIT){	
			alert("You have to choose " +PACKLUNCH1_LIMIT+ " Meat and " +BEVERAGE_LIMIT+ "  vegetable for this package\nPlease try again. \n\nThank You");
			isOrderssOk = false;
		}
		else
			isOrderssOk = true;
	
	// High Tea 1 Validation
	if(formname=="highTeaMenu1" && isDetailsOk==true)
		if (dish_cnt!=HIGH_TEA_MENU_1_LIMIT || beverage_cnt != BEVERAGE_LIMIT){	
			alert("You have to choose " +HIGH_TEA_MENU_1_LIMIT+ " Meat and " +BEVERAGE_LIMIT+ "  beverage(s) for this package\nPlease try again. \n\nThank You");
		}
		else
			isOrderssOk = true;
		
	
	// High Tea 2 Validation
	if(formname=="highTeaMenu2" && isDetailsOk==true)
		if (dish_cnt!=HIGH_TEA_MENU_2_LIMIT || beverage_cnt != BEVERAGE_LIMIT){	
			alert("You have to choose " +HIGH_TEA_MENU_2_LIMIT+ " Meat and " +BEVERAGE_LIMIT+ "  beverage(s) for this package\nPlease try again. \n\nThank You");
		}
		else
			isOrderssOk = true;
			
	// High Tea 3 Validation
	if(formname=="highTeaMenu3" && isDetailsOk==true)
		if (dish_cnt!=HIGH_TEA_MENU_3_LIMIT || beverage_cnt != 2){	
			alert("You have to choose " +HIGH_TEA_MENU_3_LIMIT+ " Meat and " +2+ "  beverage(s) for this package\nPlease try again. \n\nThank You");
		}
		else
			isOrderssOk = true;

	// Party buffet 8 Validation
	if(formname=="partybuffet8" && isDetailsOk==true)
		if (dish_cnt!=PARTY_BUFFET_8_LIMIT || beverage_cnt != BEVERAGE_LIMIT){	
			alert("You have to choose " +PARTY_BUFFET_8_LIMIT+ " Meat and " +BEVERAGE_LIMIT+ "  beverage(s) for this package\nPlease try again. \n\nThank You");
		}
		else
			isOrderssOk = true;

	// Party buffet 9 Validation
	if(formname=="partybuffet9" && isDetailsOk==true)
		if (dish_cnt!=PARTY_BUFFET_9_LIMIT || beverage_cnt != BEVERAGE_LIMIT){	
			alert("You have to choose " +PARTY_BUFFET_9_LIMIT+ " Meat and " +BEVERAGE_LIMIT+ "  beverage(s) for this package\nPlease try again. \n\nThank You");
		}
		else
			isOrderssOk = true;
	// Party buffet 10 Validation
	if(formname=="partybuffet10" && isDetailsOk==true)
		if (dish_cnt!=PARTY_BUFFET_10_LIMIT || beverage_cnt != BEVERAGE_LIMIT){	
			alert("You have to choose " +PARTY_BUFFET_10_LIMIT+ " Meat and " +BEVERAGE_LIMIT+ "  beverage(s) for this package\nPlease try again. \n\nThank You");
		}
		else
			isOrderssOk = true;
			
	if(isOrderssOk == true && isDetailsOk==true )
	{
		var displayText = "Is your orders Correct?\n";
		var orders = "";		
		displayText = displayText + "\nName : " + form['name'].value;
		displayText = displayText + "\nTelephone: " + form['telephone'].value;
		displayText = displayText + "\nAddress: " + form['address'].value;
		displayText = displayText + "\nPax: " + form['pax'].value;
		displayText = displayText + "\nDeliver Date: " + form['deliverDay'].value + "/" + form['deliverMonth'].value + "/" + form['deliverYear'].value;
		displayText = displayText + "\nDeliver Time : " + form['deliverTimeHr'].value + ":" + form['deliverTimeMin'].value + " " + form['deliverTimeAmPm'].value;
	
		// only Pack lunch does not support these fields
		if(formname=="partybuffet10" || formname=="partybuffet9" || formname=="partybuffet8" || formname=="highTeaMenu3" || formname=="highTeaMenu2"||formname=="highTeaMenu1")
		{
			if(formname=="partybuffet10" || formname=="partybuffet9" || formname=="partybuffet8")
			{
					displayText = displayText + "\nAddtional Tables Required: " + form['extraTables'].value ;								
					displayText = displayText + "\nAddtional Chair(s) Required: " + form['extraChair'].value ;
					displayText = displayText + "\nAddtional Instructions: " + form['extraInstruction'].value;
					orders = get_check_value(form['dish[]']);
					orders = orders + get_check_value(form['dishone[]']);
					orders = orders + get_check_value(form['dishtwo[]']);
					if(form['dishfour[]'].checked)
						orders = orders + form['dishfour[]'].value + "\n";
					orders = orders + get_check_value(form['prawn[]']);
					orders = orders + get_check_value(form['Beverages[]']);
			}
			
			if(formname=="highTeaMenu3" || formname=="highTeaMenu2"||formname=="highTeaMenu1")
			{
					//displayText = displayText + "\nCollection Time: " + form['collectTimeHr'].value + ":" + form['collectTimeMin'].value + " " + form['collectTimeAmPm'].value;
					displayText = displayText + "\nAddtional Tables Required: " + form['extraTables'].value ;								
					displayText = displayText + "\nAddtional Instructions: " + form['extraInstruction'].value;

					orders = get_check_value(form['dish[]']);
					orders = orders + get_check_value(form['Beverages[]']);
			}
		}
		else // pack lunches
		{
			orders = get_check_value(form['meat[]']);
			if(get_check_value(form['rice'])!="")
				orders = orders + "Premium Items : " + get_check_value(form['rice']) ;
		}
	
		displayText = displayText + "\n\nOrder Details:";
		displayText = displayText + "\n---------------------------------------\n";
		displayText = displayText + orders;
		displayText = displayText + "---------------------------------------";

		if(formname=="partybuffet10" || formname=="partybuffet9" || formname=="partybuffet8" || formname=="highTeaMenu3" || formname=="highTeaMenu2"||formname=="highTeaMenu1")
			displayText = displayText + "\n*** Please note that there will be a fee \n*** of $30.00 for transport imposed on \n*** your order.\n";
		displayText = displayText + "\n\nClick OK to confirm your orders. \nClick cancel to review your orders again.\nThank you.";
		
		if(confirm(displayText))
			returnval = true;
	}

	return returnval;
}

function confirmText(form)
{

	return displayText;
	
}

function cal1(object){
	if(object.value<30 ) {alert("Minimum Order is 30 Pax\nThank you.");	setColor(object, bgBad);}
	else setColor(object, bgGood);
}

function cal2(object){
	if(object.value<40 ){alert("Minimum Order is 40 Pax\nThank you.");	setColor(object, bgBad);}
	else if(object.value>=40 && object.value <60 )		DISH_ORDER2_LIMIT = 6;
	else if(object.value>=61 && object.value <100 )	DISH_ORDER2_LIMIT = 7;
	else if(object.value>100 )	{
		DISH_ORDER2_LIMIT = 8;
		BEVERAGE_LIMIT = 2;
	}
		
}


function cal3(object){
	if(object.value<25 ){alert("Minimum Order is 25 Pax\nThank you.");	setColor(object, bgBad);}
	else if(object.value>=25 && object.value <40 )	DISH_ORDER3_LIMIT = 8;
	else if(object.value>=50 && object.value <80 )	DISH_ORDER3_LIMIT = 9;
	else if(object.value>90 )	DISH_ORDER3_LIMIT = 10;		
}


function validateOrder1(object)
{
	if(object.checked == true)
		if(dish_cnt>=PACKLUNCH1_LIMIT)
		{
			alert("You can only select " + PACKLUNCH1_LIMIT + " for the package that you order.\n This selection will not be selected.\n Please remove some selection before choosing this again. \n Thank you.");	
			object.checked = false;
		}
		else
			dish_cnt +=1;	

	else
		if(dish_cnt<=0)	dish_cnt = 0;
		else dish_cnt -=1;	
}

function validateOrder(object, LIMIT)
{
	if(object.checked == true)
		if(dish_cnt>=LIMIT)
		{
			alert("You can only select " + LIMIT + " for the package that you order.\n This selection will not be selected.\n Please remove some selection before choosing this again. \n Thank you.");	
			object.checked = false;
		}
		else
			dish_cnt +=1;	

	else
		if(dish_cnt<=0)	dish_cnt = 0;
		else dish_cnt -=1;	
}

function validateOrder2(object)
{
	if(object.checked == true)
		if(dish_cnt>=DISH_ORDER2_LIMIT)
		{
			alert("You can only select " + DISH_ORDER2_LIMIT + " for the package that you order.\n This selection will not be selected.\n Please remove some selection before choosing this again. \n Thank you.");	
			object.checked = false;
		}
		else
			dish_cnt +=1;	

	else
		if(dish_cnt<=0)	dish_cnt = 0;
		else dish_cnt -=1;	
}
function validateOrder3(object)
{
	if(object.checked == true)
		if(dish_cnt>=DISH_ORDER3_LIMIT)
		{
			alert("You can only select " + DISH_ORDER3_LIMIT + " for the package that you order.\n This selection will not be selected.\n Please remove some selection before choosing this again. \n Thank you.");	
			object.checked = false;
		}
		else
			dish_cnt +=1;	

	else
		if(dish_cnt<=0)	dish_cnt = 0;
		else dish_cnt -=1;	
}
function validateVegetable(object)
{
	if(object.checked == true)
		if(beverage_cnt>=1)
		{
			alert("You can only select 1  Vegetable.\n This selection will not be selected.\n \n Thank you.");	
			object.checked = false;
		}
		else
			beverage_cnt +=1;	

	else
		if(beverage_cnt<=0)	beverage_cnt = 0;
		else beverage_cnt -=1;	
}


function validateRice(object)
{
	if(object.checked == true)
		if(rice_cnt>=1)
		{
			alert("You can only Upgrade to 1  type of rice.\n This selection will not be selected.\n \n Thank you.");	
			object.checked = false;
		}
		else
			rice_cnt +=1;	

	else
		if(rice_cnt<=0)	rice_cnt = 0;
		else rice_cnt -=1;	
}


function validateprawns(object, LIMIT)
{
	if(object.checked == true)
	{
		if(dish_cnt>=LIMIT)
		{
			alert("You can only select " + LIMIT + " for the package that you order.\n This selection will not be selected.\n Please remove some selection before choosing this again. \n Thank you.");	
			object.checked = false;
		}
		else
		{
			if(prawn_cnt >=1)
			{
				alert("You can only select 1  Prawns.\n This selection will not be selected.\n \n Thank you.");	
				object.checked = false;
			}
			else
			{
				prawn_cnt  +=1;
				dish_cnt +=1;
			}
		}
	}
	else
		if(dish_cnt<=0)
		{
			dish_cnt = 0;
			prawn_cnt  = 0;
		}
		else 
		{
			dish_cnt -=1;
			prawn_cnt  -=1;
		}	
}

function validateBeverage(object)
{
	if(object.checked == true)
		if(beverage_cnt>=BEVERAGE_LIMIT)
		{
			alert("You can only select " + BEVERAGE_LIMIT + "  beverage.\n This selection will not be selected.\n \n Thank you.");	
			object.checked = false;
		}
		else
			beverage_cnt +=1;	

	else
		if(beverage_cnt<=0)	beverage_cnt = 0;
		else beverage_cnt -=1;	
}



function validateBeverage2(object)
{
	if(object.checked == true)
		if(beverage_cnt>=2)
		{
			alert("You can only select " + 2 + "  beverage.\n This selection will not be selected.\n \n Thank you.");	
			object.checked = false;
		}
		else
			beverage_cnt +=1;	

	else
		if(beverage_cnt<=0)	beverage_cnt = 0;
		else beverage_cnt -=1;	
}
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}