//frmelement.trim()
//reverse(data)     -->  Reverse a string
//isvalnumAlpha(data)->  Check the String for isNumericAplpahbet
//isNumAlpha(data)  -->  Alpha Numeric
//isAlpha(data)		-->  Pure Alphabet
//isNumber(data)	-->	 Pure Number
//isPhoneFax(data)	-->	 Phone No & Fax No.		
//isCurrency(data)	-->	 Currency
//isIcNo(data)		-->	 IC Number
//isTime(data)		-->	 Time
//isPassport(data)	-->  Is Valid Passport Number
//chkmyicno(obj1,obj2,obj3,ageobj) ----> IC Number
//isDate(dd,mm,yy)	-->	 Is Valid Date
//isWebsite(data)	-->	 Is Valid Website
//isEmail(data)		-->  Is Valid Email
//isFileImage(data) -->  Is Valid Image file
//isSound(data)		-->  Is Valid Sound File
//isScr(data)		-->	 Is Valid ScreenSaver File
//isVideo(data)		-->	 Is Valid Video File
//isAsx(data)		--> Is Valid ASX File
//isDateFormat(data)-->	 Is in the given format
//acceptNum(event,this)    -->  Accepct Numerics only at OnKeyUp event, but accepts special characters
//acceptAlpha(event,this)  -->  Accepct Alphabets only at OnKeyUp event, but accepts special characters
//chkmyicno - Ic Number
//isAllowed(data)   --> To filter login time special characters

function reverse(str){
	var reversedstr = "";
	var strArray;
	strArray = str.split("");
	
	for(var i = str.length -1 ; i >= 0 ; i--)
		reversedstr += strArray[i];
	
	return reversedstr;
}


function ss(){
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
}
String.prototype.trim=ss;

function isvalnumAlpha(data){
	var numStr="1234567890-=\~!@#$%^&*()_+|?><:{},";
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)==-1)
			{counter++;}
	}
	if(counter==data.length)
	{return true;}
	else
	return false;
}
///
function isNumAlpha(data){
	var numStr="=\~!@#$%^*()_+|?><:{},"; //- and & space are removed .
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)>=0) return false;
	}
return true;
}
///
function isAlpha(data){
	var numStr="1234567890-=\~!@#$%^&*()_+|?><:{},";
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)>=0) return false;
	}
return true;
}
///
function isNumber(data){
	var numStr="1234567890.";
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)<0) return false;
	}
return true;
}
//
function isPhoneFax(data){
	var numStr="1234567890-,";
	var thisChar;
	var counter=0;
	if(data.length<7) return false;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)<0) return false;
	}
return true;
}
//
function isCurrency(data){
	var numStr="1234567890.";
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)<0) return false;
	}
return true;
}
///
function isIcNo(data){
	var numStr="-=\~!@#$%^&*()_+|?><:{},";
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)>=0) return false;
	}
return true;
}
//Check for IC Number
function chkmyicno(obj1,obj2,obj3){
	var no=obj1.value+obj2.value+obj3.value;
	if (no.length<12 || parseInt(no,10)<1){
		alert("Not a Valid Ic Number");
		obj1.select();
		return false;
	}
	//chk for 2nd ICNO
	/*if (parseInt(obj2.value,10)<1 || parseInt(obj2.value,10)>16){
		alert("Not a Valid Ic Number");
		obj2.select();
		return false;
	}
	if (parseInt(obj3.value,10)<1){
		alert("Not a Valid Ic Number");
		obj3.select();
		return false;
	}*/
	//
	var yy=parseInt(obj1.value.substr(0,2),10);
	var mm=parseInt(obj1.value.substr(2,2),10);
	var dd=parseInt(obj1.value.substr(4,2),10);
	var d=new Date();
	var yyy='19'+yy;
	var age=d.getYear()-parseInt(yyy)
	//alert('age='+ age)
	
	//alert(yy+' '+mm+' '+dd)
	//year
	if (yy<=0 || yy>93){
		alert("Enter Valid Ic Number");
		//obj1.select();
		return false;
	}
	//month
	if (mm<0 || mm>12){
		alert("Enter Valid Ic Number");
		//obj1.select();
		return false;
	}
	//month
	//day
	if (dd<0 || dd>31){
		alert("Enter Valid Ic Number");
		//obj1.select();
		return false;
	}
	//day
	//for Sex
	////alert(obj1.name.substr(0,1));
	 if (member.sex[0].checked){
		var ld=obj3.value.substr(obj3.value.length-1,1)
		if (ld % 2==0){
			alert("Enter Valid Ic Number ");
			obj1.select();
			return false;
		}
	}else if (member.sex[1].checked){
		var ld=obj3.value.substr(obj3.value.length-1,1)
		if (ld % 2>0){
			alert("Enter Valid Ic Number ");
			obj1.select();
			return false;
		}
	}
	//
return true;
}
//End of IC Number



function isTime(data){
	var numStr="0123456789:";
	var thisChar;
	var counter=0;
	for(var i=0; i <data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)<0) return false;
	}
return true;
}
//
function isPassport(data){
	var charstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var numstr="0123456789 ";
	var thisChar;
	var numcnt=0;
	var charcnt=0;
	for(var i=0; i < data.length; i++){
			thisChar=data.substring(i,i+1);
			if(numstr.indexOf(thisChar)>=0)
				numcnt++;
			if(charstr.indexOf(thisChar)>=0)
				charcnt++;
			//alert(thisChar + ' '+ numcnt+' '+charcnt);
	}
	if(charcnt>0 && numcnt>0 && (numcnt+charcnt)==data.length)
		return true;
	else
		return false;
}
///
function isDate(dd,mm,yy){
	var dat= new Date(yy + '/' + mm + '/' + dd );
	if (dat.getMonth()+1 != mm || dat.getDate()!=dd || dat.getFullYear()!= yy) return false;
return true;
}
///
function isWebsite(data){
http=data.indexOf("http://")
dot=data.indexOf('.')
	if (data.length<12) return false;
	if ((http==-1) || (dot==-1) ) return false;
return true;
}
//IsWebsite ends

//Email chk
function isEmail(data){
mail1=data;
at=mail1.indexOf('@');
dot=mail1.indexOf('.');
	if (mail1.length<7)	return false;
	//For Not Allowed Chars
		var numStr=":'&; ";
		var thisChar;
		var counter=0;
		for(var i=0; i <mail1.length; i++){
			thisChar=mail1.substring(i,i+1);
			if(numStr.indexOf(thisChar)>0) return false;
		}
	//End of Not allowed Chars
	if ((at==-1) || (dot==-1) || (dot==(at+1)))	return false;
return true;
}
//End of E-mail

////All in One
function testFileType(forM,fileTypes,data){
//Split the whole string
	var dataArr=data.split("\\")
	var strFileName=dataArr[dataArr.length-1].split(".")
	//chk for dot exists
	if(strFileName.length<2){
		alert("Select Proper " +forM+ " Type");
	 	return false;
	}
	//Get the filename & Extension
	var fileName=strFileName[0].toUpperCase()
	var extension=strFileName[1].toUpperCase()
	//Check for filename is valid/not
	var charstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ._-0123456789 "
	for(var i=0; i < fileName.length; i++){
		thisChar=fileName.substring(i,i+1);
		if(charstr.indexOf(thisChar)<0){
			alert("Select Proper " +forM+" Type\n[Special character not allowed in the FILE NAME]");
			return false;
		}
	}
	//
	//Check for extension is valid/not
	var extArr=fileTypes.split("/")
	var intFound=0;
	for(ln=0;ln<extArr.length;ln++){
		if(extArr[ln]==extension){
			intFound=1;	break;
		}
	}
	if(!intFound){
		alert("Select Proper Image Type\n["+ fileTypes +" only Allowed]")
	 	return false;
	}
	//If everything fine RETURN TRUE;
return true;
}
////

//isFileImage
function isFileImage(data){
	if(!testFileType('Image','GIF/JPEG/JPG/SWF',data)){
		return false;
	}
return true;
}
//End isFileImage

//isSound
function isSound(data){
	if(!testFileType('Sound','WMA/MP3/WAV',data)){
		return false;
	}
return true;
}
//End isSound
//isScreensaver
function isScr(data){
	if(!testFileType('Screen Saver','SCR/EXE',data)){
		return false;
	}
return true;
}
//End isScreensaver

//isVideo
function isVideo(data){
	if(!testFileType('Video','MPG/MPEG/AVI',data)){
		return false;
	}
return true;
}
//End isVideo
//isAsx
function isAsx(data){
	if(!testFileType('Video','ASX',data)){
		return false;
	}
return true;
}
//End isAsx
// Given Dateformat
function isDateFormat(data){
	var numStr="1234567890/";
	var thisChar;
	var counter=0;
	for(var i=0; i < data.length; i++){
		thisChar=data.substring(i,i+1);
		if(numStr.indexOf(thisChar)!=-1){
			counter++;
		}
	}
	if(counter==data.length){
		var sptbnd;
		sptbnd = data.split('/');
		if (sptbnd.length==3){
			var dat= new Date(data );
			if (dat.getMonth()+1 != sptbnd[0] || dat.getDate()!=sptbnd[1] || dat.getFullYear()!= sptbnd[2] || sptbnd[2]>9999){
				return false;
			}else
			{
				return true;
			}
		}
		else{
			return false;
		}
	}
	else
		return false;
}
//End of Given format
//
//For accepting numeric only at the KEYUP event
function acceptNum(e,obj){
	var waste="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	if (e.keyCode){
		//alert(String.fromCharCode(e.keyCode)+' '+waste.indexOf(String.fromCharCode(e.keyCode)));
		if (waste.indexOf(String.fromCharCode(e.keyCode))>=0){
			var val=(obj.value).substring(0,obj.value.trim().length-1);
			obj.value=val;
		}
	}
}
//end
//For accepting Alpahbets only at the KEYUP event
function acceptAlpha(e,obj){
	var waste="0123456789";
	if (e.keyCode){
		//alert(String.fromCharCode(e.keyCode)+' '+waste.indexOf(String.fromCharCode(e.keyCode)));
		if (waste.indexOf(String.fromCharCode(e.keyCode))>=0){
			var val=(obj.value).substring(0,obj.value.trim().length-1);
			obj.value=val;
		}
	}
}
//ends
////For login chk
function isAllowed(data){
	var allChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for(k=0;k<data.length;k++){
		var c=data.substr(k,1);
		if (allChars.indexOf(c)<0) return false;
	}
return true;
}
/////
function char_chk(e,obj){
	var waste="ABCDEFGHIJKLMNOPQRSTUVWXYZ-=\~!@#$%^&*()_+|?><:{},";
	if (e.keyCode){
		//alert(String.fromCharCode(e.keyCode)+' '+waste.indexOf(String.fromCharCode(e.keyCode)));
		if (waste.indexOf(String.fromCharCode(e.keyCode))>=0){
			var val=(obj.value).substring(0,obj.value.trim().length-1);
			obj.value=val;
		}
	}
}
function chkme(e,obj){
	//alert(e+' '+obj.name);
	char_chk(e,obj);
}

