/**
* Author       : Kurniawan ( 2791692 )
* Purpose      : This file is to validate and populate menu of assignment 1 web sites
* Created      : 26/08/2005
* last updated : 26/08/2005
* Credit       : Guidanance from Lecture notes and Lab Exercise
*/


/**
* Perform the menu . for heritate menu. idea for www,listomatic.com
*/
window.onload=upmenu;
function upmenu(id) 
{
	var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) 
	{
		if (document.getElementById('smenu'+i)) 
		{
			document.getElementById('smenu'+i).style.display='none';
		}
	}
	if (d) 
	{
		d.style.display='block';
	}
}




/**
* This function for validate signup form on index.shtml
* contains no parameter
*/
function validateSignup()
{
	//check email address is empty
	if(isEmpty(document.forms["signup_form"].email.value))
	{
		alert("Please fill your email");
		document.forms["signup_form"].email.focus();
		return false;
	}
	//check email address
	if (validateEmail(document.forms["signup_form"].email.value)==false)
	{
		alert("Not Valid Email Address");
		document.forms["signup_form"].email.focus();
		return false;
	}
	//check checkbox
	if (document.forms["signup_form"].signup_ck.checked==false)
	{
		alert("Please Check *Please Send me ... * Check Box");
		document.forms["signup_form"].signup_ck.focus();
		return false;
	}
}


/**
* This function for validate feedback form on contactus.shtml
* contains no parameter
*/
function validateFeedback()
{
	//check name textbox
	if(isEmpty(document.forms["feedback_form"].name.value))
	{
		alert("Please fill your name");
		document.forms["feedback_form"].name.focus();
		return false;
	}
	
	//check email textbox
	if(isEmpty(document.forms["feedback_form"].email.value))
	{
		alert("Please fill your email");
		document.forms["feedback_form"].email.focus();
		return false;
	}
	//check subject textbox
	if(isEmpty(document.forms["feedback_form"].subject.value))
	{
		alert("Please fill your subject message");
		document.forms["feedback_form"].subject.focus();
		return false;
	}
	//check message textbox
	if(isEmpty(document.forms["feedback_form"].message.value))
	{
		alert("Please fill your message");
		document.forms["feedback_form"].message.focus();
		return false;
	}
	
	//validate email
	if (validateEmail(document.forms["feedback_form"].email.value)==false)
	{
		alert("Not Valid Email Address");
		document.forms["feedback_form"].email.focus();
		return false;
	}	
}


/**
* This function for validate order form on order.shtml
* contains no parameter
*/
function validateOrder()
{

	//check quantity textbox
	if(isEmpty(document.forms["orderform"].quantity.value))
	{
		alert("Please fill your Quantity");
		document.forms["orderform"].quantity.focus();
		return false;
	}	
	if (isNaN(document.forms["orderform"].quantity.value))
	{
		alert("Quantity must be Integer");
		document.forms["orderform"].quantity.focus();
		return false;
	}
	
	//check name textbox
	if(isEmpty(document.forms["orderform"].name.value))
	{
		alert("Please fill your name");
		document.forms["orderform"].name.focus();
		return false;
	}
	//check address textbox
	if(isEmpty(document.forms["orderform"].address.value))
	{
		alert("Please fill your Address");
		document.forms["orderform"].address.focus();
		return false;
	}
	//check suburb textbox
	if(isEmpty(document.forms["orderform"].suburb.value))
	{
		alert("Please fill your suburb");
		document.forms["orderform"].suburb.focus();
		return false;
	}
	//check state textbox
	if(isEmpty(document.forms["orderform"].state.value))
	{
		alert("Please fill your State");
		document.forms["orderform"].state.focus();
		return false;
	}
	
	//check postcode textbox
	if(isEmpty(document.forms["orderform"].postcode.value))
	{
		alert("Please fill your postcode");
		document.forms["orderform"].postcode.focus();
		return false;
	}
	//check card number textbox
	if(isEmpty(document.forms["orderform"].number.value))
	{
		alert("Please fill your card number");
		document.forms["orderform"].number.focus();
		return false;
	}
	
	
	//check the expired month
	if(isEmpty(document.forms["orderform"].exdate_month.value))
	{
		alert("Please select your expired date month");
		document.forms["orderform"].exdate_month.focus();
		return false;
	}
	
	//check exdate_day textbox
	if((isEmpty(document.forms["orderform"].exdate_day.value))|| (isNaN(document.forms["orderform"].exdate_day.value)))
	{
		alert("Please check your Expired date DAY");
		document.forms["orderform"].exdate_day.focus();
		return false;
	}	
	
	//check exdate_day textbox
	if((isEmpty(document.forms["orderform"].exdate_year.value))|| (isNaN(document.forms["orderform"].exdate_year.value)))
	{
		alert("Please check your expired date YEAR");
		document.forms["orderform"].exdate_year.focus();
		return false;
	}	
		
}



/**
* This function for calculate the total= price * quantity
* contains 1 parameter : quantity value
*/
function calculateTotal(inputValue)
{
	if (isNaN(inputValue))
	{
		alert("Quantity must be Integer");
		document.forms["orderform"].quantity.focus();
		return false;
	}
	var total=(document.forms["orderform"].price.value*inputValue);
	document.forms["orderform"].total_cost.value=total;
	
}


/**
* This function for checking empty field
* contains 1 parameter : field value
*/
function isEmpty(input)
{
		if (input=="")
			return true;
		else
			return false;
}


/**
* This function for checking Email validateition
* This valildation not just validate @ character, but validate .character as well
* contains 1 parameter : email value
*/
function validateEmail(inputEmail)
{
	var aCharExits=false;
	var aDotExits=false;
	//check to see if @ char  and .Char is in the field
	for(var i=0;i<inputEmail.length;i++)
	{
		//check @char
		if (inputEmail.charAt(i) =="@")
		{	aCharExits=true;}
		//check dot char
		if (inputEmail.charAt(i) ==".")
		{	aDotExits=true;}
	}
	if((aCharExits==false) || (aDotExits==false))
		return false;
}
