function isEmpty(elem) {
  if(!elem || elem.value.length == 0) {
  	elem.focus();
    //alert('Bạn không được để trống trường này !!');
    return true;
  }
	return false; 
}


function isEmail(textcontrol) {
	 str = textcontrol.value;
	 re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	
	 return (re.test(str));
}



function isTrueDate(ngay,thang,nam) {
	var dt = new Date();
	
	var date=dt.getDate();
	var month=dt.getMonth()+1;
	var year=dt.getYear();
	if (year<1900) Year = year+1900;
	if(nam<year)
			{return false;}                   
		else if((year==nam)&&(thang<month))
			{return false;}
		else if((year==nam)&&(thang==month)&&(ngay<date))  {return false;}
			else return true;	
	
}

function isPNumber(elem) {
  var str = elem.value;
  if(str.length==0)
	  return false;
  var re = /[0-9][ ][(][)][-]+/;
  for (k=0;k<str.length;k++){
  	if (str.charCodeAt(k) < 48 || str.charCodeAt(k) > 57)
  		return false;
  }
  return true;
}

function putValidNum(formid,elemid){
var elem=document.getElementById(formid+':'+elemid);
	var returnStr='';
	var str=elem.value;
	for (k=0;k<str.length;k++){
  	if (str.charCodeAt(k) > 47 && str.charCodeAt(k) < 58)
  		returnStr=returnStr+str.charAt(k);
  }
  elem.value=returnStr;
}

function isTrueTime(elem){
	var re =  /^[0|1][0-9]:[0-5][0-9]:[0-5][0-9]$/;
	/*
	var re1 = /0[0-9]:[0-5][0-9]:[0-5][0-9]/;
	var re2 = /1[0-9]:[0-5][0-9]:[0-5][0-9]/;
	*/
	var re3 = /^2[0-4]:[0-5][0-9]:[0-5][0-9]$/;
	var str = elem.value;
	str = str.toString( );
    if (!re.test(str) && !re3.test(str)) {
        elem.focus();
        //alert('Bạn hãy nhập theo đúng định dạng giờ:phút:giây (hh:mm:ss)');
        return false;
    }
    return true;
}

function lessTime(time1, time2) {
	var date1 = new Date();
	var date2 = new Date();
	var arrTime1 = time1.split(':');
	var arrTime2 = time2.split(':');
	date1.setHours(arrTime1[0], arrTime1[1], arrTime1[2]);
	date2.setHours(arrTime2[0], arrTime2[1], arrTime2[2]);
	
	return date1 < date2;
}

function jsfElem(frm, id) {
	var obj = $("formConfig:" + id);
	obj.value = obj.value.trim();
	return obj;
}

function validateConfigSubmit(thisForm) {
	if (isEmpty(jsfElem(thisForm, "ttSystemMorningInText"))) {
		alert("Không được bỏ trống phần 'Thời điểm đi làm buổi sáng' !!");
		return false;
	}
	if (!isTrueTime(jsfElem(thisForm, "ttSystemMorningInText"))) {
		alert("Hãy nhập thông tin cho phần 'Thời điểm đi làm buổi sáng' theo đúng định dạng đã hướng dẫn!!");
		return false;
	}
	
	if (isEmpty(jsfElem(thisForm, "ttSystemAfternoonInText"))){
		alert("Không được bỏ trống phần 'Thời điểm đi làm buổi chiều' !!");
		return false;
	}
	if (!isTrueTime(jsfElem(thisForm, "ttSystemAfternoonInText"))) {
		alert("Hãy nhập thông tin cho phần 'Thời điểm đi làm buổi chiều' theo đúng định dạng đã hướng dẫn !!");
		return false;
	}
	
	if (isEmpty(jsfElem(thisForm, "ttSystemMorningOutText"))){
		alert("Không được bỏ trống phần 'Thời điểm nghỉ trưa' !!");
		return false;
	}
	if (!isTrueTime(jsfElem(thisForm, "ttSystemMorningOutText"))){
		alert("Hãy nhập thông tin cho phần 'Thời điểm nghỉ trưa' theo đúng định dạng đã hướng dẫn !!");
		return false;
	}
	
	if (isEmpty(jsfElem(thisForm, "ttSystemAfternoonOutText"))){
		alert("Không được bỏ trống phần 'Thời điểm nghỉ chiều' !!");
		return false;
	}
	if (!isTrueTime(jsfElem(thisForm, "ttSystemAfternoonOutText"))){
		alert("Hãy nhập thông tin cho phần 'Thời điểm nghỉ chiều' theo đúng định dạng đã hướng dẫn !!");
		return false;
	}
	
	if (!lessTime(jsfElem(thisForm, "ttSystemMorningInText").value, jsfElem(thisForm, "ttSystemMorningOutText").value)) {
		alert("Thời điểm làm sáng phải nhỏ hơn thời điểm nghỉ trưa !!");
		return false;
	}
	
	if (!lessTime(jsfElem(thisForm, "ttSystemMorningOutText").value, jsfElem(thisForm, "ttSystemAfternoonInText").value)) {
		alert("Thời điểm nghỉ trưa phải nhỏ hơn thời điểm làm chiều !!");
		return false;
	}
	
	if (!lessTime(jsfElem(thisForm, "ttSystemAfternoonInText").value, jsfElem(thisForm, "ttSystemAfternoonOutText").value)) {
		alert("Thời điểm làm chiều phải nhỏ hơn thời điểm nghỉ chiều !!");
		return false;
	}
	
	/*
	if (isEmpty(jsfElem(thisForm, "ttSystemNightInText"))){
		alert("Không được bỏ trống phần 'Thời điểm đi làm buổi tối' !!");
		return false;
	}
	if (!isTrueTime(jsfElem(thisForm, "ttSystemNightInText"))){
		alert("Hãy nhập thông tin cho phần 'Thời điểm đi làm buổi tối' theo đúng định dạng đã hướng dẫn !!");
		return false;
	}
	
	if (isEmpty(jsfElem(thisForm, "ttSystemNightOutText"))){
		alert("Không được bỏ trống phần 'Thời điểm nghỉ làm buổi tối' !!");
		return false;
	}
	if (!isTrueTime(jsfElem(thisForm, "ttSystemNightOutText"))){
		alert("Hãy nhập thông tin cho phần 'Thời điểm nghỉ làm buổi tối' theo đúng định dạng đã hướng dẫn !!");
		return false;
	}
	
	if (isEmpty(jsfElem(thisForm, "ttLateText"))){
		alert("Không được bỏ trống phần 'Thời gian vào trễ cho phép' !!");
		return false;
	}
	if (!isPNumber(jsfElem(thisForm, "ttLateText"))){
		alert("Hãy nhập thông tin cho phần 'Thời gian vào trễ cho phép' theo đúng định dạng số !!");
		return false;
	}	
	
	if (isEmpty(jsfElem(thisForm, "delay"))){
		alert("Không được bỏ trống phần 'Thời gian trễ giữa hai lần táp thẻ' !!");
		return false;
	}
	if (!isPNumber(jsfElem(thisForm, "delay"))){
		alert("Hãy nhập thông tin cho phần 'Thời gian trễ giữa hai lần táp thẻ' theo đúng định dạng số !!");
		return false;
	}	

	if (isEmpty(jsfElem(thisForm, "outText"))){
		alert("Không được bỏ trống phần 'Thời gian ra ngoài cho phép' !!");
		return false;
	}
	if (!isPNumber(jsfElem(thisForm, "outText"))){
		alert("Hãy nhập thông tin cho phần 'Thời gian ra ngoài cho phép' theo đúng định dạng số !!");
		return false;
	}	
	*/
	if (isEmpty(jsfElem(thisForm, "confirmText"))){
		alert("Không được bỏ trống phần 'Thời gian chờ duyệt' !!");
		return false;
	}
	if (!isPNumber(jsfElem(thisForm, "confirmText"))){
		alert("Hãy nhập thông tin cho phần 'Thời gian chờ duyệt' theo đúng định dạng số !!");
		return false;
	}	
	
	if (jsfElem(thisForm, "confirmText").value >= 30){
		alert("'Thời gian chờ duyệt' quá thời gian quy định");
		return false;
	}	
	if(confirm('Bạn có muốn thay đổi cấu hình thời gian không ?')==false){
		return false;
	}
	return true;

}


function validateChangePassword(thisForm) {
	var oldPass = thisForm[thisForm.id + ":ttOldPassword"];
	var newPass = thisForm[thisForm.id + ":ttNewPassword"];
	var reNewPass = thisForm[thisForm.id + ":ttReNewPassword"];
	
	if (isEmpty(oldPass)) {
		window.alert("Xin hãy nhập phần 'Mật khẩu cũ'");
		return false;
	}
	
	if (isEmpty(newPass)) {
		window.alert("Xin hãy nhập phần 'Mật khẩu mới'");
		return false;
	}
	
	if (newPass.value == oldPass.value) {
		window.alert("'Mật khẩu mới' phải khác 'Mật khẩu cũ'");
		newPass.focus();
		return false;
	}
	
	if (newPass.value != reNewPass.value) {
		window.alert("Phần 'Nhập lại mật khẩu mới' phải giống 'Mật khẩu mới'");
		reNewPass.focus();
		return false;
	}
	return true;
}
    
		