

function IsPhone(thefield){
var checkOK = "0123456789)(+- ";
var checkStr = thefield;
var allValid = true;
for (i = 0;  i<checkStr.length;  i++){
	ch = checkStr.charAt(i);
	for (j = 0;  j< checkOK.length;  j++)
		if (ch == checkOK.charAt(j)){break;}
		if (j == checkOK.length){
		allValid = false;
		break;
		}
	}
			
if (!allValid)
	return false;
return true;
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function getDateToday_dd_mm_yyyy(){
var today= new Date();
var day=0; var month=0; var year=0;
var todayStr;
day= today.getDate();
if (day<10)day='0' + day;
month= today.getMonth()+1;
if (month<10)month='0' + month;
year= today.getFullYear();
todayStr= day + '/' + month + '/' + year;

return todayStr;
}


function getDaysElapsed(dt1,dt2) {

	if (dt1==null || dt1==''){
		return '';
	}
	else if (dt2==null || dt2==''){
		return '';
	}
		
	var date1 = new Date(dt1.substring(6,10), dt1.substring(3,5)-1, dt1.substring(0,2));
	var date2 = new Date(dt2.substring(6,10), dt2.substring(3,5)-1, dt2.substring(0,2));
               			
    var difference =
        Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0)
      - Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0);

	if (isNaN(difference))
		return '';
	else if ((difference/1000/60/60/24)<0)
		return (difference/1000/60/60/24);
	else
		return (difference/1000/60/60/24)+1;
}

function getNextDate(dt1,days) {

	if (dt1==null || dt1=='')
		return '';
	else if (days=='')
		return '';
	else if (days!='' && days==0)
		return '';
	
	days = days-1;

	var date1 = new Date(dt1.substring(6,10), dt1.substring(3,5)-1, dt1.substring(0,2));
	var theDate = new Date(date1.getTime() + days * 24 * 60 * 60 * 1000);
				
	
	
	var theday;
	var theMonth;
	var theYear;
				
	theDay = theDate.getDate()
	if (theDay<10)
	{
	theDay="0"+theDay
	}
	theMonth = theDate.getMonth()+1
	if (theMonth<10)
	{
	theMonth="0"+theMonth
	}
	theYear = theDate.getFullYear()
	theDate = (theDay + "/" + theMonth + "/" +theYear)

	return theDate;
}
			
function checkdate(fieldname, fieldvalue, mode){
var dateStr = fieldvalue;
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); 
var outparam = "";
if (matchArray == null){
	outparam = "Please enter " + fieldname + " in following formats: dd/mm/yyyy or dd-mm-yyyy.";
	return outparam;
}

day = matchArray[1]; 
month = matchArray[3];
year = matchArray[5];
if (month < 1 || month > 12){ 
	outparam = fieldname + "- month must be between 1 and 12.";
	return outparam;
}
if (day < 1 || day > 31){
	outparam= fieldname + "- day must be between 1 and 31.";
	return outparam;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31){
	outparam = fieldname + "- month "+month+" doesn't have 31 days!";
	return outparam;
}
if (month == 2){ 
	
	var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day > 29 || (day==29 && !isleap)){
		outparam= fieldname + " - February " + year + " doesn't have " + day + " days!";
		return outparam;
	}
}
if (mode!=0){
	
	var d		=	new Date();
	var mn		=	(d.getMonth() + 1);
	var dt		=	d.getDate();
	var yr		=   d.getYear();		
	if (mode==1) 
	{
		var dateflag=0;
		var nextmn  =   (d.getMonth() + 2);
			
		if (day<dt && month<=mn && year<=yr) {dateflag=-1;}
		else if (day>dt && month<=mn && year<yr) {dateflag=-1;}
		else if (day==dt && month<=mn && year<yr) {dateflag=-1;}
		
		if (day>=dt && month>=nextmn && year==yr) { dateflag=1; }
		if (dateflag==-1){
			outparam = fieldname + " should not be a date from the past.";
			return outparam;
		}
		else if (dateflag==1){
			outparam = fieldname + " should not be beyond one month from current date.";
			return outparam;
		}	
	}
}
return outparam;
}


function confirmDelete(title, label, mode, width){
var out = "", divide = "";
for (i = 0; i < width; i++){divide += "_";}
out += (mode==0)?"This action will permanently delete this " + label + ". Are you sure?\n":"";
out += (mode==1)?"" + label + " \n":"";
if (out.length > 50){out = processStringJS(out);}
var top = title + "\n" + divide + "\n";
var bottom = divide + "\n\n Click OK to continue.\n";
return confirm(top + out + bottom);
}

function setAction(sAction){
var frmSubmit = document.forms['frmUserAccounts'];
frmSubmit.action.value = sAction;
}

function textCounter(field, countfield, maxlimit, fieldlabel, bValidate){

if (field.value.length > maxlimit && bValidate){
	var sALMsg;
	sALMsg='The ' + fieldlabel + ' text must be ' + maxlimit + ' characters or less.\n\nThe text you have entered is ' + field.value.length + ' characters and will be \ntruncated.';
	sendMessage ('Before continuing...', sALMsg, 50);
	field.value = field.value.substring(0,maxlimit);
}
countfield.value=field.value.length;
}


