var pos = 0;
var isNav, isIE;
var range = "";
var styleObj = "";


	if(window.captureEvents){
		window.captureEvents(Event.KEYPRESS);
		window.onkeypress = keypressHandler;

	}

	if(parseInt(navigator.appVersion) >= 4){
		
		if(navigator.appName == "Netscape"){
			isNav = true;
		}
		else if(navigator.appName == "Microsoft Internet Explorer"){
				isIE = true;
				range = "all.";
				styleObj = ".style" ;
			
		}
	}		



function format(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	var obj = (navigator.appName != "Netscape") ? window.event.srcElement : p_keyEvent.target;		
		
		if( obj.value.length > 5  && key != 8 ){
			if(isIE){
				window.event.keyCode = 8;
			}
			else if(isNav){
			
				if(obj.onkeypress.toString().indexOf("format")>=0){
					return false;
				}
				
				
			}
		}
	}




function alphanumbersOnly(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if( key!=46 && key!=45 && ((key < 65 || key > 90) && (key < 47 || key > 58) && (key < 97 || key > 122) && (key!=46) && (key!=38) && (key!=44) && (key!=39) && (key!=32)) && key!=8 && key!=13 && key!=95){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}

function dlnumbersOnly(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	//alert(window.event.keyCode);
	if( ((key < 65 || key > 90) && (key < 48 || key > 57) && (key < 97 || key > 122)  && key!=13 )){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}

function checkName(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	
	if((key < 65 || key > 90) && (key < 97 || key > 122) && key!=39 && key!=32 && key!=13 && key!=45){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
			return false;
			
		}
	}
	return true;
}

function checkMailSpace(p_keyEvent){
	//alert("fun checkMailSapce called");
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	 invalidKeys=new Array(32,33,34,35,36,37,38,39,40,41,42,43,44,59,60,61,62,63);
	//if((key < 65 || key > 90) && (key < 97 || key > 122) &&  key!=32){	
	for(i=0;i<=invalidKeys.length;i++){
		
		if(key==invalidKeys[i]){
			if(isIE){
				window.event.keyCode = 8;
			}
			else if(isNav){
				return false;			
			}
		}
	}//c-for	
	return true;
}



function street(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if( key!=46 && ((key < 65 || key > 90) && (key < 47 || key > 58) && (key < 97 || key > 122) && (key!=46) && (key!=35) &&(key!=38) && (key!=44) && (key!=39) && (key!=32) && (key!=92)&& (key!=40)&& (key!=41)&& (key!=45)) && key!=8 && key!=13 ){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}

//key==32 is removed from city function
function city(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 65 || key > 90) && (key < 97 || key > 122  && key!=13 )){
	     if(key==32)
	     {
	     return true;
	     }
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}


function textnum(p_keyEvent){

	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
		
	if( key!=46 && (key < 48 || key > 57)  && key!=8 && key!=13){
	
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}



function checkText(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
		
	if( (key >47 && key < 58 ) || (key >47 && key < 58) && key!=13){
	
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}



function checkDate1(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
 
	if((key < 48 || key > 58) && key!=8 && key!=13 || key == 32){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}


function numberOnly(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 48 || key > 57) && key!=8 && key!=13){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
		}
	}
	return true;
}

function numberDecimal(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 48 || key > 57) && key!=8 && key!=13 && key!=46){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
		}
	}
	return true;
}

function ssnFederal(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 48 || key > 57) && (key!=8) && (key!=13) || key == 32){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
		}
	}
	return true;
}
function numberComma(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 48 || key > 57) && key!=8 && key!=13 && key!=44){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
		}
	}
	return true;
}

function phoneNumber(p_keyEvent){
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 48 || key > 57 || key ==32 || key==45) && key!=8 && key!=40 && key!=41 && key!=13){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
		}
	}
	return true;
}



function OwnerPerc(p_keyEvent){
	
	var key = (navigator.appName != "Netscape") ? window.event.keyCode : p_keyEvent.which;
	if((key < 48 || key > 57) && key!=8 && key!=13 && key!=46){
		if(isIE){
			window.event.keyCode = 8;
		}
		else if(isNav){
				return false;
			
		}
	}
	return true;
}



function keypressHandler(p_keyEvent){
	var targetKPName = "";
	if( p_keyEvent.target.onkeypress ){
		targetKPName = p_keyEvent.target.onkeypress().toString();
	}
	var lret = true;
	
	if(targetKPName.indexOf("format")>=0){
		lret =  format(p_keyEvent);
	}
	else if(targetKPName.indexOf("checkDate1")>=0){
		lret = checkDate1(p_keyEvent);
	}
	else if(targetKPName.indexOf("numberOnly")>=0){
		lret = numberOnly(p_keyEvent);
	}
	else if(targetKPName.indexOf("alphanumbersOnly")>=0){
		lret = alphanumbersOnly(p_keyEvent);
	}
	else if(targetKPName.indexOf("checkName")>=0){
		lret = checkName(p_keyEvent);
	}
	else if(targetKPName.indexOf("street")>=0){
		lret = street(p_keyEvent);
	}
	else if(targetKPName.indexOf("city")>=0){
		lret = city(p_keyEvent);
	}
	else if(targetKPName.indexOf("OwnerPerc")>=0){
		lret = OwnerPerc(p_keyEvent);
	}
	else if(targetKPName.indexOf("ssnFederal")>=0){
		lret = ssnFederal(p_keyEvent);
	}
	else if(targetKPName.indexOf("phoneNumber")>=0){
		lret = phoneNumber(p_keyEvent);
	}
	
	if ( lret ){
	 	p_keyEvent.target.handleEvent(p_keyEvent);
	}
	else {
		return false;
	}
	
}


