// Quita de la Url un parametro
function getUrlSinParametro(urlOriginal, parametro){
	var url, posIni, posFin;
	url=urlOriginal;
	posIni=url.indexOf(parametro);
	if(posIni!=-1){
		posFin=url.indexOf('&',posIni);
		if(posFin!=-1)
			posFin=posFin+1;
		if(posFin==-1)
			url=url.substring(0,posIni-1);
		else
			url=url.substring(0,posIni)+url.substring(posFin);
	}
	return url;
}
// Da el valor de 1 parametro
function cogerDeUrl(valor) {
	return cogerValorParametroDeUrl(valor);
}
function cogerValorParametroDeUrl(valor) {
	return cogerValorParametroDeUrlPasada ( document.URL, valor ) ;
}
function cogerValorParametroDeUrlPasada(url, valor) {
 var str, cadBusq, len, inicio, sgte; 
 if ( valor == null )
	return null;
 str = url;
 cadBusq = valor + '=';
 len = cadBusq.length + 1;

 if ( str.indexOf('?' + cadBusq) == -1 ) {
	// sino encuentra ?valor=
	if ( str.indexOf('&' + cadBusq) == -1 )
		return null;
	else {
		// si encuentra &valor=
		inicio = str.indexOf('&' + cadBusq);
		sgte = str.indexOf('&',inicio+1);
		if ( sgte != -1 ) return str.substring(inicio + len , sgte);
		else return str.substring( inicio + len , str.length);
	}
 } else {
	// si encuentra ?valor=
	inicio = str.indexOf('?' + cadBusq);
	sgte = str.indexOf('&',inicio+1);
	if ( sgte != -1 ) return str.substring(inicio + len , sgte);
	else return str.substring(inicio + len , str.length);
 }
}

function getCookie(name) {
 if (document.cookie.length>0) {
  ini=document.cookie.indexOf(name + '=');
  if (ini != -1){ 
    ini=ini+name.length+1; 
    fin=document.cookie.indexOf(';',ini);
    if (fin==-1)
    	fin=document.cookie.length;
    return unescape(document.cookie.substring(ini,fin));
  } 
 }
 return null;
} 
function setCookie(name,value,expiredays){
	galleta=name+ '=' +escape(value)+';path=/';
	if (expiredays!='undefined' && expiredays!=null) {
		var fecha=new Date();
		fecha.setDate(fecha.getDate()+expiredays);
		galleta += ';expires='+fecha.toGMTString();
	}
	document.cookie=galleta;
}

function registrarEvento ( objeto, evento, funcion ) {
	if (objeto.addEventListener)
		objeto.addEventListener (evento,funcion,false);
	else if (objeto.attachEvent)
		objeto.attachEvent ('on'+evento,funcion);
}

var esIE, esNE, esGK;
esIE = (document.all) ? true:false ;
esNE = (document.layers) ? true:false;
esGK = (document.getElementById && !document.all) ? true:false; 

var nav = new BrowserCheck();
function BrowserCheck() {
	// browser
	var b = navigator.appName;
	if ( b == 'Netscape' ) this.b = 'ns';
	else if ( b == 'Microsoft Internet Explorer' ) this.b = 'ie';
	else this.b = b;
	// version
	this.v		= parseInt( navigator.appVersion );
	this.ns		= ( this.b=='ns' && this.v>=4 );
	this.ns4	= ( this.b=='ns' && this.v==4 );
	this.ns5	= ( this.b=='ns' && this.v==5 );
	this.ie		= ( this.b=='ie' && this.v>=4 );
	this.ie4	= ( navigator.userAgent.indexOf( 'MSIE 4' )>0 );
	this.ie5	= ( navigator.userAgent.indexOf( 'MSIE 5' )>0 );
	this.min	= ( this.ns||this.ie );
	if (this.ie5) this.v = 5;
}
var _INSTITUCION = cogerDeUrl('PNBINS');
var _PORTAL = cogerDeUrl('PNBPOR');
function completarBrowserCheck(){
	// javascript habilitado
	setCookie('PNBJSH', 'S');
	// anchura de pantalla y documento
	if ( window.screen.width )
		setCookie(_INSTITUCION + _PORTAL + 'PNBADP', window.screen.width);
	if ( document.body.offsetWidth )
		setCookie(_INSTITUCION + _PORTAL + 'PNBADH', getAnchuraVentana());
}
function getAnchuraVentana() {
	var anchura = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//	Non-IE
		anchura = window.innerWidth;
	} else if( document.documentElement && ( document.documentElement.clientWidth ) ) {
		//	IE 6+ in 'standards compliant mode'
		anchura = document.documentElement.clientWidth;
	} else if( document.body && ( document.body.clientWidth ) ) {
		//	IE 4 compatible
		anchura = document.body.clientWidth;
	}
	return anchura;
}
registrarEvento ( window, 'load', completarBrowserCheck );

function str( string, num ) {
	var au = '';
	for ( var i = 1 ; i <= num ; i++ ) au += string
	return au;
}

function formatNumber( num,	numDecMin, numDecMax ){
	if ( isNaN( num ) ) 
		return num;
	// redondeo
	num = Math.round( num * Math.pow(10,numDecMin) ) / Math.pow(10,numDecMin);
	var	strnum	= num + '', dec = '', coma = '', signo = '', poscoma;
	if ( num < 0 ) {
		strnum = strnum.slice(1);
		signo =	'-';
	}
	poscoma	= strnum.indexOf('.');
	if ( poscoma >= 0 ) {
		dec		= strnum.substring(	0, poscoma );
		coma	= strnum.substring(	poscoma	+1 );
	} else {
		dec	= strnum;
		coma = '';
	}
	if ( coma.length < numDecMin) {
		coma +=	str( 0,	numDecMin -	coma.length	 )
	} else {
		if	( coma.length >	numDecMax)
		 coma = coma.substr( 0, numDecMax );
	}
	var len, res, div, nDec;
	len = dec.length;
	res = len % 3;
	if ( len <= 3 ) res = len;
	div = len/3;
	nDec = dec.slice(0,res);
	if ( len > 3 )
		for	(var i = 1,	j = res;  i <= div	; i++, j+=3)
			nDec +=	'.'	+ dec.slice( j,	j +3 );
	if ( res == 0 )	nDec = nDec.slice(1);
	if ( coma )	coma = ','+coma; 
	if ( nDec == '') nDec = '0';
	return signo +	nDec + coma ;
}
function signo( num ) {
	var dec = '';
	if ( num > 0 ) dec = '+';
	else ((num < 0)? dec = '':dec = '=');
	return dec;
}

// valida fechas del tipo dd/mm/yyyy
function validar_fecha( fecha ) {
	return validar_fecha( fecha, 'es' );
}
function validar_fecha( fecha, idioma ) {
	var is_correcto = false;

	if( fecha.length == 10 ) {
		var dia = fecha.substring(0,2);
		var mes = fecha.substring(3,5) - 1;
		var ano = fecha.substring(6,10);
		if( idioma == 'es' ) {
			dia = fecha.substring(0,2);
			mes = fecha.substring(3,5) - 1;
			ano = fecha.substring(6,10);
		} else  {
		if( idioma == 'eu' ) {
			dia = fecha.substring(8,10);
			mes = fecha.substring(5,7) - 1;
			ano = fecha.substring(0,4);
		} }
		var date = new Date(ano, mes, dia);
		if( ano == date.getFullYear() && mes == date.getMonth()	&& dia == date.getDate() )
			is_correcto = true;
	}
	return is_correcto;
}

var mostrar_logo = true;
function hay_mostrar_logo() {
	if( self == parent ) {
		mostrar_logo = true;
	} else {
	if( typeof parent.cabecera != 'undefined' ) {
	    var href_cab = parent.cabecera.location.href;
		var ind = href_cab.indexOf('/');
	    ind = href_cab.indexOf('/',ind);
	    ind = href_cab.indexOf('/',ind);
		if( location.href.indexOf(href_cab.substring(0,ind)) != 0 )
	  	  mostrar_logo = true;
		else
		  mostrar_logo = false;
	} else {
		mostrar_logo = true;
	} }
}

function quicksort( array, nombrePropiedad, ordenAscendente ) {
	if ( array.length <= 1)
		return array;
	var pivote = Math.round( array.length / 2 );
	var parteIzquierda	= new Array();
	var parteDerecha	= new Array();
	var objeto = null;
	var objetoPivote = array[pivote];
	var coninicio = 0;
	var confin = pivote;
	for ( var j = 0; j < 2 ; j++){
		for ( var i = coninicio ; i < confin ; i++){
			objeto = array[i];
			if ( ordenAscendente && (eval( 'objeto.'+nombrePropiedad ) < eval( 'objetoPivote.'+nombrePropiedad ) )
					||
				 !ordenAscendente && (eval( 'objeto.'+nombrePropiedad ) > eval( 'objetoPivote.'+nombrePropiedad ) )
				)
					parteIzquierda[ parteIzquierda.length  ] = objeto;
				else
					parteDerecha[ parteDerecha.length  ] = objeto;

		}
		coninicio = pivote +1;
		confin = array.length;
	}
	return quicksort( parteIzquierda, nombrePropiedad, ordenAscendente ).concat( ( new Array( objetoPivote) ).concat( quicksort( parteDerecha, nombrePropiedad, ordenAscendente ) ) );
}

function escribirCapa(id,text) {
	if ( document.all ) {
		document.all[id].innerHTML= text;
	} else {
		if ( document.layers) {
			var pdiv = document.layers[id]
			var div = pdiv.document.layers;
			if ( div.length != 1 ) {
				pdiv.document.open();pdiv.document.close();
				div = new Layer( null , pdiv );
				div.visibility = 'show';
			}
			div = pdiv.document.layers[0];
			var divDoc = div.document;
			divDoc.open();
			divDoc.write( '<BODY>'+text+'</BODY>');
			divDoc.close();
		} else {
			var elem = document.getElementById(id);
			if ( elem ) {
				elem.innerHTML = text;
			}
		}
	}
}