function getWinNm() {
// Genera un nom de finestra per a poder-ne obrir més d'una
///////////////////////////////////////////////////////////
  var now = new Date();
  var hr = new String(now.getHours());
  var mn = new String(now.getMinutes());
  var sc = new String(now.getSeconds());
  var winNm = hr + mn + sc;
  return winNm;
}

/*function obtNumSes(s) {
// Obté el numero de sessió del frame 'logobar', si existeix, i si no del top.window.name
// Automatitza l'obtenció del numSes independentment de si la finestra ha estat oberta
// amb oWinSes o amb oWinName
// s='1' retorna l'oldsession. s='2' retorna una cadena amb session + oldession.
///////////////////////////////////////////////////////////////////////////////////////// 
  var nargs = new Number(arguments.length);
  var ns = new String();
  var s_nou = new String(''); var s_vell = new String('');
  

  if (nargs<1) s = '0';

// Assigna els valors de sessió segons el tipus de finestra
  if(top.logobar==null) {
    s_nou = opener.window.location.href.substring(opener.window.location.href.indexOf('=')+1,opener.window.location.href.length);
    s_vell = top.window.name.substring(128,top.window.name.length);
  }
  else {
    s_nou = top.logobar.document.IDs.session.value;
    s_vell = top.logobar.document.IDs.oldsession.value;
  }

// Retorna session, oldsession o tots dos segons el paràmetre passat.
  switch(s) {
    case '0': ns = s_nou;
              break;
    case '1': ns = s_vell;
              break;
    case '2': ns = s_nou + s_vell;
              break;
    default:  break;
  }
  
  return ns;
}*/

function obtNumSes(s) {
// Obté el numero de sessió del frame 'logobar', si existeix, i si no del top.window.name
// Automatitza l'obtenció del numSes independentment de si la finestra ha estat oberta
// amb oWinSes o amb oWinName
// s='1' retorna l'oldsession. s='2' retorna una cadena amb session + oldession.
///////////////////////////////////////////////////////////////////////////////////////// 
  var nargs = new Number(arguments.length);
  var ns = new String();
  var aux;
  var s_nou = new String(''); var s_vell = new String('');

  if (nargs<1) s = '0';

// Assigna els valors de sessió segons el tipus de finestra
  if(top.logobar==null) {
  	 s_nou = opener.top.window.location.href;
  	 aux = opener.top.window.location.href.indexOf('=')+1;
  	 s_nou = s_nou.substring(aux,s_nou.length);
    //s_nou = opener.window.location.href.substring(opener.window.location.href.indexOf('=')+1,opener.window.location.href.length);
    s_vell = top.window.name.substring(128,top.window.name.length);
  }
  else {
    s_nou = top.logobar.document.IDs.session.value;
    s_vell = top.logobar.document.IDs.oldsession.value;
  }

// Retorna session, oldsession o tots dos segons el paràmetre passat.
  switch(s) {
    case '0': ns = s_nou;
              break;
    case '1': ns = s_vell;
              break;
    case '2': ns = s_nou + s_vell;
              break;
    default:  break;
  }
  return ns;
}


function oWin(adr, x, y) {
// Obre una finestra nova amb els paràmetres passats o per defecte.
//////////////////////////////////////////////////////////////////
/* Exemples de crida
adr             oWin('blanc.htm')
adr,x,y         oWin('blanc.htm', '100', '100')
*/

  var nargs = new Number(arguments.length);
  var xdef = new String('750');
  var ydef = new String('500');

  if(nargs<3) {
    x = new String(xdef);
    y = new String(ydef);
  }
  var messWin = window.open(adr,getWinNm(),'width='+ x + ',height=' + y + ',menubar=yes,resizable=yes,scrollbars=yes,status=yes');
}

function oWinSes(adr, x, y) {
// Obre una finestra nova amb numSes. Cal passar el camí complet d'adr
/////////////////////////////////////////////////////////////////////
  var nargs = new Number(arguments.length);
  var xdef = new String('750');
  var ydef = new String('500');

  if(nargs<3) {
    x = new String(xdef);
    y = new String(ydef);
  }

  var numSes = obtNumSes();
  var cgi = '/UOC2000/celler/FinestraNova.html?s=' + numSes + '&htm=' + adr;
  var messWin = window.open(cgi,getWinNm(),'width='+ x + ',height=' + y + ',menubar=yes,resizable=yes,scrollbars=yes,status=yes');
}

function oWinName(adr, x, y) {
// Com oWin però posa el numSes en el window.name
//////////////////////////////////////////////////
/* Exemples de crida
adr             oWin('blanc.htm')
adr,x,y         oWin('blanc.htm', '100', '100')
*/

  var nargs = new Number(arguments.length);
  var xdef = new String('750');
  var ydef = new String('450');

  if(nargs<3) {
    x = new String(xdef);
    y = new String(ydef);
  }    
  
  var messWin = window.open(adr,obtNumSesName(),'width='+ x + ',height=' + y + ',menubar=yes,resizable=yes,scrollbars=yes,status=yes');
}

function obtNumSesName()
{
  var numSes = new Number();
  var nom= new String();
  // Perquè no peti mentre encara no està tot canviat. 
  // Si el numses antic i no està definit agafa l'actual.  		
  if(top.logobar.document.IDs.oldsession == null || top.logobar.document.IDs.oldsession.value=='') nom = obtNumSes(); 
  else nom = obtNumSes() + obtNumSes('1');
  
  return nom;
  
	
}


function doWrite(to,cc,re,bo) {
// Obre una finestra amb un missatge preadreçat
// El camp 'bo' pot contenir unes paraules que apareixeran al cos del missatge. Per a textos
// més extensos, cal passar el nom d'un fitxer .mail, que col.locarem al directori /home/tmp
// i que conté el text del cos del missatge.
////////////////////////////////////////////////////////////////////////////////////////////
  var nargs = new Number(arguments.length);

  if(nargs<4) {
    cc = new String('');
    re = new String('');
    bo = new String('');
  }

  var cgi = new String();
  var numSes = obtNumSes();

  if(bo.substring('.mail')==-1) cgi='/cgi-bin/bustia/wrte_cnt?s=' + numSes + '&l=pers&to=' + to + '&fr=&cc=' + cc + '&re=' + re + '&bo=' + bo;
  else cgi='/cgi-bin/bustia/wrte_fcnt0?s=' + numSes + '&to=' + to + '&fr=&cc=' + cc + '&re=' + re + '&fi=' + bo;

  var messWin = window.open(cgi,getWinNm(),'width=600,height=400,menubar=yes,scrollbars=yes,status=yes');
}


function mouseOver(msg) {
  self.status = msg;
}

function mouseOut(msg) {
// Sense paràmetre mostra el titol i amb paràmetre mostra el missatge
/////////////////////////////////////////////////////////////////////
  var nargs = new Number(arguments.length);
  if(nargs<1) msg = self.document.title;
  self.status = msg
}

function detectaVis() {
// Funció genèrica que retorna nom de codi del visualitzador
// Retorna 'ne' o 'ie'
////////////////////////////////////////////////////////////
  var s = new String();
  switch(navigator.appName) {
    case 'Netscape':  s = 'ne';
          break;
    case 'Microsoft Internet Explorer': s = 'ie';
          break;
    default: s = 'ie';
          break;
  }
  return s;
}

function enrera() {
// Pot substituir l'history.back. Si té history, fa un back; si és finestra nova inicial,
// la tanca; si l'anterior és l'entrada al campus, fa un reInici() (v.CLUB)
////////////////////////////////////////////////////////////////////////////////////////
  var wnom = new String(top.window.name);
  var historial = new Number(history.length);
  if(detectaVis()=='ne') historial = historial-1;
  if(historial>0) history.back();
  else {
    if(wnom!='') top.close();
    else reInici();
  }
}


function volver() {
// Pot substituir l'history.back. Si té history, fa un back; si és finestra nova inicial,
// la tanca; si l'anterior és l'entrada al campus, fa un reInici() (v.CLUB)
////////////////////////////////////////////////////////////////////////////////////////
document.write('<p><a HREF="javascript:enrera()" onMouseOver="mouseOver(\'Vovler\');return true" onMouseOut="mouseOut();return true"><img SRC="/UOC2000/b/docs/mc-icons/left.gif" BORDER="0"></a> </p>');  
}

function doPrefer(opcio, tema) {
// Canvia les preferències
// En lloc d'escriure-les amb javascript, ho fem en HTML per a poder aplicar estils més fàcilment.
////////////////////////////////////////////////////////////////////////////////////////////////////
  var adr = new String();
  var ruta = new String('/cgi-bin/comuni/');

  var nargs = new Number(arguments.length);
  if(nargs<2) tema = new String("");
  else tema = '&t=' + tema;

  adr = ruta + opcio + '?s=' + obtNumSes() + tema;
  if(detectaVis=='ne') alert(adr);
  document.location.href = adr;
  //self.document.URL = adr;
}

function doTren(adr, x, y) {
// Obre finestra del tren amb numSes
// adr del tipus 'GATECO.DADESBANC/dadesbanc_tren.dadesbanc'
// Opcions: adr: obre amb dimensions predefinides
//          adr,x,y: obre en finestra nova de dimensions x i y
//          adr,'': carrega adr en el marc actual
//////////////////////////////////////////////////////////////
  var nargs = new Number(arguments.length);
  var xdef = new String('750');
  var ydef = new String('450');

  if(nargs<3) {
    x = new String(xdef);
    y = new String(ydef);
  }

  var numSes = obtNumSes();
  var cgi = '/tren/trenacc?s=' + numSes + '&modul=' + adr;

  if (nargs=='2')  self.location= '/tren/trenacc?s=' + numSes + '&modul=' + adr;
  else var messWin = window.open(cgi,getWinNm(),'width='+ x + ',height=' + y + ',resizable=yes,menubar=yes,scrollbars=yes,status=yes');  
}
function doTren2(adr, x, y) {
// Obre finestra del tren amb numSes. El numSes el pren de window.name
// adr del tipus 'GATECO.DADESBANC/dadesbanc_tren.dadesbanc'
// Opcions: adr: obre amb dimensions predefinides
//          adr,x,y: obre en finestra nova de dimensions x i y
//          adr,'': carrega adr en el marc actual
//////////////////////////////////////////////////////////////
  var p = new String('');

  var nargs = new Number(arguments.length);
  var xdef = new String('750');
  var ydef = new String('450');

  if(nargs<3) {
    x = new String(xdef);
    y = new String(ydef);
  }

  p='https://'
  var numSes = window.name;
  var cgi = p + 'cv.uoc.edu' + '/tren/trenacc?s=' + numSes + '&modul=' + adr;

  if (nargs=='2')  self.location= '/tren/trenacc?s=' + numSes + '&modul=' + adr;
  else var messWin = window.open(cgi,getWinNm(),'width='+ x + ',height=' + y + ',resizable=yes,menubar=yes,scrollbars=yes,status=yes');  
}
function doAjuda() {
  var numSes = obtNumSes('1');
//var cgi = 'http://trineu.uoc.es:445/incidencies/plsql/usr.mainincidfromUser?sid=' + numSes;
  var cgi = 'http://trineu.uoc.es:445/incidencies/plsql/usr.User2User?sid=' + numSes;
	var winNm = getWinNm();
	var messWin = window.open(cgi,winNm,'width=600,height=450,menubar=yes,scrollbars=yes,status=yes');
}

function genDir(s) {
// Funció genèrica que retorna el nom del campus, la llengua o la ruta fins el nom
// del campus segons el paràmetre passat. El protocol i el domini s'extreuen des
// del document amb location.protocol i location.hostname;
//////////////////////////////////////////////////////////////////////////////////
  var ruta = location.pathname.split('/');
  var r = new String();;

  switch(s) {
    case 'arrel'  : r = location.protocol + '//' + location.hostname;
                    break;
    case 'campus' : r = ruta[1];
                    break;
    case 'llengua': r = ruta[2];
                    break;
    default: break;
  }  
  return r;
}

function obreBustia(lo,i1,i2,i3) {
// Si no se li han passat gifs de navegació, hi assigna blanc.gif
// Obre la bústia amb l'adreça generada.
/////////////////////////////////////////////////////////////////
  adr = new String();
  var nargs = new Number(arguments.length);
  var numSes = obtNumSes();
 
  if(nargs<2) i1 = new String('blanc.gif');
  if(nargs<3) i2 = new String('blanc.gif');
  if(nargs<4) i3 = new String('blanc.gif');

  adr = genDir('arrel') + '/' + genDir('campus') + '/' + genDir('llengua') + '/cgi-bin/activi/debat_0?s=' + numSes + '&l=' + lo + '&img1=' + i1 + '&img2=' + i2 + '&img3=' + i3;
  oWin(adr,'600','400');
}

function obreTauler(lad,lac) {
// Utilitzada per centres/tauler.htm . Pendent.
//////////////////////////////////////////////////////////////////////////////////
  var numSes = obtNumSes();
  self.location  = '/cgi-bin/activi/debats?s=' + numSes + '&d=' + lad + '&c=' + lac;
}

function obreSeccio(s) {
// Si s conté '&d' té assignat un domini-mare i per tant crida l'activi.html
// Cridada des de /UOC2000/b/docs/adocencia/index.html

  var adr = new String('');
  var dc = new String('');

  if(s.indexOf('&d')==-1) dc='extern_0.html';
  else dc='activi_0.html';

  adr = genDir('arrel') + '/UOC2000/b/' + dc + '?s=' + obtNumSes() + s;
  parent.location = adr;
}

function detectaColectiu() {
  var params = location.href;
  var pos = params.indexOf('?');

  if (pos < 0) {
  // Está dentro de Campus
    var adr = new String(top.logobar.document.images[0].src);
    var s = adr.split("/");
    var colectiu = new String(s[3]);
  }
  return colectiu;
}

function doVirtual() {
  var numSes = obtNumSes('1');
  var cgi = 'http://iglu.uoc.es:448/virtual/plsql/galeriapkg.benvingut?s=' + numSes + '&codColectiu=' + detectaColectiu() + '&codIdioma=es';
  var winNm = getWinNm();
  var messWin = window.open(cgi,winNm,'width=700,height=480,menubar=yes,resizable=yes,scrollbars=yes,status=yes');
}

function obreBiblioteca(s) {
  var appid = new String(s);
  var adr = new String('http://xina.uoc.es:443/ibe/');
  var nom = new String();
  var numSes = new String(top.logobar.document.IDs.session.value);
  var oldNumSes = new String(top.logobar.document.IDs.oldsession.value);
  // var appid = new String(genDir('campus'));

  nom = 'sessio' + numSes + 'sessiovell' + oldNumSes + 'appid' + appid;
  var finestra = window.open(adr,nom,'width=640,height=450,menubar=yes,resizable=yes,scrollbars=yes,status=yes');
}


function PoneImpresion(url) {
var pos=0,longitud=0;

longitud=url.length;

pos=url.lastIndexOf('/',longitud);
	
cadena=url.substring(pos+1,longitud);
return('imp/'+cadena);
}
