/*-------------
Check date
---------------*/
var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");




function isValidDate(d,m,y){
	if(m==2 && y%4 > 0 && d>=29){
		return false;
	}	
	else if (m==2 && y%4 == 0 && d>=30){
		return false;
	}			
	else if((m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) && d>=32){
		return false;
	}
	else if((m==4 || m==6 || m==9 || m==11) && d>=31){
		return false;
	}else {
		return true;
	}
}
function isFutureDate(yyyy,mm,dd){
	var today = new Date();
	var _date = new Date();

	_date.setYear(yyyy);
	_date.setMonth(mm-1);
	_date.setDate(dd);
	
	today.setHours(0);
	today.setMinutes(0);
	today.setSeconds(0);
	_date.setHours(0);
	_date.setMinutes(0);
	_date.setSeconds(0);
	
	if(Date.parse(_date) == Date.parse(today)){
		return false;
	}else if(Date.parse(_date) < Date.parse(today)){
		return false;
	}else {
		return true;
	}
}

/*-------------
Check email
---------------*/
function isValidEmail(value){
	var reg = new RegExp(/^[-a-zA-Z0-9][-.a-zA-Z0-9]*@[-.a-zA-Z0-9]+(\.[-.a-zA-Z0-9]+)*\.(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$/);
	if (value.match(reg)) {
		return true;
	} else return false;
}

/*-------------
Check character
---------------*/
function hasWhiteSpace(s) {
	if (/^\s+$/.test(s)){
		 return true;
	}else return false;
}
function isValidAlphaSymbol(value) {
	var reg = new RegExp(/^[0-9A-Za-z \,\-\(\)\'\.~`@%&*_+=$\[\]\{\}\\|:/]+$/);
	if (value.match(reg)) {
		return true;
	} else return false;
}
function isValidPhone(value){
	var reg = new RegExp(/^[0-9]{8}$/);
	if (value.match(reg)) {
		return true;
	} else return false;
}
/*-------------
check form selected
---------------*/
function checkSelectByName(type, name){
	var count=0;
	var _inputs = document.getElementById(formName).getElementsByTagName("input");
	for (var i = 0; i < _inputs.length; i++){
		if(_inputs[i].type==type && _inputs[i].name == name){
			if(_inputs[i].checked){
				count++;
			}
		}
	}
	if(count>0){
		return true;
	}else return false;
}
function checkBoxSelect(name){
	var count=0;
	var _inputs = document.getElementsByTagName(name);
	for (var i = 0; i < _inputs.length; i++){						
		if(_inputs[i].type=="checkbox"){
			if(_inputs[i].checked){
				count++;
			}
		}
	}
	if(count>0){
		return true;
	}else return false;
}
function checkRadioSelectByName(formName, name){
	var count=0;
	var _inputs = document.getElementById(formName).getElementsByTagName("input");
	for (var i = 0; i < _inputs.length; i++){
		if(_inputs[i].type=="radio" && _inputs[i].name == name){
			if(_inputs[i].checked){
				count++;
			}
		}
	}
	if(count>0){
		return true;
	}else return false;
}
function checkDropDownSelectById(id){
	if(document.getElementById(id).value == "" || document.getElementById(id).value == 0 ){
		return false;
	}else return true;
}
/*-------------
form others
---------------*/
function textboxMultilineMaxNumber(txt,maxLen){  
    try{
        if (txt.value.length > maxLen)
            txt.value = txt.value.substring(0,maxLen);
    }catch(e){  
    }  
}  
/*-------------
validation method
---------------*/
function CustomValidation(value, isMandatory, length, checkWhiteSpace, checkWriteList){
	if (isMandatory && value == ""){
		return "1";
	}else if(length > 0 && value.length > length){
		return "2";	
	}else if(checkWhiteSpace && value != "" && hasWhiteSpace(value)){
		return "3";	
	}else if(checkWriteList && value != "" && !isValidAlphaSymbol(value)){
		return "4";	
	}else{
		return "0";
	}
}
function CustomErrorMsg(error, name, length){
	if(error=="0"){
		return "";
	}else if(error=="1"){
		return "* Please Enter "+name+".";
	}else if(error=="2"){
		return "* Please Enter "+name + " < " + length + " Lengths.";
	}else if(error=="3"){
		return "* Invalid Characters. Please Retry.";
	}else if(error=="4"){
		return "* Invalid Characters. Please Retry..";
	}
}

function CustomErrorMsgWithLang(error, lang, _eng_name, _tc_name, _sc_name, length){
	if(error=="0"){
		return "";
	}else if(error=="1"){
		if(lang == "TC"){
			return "* 請輸入 "+_tc_name+".";
		}else if(lang == "SC"){
			return "* 请输入 "+_sc_name+".";
		}else{
			return "* Please Enter "+_eng_name+".";
		}
	}else if(error=="2"){
		if(lang == "TC"){
			return "* 請輸入 "+_tc_name + " 且長度少於 " + length + ".";
		}else if(lang == "SC"){
			return "* 请输入 "+_sc_name + " 且长度少于 " + length + ".";
		}else{
			return "* Please Enter "+_eng_name + " < " + length + " Lengths.";
		}
	}else if(error=="3"){
		if(lang == "TC"){
			return "* 不正確的字符, 請重新輸入.";
		}else if(lang == "SC"){
			return "* 不正确的字符, 请重新输入.";
		}else{
			return "* Invalid Characters. Please Retry.";
		}
	}else if(error=="4"){
		if(lang == "TC"){
			return "* 不正確的字符, 請重新輸入.";
		}else if(lang == "SC"){
			return "* 不正确的字符, 请重新输入.";
		}else{
			return "* Invalid Characters. Please Retry.";
		}
	}
}
