// +----------------------------------------------------------------------+
// | Autor:  Daniel Figueroa J. <daniel@comuniterra.com>                  |
// +----------------------------------------------------------------------+
// | Descripcion:                                                         
// |     Libreria de funciones JScript propias del funcionamiento del sistema Kynnemedia
// +----------------------------------------------------------------------+

function valida(objeto,tipoValidacion,nombreCampo) 
{  
//alert("ya entre a la mera validacion.tipo:"+tipoValidacion+" campo:"+nombreCampo+" objeto:"+objeto.id);
  //Verificar que tipo de validacion se desea hacer
  //solotexto,numero,alfanumerico,email,combo 
  switch(tipoValidacion) { //inicia Switch
   //Validar que el campo sea solo de tipo texto
   case "solotexto":
    var pos_caracter = objeto.value.search("[^A-Za-z\ -_.,']"); 
	//search("[^A-Za-z0-9\-_]"); 
	if(pos_caracter >= 0 || objeto.value=="") { 
     alert("Only alphanumeric characters allowed: "+nombreCampo);	 
	 objeto.focus();
     return false;
	}
    else {    
     return true;  
    } 
   break; //Termina case "texto"
   
   case "numero":
    var pos_caracter = objeto.value.search("[^0-9\.] "); 
	if(pos_caracter >= 0 || objeto.value=="") { 
     alert("Only numeric characters allowed: "+nombreCampo);	 
	 objeto.focus();
     return false;	 
	}
    else {    
     return true;  
    } 
   break; //termina case "numero"
   
   case "alfanumerico":
    var pos_caracter = objeto.value.search("A-Za-z0-9\ -_.,();ñ'#$@%"); 
	if(pos_caracter >= 0 || objeto.value=="") { 
     alert("Please complete all required fields: "+nombreCampo);
	 objeto.focus();	 
     return false; 
	}
    else {    
     return true;	 
    } 
   break; //termina case "alfanumerico"
   
   case "email":   
    if(objeto.value.indexOf('@', 0)==-1 || objeto.value.indexOf('.', 0)==-1 ) { 
     alert("Enter a valid email address");
     objeto.focus(); 
     return false; 
    } 
    else
     return true;
   break; //termina case "email"
   
   case "combo":    
	if(objeto.value=="" || objeto.value=='0') { 
     alert("Please choose an option");	 
     return false; 
	}
    else {    
     return true;	 
    } 
   break; //termina case "combo"
  
  } //termina Switch
} //Termina funcion valida

//inicia funcion validar todos los objetos
function validaCampos(form) 
{	
 var campos_llenos="";
 campos_llenos='si';	
 for (i = 0; i < form.elements.length; i++) { //inicia for
  //inicia validacion de textos y areas
  if (form.elements[i].type == "text" || form.elements[i].type == "textarea" || form.elements[i].type == "file" || form.elements[i].type == "select-one" || form.elements[i].type == "password") {    
   if(valida(form.elements[i],form.elements[i].accept,form.elements[i].title)==0) {
	//el usuario no lleno el campo
    form.elements[i].focus(); 
	campos_llenos='no'; 	
	break;
   }
  } //termina if validacion de textos y areas
 } //termina for
 if(campos_llenos=='no') //el usuario dejo algun campo en blanco
  return false;
 else  //el usuario lleno todos los campos requeridos
  return true;
  
}
//termina funcion validar todos los objetos

function limpiaCampos(form) 
{
 for (i = 0; i < form.elements.length; i++) {
  if (form.elements[i].type == "text" || form.elements[i].type == "textarea" || form.elements[i].type == "password") { 
   form.elements[i].value=""; 
  }
  if (form.elements[i].type == "checkbox") { 
   form.elements[i].checked=0; 
  }
 }
}

function obtenerVariables(form) 
{
 var variablesForma;
 var aux_contador=1;
 variablesForma="";
 for (i = 0; i < form.elements.length; i++) {
  //alert(form.elements[i].type);
  //inicia if texto o area
  if (form.elements[i].type == "text" || form.elements[i].type == "textarea") {   
   variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&";   
  } //termina if texto o area
  
  //inicia if select
  if (form.elements[i].type == "select-one") {    
   variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&"; 
  } //termina if texto o area    
  
  //inicia if hidden
  if (form.elements[i].type == "hidden") { 
   variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&"; 
  } //termina if hidden  
  
  //inicia if checkbox
  if (form.elements[i].type == "checkbox") { 
   if(form.elements[i].checked==1)
    variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&"; 
  } //termina if checkbox
  
  //inicia if file
  if (form.elements[i].type == "file") { 
   variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&"; 
  } //termina if file
  
   //inicia if password
  if (form.elements[i].type == "password") { 
   variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&"; 
  } //termina if password
  
  //inicia if radio
  if (form.elements[i].type == "radio") { 
   if(form.elements[i].checked==1)
    variablesForma=variablesForma+form.elements[i].name+"="+form.elements[i].value+"&"; 
  } //termina if radio
 }
 return variablesForma;
}

function guardaRegistro(tabla,accion,capa,tipo_notificacion,formulario) {      
 if(!formulario)
  formulario=document.form1;
 if(confirm("Deseas enviar la informacion?")) 
 {
  if(validaCampos(formulario)) 
  {
   var url="escribeDatos.php?tabla="+tabla+"&accion="+accion+"&tipo_notificacion="+tipo_notificacion+"&"+obtenerVariables(formulario); 
   //alert(url);
   FAjax(url,capa,'','POST',tipo_notificacion); 
   limpiaCampos(formulario);   
  }
 } //if confirm
 } //termina funcion

function eliminaRegistro(tabla,clave,tipo_notificacion) {
 if(confirm("Deseas eliminar el registro seleccionado?\nToma en cuenta que se eliminara toda la informacion relacionada con este elemento.")) {
   var url="escribeDatos.php?tabla="+tabla+"&clave="+clave+"&accion=eliminar&tipo_notificacion="+tipo_notificacion;    
   //alert(url);
   FAjax(url,'msgSistema','','POST',tipo_notificacion); 
   document.getElementById('fila-'+clave).style.display='none';  
  }  	
} //funcion

function delRegistro(clave,phpAccion,capa,tipo_notificacion) {    
  if(confirm("Deseas eliminar el registro seleccionado?\nToma en cuenta que se eliminara toda la informacion relacionada con este elemento.")) {
   phpAccion+="&tipo_notificacion="+tipo_notificacion;
     // alert(phpAccion);
   //alert(clave+","+phpAccion+","+capa+","+tipo_notificacion);   
   FAjax(phpAccion,capa,'','POST',tipo_notificacion); 
   document.getElementById('fila-'+clave).style.display='none';  
  }  
 } //termina funcion

function enviaFormNormal() {
if(confirm("Your information will now be sent in a secure way to kukulcan's admissions system"))
 {
  if(validaCampos(document.form1))
  {
   document.form1.submit();
  }
 } //if confirm
} //funcion
