//var site_url='http://localhost/proyectos/coaczaragoza/index.php';
//var site_url='http://www.coacaragon.com';
//clase orden solo numeros
$(function() {
	$('.orden').numeric();
});
//clase precio, solo numeros con comas
$(function() {
	$('.precio').numeric({allow:","});
});

function confirmaMensaje(mensaje,url){
	resultado=confirm(mensaje);
	if (resultado==true){					
		document.location.href= site_url+'/'+url;
		return false;
	}
}

function str_replace(search, replace, subject) {
    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    };
 
    return sa ? s : s[0];
}

//Retorna: 1 = NIF ok, 2 = CIF ok, 3 = NIE ok, -1 = NIF error, -2 = CIF error, -3 = NIE error, 0 = ??? error
function valida_nif_cif_nie(a) 
{
	var temp=a.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKE";
 	if (temp!==''){
		//si no tiene un formato valido devuelve error
		if ((!/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test(temp) && !/^[T]{1}[A-Z0-9]{8}$/.test(temp)) && !/^[0-9]{8}[A-Z]{1}$/.test(temp))
		{
			return 0;
		}
 
		//comprobacion de NIFs estandar
		if (/^[0-9]{8}[A-Z]{1}$/.test(temp))
		{
			posicion = a.substring(8,0) % 23;
			letra = cadenadni.charAt(posicion);
			var letradni=temp.charAt(8);
			
			if (letra == letradni)
			{
			   	return 1;
			}
			else
			{
				return -1;
			}
		}
 
		//algoritmo para comprobacion de codigos tipo CIF
		suma = parseInt(a[2])+parseInt(a[4])+parseInt(a[6]);
		for (i = 1; i < 8; i += 2)
		{
			temp1 = 2 * parseInt(a[i]);
			temp1 += '';
			temp1 = temp1.substring(0,1);
			temp2 = 2 * parseInt(a[i]);
			temp2 += '';
			temp2 = temp2.substring(1,2);
			if (temp2 == '')
			{
				temp2 = '0';
			}
 
			suma += (parseInt(temp1) + parseInt(temp2));
		}
		suma += '';
		n = 10 - parseInt(suma.substring(suma.length-1, suma.length));
 
		//comprobacion de NIFs especiales (se calculan como CIFs)
		if (/^[KLM]{1}/.test(temp))
		{
			if (temp.charAt(8) == String.fromCharCode(64 + n))
			{
				return 1;
			}
			else
			{
				return -1;
			}
		}
 
		//comprobacion de CIFs
		if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(temp))
		{
			//temp = n + '';
			if (temp.charAt(8) == String.fromCharCode(64 + n) || temp.charAt(8) == parseInt(temp.substring(temp.length-1, temp.length)))
			{
				return 2;
			}
			else
			{
				return -2;
			}
		}
 
		//comprobacion de NIEs
		//T
		if (/^[T]{1}/.test(temp))
		{
			if (temp.charAt(8) == /^[T]{1}[A-Z0-9]{8}$/.test(temp))
			{
				return 3;
			}
			else
			{
				return -3;
			}
		}
 
		//XYZ
		if (/^[XYZ]{1}/.test(temp))
		{
			pos = str_replace(['X', 'Y', 'Z'], ['0','1','2'], temp).substring(0, 8) % 23;
			if (temp.charAt(8) == cadenadni.substring(pos, pos + 1))
			{
				return 3;
			}
			else
			{
				return -3;
			}
		}
	}
 
	return 0;
}


function confirma(pregunta, url, objeto) {
	if (confirm(pregunta)) {
		window.location.href = url;
	} else {
		objeto.checked = false;
	}
}
function validarNumCuentaBlur(objeto) {
	var numeroCuenta = objeto;
	if(numeroCuenta != ''){
		banco = numeroCuenta.substr(0,4);
		sucursal = numeroCuenta.substr(4,4);
		dc = numeroCuenta.substr(8,2);
		cuenta = numeroCuenta.substr(10,10);
	  if ((banco == ""  || sucursal == "" ||
	      dc == "" || cuenta == "") || ((banco == '0000') && (sucursal == '0000') && (dc == '00') && (cuenta == '0000000000'))){
		  //	alert("Por favor, introduzca los datos de su cuenta");
		  //	objeto.value = '';
		  return false;
	  }else {
	    if (banco.length != 4 || sucursal.length != 4 ||
	        dc.length != 2 || cuenta.length != 10){
	    	//alert("Por favor, introduzca correctamente los datos de su cuenta;" + " no están completos");
	    	return false;
	    }else {
	      if (!numerico(banco) || !numerico(sucursal) || !numerico(dc) || !numerico(cuenta)){
	    	  //alert("Por favor, introduzca correctamente los datos de su "+ "cuenta; no son numericos");
	    	  return false;
	      }else {
	        if (!(obtenerDigito("00" + banco + sucursal) ==
	              parseInt(dc.charAt(0))) || 
	            !(obtenerDigito(cuenta) ==
	              parseInt(dc.charAt(1)))){
	        	// alert("Los dígitos de control no se corresponden con los
				// demás"
	           // + " números de la cuenta");
	        	//alert('El Número de Cuenta introducido no es correcto.');
	        	return false;
	        }  else {//alert ("CCC correcto");
	        	return true;
	        	
	        }
	      }
	    }
	  }
  }
}
function numerico(valor){
	  cad = valor.toString();
	  for (var i=0; i<cad.length; i++) {
	    var caracter = cad.charAt(i);
		if (caracter<"0" || caracter>"9") {
			return false;
		}
	  }
	  return true;
	}

function obtenerDigito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++) {control += parseInt(valor.charAt(i)) * valores[i];}
  control = 11 - (control % 11);
  if (control == 11){control = 0;}else if (control == 10){control = 1;}
  return control;
}

$.fn.egrep = function(pat) {
 var out = [];
 var textNodes = function(n) {
  if (n.nodeType == Node.TEXT_NODE) {
   var t = typeof pat == 'string' ?
    n.nodeValue.indexOf(pat) != -1 :
    pat.test(n.nodeValue);
   if (t) {
    out.push(n.parentNode);
   }
  }
  else {
   $.each(n.childNodes, function(a, b) {
    textNodes(b);
   });
  }
 };
 this.each(function() {
  textNodes(this);
 });
 return out;
};

// función que se usa en el buscador para resaltar el parámetro de búsqueda
function resaltar(parametro){
	var aux;
	aux = '/'+parametro+'\/i';
	var n = $('#resultados_buscador').egrep(/hormig/i);
	for (var i = 0; i < n.length; ++i) {
		void($(n[i]).css('background-color', 'yellow')); 
	}
}

//	función para cambiar en la ficha la foto pequeña por la mediana
function cambiarFotoMediana(id){
	var nombre_div='visible_'+id;
	var enlace ='enlace_peq_'+id;
	$('.borrar_imagenes').hide();
	$('#'+nombre_div).show();
	$('.peque_marcada').removeClass('selecc');
	$('#'+enlace).addClass('selecc');
	
}
