//Rutas globales
var pathRoot="http://bressol.lonada.com"; //path de la raiz de la web
//var pathRoot="http://192.168.4.16/bressol.lonada.com"; //path de la raiz de la web en Backups
function sendE(p1,p2){location.href="mailto:"+p1+"@"+p2;}
function subirScroll(){	window.scroll(0,0);}
function nif(nif) {
	try {
		var s_nif=nif;
		s_nif=s_nif.toUpperCase();
		var longitud_nif=s_nif.length;
		var s_dni=s_nif.substring(0,longitud_nif-1);
		var s_letra=s_nif.substring(longitud_nif-1,longitud_nif);
		var ASC;
		var respuesta=false;
		
		// El campo nif no puede estar en blanco
		if (s_nif == "") {
			nif.focus();
			return false;
		}
		// El dni solo puede contener caracteres numericos
		var digitos = "0123456789";
		var correcto = true;
		for (i = 0;  i < s_dni.length;  i++) {
			ch = s_dni.charAt(i);
			for (j = 0;  j < digitos.length;  j++) {
				if (ch == digitos.charAt(j)) {
					break;
				}
			}
			if (j == digitos.length) {
				nif.focus();
	  			return false;
			}
		}
	
		// Comprovamos que la letra corresponda con la que tiene
		if (letraNIF(s_dni)==s_letra) {
			return true;
		} else {
			nif.focus();
			return false;
		}
	} catch(e) {
		respuesta = false;
	}
	return respuesta;
}

function letraNIF(n){
	var d =n/23;
	d = Math.floor(d);
	var e=d*23;
	var r=n-e;
	
	if (r==0)
		return "T";
	if (r==1)
		return "R";
	if (r==2)
		return "W";
	if (r==3)
		return "A";
	if (r==4)
		return "G";
	if (r==5)
		return "M";
	if (r==6)
		return "Y";
	if (r==7)
		return "F";
	if (r==8)
		return "P";
	if (r==9)
		return "D";
	if (r==10)
		return "X";
	if (r==11)
		return "B";
	if (r==12)
		return "N";
	if (r==13)
		return "J";
	if (r==14)
		return "Z";
	if (r==15)
		return "S";
	if (r==16)
		return "Q";
	if (r==17)
		return "V";
	if (r==18)
		return "H";
	if (r==19)
		return "L";
	if (r==20)
		return "C";
	if (r==21)
		return "K";
	if (r==22)
		return "E";
}
// Funcion que valida que el valor del objeto que se le pase sea un cif sino devolvera 1.correcto 0.incorrecto
//Necesita incluir la función de trim y de nif en el mismo fichero
function cif(o_cif) {
	//Iniciamos las variables
	var vcif = o_cif.value;
	vcif=vcif.toUpperCase();
	var vnif ="";
	var respuesta=0;
	var sumap=0;
	var sumai=0;
	var suma=0; 
	var ssuma=""; 
	var i_swap=0;
	var i1=0;
	var s1=0;
	var s2=0;	
	var vtabla="JABCDEFGHI";

	if ((vcif.length==9) || (vcif.length==10)) {
		try {
			//suma de las cifras pares
			sumap= parseInt(vcif.charAt(2)) + parseInt(vcif.charAt(4)) + parseInt(vcif.charAt(6));
			// suma de las cifras impares aplicando el algorismo del cif
			for (var i=1; i<5; i++) {
				i_swap=(i*2-1);
		        i1=parseInt(vcif.charAt(i_swap))*2;
				// si es mas grande de 9 sumamos las unidades y decenas independientemente ej 12- 1 +2
		        if (i1>9){
					s1=i1 + "";
					s1=s1.charAt(0);
					s2=i1 + "";
					s2=s2.charAt(1);
					sumai=sumai + parseInt(s1) + parseInt(s2);
				} else {
					s1=i1 + "";
					s1=s1.charAt(0) + "";
					sumai= sumai + parseInt(s1);
				}
			}
			suma=sumap + sumai;
			ssuma=suma + "";
			dc= 10 - parseInt(ssuma.charAt(1)); //calculamos el digito de control que 10 - digito unidad de la suma
			if (dc==10) {
				//si el digito de control es 10 se le asigna el 0
				dc= 0;
			}

			if (vcif.charAt(0)=='P') {
				if (vcif.charAt(8) == String.fromCharCode(64 + dc)){
					respuesta=1;
				}
			} else {
				if (vcif.charAt(0)=='X') {
					// si es X hacemos validacion del NIE- CIF
					vnif = vcif.substring(1,11);
					respuesta= nif(vnif);
				} else {
					if (parseInt(vcif.charAt(8))==dc)
						respuesta=1;
				}
			}
		} catch(e) {
			respuesta = 0;
		}
	} else {
		respuesta =0;
	}
	return respuesta;
}
function trim(input){
	var string=input.value;
	var expresion=/^\s*(\w*)/gi;
	string = string.replace(expresion,"$1");
	expresion=/(\w*)\s*$/gi;
	string = string.replace(expresion,"$1");
	input.value=string;
}
function verificarEmail(email){ 
//	Se comprueban los siguientes puntos:
//	1-Que tenga la arroba 
//	2-Que tenga punto y este esté después de la arroba 
//	3-Que después del punto haya al menos un carácter 
//	4-Que la variable mailres(que antes hizo comprobaciones) sea true 
//	5-Que no haya dos puntos seguidos 
    var mailres = true;             
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-"; 
     
    var arroba = email.indexOf("@",0); 
    if ((email.lastIndexOf("@")) != arroba) arroba = -1; 
     
    var punto = email.lastIndexOf("."); 
                 
     for (var contador = 0 ; contador < email.length ; contador++){ 
        if (cadena.indexOf(email.substr(contador, 1),0) == -1){ 
            mailres = false; 
            break; 
     } 
    } 

    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (email.length)) && (mailres == true) && (email.indexOf("..",0) == -1)) 
     mailres = true; 
    else 
     mailres = false; 
                 
    return mailres; 
}
function delChars(el,char) {
	el.value=el.value.replace(char,"");
}
function limpiarAvisos()
{
	var capa=document.getElementById("zonaAvisos");
	capa.innerHTML=""; //vaciamos contenido
	hideDiv(capa); //Escondemos la capa
}
function mostrarAvisos(txt)
{		
	var capa=document.getElementById("zonaAvisos");
	capa.innerHTML=txt; //escribimos contenido
	showDiv(capa); //Escondemos la capa
	subirScroll();
}
function hideDiv(el) //oculta una capa
{
	el.style.display="none";
	el.style.visibility="hidden";
}
function showDiv(el)
{
	el.style.display="block";
	el.style.visibility="visible";
}
function buscadorSimple(){ hideDiv(document.getElementById("buscadorAvanzado")); showDiv(document.getElementById("buscadorSimple"));}
function buscadorAvanzado(){ hideDiv(document.getElementById("buscadorSimple"));showDiv(document.getElementById("buscadorAvanzado"));}

//od: devuelve los campos del formulario listos para enviar por GET
function datosFormulario(idform)
{
	var form = document.getElementById(idform);
	var text = '?';
	var i;

	for(i=0; i<= form.length-1; i++)
	{
		if(i>0) text +="&";
		text += form.elements[i].id+"="+ form.elements[i].value;
	}
	return text;
}

/* A partir de aqui no modificar nada */
function Request()
{ 
  var xmlhttp=false; 
  
  try 
  {     
  	// Creación del objeto ajax para navegadores diferentes a Explorer	
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  } 
  catch (e) 
  {    
  	try // o bien 
	{ 
    	// Creación del objeto ajax para Explorer 
     	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
  	catch (E)
  	{ 
     	xmlhttp = false; 
  	} 
  } 

  if (!xmlhttp && typeof XMLHttpRequest!='undefined')
  { 
   xmlhttp = new XMLHttpRequest(); 
  } 
  return xmlhttp; 
}
function xInnerHtml(e,h)
{
  if(!(e=xGetElementById(e)) || !xStr(e.innerHTML)) return null;
  var s = e.innerHTML;
  if (xStr(h)) {e.innerHTML = h;}
  return s;
}
function xGetElementsByTagName(t,p)
{
  var list = null;
  t = t || '*';
  p = p || document;
  if (xIE4 || xIE5) {
    if (t == '*') list = p.all;
    else list = p.all.tags(t);
  }
  else if (p.getElementsByTagName) list = p.getElementsByTagName(t);
  return list || new Array();
}
function xGetElementsByClassName(c,p,t,f)
{
  var found = new Array();
  var re = new RegExp('\\b'+c+'\\b', 'i');
  var list = xGetElementsByTagName(t, p);
  for (var i = 0; i < list.length; ++i) {
    if (list[i].className && list[i].className.search(re) != -1) {
      found[found.length] = list[i];
      if (f) f(list[i]);
    }
  }
  return found;
}

//A partir de aqui no modificar, es el kernel que permite utilizar las funciones de X-Library para todos los navegadores
var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xUA=navigator.userAgent.toLowerCase();if(window.opera){var i=xUA.indexOf('opera');if(i!=-1){var v=parseInt(xUA.charAt(i+6));xOp7Up=v>=7;xOp6Dn=v<7;}}else if(navigator.vendor!='KDE' && document.all && xUA.indexOf('msie')!=-1){xIE4Up=parseFloat(navigator.appVersion)>=4;xIE4=xUA.indexOf('msie 4')!=-1;xIE5=xUA.indexOf('msie 5')!=-1;}else if(document.layers){xNN4=true;}xMac=xUA.indexOf('mac')!=-1;function xBackground(e,c,i){if(!(e=xGetElementById(e))) return '';var bg='';if(e.style) {if(xStr(c)) {if(!xOp6Dn) e.style.backgroundColor=c;else e.style.background=c;}if(xStr(i)) e.style.backgroundImage=(i!='')? 'url('+i+')' : null;if(!xOp6Dn) bg=e.style.backgroundColor;else bg=e.style.background;}return bg;}function xClientHeight(){var h=0;if(xOp6Dn) h=window.innerHeight;else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientHeight)h=document.documentElement.clientHeight;else if(document.body && document.body.clientHeight)h=document.body.clientHeight;else if(xDef(window.innerWidth,window.innerHeight,document.width)) {h=window.innerHeight;if(document.width>window.innerWidth) h-=16;}return h;}function xClientWidth(){var w=0;if(xOp6Dn) w=window.innerWidth;else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientWidth)w=document.documentElement.clientWidth;else if(document.body && document.body.clientWidth)w=document.body.clientWidth;else if(xDef(window.innerWidth,window.innerHeight,document.height)) {w=window.innerWidth;if(document.height>window.innerHeight) w-=16;}return w;}function xClip(e,t,r,b,l){if(!(e=xGetElementById(e))) return;if(e.style) {if (xNum(l)) e.style.clip='rect('+t+'px '+r+'px '+b+'px '+l+'px)';else e.style.clip='rect(0 '+parseInt(e.style.width)+'px '+parseInt(e.style.height)+'px 0)';}}function xColor(e,s){if(!(e=xGetElementById(e))) return '';var c='';if(e.style && xDef(e.style.color)) {if(xStr(s)) e.style.color=s;c=e.style.color;}return c;}function xDef(){for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}return true;}function xDisplay(e,s){if(!(e=xGetElementById(e))) return null;if(e.style && xDef(e.style.display)) {if (xStr(s)) e.style.display = s;return e.style.display;}return null;}function xGetComputedStyle(oEle, sProp, bInt){var s, p = 'undefined';var dv = document.defaultView;if(dv && dv.getComputedStyle){s = dv.getComputedStyle(oEle,'');if (s) p = s.getPropertyValue(sProp);}else if(oEle.currentStyle) {var a = sProp.split('-');sProp = a[0];for (var i=1; i<a.length; ++i) {c = a[i].charAt(0);sProp += a[i].replace(c, c.toUpperCase());}   p = oEle.currentStyle[sProp];}else return null;return bInt ? (parseInt(p) || 0) : p;}function xGetElementById(e){if(typeof(e)!='string') return e;if(document.getElementById) e=document.getElementById(e);else if(document.all) e=document.all[e];else e=null;return e;}function xHasPoint(e,x,y,t,r,b,l){if (!xNum(t)){t=r=b=l=0;}else if (!xNum(r)){r=b=l=t;}else if (!xNum(b)){l=r; b=t;}var eX = xPageX(e), eY = xPageY(e);return (x >= eX + l && x <= eX + xWidth(e) - r &&y >= eY + t && y <= eY + xHeight(e) - b );}function xHeight(e,h){if(!(e=xGetElementById(e))) return 0;if (xNum(h)) {if (h<0) h = 0;else h=Math.round(h);}else h=-1;var css=xDef(e.style);if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {h = xClientHeight();}else if(css && xDef(e.offsetHeight) && xStr(e.style.height)) {if(h>=0) {var pt=0,pb=0,bt=0,bb=0;if (document.compatMode=='CSS1Compat') {var gcs = xGetComputedStyle;pt=gcs(e,'padding-top',1);if (pt !== null) {pb=gcs(e,'padding-bottom',1);bt=gcs(e,'border-top-width',1);bb=gcs(e,'border-bottom-width',1);}else if(xDef(e.offsetHeight,e.style.height)){e.style.height=h+'px';pt=e.offsetHeight-h;}}h-=(pt+pb+bt+bb);if(isNaN(h)||h<0) return;else e.style.height=h+'px';}h=e.offsetHeight;}else if(css && xDef(e.style.pixelHeight)) {if(h>=0) e.style.pixelHeight=h;h=e.style.pixelHeight;}return h;}function xHide(e){return xVisibility(e,0);}function xLeft(e, iX){if(!(e=xGetElementById(e))) return 0;var css=xDef(e.style);if (css && xStr(e.style.left)) {if(xNum(iX)) e.style.left=iX+'px';else {iX=parseInt(e.style.left);if(isNaN(iX)) iX=0;}}else if(css && xDef(e.style.pixelLeft)) {if(xNum(iX)) e.style.pixelLeft=iX;else iX=e.style.pixelLeft;}return iX;}function xMoveTo(e,x,y){xLeft(e,x);xTop(e,y);}function xNum(){for(var i=0; i<arguments.length; ++i){if(isNaN(arguments[i]) || typeof(arguments[i])!='number') return false;}return true;}function xOffsetLeft(e){if (!(e=xGetElementById(e))) return 0;if (xDef(e.offsetLeft)) return e.offsetLeft;else return 0;}function xOffsetTop(e){if (!(e=xGetElementById(e))) return 0;if (xDef(e.offsetTop)) return e.offsetTop;else return 0;}function xPageX(e){if (!(e=xGetElementById(e))) return 0;var x = 0;while (e) {if (xDef(e.offsetLeft)) x += e.offsetLeft;e = xDef(e.offsetParent) ? e.offsetParent : null;}return x;}function xPageY(e){if (!(e=xGetElementById(e))) return 0;var y = 0;while (e) {if (xDef(e.offsetTop)) y += e.offsetTop;e = xDef(e.offsetParent) ? e.offsetParent : null;}return y;}function xParent(e, bNode){if (!(e=xGetElementById(e))) return null;var p=null;if (!bNode && xDef(e.offsetParent)) p=e.offsetParent;else if (xDef(e.parentNode)) p=e.parentNode;else if (xDef(e.parentElement)) p=e.parentElement;return p;}function xResizeTo(e,w,h){xWidth(e,w);xHeight(e,h);}function xScrollLeft(e, bWin){var offset=0;if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {var w = window;if (bWin && e) w = e;if(w.document.documentElement && w.document.documentElement.scrollLeft) offset=w.document.documentElement.scrollLeft;else if(w.document.body && xDef(w.document.body.scrollLeft)) offset=w.document.body.scrollLeft;}else {e = xGetElementById(e);if (e && xNum(e.scrollLeft)) offset = e.scrollLeft;}return offset;}function xScrollTop(e, bWin){var offset=0;if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {var w = window;if (bWin && e) w = e;if(w.document.documentElement && w.document.documentElement.scrollTop) offset=w.document.documentElement.scrollTop;else if(w.document.body && xDef(w.document.body.scrollTop)) offset=w.document.body.scrollTop;}else {e = xGetElementById(e);if (e && xNum(e.scrollTop)) offset = e.scrollTop;}return offset;}function xShow(e) {return xVisibility(e,1);}function xStr(s){for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='string') return false;}return true;}function xTop(e, iY){if(!(e=xGetElementById(e))) return 0;var css=xDef(e.style);if(css && xStr(e.style.top)) {if(xNum(iY)) e.style.top=iY+'px';else {iY=parseInt(e.style.top);if(isNaN(iY)) iY=0;}}else if(css && xDef(e.style.pixelTop)) {if(xNum(iY)) e.style.pixelTop=iY;else iY=e.style.pixelTop;}return iY;}function xVisibility(e, bShow){if(!(e=xGetElementById(e))) return null;if(e.style && xDef(e.style.visibility)) {if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden';return e.style.visibility;}return null;}function xWidth(e,w){if(!(e=xGetElementById(e))) return 0;if (xNum(w)) {if (w<0) w = 0;else w=Math.round(w);}else w=-1;var css=xDef(e.style);if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {w = xClientWidth();}else if(css && xDef(e.offsetWidth) && xStr(e.style.width)) {if(w>=0) {var pl=0,pr=0,bl=0,br=0;if (document.compatMode=='CSS1Compat') {var gcs = xGetComputedStyle;pl=gcs(e,'padding-left',1);if (pl !== null) {pr=gcs(e,'padding-right',1);bl=gcs(e,'border-left-width',1);br=gcs(e,'border-right-width',1);}else if(xDef(e.offsetWidth,e.style.width)){e.style.width=w+'px';pl=e.offsetWidth-w;}}w-=(pl+pr+bl+br);if(isNaN(w)||w<0) return;else e.style.width=w+'px';}w=e.offsetWidth;}else if(css && xDef(e.style.pixelWidth)) {if(w>=0) e.style.pixelWidth=w;w=e.style.pixelWidth;}return w;}function xZIndex(e,uZ){if(!(e=xGetElementById(e))) return 0;if(e.style && xDef(e.style.zIndex)) {if(xNum(uZ)) e.style.zIndex=uZ;uZ=parseInt(e.style.zIndex);}return uZ;}
