
function isBlank(val){if(val==null){return true;}for(var i=0;i<val.length;i++){if((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}}return true;}
function isInteger(val){if(isBlank(val)){return false;}for(var i=0;i<val.length;i++){if(!isDigit(val.charAt(i))){return false;}}return true;}
function isDigit(num){if(num.length>1){return false;}var string="1234567890";if(string.indexOf(num)!=-1){return true;}return false;}function areInputsFilled(){
	var forms = window.document.forms;
	var n;
	var elements;
	var message = "";
	var result = true;
	var i;

	for (n=0; n<forms.length; n++){
		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].required == "true"){
				elements[i].style.backgroundColor = "white";
			}
		}
	}
	
	for (n=0; n<forms.length; n++){
		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].required == "true"){
				var type = elements[i].type;
				if (type == "text" || type == "file" || type == "password" || type == "textarea"){
					var value = elements[i].value;
					
					if (value == ""){
						message = "Please enter the missing field(s)!";
						result = false;
						break;
					}
					else {
						if (type == "text" && elements[i].num != null){
							var num = elements[i].num;
							if (num != 0){
								var validinput = new RegExp("^[0-9]{" + num + "}$");
								if (validinput.test(value) == false){
									message = "Please enter a " + num + "-digit number!";
									result = false;
									break;
								}
								
								// Check Time

								if (elements[i].num == 2) {
										var h = elements[i].value
										var m = elements[i].value
		
									if (elements[i].istime == "hour")
											if (h > 23 || h < 0 || h=="") {
												message = "Please enter a valid hour value!"	
												result = false;
												break;					
											}		
										
				
									if (elements[i].istime == "min") 					
											if (m > 59 || m < 0 || m=="") {
												message = "Please enter a valid minute value!"	
												result = false;
												break;							
											}
									} // if (elements[i].num == 2)

								
								
							}
							else {
								if (isNaN(value) == true){
									message = "Please enter a number!";
									result = false;
									break;
								}
								else {
									if (elements[i].dec == null && value.indexOf(".") != -1){
										message = "Please enter an integer!";
										result = false;
										break;
									}
									else if (elements[i].dec != null){
										var dec = elements[i].dec;
										var decleft = dec.substr(0, dec.indexOf(","));
										var decright = dec.substr(dec.indexOf(",")+1, dec.length);
										var valueleft;
										var valueright;
										if (value.indexOf(".") == -1){
											valueleft = value.length;
											valueright = 0;									
										}
										else {
											valueleft = value.indexOf(".");
											valueright = value.length-value.indexOf(".")-1;
										}
										
										if (valueleft > decleft){
											message = "Please enter a number with at most " + decleft + " digit(s) before the decimal point!";
											result = false;
											break;
										}
										else if (valueright > decright){
											message = "Please enter a number with at most " + decright + " decimal place(s)!";
											result = false;
											break;
										}
									}
								}
							}
						}
						else if (type == "textarea" && elements[i].numOfChar != null){
							var l = elements[i].value.length;
							var c = elements[i].numOfChar;
						
							if (l > c) {
								message = "Please enter text with at most " + c + " character(s)!";
								result = false;
								break;
							}
						}
					}
				}
				else if (type == "select-multiple"){
					if (elements[i].length == 0){
						message = "Please enter the missing field(s)!";
						result = false;
						break;
					}
				}
				/*else if (type == "radio"){
					var radiobuttons = elements[elements[i].name];
					var checked = false;
					for (var j=0; j<radiobuttons.length; j++){
						if (radiobuttons[j].checked == true){
							checked = true;
							break;
						}
					}
					if (checked == false){
						message = "Please select the option(s)!";
						result = false;
						break;
					}
				}*/
			}
		}
		
		if (result == false){
			alert(message);
			elements[i].style.backgroundColor = "#75C5F0";
			break;
		}
	}
	
	return result;
}


//*************************
//************************* function2
//*************************


function isQtyEntered(){
	var forms = window.document.forms;
	var n;
	var elements;
	var message = "hello";
	var result = true;
	var i;
	var j=0;
	var k;
	var value;
	var numOfProduct = 0;		
	var bcolor = "#75C5F0";	

	for (n=0; n<forms.length; n++){
		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].isproduct == "true"){
				numOfProduct = numOfProduct + 1;	
				elements[i].style.backgroundColor =  "white"						
			}
		}
	}

	
	for (n=0; n<forms.length; n++)	{
//		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].isproduct == "true"){			
				
				value = elements[i].value;

				if (value == ""){					
					j = j + 1;				
					if (j == numOfProduct){
							for (k=0; k<elements.length; k++){
								if (elements[k].isproduct == "true")
									elements[k].style.backgroundColor = bcolor;			
							}
						
						message = "You haven't entered any quanitiy for your product(s) yet!"
						result = false;
						break;
					}
				}else

				if (!isInteger(value))	{																						
						message = "Please enter a positive integer!";
						result = false;
						elements[i].style.backgroundColor = "#75C5F0"													
						break;		
				}						
				else
					if (value == 0)	{																						
						message = "Please enter a positive integer!";
						result = false;
						elements[i].style.backgroundColor = "#75C5F0"													
						break;		
					}
			}												
			
		}
	}

	
	if (result == false)	alert(message);	
	
	return result;
}



function isQtyEntered2(){
	//Allow zero
	var forms = window.document.forms;
	var n;
	var elements;
	var message = "hello";
	var result = true;
	var i;
	var j=0;
	var k;
	var value;
	var numOfProduct = 0;		
	var bcolor = "#75C5F0";	

	for (n=0; n<forms.length; n++){
		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].isproduct == "true"){
				numOfProduct = numOfProduct + 1;	
				elements[i].style.backgroundColor =  "white"						
			}
		}
	}

	
	for (n=0; n<forms.length; n++)	{
//		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].isproduct == "true"){			
				
				value = elements[i].value;

				if (value == ""){					
					j = j + 1;				
					if (j == numOfProduct){
							for (k=0; k<elements.length; k++){
								if (elements[k].isproduct == "true")
									elements[k].style.backgroundColor = bcolor;			
							}
						
						message = "You haven't entered any quanitiy for your product(s) yet!"
						result = false;
						break;
					}
				}else

				if (!isInteger(value))	{																						
						message = "Please enter a positive integer!";
						result = false;
						elements[i].style.backgroundColor = "#75C5F0"													
						break;		
				}						
			
			}												
			
		}
	}

	
	if (result == false)	alert(message);	
	
	return result;
}


function calAmount(){
	var forms = window.document.forms;
	var n;
	var elements;
	var message = "hello";
	var result = true;
	var i;
	var j=0;
	var k;
	var value;
	var numOfProduct = 0;		
	var bcolor = "#75C5F0";	
	var amount = 0;

	for (n=0; n<forms.length; n++){
		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].isproduct == "true"){
				numOfProduct = numOfProduct + 1;	
				elements[i].style.backgroundColor =  "white"						
			}
		}
	}

	
	for (n=0; n<forms.length; n++)	{
//		elements = forms[n].elements;
		for (i=0; i<elements.length; i++){
			if (elements[i].isproduct == "true"){			
				
				value = elements[i].value;
				price = elements[i].price;

				if (value == ""){					
					j = j + 1;				
					if (j == numOfProduct){
							for (k=0; k<elements.length; k++){
								if (elements[k].isproduct == "true")
									elements[k].style.backgroundColor = bcolor;			
							}
						
						message = "You haven't entered any quanitiy for your product(s) yet!"
						result = false;
						break;
					}
				}else

				if (!isInteger(value))	{																						
						message = "Please enter a positive integer!";
						result = false;
						elements[i].style.backgroundColor = "#75C5F0"													
						break;		
				}else

					if (value == 0)	{																						
						message = "Please enter a positive integer!";
						result = false;
						elements[i].style.backgroundColor = "#75C5F0"													
						break;		
					}			
					else
					amount= amount + value*price;	
				
			}												
			
		}
	}

	
	if (result == false)	alert(message);	
	else	{
		
		alert("Amount: HK$" + amount);

		if (amount < 350)
			alert("Amount less than HK$350, you will be charged HK$50 for delivery.");
		else			
				alert("Congratulations, you can enjoy our FREE DELIVERY service!!");	
		
		}	
//	return result;
}




function isValid(){
	var result = true;

	if (areInputsFilled() == false)
		result = false;
	else
		if (isQtyEntered2() == false)
			//Allow zero
			result = false;	
		
	return result;
}



function isValid2(){ 
	//Allow postive decimal
	var forms = window.document.forms;
	var n;
	var elements;	
	var result = true;	
	var value;	
	var result = true;

	if (areInputsFilled() == false)
		result = false;
	else

		for (n=0; n<forms.length; n++){
			elements = forms[n].elements;
			for (i=0; i<elements.length; i++){
				if (elements[i].isAmount == "true"){
					 value = elements[i].value;		
					if (isNaN(value) == true) {
						alert("Please enter a number!!");
						elements[i].style.backgroundColor = "#75C5F0"
						result = false;					
					}
					else {
					//alert("It is a number!");
					if (value <= 0) {
						alert("Please enter a positive number!");
						elements[i].style.backgroundColor = "#75C5F0"
						result = false;					
					}
					}
				}
			}
		}


		
		
	return result;
}

function changeRequired(elementName,booleanValue)	{	
	elementName.required = booleanValue;
	elementName.style.backgroundColor = "white";
}


function popUp(url,w,h,r,s,m){
	var tmpString = "width=" + w + ",height=" + h +",resizable=" + r + ",scrollbars=" + s + ",menubar=" + m
	window.open(url,'',tmpString);
}



function changeInputPanel(b,url) {
 	if (b) {
 		window.document.forms[0].action= url;	
 		window.document.forms[0].submit();
 	}
}