function MostrarDiv(Objeto,Form,NombreDiv){
	//eval("var Div = document."+Form+".elements['"+NombreDiv+"'];")
	//alert(NombreDiv);
	//alert(Div);
	var Div = document.getElementById(NombreDiv);
	//alert(Div);
	if(Objeto.value == NombreDiv){							
		Div.style.visibility = "visible";
	}else{
		Div.style.visibility = "hidden";
	}
}
function MostrarDiv2(Objeto,Form,NombreDiv){
	//eval("var Div = document."+Form+".elements['"+NombreDiv+"'];")
	//alert(NombreDiv);
	//alert(Div);
	var Div = document.getElementById(NombreDiv);
	//alert(Div);
	if(Objeto.value == NombreDiv){							
		Div.style.visibility = "visible";
	}else{
		Div.style.visibility = "hidden";
	}
}

function EliminarArchivo(Mensaje,Campos,CamposExtras){
	if (confirm("Est seguro de querer eliminar "+Mensaje+"?")){
		document.form1.CamposEliminar.value = Campos;
		document.form1.CamposExtrasEliminar.value = CamposExtras;
		document.form1.submit();
	}	
}

function GuardarBitacora(){
	var Resultado;
	var Args = GuardarBitacora.arguments;
	if(Args.length > 0){
		//Form =0; NombreCampo = 1 ; Campos = 2; Validaciones = 3 (Array);
		Resultado = ValidarForm(Args[0],Args[1],Args[2],Args[3]);
	}else{
		Resultado = 1;
	}	
	//alert("Resultado= "+Resultado);
	if(Resultado == 1){
		document.form1.Control.value=1;
		document.form1.submit();
	}
}
function ValidarForm(Form,NombreCampo,Campos,Validaciones){
	// NombreCampo; Campos  (Array); Validaciones =  (Array BiDimencional);
	var Mensajes="",Aux,Resultado;
	//alert("var Objeto = document."+Form+".elements['"+NombreCampo+"[]'];");
	//eval("var Objeto = document."+Form+".elements['"+NombreCampo+"[]'];");
	//var Campo = Objeto[0];
	
	for(var i=0; i < Campos.length;i++){
		eval("var Objeto = document."+Form+".elements['"+NombreCampo+"["+Campos[i]+"]'];");
		//alert(Campos[i]);
		if(Validaciones["requerido"][i] == 1){
			if(Objeto.value == ""){
				Mensajes += "- El campo "+Objeto.id+" es requerido \n";
				Aux = 0;
			}else{
				Aux = 1;
			}
		}else{
			Aux = 1;
		}
		if(Aux == 1){
			if(Objeto.value != "")
			Mensajes += Validacion(Objeto.value,Objeto.id,Validaciones["tipo"][i],"");//Validaciones["formato"][i]
			//alert("'"+Mensajes+"'");
		}
	}
	if(Mensajes != ""){
		Resultado = 0;
		alert("Ocurrieron los siguientes errores:\n"+Mensajes);
	}else{
		Resultado = 1;
	}
	//var Objeto = document.all.elements["Dato"];
	return Resultado;

}
function Validacion(Valor,NombreCampo,Tipo,formato){
	var Expresion;
	var Mensaje = "";
	var Archivo = 0;
	var Verdadero = 0;
	var TipoArray = Tipo.split(",");
	var Concatenador = (TipoArray.length > 1)?"    ":"";
	for(var i = 0; i<TipoArray.length;i++){
		if(i == 0 && TipoArray[i] != "")
		Mensaje += "- ";
		switch(TipoArray[i]){
			case "email":
			Expresion = /^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" no contiene una direccion de correo electronico valido\n";
			}else{
				Verdadero = 1;
			}
			break;
			case "numero":
			Expresion = /^[0-9]{1,255}$/;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener solo numeros\n";
			}else{
				Verdadero = 1;
			}
			break;
			case "flotante":
			Expresion = /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener un numero flotante\n";
			}else{
				Verdadero = 1;
			}
			break;						
			case "fecha":
			if(!validarFecha(Valor)){
				Mensaje += "El campo "+NombreCampo+" no tiene el formato de fecha adecuado\n";
			}else{
				Verdadero = 1;
			}
			break;
			case "letras":
			Expresion = /^[a-zA-Z     ]{1,255}$/;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener solo letras\n";
			}else{
				Verdadero = 1;
			}
			break;
			case "imagen":
			Expresion = /(jpg|gif|bmp|png)$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener una imagen valida ( jpg | gif | bmp | png )\n";
			}else{
				Verdadero = 1;
			}
			Archivo = 1;
			break;
			case "archivo":
			Expresion = /(ppt|pdf|doc|xls|html|htm|php|exe|rar|zip|txt)$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener un archivo valido ( ppt | pdf | doc | xls | html | htm | php )\n";
			}else{
				Verdadero = 1;
			}
			Archivo = 1;
			break;
			case "video":
			Expresion = /(flv|mpg|mpeg|avi|wmv)$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener un video valido ( flv | mpg | mpeg | avi | wmv )\n";
			}else{
				Verdadero = 1;
			}
			Archivo = 1;
			break;
			case "audio":
			Expresion = /(mp3|wav)$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener un archivo de audio valido ( mp3 | wav )\n";
			}else{
				Verdadero = 1;
			}
			Archivo = 1;
			break;
			case "animacion":
			Expresion = /(swf|gif)$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener una animacion valida ( swf | gif )\n";
			}else{
				Verdadero = 1;
			}
			Archivo = 1;
			break;
			case "basedatos":
			Expresion = /(csv|txt)$/i;
			if(!Expresion.test(Valor)){
				Mensaje += "El campo "+NombreCampo+" debe contener un archivo de exportacion valido ( csv | txt )\n";
			}else{
				Verdadero = 1;
			}
			Archivo = 1;
			break;
			/*			Espacio para apliar las validaciones		*/
		}
		if(i<TipoArray.length-1)
			Mensaje += Concatenador;
	}
		if(Archivo == 1)
		Mensaje += "  El archivo seleccionado es \"."+(Valor.substring(Valor.length-3))+"\"\n";
		if(Verdadero == 1)
		Mensaje = "";
	return Mensaje;
}

function validarFecha(cadena) {
	var objRegExp = /^\d{1,2}\/\d{1,2}\/\d{4}$/; //formato dd/mm/aaaa
	//var objRegExp = /^\d{1,2}\/\d{1,2}\/\d{4}$/; //formato dd-mm-aaaa
	//checar si la cadena esta en el formato correcto

	if(!objRegExp.test(cadena)){
		//alert("No acepta");
		return false;
	}else{
		var Separador = cadena.substring(2,3) //encuentra el caracter que separa los datos de la fecha
		//alert(Separador+" Cadena "+cadena);

		var arregloFecha = cadena.split(Separador); //divide la fecha en dia, mes y ao

		var arregloDias = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
		'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}

		var intDia = parseInt(parseFloat(arregloFecha[0]));
		//alert("Dia"+intDia+" fecha arreglo:"+arregloFecha[0]);
		//checar si los dias corresponden con el mes dado
		if(arregloDias[arregloFecha[1]] != null) {
			//alert(arregloDias[arregloFecha[1]]);
			if(intDia <= arregloDias[arregloFecha[1]] && intDia != 0)
			return true;
		}

		//checar febrero
		var intAnio = parseInt(parseFloat(arregloFecha[2]));
		var intMes = parseInt(parseFloat(arregloFecha[1]));
		if( ((intAnio % 4 == 0 && intDia <= 29) || (intAnio % 4 != 0 && intDia <=28)) && intDia !=0)
		return true;
	}
	return false;
}
function ElementosMarcados(CampoDestino, Tipo){
	var Elemento;
	for (var i =0; i < document.form1.length; i++){
		Elemento = document.form1.elements[i];
		if (Elemento.type == Tipo){
			if (Elemento.checked==true && Elemento.name != 'VarSistemaConservar' && Elemento.name != 'ChkTodos')
			if (Tipo == 'hidden') {
				alert(Tipo);
				CampoDestino.value = CampoDestino.value + Elemento.value.slice(4) + ',';
			}else{
				CampoDestino.value = CampoDestino.value + Elemento.value + ',';
			}
		}
	}
	if (CampoDestino.value != "")
	CampoDestino.value = CampoDestino.value.slice(0,-1);
}

function PresionarEliminar(){
	var Campo = document.form1.ElementosEliminar;
	ElementosMarcados(Campo,'checkbox');
	if (Campo.value != ""){
		if (confirm("Est  seguro de querer eliminar los elementos seleccionados")){
			document.forms.form1.submit();
		}
	}else{
		alert("No ha sido seleccionado ningun elemento para eliminar.");
	}
}

function PresionarSuspender(){
	var Campo = document.form1.ElementosSuspender;
	ElementosMarcados(Campo,'checkbox');
	if (Campo.value != ""){
		if (confirm("Est  seguro de querer suspender a los usuarios seleccionados")){
			document.forms.form1.submit();
		}else{
			Campo.value = "";
		  	return false;
		}
	}else{
		alert("No ha sido seleccionado ningn usuario para suspenci n.");
	  	return false;		
	}
}
