﻿//##########################################################################################
// Following code provides the functionality of check box selection & deselection
//##########################################################################################
	function chkStatus(estatus) {
		if (estatus.checked) {
			document.manipulate.CheckAll.checked = AllChecked();
		}
		else {
			document.manipulate.CheckAll.checked = false;
		}
	}
	function AllChecked() {
		ml = document.manipulate;
		len = ml.elements.length;
		for(var i = 0 ; i < len ; i++) {
			if (ml.elements[i].name == 'rcd' && !ml.elements[i].checked) {
				if (ml.elements[i].name != 'CheckAll') {
					return false;
				}
			}
		}
		return true;
	}
	function ChkAll(e) {
		if (e.checked) {
			var ml = document.manipulate;
			var len = ml.elements.length;
			for (var i = 0; i < len; i++) {
				var e = ml.elements[i];
				if (e.name=='rcd' && e.checked==false) {
					e.checked = true;
				}
			}
			ml.CheckAll.checked = true;
		}
		else {
			var ml = document.manipulate;
			var len = ml.elements.length;
			for (var i = 0; i < len; i++) {
				var e = ml.elements[i];
				if (e.name=='rcd' && e.checked) {
					e.checked = false;
				}
			}
			ml.CheckAll.checked = false;
		}
	}
	function ChkValid () {
		var counter = 0;
		var frm = document.manipulate;
		for(i=0;i<frm.length;i++) {
			e=frm.elements[i];
			if (e.name=='rcd' && e.checked) {
				counter = counter + 1;
			}
		}
		if (counter > 0 ) {
			return true;
		}
		else {
			return false;
		}
	}
//##########################################################################################
// Following functions are used for rollover text effects
//##########################################################################################
	function rollon () {
		window.event.srcElement.className = 'ontext';
	}
	function rolloff () {
		window.event.srcElement.className = 'offtext';
	}
	function rollon01 () {
		window.event.srcElement.className = 'ontext01';
	}
	function rolloff01 () {
		window.event.srcElement.className = 'offtext01';
	}
//##########################################################################################
// Following functions are used for input validation
//##########################################################################################
	function validateEmail (email) {
		var splitted = email.match("^(.+)@(.+)$");
		if (splitted == null) return false;
		if (splitted[1] != null ) {
			var regexp_user=/^\"?[\w-_\.]*\"?$/;
			if(splitted[1].match(regexp_user) == null) return false;
		}
		if(splitted[2] != null) {
			var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
			if(splitted[2].match(regexp_domain) == null) {
				var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
				if(splitted[2].match(regexp_ip) == null) return false;
			}
			return true;
		}
		return false;
	}
	function Required (objValue, fieldName) {
		if(eval(objValue.value.length) == 0) { 
			var strError = fieldName + " : حقل يجب تعبئته"; 
			alert(strError); 
			objValue.focus();
			return false; 
		}
	}
	function isString (objValue, fieldName) {
		var charpos = objValue.value.search("[^A-Za-z ]"); 
		if (objValue.value.length > 0 &&  charpos >= 0) { 
			strError = fieldName + " : أدخل أحرف فقط"; 
			alert(strError);
			objValue.focus();
			return false; 
		}
	}
	function isNumeric (objValue, fieldName) {
		var charpos = objValue.value.search("[^0-9]"); 
		if(objValue.value.length > 0 &&  charpos >= 0) { 
			strError = fieldName + " : أدخل أرقام فقط"; 
			alert(strError);
			objValue.focus();
			return false; 
		}
	}
	function isDate (objValue, fieldName) {
		var charpos = objValue.value.search("[^0-9/]"); 
		if (objValue.value.length > 0 &&  charpos >= 0) { 
			strError = fieldName + " : صيغة التاريخ الصحيح ( يوم/شهر/سنة )"; 
			alert(strError);
			objValue.focus();
			return false;
		}
	}
	function validatelist(objectname, objectvalue) {
		if (objectvalue == "sep" || objectvalue =="na") {
			objectname.selectedIndex = 0;
			return false;
		}
	}	
//##########################################################################################
// Following functions provides the functionality of vertical ticker
//##########################################################################################
	function InitialiseScrollableArea(){ 
		i = divContainer.offsetHeight+10;	
		divContent.style.top = i;
		divContainer.style.visibility='visible';
	    divContainer.style.left=100;
		setInterval('ScrollText()',20);
	}
	function ScrollText() {
		if (!scrl) return;
		divContent.style.top=i--;
		if (divContent.offsetHeight < divContainer.offsetHeight) {
			if (i == -divContainer.offsetHeight) i = divContainer.offsetHeight+10;
			return;
		}
		if (Math.abs(i) > divContent.offsetHeight) {
			i = divContainer.offsetHeight+10;	
		}
	}
//##########################################################################################
// Confirm logoff
//##########################################################################################	
	function confirmlogoff() {
		var logoffRes
		logoffRes = window.confirm("هل أنت متأكد من تسجيل الخروج ؟");
		if(logoffRes == true) {
			window.location = 'logoff.asp';
		}
		else return false;
	}
//##########################################################################################
