//Standard Rules
var objUsername 		= "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz ";
var objquestion 		= ".0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz?#*&- ";
var objNumber   		= ".0123456789";
var objWholeNumber   	= "0123456789";
var objTelephone    	= "-()0123456789";
var objPrefix		 	= "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz.";
var objName     		= " ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'-";
var objAlpha 			="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz#?&- ";
var objEmail    		= ".@0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz";
var objZipCode 			= "0123456789";
function isRule(oComp, sRule, nLength, fdecimal,minLength,fieldName,maxLength)
{
	if(fdecimal == "" || typeof(fdecimal) == "undefined")
	{
		fdecimal = false;
	}

	//If the object is not specified return false
	if (typeof(oComp) == 'undefined' || oComp == null || oComp == '')
	{
		alert('Error: Input object not specified.');
		return false;
	}
	//If neither rule nor max length is specified, return false
	else if (typeof(sRule) == 'undefined' && typeof(nLength) == 'undefined')
	{
		alert('Error: No rule/maximum length for input object specified.');
		return false;
	}

	var noErrorFlg = true;

	//If object is specified and either of rule is specified,
	if(typeof(sRule) != 'undefined' && sRule != null)
	{
		var temp;
		sRule = sRule + "";
		var discardChars = false;
		if(sRule.length > 0 && sRule.charAt(0) == "~")
		{
			sRule = sRule.substring(1);
			discardChars = true;
		}

		if(typeof(oComp) == "undefined" || typeof(sRule) == "undefined")
			return false;

		for (var i = 0;i < oComp.value.length;i++)
		{
			temp = oComp.value.charAt(i);

			if((!discardChars && sRule.indexOf(temp) == -1) || (discardChars && sRule.indexOf(temp) >= 0))
			{
//				alert("Field disobeys entry rule.  Following are the valid characters:\n" + sRule);
				alert("Invalid Character!");
				oComp.value = oComp.value.substring(0,i);// + (oComp.value.length > i ? oComp.value.substring(i+1):"");
				noErrorFlg = false;
				break;
			}
		}
	}
	if(nLength)
	{
		if(fdecimal)
		{
			nLength -= fdecimal;
			var dp = oComp.value.indexOf(".");
			var p1;
			var p2 = "";;
			if(dp >= 0)
			{
				p1 = oComp.value.substring(0,dp);
				p2 = oComp.value.substring(dp+1);
			}
			else
			{
				p1 = oComp.value;
			}
			if(p1.length > nLength)
			{
				oComp.value = oComp.value.substring(0,nLength);
				return noErrorFlg;
			}
			for(var i = 0;i < p2.length;i++)
			{
				var ch = p2.charAt(i);
				if(ch < '0' || ch > '9')
				{
					oComp.value = p1 + "." + p2.substring(0,i);
					return noErrorFlg;
				}
			}
			if(p2.length > fdecimal)
			{
				oComp.value = p1 + "." + p2.substring(0,fdecimal);
			}
		}
		else if(oComp.value.length > nLength)
		{
			oComp.value = oComp.value.substring(0,nLength);
		}
		else if(minLength && oComp.value.length < minLength)
		{
			alert("here");
			oComp.focus();
			noErrorFlg = false;
		}
//		else if(maxLength && oComp.value.length > maxLength)
		else if(maxLength && oComp.value.length >= maxLength)
		{
			alert("please enter less then " + maxLength + " charaters ");
			oComp.focus();
			noErrorFlg = false;
		}
	}
	return noErrorFlg;
}

function isEmail(newstr)
{
	var emailexp = /^[a-z][a-z_0-9\-\.]+@[a-z_0-9\-\.]+\.[a-z]{2,4}$/i

	//Check that the email entry is valid
	if (!emailexp.test(newstr) || newstr.indexOf("..") >= 0)
	{
		return false;
	}
	return true;
}
//Email Validation
String.prototype.trim = function()
{
	var retstr = this.replace(/^\s+/,"");
	retstr = retstr.replace(/\s+$/,"");
	return retstr;
}
function isImage(filename)
{
	// image formats : jpeg,png,gif,jpg,jpe
	arExt=new Array("jpeg","png","gif","jpg","jpe");
	filename1=filename.split(".");
	ext=filename1[1];
	if(ext==arExt[0] || ext==arExt[1] || ext==arExt[2] || ext==arExt[3] || ext==arExt[4])
			return true;
	return false;

}
function isDocument(filename)
{
	// image formats : htm html doc xls txt pdf rtf ppt pps csv + jpeg,png,gif,jpg,jpe
	/*arExt=new Array("jpeg","png","gif","jpg","jpe","htm","html","doc","xls","txt","pdf","rtf","ppt","pps","csv");
	filename1=filename.split(".");
	ext=filename1[1];
	if(ext==arExt[0] || ext==arExt[1] || ext==arExt[2] || ext==arExt[3] || ext==arExt[4] || ext==arExt[5])
			return true;
	if(ext==arExt[6] || ext==arExt[7] || ext==arExt[8] || ext==arExt[9] || ext==arExt[10] || ext==arExt[11] || ext==arExt[12]|| ext==arExt[13]|| ext==arExt[14])
			return true;
	return false;*/
	return true;
}