/****************************************  
    Funciones de javascript 
    Copyright (c) 2003, Robin27, S.L.
    Mail: info@robin27.com   
    Web:  http://www.robin27.com 
****************************************/  

//Plantilla de funciones   
/**** 
  nombre:       nombrefuncion
  parámetros:   param1 - Tipo parametro+descripcion param1        
                ...
                paramN - Tipo parametro+descripcion paramN  
  retorno:      tipo retorno+descripcion
  descripción:  objetivo de la funcion
  ejemplo/s:    ejemplo1
                ...
                ejemploN
  autor:        nombre - email - fechahoracreacion
****/                     

/****************************************  
    Funciones de formulario 
****************************************/  
    
/**** 
  nombre:       showDefaultTextIfBlank
  parámetros:   field - Referencia a un objeto del formulario        
                text  - Cadena con el texto a mostrar por defecto 
  retorno:      No devuelve nada
  descripción:  La idea es poder establecer por defecto un texto en un campo
                de un formulario, vaciándolo cuando el usuario clique en él,
                y recuperando el valor por defecto si el usuario no ha escrito
                ningun valor. 
  ejemplo/s:    Ejemplo de llamada a la función desde un campo de texto:
                  <input type="text" name="fijo" value="fijo" 
                  onclick="this.value=''" 
                  onblur="showDefaultTextIfBlank(this,'fijo')">
  autor:        Miquel Colomer Salas - mcolomer@robin27.com - 28/04/2003 13:00 
****/
function showDefaultTextIfBlank(field, text){
  if (field.value.length == 0) {
    field.value = text;
  }
}

/**** 
  nombre:       enviar_formulario
  parámetros:   doc - Referencia a un formulario        
  retorno:      No devuelve nada
  descripción:  Permite hacer un submit de un formulario. 
  ejemplo/s:    Ejemplo de llamada a la función:
                  <script>enviar_formulario(form)</script>
  autor:        desconocido
****/
function enviar_formulario(doc) {
	doc.submit();
}

/**** 
  nombre:       validateNum
  parámetros:   field - Referencia a un campo del formulario  
                msg   - Cadena con el texto a mostrar como mensaje en caso de error      
  retorno:      true  - Si el campo es numérico
                false - Si el campo no es numérico
  descripción:  Comprueba si un campo de texto contiene un valor numérico.
                Si no es numérico, muestra un alert, y establece el foco borrando 
                el resto de la cadena a partir del primer carácter no numérico.
                Si el field es numérico, devuelve true. 
                Pensado para validación de formularios al hacer un submit de éste.
  ejemplo/s:    Ejemplo de llamada a la función:
                  <script>
                    validateNum(telefono, 'El campo teléfono no es numérico!')
                  </script>
  autor:        Miquel Colomer Salas - mcolomer@robin27.com - desconocida
****/
function validateNum(field, msg) {
  var valid = "0123456789"
  var temp;
  for (var i=0; i<field.value.length; i++) {
    temp = field.value.substring(i, i+1);
    if (valid.indexOf(temp) == "-1") {
    	alert(msg);
    	field.value=field.value.substring(0, i);
    	field.focus();
    	return false;
    }
  }
  return true;
}

/**** 
  nombre:       complete2Digits
  parámetros:   field - Referencia a un campo del formulario  
  retorno:      No devuelve nada
  descripción:  Completa un campo con un 0 delante del valor del campo. 
                Pensado para formatear los campos mes y dia a dos digitos.
  ejemplo/s:    Ejemplo de llamada a la función:
                  <input type="text" name="dia" onblur="complete2Digits(this)">
  autor:        Miquel Colomer Salas - mcolomer@robin27.com - desconocida
****/
function complete2Digits(field) {
  if (field.value.length==1) {
    field.value='0'+field.value;
  }
}

/**** 
  nombre:       confirmMsgAndRedirect
  parámetros:   msg - Cadena con el mensaje a mostrar
                url - Cadena con la url  
  retorno:      No devuelve nada
  descripción:  Permite interactuar con el cliente, mostrándole un msg, y si éste
                accepta, le redirige a la url especificada.
  ejemplo/s:    Ejemplo de llamada a la función:
                  <a href="#" 
                  onclick="confirmMsgAndRedirect('Está seguro que desea eliminar el pedido 1000?',
                  'delPedidoGuardadoAction.jsp?IdPedido=1000')">Borrar</a>
  autor:        Miquel Colomer Salas - mcolomer@robin27.com - 29/04/2003 10:15
****/
function confirmMsgAndRedirect(msg, url) {
  if (confirm(msg)) {
    location.href = url;
  }
}


/****************************************  
    Funciones dinámicas 
****************************************/

/**** 
  nombre:       estilos
  parámetros:   Sin parámetros  
  retorno:      No devuelve nada
  descripción:  Carga una plantilla de estilos u otra, si el navegador es netscape
                o Internet Explorer.
                Llamada en la cabecera de la página.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>estilos()</script>
  autor:        desconocido
****/
function estilos() {
	navegador = navigator.appName
	version = parseInt(navigator.appVersion)
	if ((navegador=="Netscape") && (version < 5))	{
		document.write('<link rel="stylesheet" href="includes/estilos_n.css" type="text/css">');	
	} else {	
		document.write('<link rel="stylesheet" href="includes/estilos.css" type="text/css">');		
	}
}
function estilos_mail() {
	navegador = navigator.appName
	version = parseInt(navigator.appVersion)
	if ((navegador=="Netscape") && (version < 5))	{
		document.write('<link rel="stylesheet" href="../webofertas/includes/estilos_n.css" type="text/css">');	
	} else {	
		document.write('<link rel="stylesheet" href="../webofertas/includes/estilos.css" type="text/css">');		
	}
}

/**** 
  nombre:       estilos_admin
  parámetros:   Sin parámetros  
  retorno:      No devuelve nada
  descripción:  Carga una plantilla de estilos para el admin, si el navegador es netscape
                o Internet Explorer.
                Llamada en la cabecera de la página.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>estilos_admin()</script>
  autor:        desconocido
****/
function estilos_admin() {
	navegador = navigator.appName
	version = parseInt(navigator.appVersion)
	if ((navegador=="Netscape") && (version < 5))	{
		document.write('<link rel="stylesheet" href="../includes/estilos_admin_n.css" type="text/css">');	
	} else {	
		document.write('<link rel="stylesheet" href="../includes/estilos_admin.css" type="text/css">');		
	}
}

/**** 
  nombre:       over
  parámetros:   nombre - nombre del objeto imagen a cambiar
                imagen - ruta hacia la nueva imagen
  retorno:      No devuelve nada
  descripción:  Carga una nueva imagen dinámicamente en un <img>.
  ejemplo/s:    Ejemplo de llamada a la función:
                <img src="images/bolita_azul.gif" height="10" width="10" 
                onmouseover="over(this, 'images/bolita_roja.gif')">
  autor:        desconocido
****/
function over(nombre, imagen) {
	nombre.src = imagen;
}

  
var ancho = espacioh();

/**** 
  nombre:       espacioh
  parámetros:   Sin parámetros  
  retorno:      espacio - el ancho de la celda de centrado
  descripción:  Calcula el ancho sobrante teniendo en cuenta la resolución de la
                pantalla en cliente. Adaptada a todas las resoluciones.
                Devolverá el ancho de la celda de centrado.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>var ancho = espacioh();</script>
  autor:        desconocido
****/ 
function espacioh() {
	var espacio = 0;
	if (screen.width>800) {
		espacio=(screen.width-796)/2;
	}
	return espacio;
}

/**** 
  nombre:       dibuja_espaciov
  parámetros:   Sin parámetros  
  retorno:      Sin retorno
  descripción:  Dibuja una fila de anchura 112 pix para el centrado vertical, si la 
                resolución es mayor de 800x600. En cliente.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>dibuja_espacioh()</script>
  autor:        desconocido
****/ 
var espacios = 0;
function dibuja_espacioh() 
{
	if (screen.width > 800)	
	{
		document.write ("<td width='106' bgcolor='#ffffff'><img src='images/shim.gif' width='106' height='1'></td>")
		espacios = 112;
	}
}

/**** 
  nombre:       dibuja_espaciov
  parámetros:   Sin parámetros  
  retorno:      Sin retorno
  descripción:  Dibuja una fila de altura 68 pix para el centrado vertical, si la 
                resolución es mayor de 600x480. En cliente.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>dibuja_espaciov()</script>
  autor:        desconocido
****/ 
function dibuja_espaciov() {
	if (screen.height > 600) {
		document.write ("<tr><td height='68' colspan='3'><img width='1' src='images/shim.gif' height='68'></td></tr>")
	}
}

/**** 
  nombre:       getBrowserType
  parámetros:   Sin parámetros  
  retorno:      1 - Navigator 4.X
                2 - Internet Explorer
  descripción:  Obtiene el tipo de navegador utilizado por el cliente.  En cliente.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>
                if (getBrowserType == 2) {
                  alert("Internet Explorer")
                }
                </script>
  autor:        desconocido
****/ 
function getBrowserType() {
	navegador = navigator.appName
	version = parseInt(navigator.appVersion)
	if ((navegador=="Netscape") && (version < 5))	{
		return 1;//Navigator 4.X
	} else {	
		return 2;//IExplorer
	}
}

/**** 
  nombre:       getTxtSize
  parámetros:   browserType - Tipo de navegador. Obtenido con la funcion getBrowserType()
  retorno:      size - Tamaño de la letra segun el navegador
  descripción:  Obtiene el tamaño de la letra por defecto del navegador.  En cliente.
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>var size = getTxtSize(getBrowserType())</script>
  autor:        desconocido
****/ 
function getTxtSize(browserType) {
	if (browserType==1)	{         //Navigator 4.X
		size = 15;
	} else if (browserType==2) {	//IExplorer
		size = 20;
  }
  return size;
}

/**** 
  nombre:       openPopUp
  parámetros:   url - url de la pagina a mostrar
                width - width de la pagina a mostrar
                height - height de la pagina a mostrar
  retorno:      hwnd - Manejador de ventana
  descripción:  Abre una ventana en cliente solo con el marco de esta
  ejemplo/s:    Ejemplo de llamada a la función:
                <script>hwnd=openPopUp('bbva.php', 560, 430)</script>
  autor:        Miquel Colomer Salas - mcolomer@robin27.com - 17/07/2003 11:15
****/ 
function openPopUp(url, width, height) {  
  var hwnd = 0;
 
  hwnd = window.open(url,'','width='+width+', height='+height+', titlebar=0, status=0, fullscreen=0');
  return hwnd;
}

function openPopUpReg(url, width, height) {  
  var hwnd = 0;
   var top_l = ((screen.height)/2);
  var left_l = ((screen.width)/2);
  hwnd = window.open(url,'','width='+width+', height='+height+', titlebar=0, scrollbars=auto, status=0, fullscreen=0, top='+top_l+' , left=' +left_l);
  return hwnd;
}
function openPopUpgran(url, width, height) {  
  var hwnd = 0;
   var top_l = 0;
  var left_l = ((screen.width/2)-(width/2));
  hwnd = window.open(url,'','width='+width+', height='+height+', titlebar=0, scrollbars=yes, status=0, fullscreen=0, top='+top_l+' , left=' +left_l);
  return hwnd;
}
function openPopUpNoReturn(url, width, height) {  
  var hwnd = 0;
 
  window.open(url,'','width='+width+', height='+height+', titlebar=0, status=0, fullscreen=0');
}

function comparafechas(fech1, fech2)
{
	var result = true;
	var dia1="00";
	var mes1="00";
	var anyo1="0000"
	var dia2="00";
	var mes2="00";
	var anyo2="0000"
	
	dia1 = fech1.substring(0,2);
	mes1 = fech1.substring(3,5);
	anyo1 = fech1.substring(6,11);
	dia2 = fech2.substring(0,2);
	mes2 = fech2.substring(3,5);
	anyo2 = fech2.substring(6,11);
	
	
	if (anyo1 > anyo2)
	{
		result=false;
		
	}else
	{
		
		if (anyo1 == anyo2)
		{
			
			if (mes1>mes2)
			{
				result = false;
			}else
			{
				if (mes1 == mes2)
				{	
					
					if (dia1 > dia2)
					{
						result = false;
					}else
					{
					result = true;
					}
				}
			}
		}
	}
	
	
	return result;
	
	
}