
var pKey=0;
var whichKey="";

IE4 = (document.all);
NS4 = (document.layers);

if (NS4) document.captureEvents(Event.KEYPRESS);
//document.onkeypress = doKey;

function doKey(e){
    whichASC = (NS4) ? e.which : event.keyCode;
    whichKey = String.fromCharCode(whichASC).toLowerCase();
}
function Validate(obj,type,e){
	var val=obj.value;
	var chk;
	doKey(e);

	switch (type){
		case "OnlyLetters":	
			chk=CheckOL(whichKey);break;
		case "OnlyLettersWithSpace":	
			chk=CheckOLWS(whichKey);break;
		case "Letters&Numbers":
			chk=CheckLN(whichKey);break;
		case "NIF":
			chk=CheckNIF(whichKey);break;
		case "Letters&NumbersWithSpace":
			chk=CheckLNWS(whichKey);break;
		case "Mail":	
			chk=CheckMail(whichKey, val);break;
		case "ShortData"/*dd/mm/yyyy*/:
			chk=CheckSD(whichKey);break;
		case "OnlyNumbersWithEnter":
			chk=CheckONWE(whichKey);break;
		case "OnlyNumbers":
			chk=CheckON(whichKey);break;
		case "Import":
			chk=CheckImport(whichKey);break;
		case "Login":
			chk=CheckLogin(whichKey, val);break;
		case "SQLInjecting":
			chk=CheckSQLInjecting(whichKey);break;
	}
	if (chk==false) event.returnValue=false;
}

function CheckImport(key){//calcul d'un import, números i <.>
	if ((key.charCodeAt(0)==46)||((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))||(key.charCodeAt(0)==9)) return true;
	else return false;
}
function CheckOL(key){//ascii del 97 al 122 (lletres), 241 (ñ)
	if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||(key.charCodeAt(0)==241)||(key.charCodeAt(0)==9)) return true;
	else return false;
}
function CheckOLWS(key){//ascii del 97 al 122 (lletres), 32 (espai blanc), 164 (ñ)
	if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||(key.charCodeAt(0)==32)||(key.charCodeAt(0)==241)||(key.charCodeAt(0)==9)) return true;
	else return false;
}
function CheckLN(key){//ascii del 97 al 122 (lletres), del 48 al 57 (numeros), 164 (ñ)
  if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))||(key.charCodeAt(0)==241)||(key.charCodeAt(0)==9)){
	return true;
  }else{
	return false;
  }
}
function CheckNIF(key){//ascii del 97 al 122 (lletres), del 48 al 57 (numeros), 164 (ñ)
  if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))||(key.charCodeAt(0)==241)||(key.charCodeAt(0)==9)){
	return true;
  }else{
	return false;
  }
}
function CheckLNWS(key){//ascii del 97 al 122 (lletres), del 48 al 57 (numeros), el 32 (espai en blanc), i el 164 (ñ)
  if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))||(key.charCodeAt(0)==32)||(key.charCodeAt(0)==241)||(key.charCodeAt(0)==9)){
	return true;
  }else{
	return false;
  }
}
function CheckLogin(key, val){//ascii del 97 al 122 (lletres), i del 48 al 57 (numeros)
	if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))){
		if((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57)&&(val.length==0)){ // exigim que el primer caràcter sigui una lletra
			return false;
		}else{
			return true;
		}
  }else{
	return false;
  }
}
function CheckMail(key, val){//ascii del 97 al 122 (lletres), 64 (@), 46 (.) i del 48 al 57 (numeros)
	if (((key.charCodeAt(0)>=97)&&(key.charCodeAt(0)<=122))||((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))||(key.charCodeAt(0)==64)||(key.charCodeAt(0)==46)){
		if(((key.charCodeAt(0)==64)||(key.charCodeAt(0)==46))&&(val.length<2)){ // exigim que el primer caràcter sigui una lletra
			return false;
		}else{
			return true;
		}
  }else{
	return false;
  }
}
function CheckSQLInjecting(key){ //evitem l'inserció de codi sql, del ' i del =
	if ((key.charCodeAt(0)!=39)&&(key.charCodeAt(0)!=61)) return true;
	else return false;	
}

function CheckON(key){
  if ((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57)){
	return true;
  }else{
	return false;
  }
}
function CheckONWE(key){
  if (((key.charCodeAt(0)>=48)&&(key.charCodeAt(0)<=57))||(key.charCodeAt(0)==13)){
	return true;
  }else{
	return false;
  }
}
