// +----------------------------------------------------------------------+
// | 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("Solo puedes introducir letras en el campo: "+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("Solo puedes introducir numeros en el campo: "+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("Debes llenar el campo: "+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("Debes introducir una direccion de e-mail valida");
     objeto.focus(); 
     return false; 
    } 
    else
     return true;
   break; //termina case "email"
   
   case "combo":    
	if(objeto.value=="" || objeto.value=='0') { 
     alert("Debes seleccionar una opcion de la lista");	 
     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") {   
   valor=form.elements[i].value.replace(/\n/g,"<br>");
   //alert(valor);
   variablesForma=variablesForma+form.elements[i].name+"="+valor+"&";   
  } //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); 
   if(accion=="insertar") 
    //limpiaCampos(formulario);       
   limpiaCapa(capa);
  }
  
 } //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';  
   limpiaCapa('msgSistema');
  }  	
} //funcion

function recargaSeccion(url,capa) { 
 setTimeout("abreSeccion('"+url+"','"+capa+"')",1000);
} //funcion

function limpiaCapa(capa) {
 setTimeout("document.getElementById('"+capa+"').innerHTML='&nbsp;';",1250);
} //funcion

function valor(id) {
 return document.getElementById(id).value;	
} //function

function objeto(id) {
 return document.getElementById(id);	
} //function

function redondear(cantidad, decimales) {
 var cantidad = parseFloat(cantidad);
 var decimales = parseFloat(decimales);
 decimales = (!decimales ? 2 : decimales);
 return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
} //funcion 

function fechaCompleta() {
 todaysDate = new Date(); dayarray = new
 Array("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"); 
 montharray = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
 document.write(dayarray[todaysDate.getDay()] + ", " + todaysDate.getDate() + " de " + montharray[todaysDate.getMonth()] + " de "); 
 if(todaysDate.getYear()<1000) { 
  document.write(todaysDate.getYear() + 1900); 
 } 
 else { 
  document.write(todaysDate.getYear());
 } 
} //funcion

function enviaFormNormal() {
if(confirm("Deseas enviar la informacion?")) 
 {
  if(validaCampos(document.form1)) 
  {
   document.form1.submit();
  }
 } //if confirm
} //funcion

function focoActivo(obj) { 
 var obj=document.getElementById(obj);
 obj.style.background='#eaeaea'; 
 obj.style.display='inline';
 obj.style.border='1px solid #999999';
} //funcion

function focoFuera(obj) { 
 var obj=document.getElementById(obj);
 obj.style.background='#ffffff';
 obj.style.display='inline';
 obj.style.border='1px solid #999999';
} //funcion

function abreSeccion(seccion,capa) {
 FAjax(seccion,capa,'','POST','capa');
} //funcion

function abreSeccionEval(seccion) {
 FAjax(seccion,'msgSistema','','POST','alert');
} //funcion

function cambiaUrlFrame(frame,url) {
 document.getElementById(frame).src=url;
 document.getElementById(frame).style.display='block';
}

function mueveReloj(){ 
    momentoActual = new Date(); 
    horas = momentoActual.getHours(); 
    minutos = momentoActual.getMinutes(); 
    segundos = momentoActual.getSeconds(); 

var mt ="AM"; 
if (horas > 12) { 
mt ="PM"; 
horas = horas - 12; 
} 
if (horas == 0) horas = 12; 
if (minutos <= 9) minutos = "0" + minutos; 
if (segundos <= 9) segundos = "0" + segundos;
    horaImprimible = horas + ":" + minutos + ":" + segundos+" "+mt; 
    

    document.getElementById('reloj').innerHTML = horaImprimible 

    setTimeout("mueveReloj()",1000) 
} 
 //function

function mostrarEspacio(id,icono) {
 var elemento=objeto(id);
 if(elemento.style.display=='none') {   elemento.style.display='block'; objeto(icono).src='imagenes/iconos/menos.gif'; }
 else {  elemento.style.display='none'; objeto(icono).src='imagenes/iconos/mas.gif';}
 
} //funcion
