/*--[Front End]----------------------
-------------------------------------*/
// Feedback 
function feedback_valid (){
	if (isNull("Username", document.SignInFrm.Name.value)){
		document.SignInFrm.Name.focus();
		return false;
	}
	if (isNull("Email", document.SignInFrm.Email.value)){
		document.SignInFrm.Email.focus();
		return false;
	}
	if (checkMail(document.SignInFrm.Email.value)){
		document.SignInFrm.Email.focus();
		return false;
	}
	if (isNull("Subject", document.SignInFrm.Subject.value)){
		document.SignInFrm.Subject.focus();
		return false;
	}
	if (isNull("Message", document.SignInFrm.Message.value)){
		document.SignInFrm.Message.focus();
		return false;
	}																																														
	return true
}

// CV Post
function cv_valid (){
	if (isNull("Name", document.cvpost.name.value)){
		document.cvpost.name.focus();
		return false;
	}
	if (isNull("Email", document.cvpost.email.value)){
		document.cvpost.email.focus();
		return false;
	}
	if (checkMail(document.cvpost.email.value)){
		document.cvpost.email.focus();
		return false;
	}
	if (isNull("Contact", document.cvpost.contact.value)){
		document.cvpost.contact.focus();
		return false;
	}
	if (isNull("CV Field", document.cvpost.uploadFile.value)){
		document.cvpost.uploadFile.focus();
		return false;
	}
}

/*--[Back End]----------------------
-------------------------------------*/
// User Profile
function RegForm_valid (){
	if (isNull("Password", document.RegForm.pass.value)){
		document.RegForm.pass.focus();
		return false;
	}
	if (isNull("Password", document.RegForm.full_name.value)){
		document.RegForm.full_name.focus();
		return false;
	}
	if (isNull("Phone", document.RegForm.phone.value)){
		document.RegForm.phone.focus();
		return false;
	}
	if (isNull("Email", document.RegForm.email.value)){
		document.RegForm.email.focus();
		return false;
	}
	if (checkMail(document.RegForm.email.value)){
		document.RegForm.email.focus();
		return false;
	}
}

// UserGroup Add
function usrgrpAdd_valid (){
	if (isNull("Group Name", document.usrgrpAdd.groupname.value)){
		document.usrgrpAdd.groupname.focus();
		return false;
	}
	if ((document.usrgrpAdd.groupname.value.toLowerCase())=="admin"){
		alert("Group Name can't be 'Admin'.");
		document.usrgrpAdd.groupname.focus();
		return false;
	}
}
// UserGroup Edit
function usrgrpEdit_valid (){
	if (isNull("Group Name", document.usrgrpEdit.groupname.value)){
		document.usrgrpEdit.groupname.focus();
		return false;
	}
}
// User Add
function userAdd_valid(){
	if (isNull("Group Name", document.userAdd.usergroup.value)){
		document.userAdd.usergroup.focus();
		return false;
	}
	if (vldUserName(document.userAdd.username.value)){
		document.userAdd.username.focus();
		return false;
	}
	if (isNull("Password", document.userAdd.password.value)){
		document.userAdd.password.focus();
		return false;
	}
}
// User Edit
function userEdit_valid(){
	if (isNull("Group Name", document.userEdit.usergroup.value)){
		document.userEdit.usergroup.focus();
		return false;
	}
	if (vldUserName(document.userEdit.username.value)){
		document.userEdit.username.focus();
		return false;
	}
	if (isNull("Password", document.userEdit.password.value)){
		document.userEdit.password.focus();
		return false;
	}
}
//Audit Add
function auditAdd_valid(){
	if (isNull("Name", document.auditAdd.name.value)){
		document.auditAdd.name.focus();
		return false;
	}
	if (isNull("Designation", document.auditAdd.designation.value)){
		document.auditAdd.designation.focus();
		return false;
	}
	if (isNullp("Image", document.auditAdd.uploadFile.value)){
		document.auditAdd.uploadFile.focus();
		return false;
	}
}
//Audit Edit
function auditEdit_valid(){
	if (isNull("Name", document.auditEdit.name.value)){
		document.auditEdit.name.focus();
		return false;
	}
	if (isNull("Designation", document.auditEdit.designation.value)){
		document.auditEdit.designation.focus();
		return false;
	}
	if (isNullp("Image", document.auditEdit.uploadFile.value)){
		document.auditEdit.uploadFile.focus();
		return false;
	}
}
//Board of Directors Add
function bodAdd_valid(){
	if (isNull("Name", document.bodAdd.name.value)){
		document.bodAdd.name.focus();
		return false;
	}
	if (isNull("Designation", document.bodAdd.designation.value)){
		document.bodAdd.designation.focus();
		return false;
	}
	if (isNullp("Image", document.bodAdd.uploadFile.value)){
		document.bodAdd.uploadFile.focus();
		return false;
	}
}
//Board of Directors Edit
function bodEdit_valid(){
	if (isNull("Name", document.bodEdit.name.value)){
		document.bodEdit.name.focus();
		return false;
	}
	if (isNull("Designation", document.bodEdit.designation.value)){
		document.bodEdit.designation.focus();
		return false;
	}
	if (isNullp("Image", document.bodEdit.uploadFile.value)){
		document.bodEdit.uploadFile.focus();
		return false;
	}
}
//Management Team Add
function managementAdd_valid(){
	if (isNull("Name", document.managementAdd.name.value)){
		document.managementAdd.name.focus();
		return false;
	}
	if (isNull("Designation", document.managementAdd.designation.value)){
		document.managementAdd.designation.focus();
		return false;
	}
	if (isNullp("Image", document.managementAdd.uploadFile.value)){
		document.managementAdd.uploadFile.focus();
		return false;
	}
}
//Management Team Edit
function managementEdit_valid(){
	if (isNull("Name", document.managementEdit.name.value)){
		document.managementEdit.name.focus();
		return false;
	}
	if (isNull("Designation", document.managementEdit.designation.value)){
		document.managementEdit.designation.focus();
		return false;
	}
	if (isNullp("Image", document.managementEdit.uploadFile.value)){
		document.managementEdit.uploadFile.focus();
		return false;
	}
}
//Executive Committee Add
function executiveAdd_valid(){
	if (isNull("Name", document.executiveAdd.name.value)){
		document.executiveAdd.name.focus();
		return false;
	}
	if (isNull("Designation", document.executiveAdd.designation.value)){
		document.executiveAdd.designation.focus();
		return false;
	}
	if (isNullp("Image", document.executiveAdd.uploadFile.value)){
		document.executiveAdd.uploadFile.focus();
		return false;
	}
}
//Executive Committee Edit
function executiveEdit_valid(){
	if (isNull("Name", document.executiveEdit.name.value)){
		document.executiveEdit.name.focus();
		return false;
	}
	if (isNull("Designation", document.executiveEdit.designation.value)){
		document.executiveEdit.designation.focus();
		return false;
	}
	if (isNullp("Image", document.executiveEdit.uploadFile.value)){
		document.executiveEdit.uploadFile.focus();
		return false;
	}
}
//News Add
function newsAdd_valid(){
	if (isNull("Date", document.newsAdd.event_date.value)){
		document.newsAdd.event_date.focus();
		return false;
	}
	if (isDate(document.newsAdd.event_date.value)==false){
		alert("Please, check the Date formate.");
		document.newsAdd.event_date.focus();
		return false;
	}
	if (isNull("Title", document.newsAdd.title.value)){
		document.newsAdd.title.focus();
		return false;
	}
}
//News Edit
function newsEdit_valid(){
	if (isNull("Date", document.newsEdit.event_date.value)){
		document.newsEdit.event_date.focus();
		return false;
	}
	if (isDate(document.newsEdit.event_date.value)==false){
		alert("Please, check the Date formate.");
		document.newsEdit.event_date.focus();
		return false;
	}
	if (isNull("Title", document.newsEdit.title.value)){
		document.newsEdit.title.focus();
		return false;
	}
}
//Notice Add
function noticeAdd_valid(){
	if (isNull("Title", document.noticeAdd.title.value)){
		document.noticeAdd.title.focus();
		return false;
	}
	if (isNullp("File", document.noticeAdd.uploadFile.value)){
		document.noticeAdd.uploadFile.focus();
		return false;
	}
}
//Notice Edit
function noticeEdit_valid(){
	if (isNull("Title", document.noticeEdit.title.value)){
		document.noticeEdit.title.focus();
		return false;
	}
	if (isNullp("File", document.noticeEdit.uploadFile.value)){
		document.noticeEdit.uploadFile.focus();
		return false;
	}
}
//Annual Reports Add
function anlreportAdd_valid(){
	if (isNull("Title", document.anlreportAdd.title.value)){
		document.anlreportAdd.title.focus();
		return false;
	}
	if (isNullp("File", document.anlreportAdd.uploadFile.value)){
		document.anlreportAdd.uploadFile.focus();
		return false;
	}
}
//Annual Reports Edit
function anlreportEdit_valid(){
	if (isNull("Title", document.anlreportEdit.title.value)){
		document.anlreportEdit.title.focus();
		return false;
	}
	if (isNullp("File", document.anlreportEdit.uploadFile.value)){
		document.anlreportEdit.uploadFile.focus();
		return false;
	}
}
//Downloads Add
function downloadsAdd_valid(){
	if (isNull("Title", document.downloadsAdd.title.value)){
		document.downloadsAdd.title.focus();
		return false;
	}
	if (isNullp("File", document.downloadsAdd.uploadFile.value)){
		document.downloadsAdd.uploadFile.focus();
		return false;
	}
}
//Downloads Edit
function downloadsEdit_valid(){
	if (isNull("Title", document.downloadsEdit.title.value)){
		document.downloadsEdit.title.focus();
		return false;
	}
	if (isNullp("File", document.downloadsEdit.uploadFile.value)){
		document.downloadsEdit.uploadFile.focus();
		return false;
	}
}
//Schedule Of Charges Add
function schargeAdd_valid(){
	if (isNull("Title", document.schargeAdd.title.value)){
		document.schargeAdd.title.focus();
		return false;
	}
	if (isNullp("File", document.schargeAdd.uploadFile.value)){
		document.schargeAdd.uploadFile.focus();
		return false;
	}
}
//Schedule Of Charges Edit
function schargeEdit_valid(){
	if (isNull("Title", document.schargeEdit.title.value)){
		document.schargeEdit.title.focus();
		return false;
	}
	if (isNullp("File", document.schargeEdit.uploadFile.value)){
		document.schargeEdit.uploadFile.focus();
		return false;
	}
}
//ATM Location Add
function atmLocAdd_valid(){
	if (isNull("Booth Name", document.atmLocAdd.name.value)){
		document.atmLocAdd.name.focus();
		return false;
	}
	if (isNull("Address", document.atmLocAdd.Address.value)){
		document.atmLocAdd.Address.focus();
		return false;
	}
}
//ATM Location Edit
function atmLocEdit_valid(){
	if (isNull("Booth Name", document.atmLocEdit.name.value)){
		document.atmLocEdit.name.focus();
		return false;
	}
	if (isNull("Address", document.atmLocEdit.Address.value)){
		document.atmLocEdit.Address.focus();
		return false;
	}
}
//Currency Rates Add
function curRateAdd_valid(){
	if (isNull("Currency", document.curRateAdd.CurName.value)){
		document.curRateAdd.CurName.focus();
		return false;
	}
	if (isNull("Sell", document.curRateAdd.CurSell.value)){
		document.curRateAdd.CurSell.focus();
		return false;
	}
	if (isNull("Buy", document.curRateAdd.CurBuy.value)){
		document.curRateAdd.CurBuy.focus();
		return false;
	}
}
//Currency Rates Edit
function curRateEdit_valid(){
	if (isNull("Currency", document.curRateEdit.CurName.value)){
		document.curRateEdit.CurName.focus();
		return false;
	}
	if (isNull("Sell", document.curRateEdit.CurSell.value)){
		document.curRateEdit.CurSell.focus();
		return false;
	}
	if (isNull("Buy", document.curRateEdit.CurBuy.value)){
		document.curRateEdit.CurBuy.focus();
		return false;
	}
}
//Links Add
function linksAdd_valid(){
	if (isNull("Title", document.linksAdd.title.value)){
		document.linksAdd.title.focus();
		return false;
	}
	if (isNull("Links", document.linksAdd.links.value)){
		document.linksAdd.links.focus();
		return false;
	}
}
//Links Edit
function linksEdit_valid(){
	if (isNull("Title", document.linksEdit.title.value)){
		document.linksEdit.title.focus();
		return false;
	}
	if (isNull("Links", document.linksEdit.links.value)){
		document.linksEdit.links.focus();
		return false;
	}
}
//Branch Info Add
function branchAdd_valid(){
	if (isNull("Branch Name", document.frmBranch.BranchName.value)){
		document.frmBranch.BranchName.focus();
		return false;
	}
	if (isNull("Open Date", document.frmBranch.OpenDate.value)){
		document.frmBranch.OpenDate.focus();
		return false;
	}
	if (isDate(document.frmBranch.OpenDate.value)==false){
		alert("Please, check the Date formate.");
		document.frmBranch.OpenDate.focus();
		return false;
	}
	if (isNull("Address", document.frmBranch.Address.value)){
		document.frmBranch.Address.focus();
		return false;
	}
	if (isNull("Branc hHead", document.frmBranch.BranchHead.value)){
		document.frmBranch.BranchHead.focus();
		return false;
	}
	
	if (isNullp("Phone", document.frmBranch.Phone.value)){
		document.frmBranch.Phone.focus();
		return false;
	}
	if (isNullp("Fax", document.frmBranch.Fax.value)){
		document.frmBranch.Fax.focus();
		return false;
	}
	if (isNullp("Tlx", document.frmBranch.Tlx.value)){
		document.frmBranch.Tlx.focus();
		return false;
	}
    if (isNullp("Swift", document.frmBranch.Swift.value)){
		document.frmBranch.Swift.focus();
		return false;
	}
	if (isNullp("Manager photo", document.frmBranch.Manager.value)){
		document.frmBranch.Manager.focus();
		return false;
	}
	if (isNullp("Branch photo", document.frmBranch.Branch.value)){
		document.frmBranch.Branch.focus();
		return false;
	}
}

//Branch Info Edit
function branchEdit_valid(){
	if (isNull("Branch Name", document.frmBranch.BranchName.value)){
		document.frmBranch.BranchName.focus();
		return false;
	}
	if (isNull("Open Date", document.frmBranch.OpenDate.value)){
		document.frmBranch.OpenDate.focus();
		return false;
	}
	if (isDate(document.frmBranch.OpenDate.value)==false){
		alert("Please, check the Date formate.");
		document.frmBranch.OpenDate.focus();
		return false;
	}
	if (isNull("Address", document.frmBranch.Address.value)){
		document.frmBranch.Address.focus();
		return false;
	}
	if (isNull("Branc hHead", document.frmBranch.BranchHead.value)){
		document.frmBranch.BranchHead.focus();
		return false;
	}
	
	if (isNullp("Phone", document.frmBranch.Phone.value)){
		document.frmBranch.Phone.focus();
		return false;
	}
	if (isNullp("Fax", document.frmBranch.Fax.value)){
		document.frmBranch.Fax.focus();
		return false;
	}
	if (isNullp("Tlx", document.frmBranch.Tlx.value)){
		document.frmBranch.Tlx.focus();
		return false;
	}
    if (isNullp("Swift", document.frmBranch.Swift.value)){
		document.frmBranch.Swift.focus();
		return false;
	}
	if (isNullp("Manager photo", document.frmBranch.uploadFile1.value)){
		document.frmBranch.uploadFile1.focus();
		return false;
	}
	if (isNullp("Branch photo", document.frmBranch.uploadFile2.value)){
		document.frmBranch.uploadFile2.focus();
		return false;
	}
}

//Career Add
function career_valid(){
	if (isNull("Position", document.frmCareer.posi.value)){
		document.frmCareer.posi.focus();
		return false;
	}
	if (isNull("Education", document.frmCareer.edu.value)){
		document.frmCareer.edu.focus();
		return false;
	}
	if (isNull("Vacancies", document.frmCareer.vac.value)){
		document.frmCareer.vac.focus();
		return false;
	}
	
	if (isNull("Last Date", document.frmCareer.ldate.value)){
		document.frmCareer.ldate.focus();
		return false;
	}
	if (isDate(document.frmCareer.ldate.value)==false){
		alert("Please, check the Date formate.");
		document.frmCareer.ldate.focus();
		return false;
	}
	if (isNull("Post Date", document.frmCareer.pdate.value)){
		document.frmCareer.pdate.focus();
		return false;
	}
	if (isDate(document.frmCareer.pdate.value)==false){
		alert("Please, check the Date formate.");
		document.frmCareer.pdate.focus();
		return false;
	}
}




/*--[General Functions]----------------------
---------------------------------------------*/
function checkMail(email){
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)){
		return false;
	} else{
		alert("Please enter a valid Email address");
		return true;
	}
}

function isNull(fldName, str){
	str=trim(str);
	if ((str == null) || (str.length == 0)) {
        alert(fldName+" should not be blank.");
		return true;
    } else {
        return false;
    }
}
function isNullp(fldName, str){
	str=trim(str);
	if ((str == null) || (str.length == 0)) {
		if(confirm(fldName+" is blank now.")){
			return false;
		} else {	   
			return true;
		}
    }
}

function isNum(str){
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re)) {
        alert("Enter only numbers into the field.");
        return false;
    }
    return true;
}

function isAlpha(str){
}

function vldUserName(str) {
    var illegalChars = /\W/; // allow letters, numbers, and underscores
 
    if (str == "") {
        alert("You didn't enter a username.");
    } else if ((str.length < 5) || (str.length > 15)) {
        alert("Username length should be in 5 to 15 charecters.");
    } else if (illegalChars.test(str)) {
        alert("The username contains illegal characters.");
    } else {
        return false;
    }
    return true;
}

function trim(s){
	return s.replace(/^\s+|\s+$/, '');
} 

function isDate(txtDate){ 
	var objDate;
	var mSeconds;
	
	if (txtDate.length != 10) return false;  
	
	var day   = txtDate.substring(8,10)  - 0;  
	var month = txtDate.substring(5,7)  - 1; // because months in JS start with 0  
	var year  = txtDate.substring(0,4) - 0;  

	if (txtDate.substring(4,5) != '-') return false;  
	if (txtDate.substring(7,8) != '-') return false;  
	
	if (year < 999 || year > 3000) return false;  
	
	mSeconds = (new Date(year, month, day)).getTime();  
	
	objDate = new Date();  
	objDate.setTime(mSeconds);  
	
	if (objDate.getFullYear() != year)  return false;  
	if (objDate.getMonth()    != month) return false;  
	if (objDate.getDate()     != day)   return false;  
	
	// otherwise return true  
	return true;  
}


             