var ie5 = (document.getElementById && document.all);
var ns6 = (document.getElementById && !document.all);
var ajax_loaded = false;
// Funciones de javascript




/**
 * Funcion in_array para javascript
 */
Array.prototype.in_array = function(p_val) {
	for(var i = 0, l = this.length; i < l; i++) {
		if(this[i] == p_val) {
			return true;
		}
	}
	return false;
}

/**
 * Funciones para comprobar nif/nif/nie
 */
function checkCIF(cf)
	{
	var i = temp = 0;
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	cf = cf.toUpperCase();
	if (checkNIF(cf)) return true;
	else if (!/^[A-Za-z0-9]{9}$/.test(cf)) return false
	else if (!/^[ABCDEFGHKLMNPQS]/.test(cf)) return false
	else
		{
		for(i=2; i<=6; i+=2)
			{
			temp += v1[parseInt(cf.substr(i-1, 1))];
			temp += parseInt(cf.substr(i, 1));
			}
		temp = temp + v1[parseInt(cf.substr(7,1))];
		temp = (10 - ( temp % 10));
		if(temp == 10 && (cf.charAt(cf.length-1) == 'J' || cf.charAt(cf.length-1) == 0)) return true;
		else if (cf.charAt(cf.length-1) == temp || cf.charAt(cf.length-1) == String.fromCharCode(64 + temp)) return true;
		else return false;
		}
	}

function checkNIF(nif) {
	if (!nif) return false;
	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
	if (nif.length != 9) return false;
	else {
		letra = nif.substr(8, 1); letra = letra.toUpperCase();
		dni = nif.substr(0, 8);
		dni = dni.toUpperCase(); dni = dni.replace('X','0');
		dni -= parseInt(dni/23) * 23;
		//alert (letras.charAt(dni) + " - " + letra);
		if (letras.charAt(dni) != letra) return false; 
		else return true;
		}
	}

function checkNSS(nss) {
	if (!nss) return false;
	if (nss.length != 11 && nss.length != 12) return false;
	if (nss.substr(2, 1) == 0) nss = "" + nss.substr(0, 2) + nss.substr(3, nss.length-1);
	if (mod(nss.substr(0, nss.length-2), 97) == nss.substr(nss.length-2, 2)) return true;
	else return false;
	}

/* Pone un valor a una variable y envia el formulario */
/* Parametros : formulario, campo a asignar el valor, valor a asignar, pagina a donde enviar los datos. */

function enviarFormulario(formulario, campo, valor, destino){
  document.forms[formulario].action = destino;
  document.forms[formulario].elements[campo].value = valor;
  document.forms[formulario].submit();
  
}

/**
 * Envia los datos para asignar un producto
 * @param formulario
 * @param id_producto
 * @param campo_accion
 * @param accion
 * @param destino
 */
function agregarProducto(formulario, campo_producto, producto, campo_accion, accion, destino){
  document.forms[formulario].elements[campo_producto].value = producto;
  enviarFormulario(formulario, campo_accion, accion, destino);
}

/**
 * Confirma que quiere seguir con el canjeo
 *
 * @param formulario
 * @param campo
 * @param accion
 * @param destino
 * @param texto_confirmacion
 */
function canjear_productos(formulario, campo, accion, destino, texto_confirmacion){
  if(confirm(texto_confirmacion)){
    enviarFormulario(formulario, campo, accion, destino);
  }
  
  return false;
}

/* Comprueba si existe algun elemento seleccionado del tipo radio */
/* Parametros : formulario, campo a verificar, pagina php destino */

function comprobarRadio(formulario, campo, mensaje){
  for (var i = 0; i < document.forms[formulario].elements.length; i++) {
    if (document.forms[formulario].elements[i].type == "radio" &&
    document.forms[formulario].elements[i].name == campo &&
    document.forms[formulario].elements[i].checked) {
      return true;
    }
  }
  if (mensaje == null){ 
    mensaje = "Error";
  }
  alert(mensaje);
  return false;
}

/* 
 * Realiza las acciones de comprobacion necesarias para eliminar un registro 
 *
 * @param formulario Nombre del formulario
 * @param campo Nombre del campo que contiene el identificador
 * @param campo_accion Nombre del campo que contiene la accion a realizar
 * @param value_accion Valor para el campo_accion
 * @param pagina Pagina a la que acceder si todo esta correcto
 * @param mensaje Mensaje de error
 */
function eliminar_registro(formulario, campo, campo_accion, value_accion, pagina, mensaje_confirmacion, mensaje_error){
  if(comprobarRadio(formulario, campo, mensaje_error)){
    if(confirm(mensaje_confirmacion)){
      enviarFormulario(formulario, campo_accion, value_accion, pagina);
    }
  }
}

/* 
 * Realiza las acciones de comprobacion necesarias para modificar un registro 
 *
 * @param formulario Nombre del formulario
 * @param campo Nombre del campo que contiene el identificador
 * @param campo_accion Nombre del campo que contiene la accion a realizar
 * @param value_accion Valor para el campo_accion
 * @param pagina Pagina a la que acceder si todo esta correcto
 * @param mensaje_error Mensaje de error
 */
function modificar_registro(formulario, campo, campo_accion, value_accion, pagina, mensaje_error){
  if(comprobarRadio(formulario, campo, mensaje_error)){
    enviarFormulario(formulario, campo_accion, value_accion, pagina);
  }
}

/**
 * Resetea los campos del formulario
 *
 * @param formulario Nombre del formulario
 */
function resetear(formulario){
  document.forms[formulario].reset();
}

/**
 * Asigna un valor a una variable
 *
 * @param formulario Nombre del formulario
 * @param campo Nombre del campo al que se va a asignar el valor
 * @param valor Valor a asignar al campo
 */
function setValor(formulario, campo, valor){
  document.forms[formulario].elements[campo].value = valor;
}

/**
 * Comprueba que se ha pulsado el caracter intro para enviar el formulario de login
 *
 * @param event e Evento de la pagina
 * @param string formulario Nombre del formulario que contiene los datos
 * @param string campo Nombre del campo que informara de la accion
 * @param string accion Accion que se debe realizar
 * @param string destino Pagina a la que realizar el submit
 */
function checkIntro(e, formulario, campo, accion, destino){
  var caracter;
  if(window.event) // IE
  {
    caracter = e.keyCode;
  }
  else if(e.which) // Netscape/Firefox/Opera
  {
    caracter = e.which;
  }
  if(caracter != 13){
    return false;
  }

  enviarFormulario(formulario, campo, accion, destino);
 
}

/**
 * Comprueba el valor seleccionado del combo y si corresponde con el de espania, habilita el combo de provincias
 *
 * @param objeto obj Objeto selector de paises
 * @param string formulario Nombre del formulario
 * @param string campo Nombre del campo del formulario a habilitar
 */
function mostrar_provincias(obj, formulario, campo){
  if(obj.value == 73){
    document.forms[formulario].elements[campo].disabled = false;
  }else{
    document.forms[formulario].elements[campo].disabled = true;
  }
}
