	function resaltar()

	{	for(i=0;i<arguments[0].length;i++)
			{
				arguments[0][i].className=arguments[1][i];
			}
	}
	
	function zebra(id){
		alert('debug');
		alert(document.getElementById(id).rows.length);
		for (i=1; i<document.getElementById(id).rows.length; i++)
		{
			
			if(i%2==1){
				document.getElementById(id).rows[i].className='rowodd';
			}
			else{
				document.getElementById(id).rows[i].className='roweven';
			}
		}
		
	}
	
	function cambiarImagen(elemento_imagen,imagen_nueva) 
	{
 		elemento_imagen.src=arguments[1];
	}
	
	function cargarjpg(url)
	{
		img = new Image();
		img.src = url;
		return img;
	}
	
	function getElementsByClass(searchClass,node,tag) 
	{
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
	
	function addListener(obj,evt,func) 
	{
	    if (obj.attachEvent)
	        obj.attachEvent('on' + evt, func);

	    else 
		{
	        if (obj.addEventListener) {
	            obj.addEventListener(evt,func,false);
	        }
	        else {
	            if (obj.eval) {
	                obj["on"+evt] = func;
	            } else {
	                alert("Error adding listener\nObject:"+obj+"ID:"+obj.id+" Name:"+obj.name+" TagName:"+obj.tagName+"\nEvent:"+evt);
	            }
	        }
	    }
	}
	
	function ajustarImg (clase, maxlado)
	{
		var imgs = getElementsByClass(clase);
		for (i=0; i<imgs.length; i++)
		{
			var newImg = new Image();
			newImg.src = imgs[i].src;
			var height = newImg.height;
			var width = newImg.width;
			if (width>height)
			{
				imgs[i].width=maxlado;
				imgs[i].height=(height*maxlado)/width;
			}
			else
			{
				imgs[i].height=maxlado;
				imgs[i].width=(width*maxlado)/height;
			}
		}
	}
	
	
	
	function funcionAjax (f, url, variables)
	{
		var pagina_requerida = false;
		if (window.XMLHttpRequest)
		{
			// Si es Mozilla, Safari etc
			pagina_requerida = new XMLHttpRequest ();
		} 
		
		else if (window.ActiveXObject)
		{
			// pero si es IE
			try 
			{
				pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				// en caso que sea una versión antigua
				try
				{
					pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
				}
				catch (e)
				{
				}
			}
		} 
		else
			return false;
			
		pagina_requerida.onreadystatechange = function ()
		{
			// función de respuesta
			cargarpagina (f, pagina_requerida);
		}
		pagina_requerida.open ('POST', url, true); // asignamos los métodos open y send
		pagina_requerida.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		pagina_requerida.send (variables);
	}
	
	
	function cargarpagina (f, pagina_requerida)
	{
		if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
			f(parsearVariables(pagina_requerida.responseText));
	}
	
	
	function enviarDatosForm(f, url, parametros)
	{
		var variables="codigo="+parametros[0]+"&";
		 for(i=1;i<parametros.length;i++)
		{
			//alert("param"+parametros[i]);
			if(document.getElementsByName(parametros[i])[0].tagName=="SELECT")
			{
				index=document.getElementsByName(parametros[i])[0].selectedIndex;
				variables=variables+parametros[i]+"="+document.getElementsByName(parametros[i])[0].options[index].value;
			}
			
			else if(document.getElementsByName(parametros[i])[0].tagName=="TD")
			{
				variables=variables+parametros[i]+"="+document.getElementsByName(parametros[i])[0].childNodes[0].data;
			}
			
			else if(document.getElementsByName(parametros[i])[0].type=="radio")
			{
				for(j=0;j<document.getElementsByName(parametros[i]).length;j++)
				{
					if(document.getElementsByName(parametros[i])[j].checked==true)
						variables=variables+parametros[i]+"="+document.getElementsByName(parametros[i])[j].value;
				}
			}
			else if(document.getElementsByName(parametros[i])[0].type=="checkbox")
			{
					if(document.getElementsByName(parametros[i])[0].checked==true)
						variables=variables+parametros[i]+"="+1;
					else
						variables=variables+parametros[i]+"="+0;
			}
			else
			{	
				variables=variables+parametros[i]+"="+escape(document.getElementsByName(parametros[i])[0].value);
			}
			
			if(i!=(parametros.length-1))
				variables=variables+"&";
		}
		//alert(variables);
		funcionAjax (f, url, variables);
	}
	
	function actualizarLogoImagen()
	{
		
		document.getElementById('i_frame').onload_1=function()
		{
			
			codigo_i=document.getElementById('i_codigo_img').value;
			document.getElementById('td_imagen'+codigo_i).innerHTML="";
			for(i=0;i<frames.i_frame.document.getElementsByTagName('body')[0].childNodes.length;i++)
			{
				if(frames.i_frame.document.getElementsByTagName('body')[0].childNodes[i].id=='logo_imagen_check')
				{
					nodo=frames.i_frame.document.getElementsByTagName('body')[0].childNodes[i];
				
					var nuevoDiv = document.createElement("div");
					nuevoDiv.innerHTML = frames.i_frame.document.getElementsByTagName('body')[0].innerHTML;
					document.getElementById('td_imagen'+codigo_i).appendChild(nuevoDiv);
				}
				else
					self.parent.location='./load_productos.php?primera=true';
			}
			frames.i_frame.document.getElementsByTagName('body')[0].innerHTML="";
			
			enviarDatosForm(desplegarRespuestaAjax,'./form_actualizarProducto.php', new Array(escape(document.getElementsByName('codigo')[0].value), 'titulo', 'visible', 'descripcion', 'categoria', 'etiqueta', 'recomendado', 'idioma', 'autor' ));
			frames.i_frame.document.getElementsByTagName('body')[0].innerHTML="";
		}
		document.getElementById('formulario_imagen').submit();
	}
	 
	function parsearVariables(str)
	{
		//alert(str);
		arreglo=str.split('&panchoweber&');
		arreglo_variables=new Array();
		var a;
		for(i=0;i<arreglo.length;i++)
		{
			a=arreglo[i].split('=panchoweber=');
			arreglo_variables[i]=new Array();
			
			arreglo_variables[i][0]=a[0];
			arreglo_variables[i][1]=a[1];
		}
		return (arreglo_variables);
	}
	
	function desplegarRespuestaAjax(variables)
	{
		for(i=1;i<variables.length;i++)
		{
			// alert("var:"+variables[i][0]);
			// alert("var1:"+variables[i][1]);
			document.getElementById(variables[i][0]).innerHTML='';
			var nuevoDiv = document.createElement("div");
			nuevoDiv.innerHTML = variables[i][1];
			document.getElementById(variables[i][0]).appendChild(nuevoDiv);
		}
		
		iniciar('btn_'+variables[0][1]);
	}
		
	
	function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function