// JavaScript Document
//Funciones generales de javascript.
//-----------------------------------

// Funciones para expandir/contraer una capa, alternando las imágenes
//---------------------------------------------------------------------

var masmenos= new Array();

function controlImg(_img,id,ajax,capa){	
    if (masmenos[id]=='menos'){
        _img.src='/gestion/img/iconos/mas.gif';
        _img.title='Mostrar';
        retraer(id,capa);
    }else{
        _img.src='/gestion/img/iconos/menos.gif';
        _img.title='Ocultar';
        expandir(id,ajax,capa);
    }
}

function expandir(id,ajax,capa){
   masmenos[id]='menos';  
   FAjaxPinta(ajax,capa,true,false); 
   
} 

function retraer(id,capa){
   masmenos[id]='mas'; 
   var capa = document.getElementById(capa);   
   capa.innerHTML=''; 
}

// Función para realizar el submit de un formulario recibido como parámetro
function hacer_submit(formu){	
	formu.submit();	
}

// Función que asigna a una variable oculta el valor 1/0 según un checkbox 
// haya sido o no seleccionado
//---------------------------------------------------------
// Nota: los checks deseleccionados no pasan como variables del formulario. De esta forma
// se asigna siempre un valor 0 ó 1 a otra variable que es la que se tratará.
function asig_valor_check(ck_campo,hi_campo){
	if(ck_campo.checked){
		hi_campo.value = 1;
	}else{
		hi_campo.value = 0;
	}
	//alert(hi_campo.value);

}

// Función que abre ventana
//---------------------------
// Parámetros: - cadena: url a ejecutar
//    		   - scrollbar: valores yes/no, en función de que se quiera o no barra de desplazamiento

function abrir_ventana(cadena,scrollbar){
	window.open(cadena,"new","width=600,height=400,resizable=yes,scrollbars="+scrollbar);
}


// Funciones para Imágenes
//---------------------------

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


// Función reproducción de vídeo
//------------------------------
// - video: ruta completa al fichero flv a reproducir
// - Nota: el objeto sl ya existe por la previa ejecución de "reproductor.php" en la Cabecera.

function reproduce(video){
	s1.addParam('flashvars','file=http://'+video+'&autostart=true&fullscreen=true&stretching=fill');
	s1.write('preview');
}

// Funciones CSS
//---------------

// Función nueva_prop_css
//------------------------
// - selector: etiqueta css o nombre del estilo a modificar. P.e.: #menu, a.clase.hover, etc
// - propiedad: propiedad que se quiere añadir al selector
// - valor: valor a asignar a la propiedad

function nueva_prop_css(selector,propiedad,valor){
   var rgs=new RegExp('\\s*'+selector+"\\s*","g"); 
   var css=document.styleSheets; 
   // Recorremos las hojas de estilo
   for(var k=0;k< css.length;k++){ 
      // Casos IE ó Fire
	  if (document.styleSheets[k].cssRules){
		rules=document.styleSheets[k].cssRules;
	  }else if (document.styleSheets[k].rules){
		rules=document.styleSheets[k].rules;
	  }
	  // Recorremos las reglas de la hoja de estilo [k]
      for(var i=0;i<rules.length;i++){ 
      	// Si se encuentra el selector buscado
		if(rgs.test(rules[i].selectorText)) { 
		  // Se separan sus propiedades en la matriz cssTexts
		  var cssTexts=rules[i].style.cssText.split(';');
		  // Calculamos la longitud de dicha matriz
		  var longCssTexts = cssTexts.length; 
		  // Incorporarmos al final la nueva propiedad-valor
		  cssTexts[longCssTexts+1]=propiedad+':'+valor; 
		  // Une de nuevo los eltos de la matriz para restaurar las propiedades de la regla
		  rules[i].style.cssText=cssTexts.join(';'); 
        } 
      } 
    }
}
	
// Función modificar_prop_css
//----------------------------
// - selector: etiqueta css o nombre del estilo a modificar. P.e.: #menu, a.clase.hover, etc
// - propiedad: propiedad que se quiere modificar
// - valor: valor a asignar a la propiedad

function modificar_prop_css(selector,propiedad,valor){
   var rgs=new RegExp('\\s*'+selector+"\\s*","g"); 
   var css=document.styleSheets; 
   // Recorremos las hojas de estilo
   for(var k=0;k< css.length;k++){ 
      // Casos IE ó Fire
	  if (document.styleSheets[k].cssRules){
		rules=document.styleSheets[k].cssRules;
	  }else if (document.styleSheets[k].rules){
		rules=document.styleSheets[k].rules;
	  }
	  // Recorremos las reglas de la hoja de estilo [k]
      for(var i=0;i<rules.length;i++){ 
      	// Si se encuentra el selector buscado
		if(rgs.test(rules[i].selectorText)) { 
		  // Se separan sus propiedades en la matriz cssTexts
		  var cssTexts=rules[i].style.cssText.split(';');
		  var rgp=new RegExp('^\\s*'+propiedad+"\\s*:","g");
		  // Recorreremos la matriz de propiedades
		  for(var j=0;j<cssTexts.length;j++){ 
            // Si encuentra la propiedad a modificar
			if(rgp.test(cssTexts[j])) cssTexts[j]=propiedad+':'+valor; 
          } 		  
		  // Une de nuevo los eltos de la matriz para restaurar las propiedades de la regla
		  rules[i].style.cssText=cssTexts.join(';'); 
        } 
      } 
    }
}
	













