function CercarObjectesPerTag(sTag, oOrigen) {
    var oObjectes = new Array();

    oOrigen = oOrigen || document.body;

    for (var i = 0; i < oOrigen.childNodes.length; i++) {
        if (oOrigen.childNodes[i].tagName && oOrigen.childNodes[i].tagName.toLowerCase() == sTag) {
            oObjectes[oObjectes.length] = oOrigen.childNodes[i];
        } else if (oOrigen.childNodes[i].childNodes && oOrigen.childNodes[i].childNodes.length > 0) {
            oObjectes = oObjectes.concat(CercarObjectesPerTag(sTag, oOrigen.childNodes[i]));
        }
    }

    return oObjectes;
}

function ObtenirObjecte(o) {
    if (typeof(o) == "string") {
        return document.getElementById(o);
    } else {
        return o;
    }
}

function CancelarEvent(oEvent) {
    oEvent.cancelBubble = true;
    oEvent.returnValue = false;
}

function ObtenirCodiTecla(oEvent) {
    return ((oEvent.keyCode) ? oEvent.keyCode : oEvent.wich);
}

function ObrirFinestra(sUrl, sId, iAmplada, iAlcada, bCentrada, bModal, bResizable, bScrollbars, bAjustarAContingut, bStatus) {
    var iTop = 0, iLeft = 0;
    var sParametres;
    var oDlg;

    if (bCentrada) {
        iTop = (screen.availHeight/2) - (iAlcada/2);
        iLeft = (screen.availWidth/2) - (iAmplada/2);
    }

    if (window.navigator.userAgent.indexOf("SV1") != -1) {
        //Internet Explorer amb SP2
        iAlcada += 25;
    }

    sParametres = "toolbar=no,menubar=no,personalbar=no, width=" + iAmplada + ",height=" + iAlcada + ",left=" + iLeft + ",top=" + iTop + "";

    if (bResizable) { sParametres += ",resizable=yes"; } else { sParametres += ",resizable=no"; }
    if (bScrollbars) { sParametres += ",scrollbars=yes"; } else { sParametres += ",scrollbars=no"; }
    if (bStatus) { sParametres += ",status=yes"; } else { sParametres += ",status=no"; }

    oDlg = window.open(sUrl, sId, sParametres);
    oDlg.focus();

    if (bAjustarAContingut) { attachObjEvent(oDlg, "load", function() { AjustarMidaFinestra(oDlg, bCentrada); } ) }
    //if (bModal) { attachObjEvent(oDlg, "blur", function() { oDlg.focus(); } ) }

    return oDlg;
}

function ObrirFinestraPantallaCompleta(sUrl, sId) {
    oDlg = ObrirFinestra(sUrl, sId, screen.availWidth - 4, screen.availHeight - 25, true, false, false, false, false);
    oDlg.moveTo(-1, -1);
}

function AjustarMidaFinestra(oDlg, bCentrada) {
    var iAlcada, iAmplada;
      
    iAmplada = 0;
    iAlcada = 0;
    
    if (parseInt(oDlg.document.body.scrollWidth) > 0 )
        iAmplada += parseInt(oDlg.document.body.scrollWidth);
    if (parseInt(oDlg.document.body.leftMargin) > 0 )
        iAmplada += parseInt(oDlg.document.body.leftMargin);
    if (parseInt(oDlg.document.body.rightMargin) > 0 )
        iAmplada += parseInt(oDlg.document.body.rightMargin);
        
    if (parseInt(oDlg.document.body.scrollHeight) > 0 )
        iAlcada += parseInt(oDlg.document.body.scrollHeight);
    if (parseInt(oDlg.document.body.topMargin) > 0 )
        iAlcada += parseInt(oDlg.document.body.topMargin);
    if (parseInt(oDlg.document.body.bottomMargin) > 0 )
        iAlcada += parseInt(oDlg.document.body.bottomMargin);
    
    RedimensionarFinestra(oDlg,iAmplada,iAlcada, bCentrada);
}

function ObtenirVariableGet(sNom) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");

    for (var i=0; i < vars.length; i++) {
        var pair = vars[i].split("=");

        if (pair[0] == sNom) {
            return unescape(pair[1]);
        }
    }
}

function RedimensionarFinestra (finestra, amplada, alcada, centrada)
{
  var wleft,wtop;
  amplada += 30;
  alcada += 32;
  
  if (amplada < screen.width) {
  	wleft = (screen.width - amplada) / 2;
  }
  else {
  	wleft = 0;
  	amplada = screen.width;
  }
  if (alcada < screen.Height) {
  	wtop = (screen.height - alcada) / 2;
  }
  else {
  	wtop = 0;
  	alacada = screen.Height;
  }
  
  // Si l'usuari està redimensionan o movent la finestra pot donar error
	try {
  	finestra.resizeTo(amplada, alcada);
  	finestra.moveTo(wleft, wtop);
  } catch (err) {}
}