function catchEnter()
{
	if(event.keyCode == 13) {
		return false;
	}
	else
		return true;
}

function alerttest()
{
	alert( 'asdf' );
	return true;
}

function keyCheckMinus(eventObj, obj, allowDecimal)
{
	var keyCode;

	// Check For Browser Type
	if (document.all){ 
		keyCode=eventObj.keyCode;
	}
	else{
		keyCode=eventObj.which;
	}

	var str=obj.value;


	if(keyCode==46) {
		if( allowDecimal ) {
			if (str.indexOf(".") >= 0) {
				return false;
			}
		}
		else
			return false;
	}
	if( keyCode == 45 ) {
		if( GetcursorPosition( obj ) != 1 || str.indexOf( "-" ) >= 0 ) {
			return false;
		}
	}
	
	if( GetcursorPosition( obj ) > str.indexOf( "." ) + 3 && str.indexOf( "." ) >= 0 ) {
		return false;
	}

	if((keyCode<48 || keyCode >58) && (keyCode != 46) && ( keyCode != 45 )){ // Allow only integers and decimal points
		return false;
	}

	return true;
}

function keyCheck(eventObj, obj, allowDecimal)
{
	var keyCode;

	// Check For Browser Type
	if (document.all){ 
		keyCode=eventObj.keyCode;
	}
	else{
		keyCode=eventObj.which;
	}

	var str=obj.value;


	if(keyCode==46) {
		if( allowDecimal ) {
			if (str.indexOf(".") >= 0) {
				return false;
			}
		}
		else
			return false;
	}
	
	if( GetcursorPosition( obj ) > str.indexOf( "." ) + 3 && str.indexOf( "." ) >= 0 ) {
		return false;
	}

	if((keyCode<48 || keyCode >58) && (keyCode != 46)){ // Allow only integers and decimal points
		return false;
	}

	return true;
}

function Trim(TRIM_VALUE)
{
	if(TRIM_VALUE.length < 1){
		return"";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE==""){
		return "";
	}
	else{
		return TRIM_VALUE;
	}
}

function RTrim(VALUE)
{
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	
	if(v_length < 0){
		return"";
	}
	var iTemp = v_length -1;

	while(iTemp > -1){
			if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;
	} //End While
	return strTemp;
} //End Function

function LTrim(VALUE)
{
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
		return "";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	} //End While
	return strTemp;
} //End Function

function GetcursorPosition(Control)
{
	var name=Control.name
	var textValue=Control.value
	var i =textValue.length+1		
	if (Control.createTextRange)
	{
		objCaret =	Control.document.selection.createRange().duplicate();
		while( ( objCaret.parentElement() == Control ) && ( objCaret.move( "character", 1) == 1 ) )
			--i;
		
		return i;								
	}
}

function FormatAmount( amount, element )
{
	amount = Math.round(amount*100)/100 ;
	if( amount == 0 )
		element.value = "0.00";
	else if( (amount + "").indexOf('.') == -1 )
		element.value = amount + ".00";
	else
	{
		if( (amount+"").substring((amount + "").indexOf('.') + 1) * 1 > 10 || (amount+"").substring((amount + "").indexOf('.') + 1) * 1 == 0 )
			element.value = amount;
		else
			element.value = amount + "0";
	}
}

function checkDecimals(fieldName, fieldValue,ErrorDescription) 
{
	//decallowed = NoofDecimal;  // how many decimals are allowed?
	if (isNaN(fieldValue)) 
	{
		alert("Enter Valid " + ErrorDescription + ".");
		fieldName.select();
		fieldName.focus();
	}		

}

/*
the third argument to changeKey should be a function
function exampleKeyChecker (keyCode, key)
which returns an object 
{ cancelKey: boolean, replaceKey: boolean, newKeyCode: number, newKey:
string }
Not all properties need to be present, if cancelKey is set to true the
other properties are not needed.
If replaceKey is set to true then at least newKeyCode needs to be set.
*/
function changeKey (textControl, evt, keyChecker) {
	var keyCode = evt.keyCode ? evt.keyCode :
					evt.charCode ? evt.charCode :
			evt.which ? evt.which : void 0;
	var key;
	if (keyCode) {
		key = String.fromCharCode(keyCode);
	}
	var keyCheck = keyChecker(keyCode, key);
	if (keyCode && window.event && !window.opera) {
		if (keyCheck.cancelKey) {
			return false;
		}
		else if (keyCheck.replaceKey) {
			window.event.keyCode = keyCheck.newKeyCode;
			if (window.event.preventDefault) {
				window.event.preventDefault();
			}
			return true;
		}
		else {
			return true;
		}
	}
	else if (typeof textControl.setSelectionRange != 'undefined') {
		if (keyCheck.cancelKey) {
			if (evt.preventDefault) {
				evt.preventDefault();
			}
			return false;
		}
		else if (keyCheck.replaceKey) {
			// cancel the key event and insert the newKey for the current selection
			if (evt.preventDefault) {
				evt.preventDefault();
			}
			var oldSelectionStart = textControl.selectionStart;
			var oldSelectionEnd = textControl.selectionEnd;
			var selectedText = textControl.value.substring(oldSelectionStart,oldSelectionEnd);
			var newText = typeof keyCheck.newKey != 'undefined' ? keyCheck.newKey : String.fromCharCode(keyCheck.newKeyCode);
			textControl.value = textControl.value.substring(0, oldSelectionStart) +	newText + textControl.value.substring(oldSelectionEnd);
			textControl.setSelectionRange(oldSelectionStart + newText.length, oldSelectionStart + newText.length);
			return false;
		}
		else {
			return true;
		} 
	}
	else if (keyCheck.cancelKey) {
		if (evt.preventDefault) {
			evt.preventDefault();
		}
		return false;
	}
	else {
		return true;
	}
}

function GetcursorPosition(Control)
{
	var name=Control.name;
	var textValue=Control.value;
	var i =textValue.length+1;
	if (Control.createTextRange) {														
		objCaret =	Control.document.selection.createRange().duplicate();
		//alert(objCaret.move("character",1))
			while(objCaret.parentElement()==Control && objCaret.move("character",1)==1)
			{
				--i;
			}
		return i;
	}
}

function ValidateAmount(Cont, evt, task,length,precision, canHaveDecimal)
{	
	var dotPosition;	
	var textValue=Cont.value;
	
	if(changeKey(Cont, evt, task)) {
		var keyCode = evt.keyCode ? evt.keyCode :
					evt.charCode ? evt.charCode :
					evt.which ? evt.which : void 0;
		key=String.fromCharCode(keyCode);
		if (!canHaveDecimal)
		{
			if (key=='.')return false;
		}
		switch (key)
		{
			case ' ':
				{
					return false;
				}
			case '.':
				{
					if(textValue.indexOf('.') != -1)
					{
						return false;
					}
					else
					{
						//document.all("hdnDotPotition").value=GetcursorPosition(Cont)				
						//dotPosition=document.all("hdnDotPotition").value																			
						return true;
					}						
				}
			case '-':
				FormatAmount( textValue * -1, Cont );
				return false;
			default :
				{			
					var dectext = textValue.substring(textValue.indexOf('.')+1,textValue.length);						
					if(textValue.indexOf('.')==-1)
					{
						if (textValue.length==length)
						{
							return false;
						}
						else if (textValue.length>length) {
							Cont.value=textValue.substring(0,length);
							return false;
						}
					}
					else
					{
						dotPosition=textValue.indexOf('.')+1;
						if(GetcursorPosition(Cont)<=dotPosition)
						{	
							//alert("Lesser")
							//alert(dotPosition)									
							if(textValue.indexOf('.')==length)
							{															
								return false;
							}
							else
							{																						
								return true;						
							}
						}
						else if(GetcursorPosition(Cont)>textValue.indexOf('.')+1)
						{																				
							if(dectext.length==precision)
							{
								//alert(dectext.length);
								return false;
							}
							else
							{	
								//alert(dectext.length);							
								return true;
							}
						}						
					}																		
				}				
		}			
		return true;
	}
	else
	{
		return false;
	}
}

function lettersToUpperCase (keyCode, key) {
	var newKey = key.toUpperCase();
	if (newKey != key) {
		return { replaceKey: true, newKeyCode: newKey.charCodeAt(), newKey:	newKey };
	}
	else {
		return { cancelKey: false };
	}
}

function digitsToX (keyCode, key)
{
	if ("0123456789".indexOf(key) != -1) {
		return { replaceKey: true, newKeyCode: "X".charCodeAt(), newKey: "X" };
	}
	else {
		return { cancelKey: false };
	}
}

function cancelDigits (keyCode, key) {
	return { cancelKey: "0123456789".indexOf(key) != -1 };
}
function cancelAlphabets (keyCode, key) {
	return { cancelKey: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()?/\\=|+_`>< ".indexOf(key) != -1 };
}
function onlyAlphabetsnSpace (keyCode, key) {
	return { cancelKey: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ".indexOf(key) == -1 };
}

function onlyAllowedChars (keyCode, key) {
	return { cancelKey: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_&".indexOf(key) == -1 };
}