// JavaScript Document

String.prototype.Trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function checkMail(email) {
	var x = email;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}

function checkSearchBox(myForm) {
	var keyword = myForm.keyword;
	var sendFlag = true;
	
	if (keyword.value.Trim() == "") {
		alert("請輸入關鍵字");
		sendFlag = false;
		keyword.focus();
	}
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkContactUs(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var message = myForm.message;
	var sendFlag = true;
	
	if ((contactPerson.value.Trim() == "") && sendFlag){
		alert("Please input your name");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid Email. Please input your email again");
		sendFlag = false;
		email.focus();
	}
		
	if (message.value.Trim() == "" && sendFlag){
		alert("Please leave your message");
		sendFlag = false;
		message.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkAddCart(myForm) {
	var selects = myForm.getElementsByTagName('select');
	var qtySelectedFlag = false;
	var sendFlag = true;

	for (var index = 0; index < selects.length; index++) {
		if (selects[index].title == "QTY") {
			if (selects[index].value != "0") {
				qtySelectedFlag = true;
				
				if (getCheckedValue(myForm['rad_packing_'+index]) == "") {
					sendFlag = false;
					alert("Please choose the packing first!");
				}
			}
		} else if ( selects[index].title == "QTY_MINI") {
			if (selects[index].value != "0")
				qtySelectedFlag = true;
		}
	}
	
	if(!qtySelectedFlag) {
		sendFlag = false;
		alert("Please select the Qty. first!");		
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkCartFrameSelect(myForm) {
	var sendFlag = true;
	var countChecked = 0;
	var frameset = myForm.frameset;
	
	if (getCheckedValue(frameset) == "" && sendFlag) {
		sendFlag = false;
		alert("Please select a frame");
	}
	
	if (sendFlag)
		sendFlag = confirm("Are you sure to add the selected frame?");
		
	return sendFlag;
}

function checkCartPersonalInformation(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var contactNumber = myForm.contactNumber;
	var deliveryAddress1 = myForm.deliveryAddress1;
	var agreement = myForm.agreement;
	var sendFlag = true;
	
	if ((contactPerson.value.Trim() == "") && sendFlag){
		alert("Please input your name");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid Email. Please input your email again");
		sendFlag = false;
		email.focus();
	}
	
	if (contactNumber.value.Trim() == "" && sendFlag){
		alert("Please input your contact number");
		sendFlag = false;
		contactNumber.focus();
	}
		
	if (deliveryAddress1.value.Trim() == "" && sendFlag){
		alert("Please input your delivery address");
		sendFlag = false;
		deliveryAddress1.focus();
	}
	
	if (getCheckedValue(agreement) == "" && sendFlag) {
		sendFlag = false;
		alert("Please agree to the Terms and Conditions");
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkTestimonial(myForm) {
	var author = myForm.author;
	var feedback = myForm.feedback;
	var sendFlag = true;
	
	if ((author.value.Trim() == "") && sendFlag){
		alert("Please input your name");
		sendFlag = false;
		author.focus();
	}
	
	if (feedback.value.Trim() == "" && sendFlag){
		alert("Please leave your feedback");
		sendFlag = false;
		feedback.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkPhotoToArt(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var contactNumber = myForm.contactNumber;
	var sendFlag = true;
	
	if ((contactPerson.value.Trim() == "") && sendFlag){
		alert("Please input your name");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid Email. Please input your email again");
		sendFlag = false;
		email.focus();
	}
	
	if (contactNumber.value.Trim() == "" && sendFlag){
		alert("Please input your contact number");
		sendFlag = false;
		contactNumber.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function disableOtherFrame(myForm, obj) {
	var inputs = myForm.getElementsByTagName('input');

	for (var index = 0; index < inputs.length; index++) {
		if (inputs[index].type == "radio" && inputs[index].value=="Frame" && inputs[index] != obj) {
			inputs[index].disabled = "disabled"; 
		}
	}
}

function enableOtherFrame(myForm) {
	var inputs = myForm.getElementsByTagName('input');
	var foundFlag = false;

	for (var index = 0; index < inputs.length; index++) {
		if (inputs[index].type == "radio" && inputs[index].value=="Frame" && inputs[index].checked) {
			foundFlag = true;
		}
	}

	if(!foundFlag) {
		for (var index = 0; index < inputs.length; index++) {
			if (inputs[index].type == "radio") {
				inputs[index].disabled = ""; 
			}
		}
	}
}

function checkPhotoToArtForm(myForm) {
	var photoStyle = myForm.photoStyle;
	var panelName = myForm.panelName;
	var panelType = myForm.panelType;
	if(myForm.photo0)
	var photo1 = myForm.photo0;
	var qty = myForm.qty;
	var figures = myForm.figures;
	var copyright = myForm.copyright;
	var authorize = myForm.authorize;
	var sendFlag = true;
	
	if ((photoStyle.value.Trim() == "") && sendFlag){
		alert("Please select the effect");
		sendFlag = false;
		photoStyle.focus();
	}
	
	if ((panelName.value.Trim() == "") && sendFlag){
		alert("Please select your panel");
		sendFlag = false;
		//panelName.focus();
	}
	
	if ((photo1.value.Trim() == "") && sendFlag){
		alert("Please upload at least one photo.");
		sendFlag = false;
	}
	
	if ((qty.value.Trim() == "") && sendFlag){
		alert("Please select quantity");
		sendFlag = false;
		qty.focus();
	}
	
	if (getCheckedValue(copyright) == "" && sendFlag){
		alert("Please certify the copyright ownership");
		sendFlag = false;
		copyright[0].focus();
	}
	
	if (getCheckedValue(authorize) == "" && sendFlag){
		alert("Please approve the authorization");
		sendFlag = false;
		authorize[0].focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkPanelType(myForm) {
	var PanelName2 = myForm.panelName2;
	var PanelName3 = myForm.panelName3;
	var PanelName4 = myForm.panelName4;
	var PanelName5 = myForm.panelName5;
	var PanelName6 = myForm.panelName6;
	var PanelName7 = myForm.panelName7;
	var PanelName8 = myForm.panelName8;
	var PanelName9 = myForm.panelName9;
	var PanelName10 = myForm.panelName10;
	var PanelName11 = myForm.panelName11;
	var PanelName12 = myForm.panelName12;
	var PanelName13 = myForm.panelName13;
	var PanelName14 = myForm.panelName14;
	var PanelType3 = myForm.panelType3;
	var PanelType4 = myForm.panelType4;
	var PanelType7 = myForm.panelType7;
	var PanelType10 = myForm.panelType10;
	var PanelType11 = myForm.panelType11;
	var PanelType12 = myForm.panelType12;
	var PanelType13 = myForm.panelType13;
	var PanelType14 = myForm.panelType14;
	var sendFlag = true;
	
	if (PanelName2.value.Trim() == "" && PanelName3.value.Trim() == "" && PanelName4.value.Trim() == "" && PanelName5.value.Trim() == "" && PanelName6.value.Trim() == "" && PanelName7.value.Trim() == "" && PanelName8.value.Trim() == "" && PanelName9.value.Trim() == "" && PanelName10.value.Trim() == "" && PanelName11.value.Trim() == "" && PanelName12.value.Trim() == "" && PanelName13.value.Trim() == "" && PanelName14.value.Trim() == "" && sendFlag){
		alert("Please select your panel");
		sendFlag = false;
		PanelName2.focus();
	}
	
	if (PanelName3.value.Trim() != "" && getCheckedValue(PanelType3) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType3[0].focus();
	}
	
	if (PanelName4.value.Trim() != "" && getCheckedValue(PanelType4) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType4[0].focus();
	}
	
	if (PanelName7.value.Trim() != "" && getCheckedValue(PanelType7) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType7[0].focus();
	}
	
	if (PanelName10.value.Trim() != "" && getCheckedValue(PanelType10) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType10[0].focus();
	}
	
	if (PanelName11.value.Trim() != "" && getCheckedValue(PanelType11) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType11[0].focus();
	}
	
	if (PanelName12.value.Trim() != "" && getCheckedValue(PanelType12) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType12[0].focus();
	}
	
	if (PanelName13.value.Trim() != "" && getCheckedValue(PanelType13) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType13[0].focus();
	}
	
	if (PanelName14.value.Trim() != "" && getCheckedValue(PanelType14) == "" && sendFlag){
		alert("Please select the panel set as horizontal or vertical");
		sendFlag = false;
		PanelType14[0].focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function changePrice(idx, objType) {
	if (objType.value == "Stretch") {
		document.getElementById('prodPrice_txt_'+idx).style["display"] = "none";
		document.getElementById('prodStretchPrice_txt_'+idx).style["display"] = "inline";
	} else {
		document.getElementById('prodPrice_txt_'+idx).style["display"] = "inline";
		document.getElementById('prodStretchPrice_txt_'+idx).style["display"] = "none";
	}
}