/* Modificar los enlaces externos (aquellos con el atributo rel="external") para que se abran
 en ventana nueva. */
function loadExternalUrl(){
	if( !document.getElementsByTagName ){
        return;
    }
	var links=document.getElementsByTagName( 'a' );
	for( var i=0; i<links.length; i++ ){
		if( links[i].rel=="external" ){
			links[i].target="_blank";
		}
	}
}

/******************/
/* inici execució */
/******************/
var ie;
var ns;
if( navigator.userAgent.indexOf('MSIE')!=-1 ){
    ie = true;
    ns = false;
    window.attachEvent('onload', loadExternalUrl );
}		
if( navigator.userAgent.indexOf('Gecko')!=-1 ){
    ie = false;
    ns = true;
    window.addEventListener( 'load', loadExternalUrl, false );
}

/**************************************************************/
/**************************************************************/
/**************************************************************/

// Abir una ventana popup
function abrirPopup( url ,f_amp, f_alt, nom_finestra, scroll ){
	ancho=screen.width;				//ample pantalla
	alto=screen.height;				//alt pantalla
	v_top=(alto-f_alt)/2;	
	v_left=(ancho-f_amp)/2;
	if (typeof(v_fin)!="undefined"){
		v_fin.close();
	}
	v_fin=window.open(url,nom_finestra,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+(scroll?'yes':'no')+",resizable=no,width="+f_amp+",height="+f_alt+",top="+v_top+",left="+v_left);

}

// Contador de caracteres para formularios.
function dcoTextCounter(field, countfield, maxlimit){
	if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit);
	else countfield.value = maxlimit - field.value.length;
}

//canvi d'idioma
function wmsCambioIdioma(idiCambio){
    var newPath="";
    var path=window.location.pathname;
    var ini=window.location.protocol+"//"+window.location.host;
    var fin="";
    if (window.location.hash!=""){
        fin+=window.location.hash;
    }
    if (window.location.search!=""){
        fin+=window.location.search;
    }
    if (path.indexOf(".")!=-1) {
        var pArray=path.split(".");
        var darrer=pArray.length-1;
        if (pArray[darrer-1].length==2){
            pArray[darrer-1]=idiCambio;
        }else{
            pArray[darrer]=idiCambio+'.'+pArray[darrer];
        }
        newPath=pArray.join(".");
    }else{
        if (path.charAt(path.length-1)!="/"){
            barra="/";
        }else{
            barra="";
        }
        newPath=path+barra+"index."+idiCambio+".jsp";
    }
    window.location.href=ini+newPath+fin;
}

function sendForm(nomObjForm){
    objForm = document.getElementById(nomObjForm);
    if (objForm){
        objForm.submit();
    }
}

//funció que ens serveix per controlar el valor per defecte als camps de tipus text*/
function initField(objField,valorInicial){
    if (objField && objField.value==valorInicial){
        objField.value='';
    }
}

//	MM Genéricas ----------

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
    var p,i,x;
    if(!d){
        d=document;
    }
    if(!x && document.getElementById){
        x=document.getElementById(n);
    }
    if((p=n.indexOf("?"))>0 && parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document;
        n=n.substring(0,p);
    }
    if(!(x=d[n]) && d.all){
        x=d.all[n];
    }
    for (i=0;!x&&i<d.forms.length;i++){
        x=d.forms[i][n];
    }
    for(i=0;!x&&d.layers&&i<d.layers.length;i++){
        x=MM_findObj(n,d.layers[i].document);
    }
    return x;
}

function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments;
    document.MM_sr=new Array();
    for(i=0;i<(a.length-2);i+=3){
        if ((x=MM_findObj(a[i]))!=null){
            document.MM_sr[j++]=x;
            if(!x.oSrc){
                x.oSrc=x.src;
            }
            x.src=a[i+2];
        }
    }
}

//*********************
function getOffsetLeft (el) {
    var ol = el.offsetLeft;
    while ((el = el.offsetParent) != null){
        ol += el.offsetLeft;
    }
	return ol;
}
function getOffsetTop (el) {
    var ot = el.offsetTop;
    while((el = el.offsetParent) != null){
        ot += el.offsetTop;
    }
    return ot;
}
