	/************************************************************************/
	/* ADMIN SYSTEM: Adminstration System									*/
	/* ============================================                         */
	/*                                                                      */
	/* Copyright (c) 2005 by Proactiweb S.C.P                               */
	/* http://www.proactiweb.com                                            */
	/*                                                                      */
	/************************************************************************/
	/*  Last Revision: 12/12/2002											*/	
	/************************************************************************/	

	//-----------------------------------------------------------------------
	// Values for error colors
	//-----------------------------------------------------------------------
	var iforecolorerror = '000000';
	var iforecolor = '000000';
	var ibackgroundcolorerror = 'F2EFEA';		
	var ibackgroundcolor = 'FFFFFF';

	var temp;
	var loaded = false;
	
	var ie = (document.all)? true:false;
	var ns = (document.all)? false:true;
	//-------------------------------------------------------------------------------------------------------
	// Funcion que controla el Raton para decolorear un campo al clickear
	//-------------------------------------------------------------------------------------------------------
	function pawMouseControl(e) {
		if(ie)
		{
			var tipos = new Array('text','textarea','select-one','password');
			objeto = event.srcElement.name;
			formname = event.srcElement.form;
			if(objeto!='')
			{
				if(formname)
				{
					if(typeof formname.name != 'object')
					{				
						var tipo = eval(formname.name + '.' + objeto + '.type');
						for(i=0;i<tipos.length;i++) {
							if(tipo==tipos[i]) {
								eval(formname.name + '.' + objeto + '.style.background = ibackgroundcolor');
								eval(formname.name + '.' + objeto + '.style.color = iforecolor');				
							}					
						}
					}
				}
			}
		}
	}
	//-------------------------------------------------------------------------------------------------------
	// Funcion para controlar la entrada de datos en el formulario
	//-------------------------------------------------------------------------------------------------------
	function pawKeyboardControl(e) {
/*		if(loaded) {			
			if(ie) {
				objeto = event.srcElement.name;
				codigo = window.event.keyCode;
				formname = event.srcElement.form;
			}
			if(ns) {
				objeto = e.target.name;
				codigo = e.which;
				formname = e.target.form;
				tipo = e.target.type;
				if(tipo) {
					for(i=0;i<document.layers.length;i++) {
						for(j=0;j<document.layers[i].document.forms.length;j++) {
							if(formname.name == document.layers[i].document.forms[j].name) {
								formname = eval('document.' + document.layers[i].name + '.document.' + formname.name);
							}
						}
					}
				}
			}
			letra = String.fromCharCode(codigo);
			if(objeto) {
				pawDecolorField(objeto,formname);
				longitud = objeto.length;
				identificador = objeto.substring(longitud - 4, longitud);
				if(ie) valor = eval(formname.name + '.' + objeto + '.value');
				if(ns) valor = eval(formname).eval(objeto).value;
				if(codigo != 8) {
					switch(identificador)
					{
						case '_tel':
							var objRegExp  = /^[0-9]$/;
							if (valor.length==9) return false;
							if (!objRegExp.test(letra)) return false;
							return true;
						case '_neg':
							if(letra == '-') {
								temp = valor;
								temp = temp.substr(0,1);
									if(temp == '-') {
										temp = valor;
										temp = temp.substr(1);
										if(ie) eval(formname.name + '.' + objeto + '.value = "' + temp + '"');
										if(ns) eval(formname).eval(objeto).value = temp;
									} else {
										if(valor.length == 0) {
											return;
										}else{
											if(ie) eval(formname.name + '.' + objeto + '.value = -' + formname.name + '.' + objeto + '.value');
											if(ns) eval(formname).eval(objeto).value = '-' + eval(formname).eval(objeto).value;
										}
									}
								return false;
							}
							strValue = valor + letra;
							var objRegExp  = /(^-$|^-\d{1,}$|^\d{1,}$)/;
							return objRegExp.test(strValue);
						case '_num':
							var objRegExp  = /^[0-9]$/;
							if (!objRegExp.test(letra)) return false;
							return true;
						case '_fec':
							var barras = 0;
							var objRegExp  = /^[0-9]$/;
							if(valor.length==10) return false;
							if(letra!='/') { if(!objRegExp.test(letra)) return false; }
							else {
								if(valor.indexOf("/")!=-1){
									barras = 1;
									for(n=0;n<valor.length;n++) if(valor.substr(n,1)=='/') barras++;
									if(barras>2) return false;
								}
							}
							return true;						
						case '_hor':
							var objRegExp  = /^[0-9]$/;
							if(valor.length==5) return false;
							if(letra!=':') { if(!objRegExp.test(letra)) return false; }
							else { if(valor.indexOf(":")!=-1) return false; }
							return true;
						case '_cod':
							var objRegExp  = /^[0-9]$/;
							if (valor.length==5) return false;
							if (!objRegExp.test(letra)) return false;
							return true;
						case '_ema':
							if(letra=='@') { if(valor.indexOf("@")!=-1) return false; }
							return true;
						case '_eda':
							var objRegExp  = /^[0-9]$/;
							if (valor.length==2) return false;
							if (!objRegExp.test(letra)) return false;
							return true;
						case '_dec':
							var objRegExp  = /^[0-9]$/;
							if(letra!='.') { if(!objRegExp.test(letra)) return false; }
							else { if(valor.indexOf(".")!=-1) return false; }
							return true;
						case '_ned':
							if (letra=='.') {
								if(valor.indexOf(".")!=-1) return false;
							 	else return true;
							}
							if(letra == '-') {
								temp = valor;
								temp = temp.substr(0,1);
									if(temp == '-') {
										temp = valor;
										temp = temp.substr(1);
										if(ie) eval(formname.name + '.' + objeto + '.value = "' + temp + '"');
										if(ns) eval(formname).eval(objeto).value = temp;
									} else {
										if(valor.length == 0) {
											return true;
										}else{
											if(ie) eval(formname.name + '.' + objeto + '.value = -' + formname.name + '.' + objeto + '.value');
											if(ns) eval(formname).eval(objeto).value = '-' + eval(formname).eval(objeto).value;
										}
									}
								return false;
							}
							strValue = valor + letra;
							var objRegExp  = /[0-9]/;
							return objRegExp.test(letra);
						case '_dni':
							uletra = valor.substring(valor.length-1,valor.length);
							var objRegExp1 = /^[a-zA-Z]{1}$/;
							var letranif = objRegExp1.test(uletra);
		 					if(valor.length<8 || (valor.length<9 && letranif==true )) {
								var objRegExp  = /^[0-9]$/;
								return objRegExp.test(letra);
							}
							if(valor.length==8 && letranif==false) {
								var objRegExp  = /^[a-zA-Z]{1}$/;
								return objRegExp.test(letra);
							}
							return false;
					}
				}
			}
		}*/
	}
	//-------------------------------------------------------------------------------------------------------
	// Funcion que comprueba un valor de fecha/hora dd/mm/yyyy hh:mm
	//-------------------------------------------------------------------------------------------------------
	function pawCheckDateTime(valor)
	{
		var OK = false;
		if(valor=='') return true;
		fecha = valor.substr(0,10);
		hora = valor.substr(11,5);
		//Hora
		objRegExp = /^([0-2][0-3]:[0-5][0-9])|([0-1][0-9]:[0-5][0-9])$/;
		OK = objRegExp.test(hora);
		//Fecha
		if(OK)
		{
			objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
			if(!objRegExp.test(fecha))
			{
				return false;
			}
			else
			{
				var mesOK = false;
				var diaOK = false;
				var strSeparator = fecha.substring(2,3);
				var arrayDate = fecha.split(strSeparator);
				var arrayDays = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
				var intDay = parseInt(arrayDate[0],10);
				var intYear = parseInt(arrayDate[2],10);
				var maxDays = arrayDays[parseInt(arrayDate[1],10)];
				
				if(parseInt(arrayDate[1],10) > 0 && parseInt(arrayDate[1],10) < 13)
				{
					if(arrayDate[1]!=2)
					{
						mesOK = true;
					}
					else
					{
						if(((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
						{
							mesOK = true;
						}
					}
				}
				if(parseInt(arrayDate[0],10) <= maxDays) diaOK = true;
				if(diaOK && mesOK)
				{
					OK = true;
				}
				else
				{
					OK = false;
				}
			}
		}
		return OK;
	}	
	//-------------------------------------------------------------------------------------------------------
	// Funcion que comprueba los datos en el submit
	//-------------------------------------------------------------------------------------------------------
	function pawCheckField(campo,formulario) {
		lon = campo.length;
		identificador = campo.substring(lon - 4, lon);
		if(identificador=='') { return true; }
		if(ie){
			valor = eval(formulario.name + '.' + campo + '.value');
			if(eval(formulario.name + '.' + campo + '.type')=='select-one') { return true; }
		}
		if(ns){
			valor = eval(formulario).eval(campo).value;
			if(eval(formulario).eval(campo).type=='select-one') { return true; }
		}
		longitud = valor.length;
		if (valor.length!=0) {
			switch(identificador)
			{
				case '_tel':
					var objRegExp  = /^[0-9]{9}$/;
					return objRegExp.test(valor);
				case '_num':
					var objRegExp  = /^[0-9]{1,}$/;
					return objRegExp.test(valor);
				case '_fec':
					var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
					if(!objRegExp.test(valor))
					{
						return false;
					}
					else
					{
						var mesOK = false;
						var diaOK = false;
						var strSeparator = valor.substring(2,3);
						var arrayDate = valor.split(strSeparator);
						var arrayDays = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
						var intDay = parseInt(arrayDate[0],10);
						var intYear = parseInt(arrayDate[2],10);
						var maxDays = arrayDays[parseInt(arrayDate[1],10)];
						if(parseInt(arrayDate[1],10) > 0 && parseInt(arrayDate[1],10) < 13)
						{
							if(arrayDate[1]!=2)
							{
								mesOK = true;
							}
							else
							{
								if(((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
								{
									mesOK = true;
								}
							}
						}
						if(parseInt(arrayDate[0],10) <= maxDays) diaOK = true;
						if(diaOK && mesOK) return true;
					}
					return false;
				case '_hor':
					var objRegExp = /^([0-2][0-3]:[0-5][0-9])|([0-1][0-9]:[0-5][0-9])$/;
					return objRegExp.test(valor);			
				case '_cod':
					var objRegExp  = /^[0-9]{5}$/;
					return objRegExp.test(valor);			
				case '_ema':
					//var objRegExp  = /(^[a-zA-Z0-9]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)([.][a-zA-Z]{3})$)|(^[a-zA-Z0-9]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)(\.[a-zA-Z]{3})(\.[a-zA-Z]{2})*$)|(^[a-zA-Z0-9]([a-z0-9_\.]*)@([a-zA-Z0-9_\.]*)(\.[a-zA-Z]{2})(\.[a-zA-Z]{2})*$)/i;
					//return objRegExp.test(valor);
					//var objRegExp = /(^\w+)(@{1})([\w\.-]+$)/i
					//return objRegExp.test(valor);
					return (valor.indexOf(".") > 2) && (valor.indexOf("@") > 0);
				case '_eda':
					var objRegExp  = /^[0-9]{1,2}$/;
					return objRegExp.test(valor);
				case '_dni':
					var objRegExp  = /^[0-9]{8}[a-zA-Z]{1}$/;
					return objRegExp.test(valor);
				case '_neg':
					var objRegExp  = /^-[0-9]{1,}$|^[0-9]{1,}$/;
					return objRegExp.test(valor);				
				case '_dec':
					var objRegExp = /^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$/;
					return objRegExp.test(valor);
				case '_ned':
					var objRegExp = /^-[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$|^-[0-9]{1,}$/;
					return objRegExp.test(valor);
				default:
					return true;
			}
			
		}else{
			return true;
		}
	}
	//-------------------------------------------------------------------------------------------------------
	// Comprobar datos especificos
	//-------------------------------------------------------------------------------------------------------
	function pawCheckFieldType(valor,identificador)
	{
		if(identificador=='') { return false; }
		if(valor=='') { return true; }
		longitud = valor.length;
		if(valor.length!=0)
		{
			switch(identificador)
			{
				case 'tel':
					var objRegExp  = /^[0-9]{9}$/;
					return objRegExp.test(valor);
				case 'num':
					var objRegExp  = /^[0-9]{1,}$/;
					return objRegExp.test(valor);
				case 'fec':
					var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
					if(!objRegExp.test(valor))
					{
						return false;
					}
					else
					{
						var mesOK = false;
						var diaOK = false;
						var strSeparator = valor.substring(2,3);
						var arrayDate = valor.split(strSeparator);
						var arrayDays = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
						var intDay = parseInt(arrayDate[0],10);
						var intYear = parseInt(arrayDate[2],10);
						var maxDays = arrayDays[parseInt(arrayDate[1],10)];
						if(parseInt(arrayDate[1],10) > 0 && parseInt(arrayDate[1],10) < 13)
						{
							if(arrayDate[1]!=2)
							{
								mesOK = true;
							}
							else
							{
								if(((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
								{
									mesOK = true;
								}
							}
						}
						if(parseInt(arrayDate[0],10) <= maxDays) diaOK = true;
						if(diaOK && mesOK) return true;
					}
					return false;
				case 'hor':
					var objRegExp = /^([0-2][0-3]:[0-5][0-9])|([0-1][0-9]:[0-5][0-9])$/;
					return objRegExp.test(valor);
				case 'cod':
					var objRegExp  = /^[0-9]{5}$/;
					return objRegExp.test(valor);			
				case 'ema':
					var objRegExp  = /(^[a-zA-Z0-9]([a-zA-Z0-9_\.-]*)@([a-zA-Z0-9_\.-]*)([.][a-zA-Z]{3})$)|(^[a-zA-Z0-9]([a-zA-Z0-9_\.-]*)@([a-zA-Z0-9_\.-]*)(\.[a-zA-Z]{3})(\.[a-zA-Z]{2})*$)|(^[a-zA-Z0-9]([a-z0-9_\.-]*)@([a-zA-Z0-9_\.-]*)(\.[a-zA-Z]{2})(\.[a-zA-Z]{2})*$)/i;
					return objRegExp.test(valor);
					//var objRegExp  = /(^[a-zA-Z0-9]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)([.][a-zA-Z]{3})$)|(^[a-zA-Z0-9]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)(\.[a-zA-Z]{3})(\.[a-zA-Z]{2})*$)|(^[a-zA-Z0-9]([a-z0-9_\.]*)@([a-zA-Z0-9_\.]*)(\.[a-zA-Z]{2})(\.[a-zA-Z]{2})*$)/i;
					//return objRegExp.test(valor);
					//return (valor.indexOf(".") > 2) && (valor.indexOf("@") > 0);
				case 'eda':
					var objRegExp  = /^[0-9]{1,2}$/;
					return objRegExp.test(valor);
				case 'dni':
					var objRegExp  = /^[0-9]{8}[a-zA-Z]{1}$/;
					return objRegExp.test(valor);
				case 'neg':
					var objRegExp  = /^-[0-9]{1,}$|^[0-9]{1,}$/;
					return objRegExp.test(valor);				
				case 'dec':
					var objRegExp = /^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$/;
					return objRegExp.test(valor);
				case 'ned':
					var objRegExp = /^-[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$|^-[0-9]{1,}$/;
					return objRegExp.test(valor);
				default:
					return true;
			}
		}
		else
		{
			return false;
		}
	}	
	//-------------------------------------------------------------------------------------------------------
	// Funcion que comprueba si un campo esta pawEmptyField
	//-------------------------------------------------------------------------------------------------------
	function pawEmptyField(campo,formulario) {
		if(ie){
			var tipo = eval(formulario.name + '.' + campo + '.type');
			var tipos = new Array('text','textarea','password');
			if(tipo=='checkbox') { if(eval(formulario.name + '.' + campo + '.checked')==false) return false; }
			if(tipo=='select-one') { if(eval(formulario.name + '.' + campo + '.value')=='') return false; }
			for(i=0;i<tipos.length;i++){
				if(tipo==tipos[i]) { if(eval(formulario.name + '.' + campo + '.value.length')==0) return false; }
			}
		}
		if(ns){
			var tipo = eval(formulario).eval(campo).type;
			if(tipo=='text' || tipo=='textarea' || tipo=='password') { if(eval(formulario).eval(campo).value.length==0) return false; }
			if(tipo=='checkbox') { if(eval(formulario).eval(campo).checked==false) return false; }
		}
		return true;
	}
	//-------------------------------------------------------------------------------------------------------
	// Funcion para pawColorFieldr un campo en caso de error
	//-------------------------------------------------------------------------------------------------------
	function pawColorField(campo, formulario) {
		if(ie) {
			if(formulario) {
				var tipo = eval(formulario.name + '.' + campo + '.type');
				if(tipo=='text' || tipo=='textarea' || tipo=='password' || tipo=='select-one' || tipo=='password' || tipo=='checkbox') { 
					eval(formulario.name + '.' + campo + '.style.background = ibackgroundcolorerror');
					eval(formulario.name + '.' + campo + '.style.color = iforecolorerror');
				}
			}
		}
	}
	//-------------------------------------------------------------------------------------------------------
	// Funcion que decolorear un campo
	//-------------------------------------------------------------------------------------------------------
	function pawDecolorField(campo,formulario) {
		if(ie) {
			eval(formulario.name + '.' + campo + '.style.background = ibackgroundcolor');
			eval(formulario.name + '.' + campo + '.style.color = iforecolor');
		}
	}
	//-------------------------------------------------------------------------------------------------------
	// Eventos que capturamos
	//-------------------------------------------------------------------------------------------------------
	//document.onkeypress = pawKeyboardControl;
	//document.onclick = pawMouseControl;
	//if(ns) { document.captureEvents(Event.KEYPRESS); }

