function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
	return false;
    }
} // changeObjectVisibility


function getObjeto(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId);
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	//alert("msie");
	return document.all(objectId);
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	//return document.layers[objectId];
	//alert("NN");
	return getObjNN4(document,ObjectId);//con nested layers
    } else {
	return false;
    }
} // getStyleObject


function getObjNN4(obj,name)
{
        var x = obj.layers;
        var foundLayer;
        for (var i=0;i<x.length;i++)
        {
                if (x[i].id == name)
                        foundLayer = x[i];
                else if (x[i].layers.length)
                        var tmp = getObjNN4(x[i],name);
                if (tmp) foundLayer = tmp;
        }
        return foundLayer;
}


/*********Utilidades end***********/

function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.left = newXCoordinate;
	styleObject.top = newYCoordinate;
	return true;
    } else {
	// we couldn't find the object, so we can't very well move it
	return false;
    }
} // moveObject



function changeObjectDisplay(objectId, newDisplay) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.display = newDisplay;
	return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
	return false;
    }
} // changeObjectVisibility


/*Funcion que pone en el campo hidden del id su valor.
*@param ultimo:Numero del ultimo numero del chickbox..
*@param nombreCampo: Nombre inicial de cada uno de los checkbox a eliminar.
*@param campoOculto: Campo donde se concatenaran los id's a eliminar.
*
*/
function mandaAEliminar(ultimo,nombreCampo,campoOculto){
//   alert(ultimo+" "+nombreCampo+" "+campoOculto);
   var campoHiddenIds=getObjeto(campoOculto);//concatenar para concatenar los id's   
   campoHiddenIds.value="";
   var i;
   var campo;
   var campo_h;
   for(i=1;i<=ultimo;i++){
        campo=getObjeto((nombreCampo+i));
        //alert(campo.value);
	if(campo.checked==true){//obetener el valor del id del campo hidden con el mismo numero..(i en este caso).	   	
           campoHiddenIds.value+=campo.value+"@";
	}
   }
   //alert(campoHiddenIds.value);
   if(campoHiddenIds.value!="")  submitEliminaMultiple();
   else alert("No selecciono registros");
}

function submitEliminaMultiple(){
  var form=getObjeto("formaEliminaMultiple");
  var res=confirm("Seguro que desea eliminar\n los registros?");
  if(res){
     form.submit();
  }
}

/*Funcion que pone en el campo hidden del id su valor.
*@param ultimo:Numero del ultimo numero del chickbox..
*@param nombreCampo: Nombre inicial de cada uno de los checkbox a eliminar.
*
*/
function marca_todos(ultimo,nombreCampo){
   var i;
   var campo;
   for(i=1;i<=ultimo;i++){
      campo=getObjeto(nombreCampo+i);
      //campo.value="true";  
      campo.checked=true;  
   }
}

/*Funcion que pone en el campo hidden del id su valor.
*@param ultimo:Numero del ultimo numero del checkbox..
*@param nombreCampo: Nombre inicial de cada uno de los checkbox a eliminar.
*@param campoOculto: Campo donde se concatenaran los id's a eliminar.
*
*/
function desmarca_todos(ultimo,nombreCampo){
   var i;
   var campo;
   for(i=1;i<=ultimo;i++){
      campo=getObjeto(nombreCampo+i);
      //campo.value="false";  
      campo.checked=false;  
   }
}

/*Funcion que pone en el campo hidden del id su valor.
*@param nombre_campo:Numero del campo.
*@param valor:Valor del campo.
*return -1: Caso de error.
*return  0: Todo bien. 
*
*/
function ponValorOBorra(num_campo){
   var check=getObjeto("checkbox"+num_campo);//campo oculto   
   var campo=getObjeto("h_"+num_campo);//campo oculto
   //alert('valor = '+campo.value+'check = '+check.value);
   if(check.value=="false")
     check.value="true";
   else check.value="false";
   //alert('valor = '+campo.value+'check = '+check.value);
   return 0;
}

/*Funcion valida fecha
*@param nombre_campo:Nombre del td y div donde se muestra el error de formato.
*return -1: Caso de error.
*return  0: Todo bien. 
*
*/
function valida_formato_fecha(dia,mes,year,nombre_campo,anio_act){
   var id_td=getObjeto('td_'+nombre_campo);
   var id_div=getStyleObject('div_'+nombre_campo);
   var id_dia=getObjeto(dia) ;
   var id_mes=getObjeto(mes) ;
   var id_year=getObjeto(year) ;
   var dia=parseInt(id_dia.value);
   var mes=parseInt(id_mes.value);
   var year=parseInt(id_year.value);
   var date=new Date();
   
   /*alert(dia);
   alert(mes);
   alert(year);
   */
   if(id_dia.value==""||id_mes.value==""||id_year.value==""){ 
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(dia<1||dia>31){
     //alert("dia");
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(mes<1||mes>12){
     //alert("mes");
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(year<2005||year>anio_act){
     alert("Aņo incorrecto.");
     id_td.className="error_elem";
     id_div.display="block";
     return  1;
   }
   id_td.className="normal_elem";
   id_div.display="none";
   return 0;
}

/*Funcion escribe los valores actuales en la forma order, para reverdir el orden de una busqueda
*@param ordenar: Campo por el cual se va ordenar la consulta(ej: oder by campo)
*@param manera: forma descendente o ascendente de ordenar la consulta
*return -1: Caso de error.
*return  0: Todo bien. 
*/
function writeOrdenar(ordenar,manera,hoja){
  //alert(manera);
  var form=getObjeto("order");
  
  form.ordenar.value=ordenar;
  form.hoja.value=hoja;
  if(manera=='desc')
     form.manera.value='asc';
  else form.manera.value='desc';
  form.submit();
}


/*Funcion valida fecha
*return -1: Caso de error.
*return  0: Todo bien. 
*/
function valida_formato_fecha2(dia,mes,year,campo,error_elem,anio_act){

   var id_td=getObjeto(campo);
   var id_div=getStyleObject(error_elem);
   var id_dia=getObjeto(dia);
   var id_mes=getObjeto(mes);
   var id_year=getObjeto(year);
   
   var dia=parseInt(id_dia.value);
   var year=parseInt(id_year.value);
   var anio_actual=parseInt(anio_act);
   
  var mesb=new Array();
  mesb["Enero"]=1;mesb["Febrero"]=2;mesb["Marzo"]=3;mesb["Abril"]=4;mesb["Mayo"]=5;mesb["Junio"]=6;mesb["Julio"]=7;
  mesb["Agosto"]=8;mesb["Septiembre"]=9;mesb["Octubre"]=10;mesb["Noviembre"]=11;mesb["Diciembre"]=12;
   /*alert(dia);
   alert(mesb[id_mes.value]);
   alert(year);
   alert(anio_actual);
   */
   if(id_dia.value==""||id_mes.value==""||id_year.value==""){ 
     //alert("No data");
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(dia<1||dia>31){
     //alert("dia: "+dia);
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(mes<1||mes>12){
     //alert("mes: "+mes);
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(year<2005||year>anio_actual){
     //alert("anio: ");
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   id_td.className="normal_elem";
   id_div.display="none";
   //alert("fin");
   return 0;
}

/*Funcion valida hora
*return -1: Caso de error.
*return  0: Todo bien. 
*/
function valida_formato_hora(hora,min,nombre_campo){
   var id_td=getObjeto("td_"+nombre_campo);
   var id_div=getStyleObject("div_"+nombre_campo);
   var id_hora=getObjeto(hora) ;
   var id_min=getObjeto(min) ;
   var hora=parseInt(id_hora.value);
   var min=parseInt(id_min.value);
   
    /*alert(hora);
    alert(min);*/
    if(id_hora.value==""||id_min.value==""){ 
     id_td.className="error_elem";
     id_div.display="block";
     return 1;
   }
   if(hora<0||hora>24){
     id_td.className="error_elem";
     id_div.display="block";
     return -1;
   }
   if(min<0||min>59){
     id_td.className="error_elem";
     id_div.display="block";
     return -1;
   }
   id_td.className="normal_elem";
   id_div.display="none";
   return 0;
}


function borra_input_file(nom,num){
  var inputId = nom + num;
    if(changeObjectDisplay(inputId, 'none')){
       return 1;
    }
    return 0;
}

/*
* @param preguntar:1 para hacer una pregunta 0 para no hacerla. 
*
*
*/

function envia(id,nombre_forma,preguntar,pregunta){
  //alert(id+"  "+nombre_forma+" "+preguntar+"");
  var form=getObjeto(nombre_forma);
  
  if(preguntar=='1'){
     var cad="Desea "+pregunta+"\n id="+id+"?";
     var res=confirm(cad);
     if(res){
        form.id.value=id;
        form.submit();
     }
  }else{
       form.id.value=id;
       form.submit();
  }
}


function agrega_input_file(nom,num){
  var inputId = nom + num;
    if(changeObjectDisplay(inputId, 'block')){
       return 1;
    }
    return 0;
}

function cambia(){
  var Obj=getStyle('div_nomvideo1');
  alert(Obj.className);
  //Obj.class="BlueCielo";
}

/*Alert para preguntas a alguna cadena sobre algun id*/
function preguntar(id,cad){
  var res=confirm("Seguro que desea \n"+cad+" id "+id+"?");
  return res;
}

