String.prototype.trim = function() {
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
}

function IsOnlyNumbers(str) {
	var nonums = /^[0-9]*$/;
	if (nonums.test(str))
	return true;
	else
	return false;
}

function IsOnlyChars(name) {
	str = "0123456789";
	for(i=0; i<name.length; i++) {
		if(str.indexOf(name.charAt(i)) != -1) {
			return true;
		}
	}
	return false;
}

function checkFloat(str) {
    reg = /^[-+]?[0-9]+(\.[0-9]+)?$/;
	if(reg.test(str)){
		return true;
	} else {
		return false;	
	}
}

function ValidateImageExtension(imgName) {
	var ext = '';	
	imgArr = imgName.split('.');
	ext = imgArr[(imgArr.length) - 1];
	ext = ext.toLowerCase();
	if(ext == 'jpg' || ext =='jpeg' || ext =='gif') {
		return true;
	} else {
		//alert('Only jpg and gif files are allowed');
		return false;		
	}
}

function ValidateDocExtension(imgName) {
	var ext = '';	
	imgArr = imgName.split('.');
	ext = imgArr[(imgArr.length) - 1];
	ext = ext.toLowerCase();
	if(ext == 'pdf' || ext =='doc' ) {
		return true;
	} else {
		return false;		
	}
}
		
function displayAlert(msg){
	if(msg) $('msg_div').innerHTML = msg;
	$('alert_div').className = 'alert_show';
}

function containSpecialCharacters(str, exclude) {

	//var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	var iChars = "!@#$%^&*()=[]\\\';,./{}|\":<>?";
	if(exclude) {
		for (var j=0; j < exclude.length; j++) {
			iChars = iChars.replace(exclude.charAt(j), '');
		}
	}

	for (var i = 0; i < str.length; i++) {
		if (iChars.indexOf(str.charAt(i)) != -1) {
			return true;
		}
	}
	return false;
}
// for date diffrence

function IsStartBeforeFinish( sDateStart, sDateEnd ) {
	/* previous code --------
	return String2Date(sDateStart) < String2Date(sDateEnd);
	*/
	
	startArr = sDateStart.split('-');
	endArr = sDateEnd.split('-');
	
	var y1 = startArr[2];
	var m1 = startArr[1];
	var d1 = startArr[0];
	
	var y2 = endArr[2];
	var m2 = endArr[1];
	var d2 = endArr[0];
	
	date1 = new Date(y1,m1,d1);
	date2 = new Date(y2,m2,d2);
	
	
	if (date1.getTime() <= date2.getTime()) {
		return true;
	} else {
		return false;
	}
}

//For Email Validation
function ValidateEMail(objName) { 
	var sobjValue;
	sobjValue = objName.trim(); 
		
	if(sobjValue.match(">")){	
		sobjValue = sobjValue.replace(/>/g,'');				
	}
	
	if(sobjValue.match("<")){	
		sobjValue = sobjValue.replace(/</g,'');			
	}
	
	if(sobjValue.match('"')){		
		sobjValue = sobjValue.replace(/"[^"]*"/g,'');		
	}
	
	sobjValue = sobjValue.trim();	
	var reEmail = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	
	if(sobjValue.length > 5 && reEmail.test(sobjValue)) {
		return true;
	} else {
		return false;
	}
}

//For Phone Validation
function ValidatePhone(objName) { 
	var PhoneReg =  /^[\(|\+|\d]?(\d{1,6})[\)|\s|\-]?[\(|\s|\-]?(\d{1,6})[\)|\s|\-]?([\s|\-]?(\d{1,6}))+$/
	if(PhoneReg.test(objName)) { 
		return true;
	} else {
		return false;
	}
}

function IsValidTime(timeStr) {
	// Checks if time is in HH:MM:SS AM/PM format.
	// The seconds and AM/PM are optional.
	
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	
	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
	//alert("Time is not in a valid format.");
	return false;
	}else
	{return true;}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	
	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }
	
	if (hour < 0  || hour > 23) {
	alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
	return false;
	}
	if (hour <= 12 && ampm == null) {
	if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
	alert("You must specify AM or PM.");
	return false;
	   }
	}
	if  (hour > 12 && ampm != null) {
	alert("You can't specify AM or PM for military time.");
	return false;
	}
	if (minute<0 || minute > 59) {
	alert ("Minute must be between 0 and 59.");
	return false;
	}
	if (second != null && (second < 0 || second > 59)) {
	alert ("Second must be between 0 and 59.");
	return false;
	}
	return false;
}
//For Date Compare
function IsStartBeforeFinish( sDateStart, sDateEnd ) {
	/* previous code --------
	return String2Date(sDateStart) < String2Date(sDateEnd);
	*/
	
	startArr = sDateStart.split('-');
	endArr = sDateEnd.split('-');
	
	var y1 = startArr[2];
	var m1 = startArr[1];
	var d1 = startArr[0];
	
	var y2 = endArr[2];
	var m2 = endArr[1];
	var d2 = endArr[0];
	
	date1 = new Date(y1,m1,d1);
	date2 = new Date(y2,m2,d2);
	//alert(date1);
	//alert(date2);
	
	if (date1.getTime() <= date2.getTime()) {
		return true;
	} else {
		return false;
	}
}

function isURL(argvalue) { 
	//urlRegEx = /http[s]?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?/;
	 urlRegEx = /^(http[s]?:\/\/).([\w-]+(?:\.[\w-]+)*).((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	var testVal = argvalue.trim(); 
	if(testVal.length > 9 && urlRegEx.test(testVal)) { 
		return true;
	} else { 
		return false; 
	}
}

//Image Validation
function ValidateImg(objImg)
{
	
	
		var iPos = objImg.lastIndexOf(".")
		var sExt = objImg.substring(iPos);
//		if((sExt.toUpperCase()=='.JPEG') || (sExt.toUpperCase()=='.JPG') || (sExt.toUpperCase()=='.GIF') || (sExt.toUpperCase()=='.BMP') )
		if((sExt.toUpperCase()=='.JPEG') || (sExt.toUpperCase()=='.JPG') || (sExt.toUpperCase()=='.GIF'))
		{
			return true;
		}
		else
		{
			return false;
		}
	
	return true;
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
	var newWin = window.open(theURL,winName,features);
	newWin.focus(); 
}

function changePage(pageNum) { 
	
	var url = $F('pageurl'); 
	///alert($F('pageurl'));
	var pars = 'page='+ pageNum;
	var myAjax = new Ajax.Request(
	url, 
	{
		method: 'POST',
		parameters: pars,
		onComplete: changePage_resp
	});
}


function changePage_resp(originalRequest) {
	//alert(originalRequest);
	result = originalRequest.responseText;
	result = result.trim(); 
	
	$('main-action-div').innerHTML = result;
	return false;
}

function countChar(fobj) {
	var total = 500;
	var used = fobj.value.length;
	if(total >= used) {
		document.getElementById("dsc_cnt").innerHTML = total - used;
	} else {
		fobj.value = fobj.value.substring(0, total);
	}
}

function URLEncode(plaintext)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	//var plaintext = document.URLForm.F1.value;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    /*if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else*/ 
		if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			   /* alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );*/
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	//document.URLForm.F2.value = encoded;
	//alert(encoded);
	return encoded;
};