// JavaScript Document
String.prototype.Trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 

Array.prototype.inArray = function (value) {
	// Returns true if the passed value is found in the
	// array. Returns false if it is not.
	var i;
	for (i=0; i < this.length; i++)
		if (this[i] == value)
			return true;
	return false;
};

// 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 checkbrNo(brNo) {
	var x = brNo;
	var filter  = /^([a-zA-Z0-9]{8})+\-([a-zA-Z0-9]{3})+\-([a-zA-Z0-9]{2})+\-([a-zA-Z0-9]{2})+\-([a-zA-Z0-9]{1})+$/;
	if (filter.test(x)) return true;
	else return false;
}

function checkFileType(inVal, acceptType) {
  var ext = inVal;
  ext = ext.substring(ext.length-3,ext.length);
  ext = ext.toLowerCase();
  if(!acceptType.inArray(ext)) {
    return false; 
  }
  return true; 
}


function checkContactUs(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var message = myForm.message;
	var sendFlag = true;
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert("請輸入你的姓名");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入你的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤 請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (message.value.Trim() == "" && sendFlag){
		alert("請輸入查詢內容");
		sendFlag = false;
		message.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkOrderForm(myForm) {
	var contactPerson = myForm.contactPerson;
	var mobile = myForm.mobile;
	var shop = myForm.shop;
	var email = myForm.email;
	var companyName = myForm.companyName;
	var orderType1 = myForm.orderType1;
	var orderType2 = myForm.orderType2;
	var brNo = myForm.brNo;
	var deliveryAddress = myForm.deliveryAddress;
	var remarks = myForm.remarks;
	var prod1 = myForm.prod1;
	var prod2 = myForm.prod2;
	var prod3 = myForm.prod3;
	var prod4 = myForm.prod4;
	var prod5 = myForm.prod5;
	var prod6 = myForm.prod6;
	var prod7 = myForm.prod7;
	var prod8 = myForm.prod8;
	var prod9 = myForm.prod9;
	var prod10 = myForm.prod10;
	var sendFlag = true;


	if (contactPerson.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡人姓名");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (mobile.value.Trim() == "" && sendFlag){
		alert("請輸入手提電話");
		sendFlag = false;
		mobile.focus();
	}
	
	if (shop.value.Trim() == "" && deliveryAddress.value.Trim() == "" && sendFlag){
		alert("請選擇取貨地點 或 輸入送貨地址");
		sendFlag = false;
		shop.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入你的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤 請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (orderType2.checked == true && brNo.value.Trim() == "" && sendFlag){
		alert("請輸入商業登記編號");
		sendFlag = false;
		brNo.focus();
	}else if(orderType2.checked == true && brNo.value.Trim() != "" && !checkbrNo(brNo.value.Trim()) && sendFlag){
		alert("商業登記編號格式錯誤 請重新輸入");
		sendFlag = false;
		brNo.focus();
	}
	
	if (orderType2.checked == true && companyName.value.Trim() == "" && sendFlag){
		alert("請輸入公司名稱");
		sendFlag = false;
		companyName.focus();
	}
	
	if (orderType2.checked == false && orderType1.checked == false && sendFlag){
		alert("請選擇訂單類型。");
		sendFlag = false;
		orderType1.focus();
	}
	
	if (remarks.value.Trim() == "" && sendFlag){
		alert("請輸入FTP檔案名稱");
		sendFlag = false;
		remarks.focus();
	}
	
	if (prod1.checked == false && prod2.checked == false && prod3.checked == false && prod4.checked == false && prod5.checked == false && prod6.checked == false && prod7.checked == false && prod8.checked == false && prod9.checked == false && prod10.checked == false && sendFlag){
		alert("請輸入訂購產品內容");
		sendFlag = false;
		prod1.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkCartDetails(myForm) {
	var companyName = myForm.companyName;
	var contactPerson = myForm.contactPerson;
//	var uploadFile01 = myForm.uploadFile01;
//	var uploadFile02 = myForm.uploadFile02;
//	var uploadFile03 = myForm.uploadFile03;
	var message = myForm.message;
	var orderType1 = myForm.orderType1;
	var orderType2 = myForm.orderType2;
	var brNo = myForm.brNo;
	var mobile = myForm.mobile;
	var email = myForm.email;
	var contactNumber = myForm.contactNumber;
	var sendFlag = true;
	
/*	if (message.value.Trim() == "" && uploadFile01.value.Trim() == "" && uploadFile02.value.Trim() == "" && uploadFile03.value.Trim() == "" && sendFlag){
		alert("請輸入FTP檔案名稱");
		sendFlag = false;
		message.focus();
	}
*/	
	if (orderType2.checked == true && brNo.value.Trim() == "" && sendFlag){
		alert("請輸入商業登記編號");
		sendFlag = false;
		brNo.focus();
	}else if(orderType2.checked == true && brNo.value.Trim() != "" && !checkbrNo(brNo.value.Trim()) && sendFlag){
		alert("商業登記編號格式錯誤 請重新輸入");
		sendFlag = false;
		brNo.focus();
	}
	
	if (orderType2.checked == false && orderType1.checked == false && sendFlag){
		alert("請選擇訂單類型。");
		sendFlag = false;
		orderType1.focus();
	}
	
	if (companyName.value.Trim() == "" && orderType2.checked == true && sendFlag){
		alert("請輸入公司名稱");
		sendFlag = false;
		companyName.focus();
	}
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡人姓名");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入你的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤 請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (mobile.value.Trim() == "" && sendFlag){
		if (contactNumber.value.Trim() == "" && sendFlag){
			alert("請輸入手提電話");
			sendFlag = false;
			mobile.focus();
		}
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkSearchKeyword(myForm) {
	var keyword = myForm.keyword;
	var sendFlag = true;
	
	if (keyword.value.Trim() == "" && sendFlag){
		alert("請輸入關鍵字");
		sendFlag = false;
		keyword.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function calPrice() {
	var myForm = document.getElementById('frmAutoSys');
	if (checkAutoSysInput(myForm)) {
		var txtPrice = document.getElementById('txt_quotedPrice');
		var thisPrice = 0;
		var materialPrice = 1;
		var materialType = 2;
		
		var material = myForm.selMaterial.value.split("@@@");
		materialPrice = material[1];
		materialType = material[2];
		
		if (materialType == "1") {
			thisPrice = materialPrice * parseFloat(myForm.selQty.value);
		} else {
			thisPrice = parseFloat(myForm.selWidth.value) * parseFloat(myForm.selHeight.value) * materialPrice;
			if (myForm.selUnit.value == "2") {
				thisPrice /= 144;
			} else if (myForm.selUnit.value == "3") {
				thisPrice /= 900;
			}
			if (thisPrice < 10)
				thisPrice = 10 * parseFloat(myForm.selQty.value);
			else
				thisPrice = thisPrice * parseFloat(myForm.selQty.value);
		}
		document.getElementById('txt_quotedPrice').style.backgroundColor="#FFFFFF";

		document.getElementById('txt_quotedPrice').style.color="#0000FF";
		//document.getElementById('txt_quotedPrice').bgColor="#FFFFFF";
		txtPrice.innerHTML = "HK$ "+number_format(Math.ceil(thisPrice),0);
	}
}

function retrieveMType(obj) {
	var myForm = obj.form;
	var material = obj.value.split("@@@");
	var materialType = material[2];
	
	if (materialType == "1") {
		myForm.selWidth.disabled = "disabled";
		myForm.selHeight.disabled = "disabled";
		myForm.selUnit.disabled = "disabled";
		myForm.selQty.focus();
	} else {
		myForm.selWidth.disabled = "";
		myForm.selHeight.disabled = "";
		myForm.selUnit.disabled = "";
	}
}

function checkAutoSysInput(myForm) {
	var selMaterial = myForm.selMaterial;
	var selWidth = myForm.selWidth;
	var selHeight = myForm.selHeight;
	var selQty = myForm.selQty;
	var material = myForm.selMaterial.value.split("@@@");
	var materialType = material[2];
	var validFlag = true;
	
	if (selMaterial.value.Trim() == "" && validFlag) {
		alert("請選擇物料");	
		validFlag = false;
	}
	if (selWidth.value.Trim() == "" && materialType == '2' && validFlag) {
		alert("請輸入橫度");
		validFlag = false;
	}
	if (selHeight.value.Trim() == "" && materialType == '2' && validFlag) {
		alert("請輸入高度");	
		validFlag = false;
	}
	if (selQty.value.Trim() == "" && validFlag) {
		alert("請輸入數量");	
		validFlag = false;
	}
	return validFlag;
}

function checkAutoSys(myForm) {
	var sendFlag = checkAutoSysInput(myForm);
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, prec = decimals;
 
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}