function refresh( el )
{
el.style.visibility = 'hidden';
el.style.visibility = 'visible';
}
function copyLinks(src_, trg_)
{
var trg = document.getElementById( trg_);
if ( trg == null ) {return;}
if (trg.firstChild == null ) {return;}
var src = document.getElementById(src_);
if ( src == null ) {return;}
var c = src.cloneNode(true);
c.removeAttribute("id");
trg.replaceChild( c, trg.firstChild );
refresh(trg);
}
function rearrange()
{
var da = new Array;
if ( (document.cloneNode && document.replaceChild && da.push) )
{
copyLinks('stdl1', 'hdle3');
copyLinks('trl0', 'hdle2');
}
}
var g_lists = new Array;
var cm = null;
function hide( ld )
{
cm = null;
hide_(ld)
ld.parent.removeChild(ld.menu);
ld.menu = null;
document.onclick = null;
}
function hide_( ld )
{
ld.prompt.firstChild.src = 'plus.gif';
ld.prompt.firstChild.alt = '+ ';
ld.prompt.title = 'Visa meny: ' + ld.orig_title;
}
function show( ld )
{
ld.mgr.populateMenu( ld );
show_(ld)
document.onclick = function(ev) {
hide(ld);
return true;
};
}
function show_( ld )
{
cm = ld;
ld.prompt.firstChild.src = 'minus.gif';
ld.prompt.firstChild.alt = '- ';
ld.prompt.title = 'Stäng meny: ' + ld.orig_title;
}
function menuClick( id )
{
var ld = g_lists[ id ];
if (ld == null) {return;}
if (ld.menu == null)
{
if (cm)
{
hide(cm);
}
show(ld);
}
else
{
hide(ld);
}
}
function DynListMgr( prompt, listklass, divklass, div_id )
{
this.supported = false;
if ( ! (document.createDocumentFragment
&& document.cloneNode
&& document.createElement
&& g_lists.push) )
{
// Not a sufficiently modern browser.
return;
}
this.makeList = makeList;
this.populateMenu = populateMenu;
this.prompt = prompt;
this.listklass = listklass;
this.divklass = divklass;
this.div_id = div_id;
this.supported = true;
}
function stopEventPropagation(ev)
{
if (ev && ev.stopPropagation) {ev.stopPropagation();} // WC-DOM
else if (event) {event.cancelBubble = true;} // IE
return true;
}
function makeList( trgX, menuText, items )
{
var trg = document.createElement( "DIV" )
if (!trg) {return;}
var trg0 = document.getElementById( trgX );
trg0.onclick = stopEventPropagation;
var a = document.createElement( "A" );
var ix = g_lists.length;
a.href = 'javascript: menuClick(' + ix + ');';
a.className = "mlink bllnk";
a2 = a.cloneNode( true );
var img = document.createElement( "IMG" );
img.width = '9';
img.height = '9';
img.style.paddingRight = '0.25em';
a.appendChild( img );
a.appendChild( document.createTextNode( this.prompt ) );
trg.appendChild( a );
listdata = {
mgr: this,
menu: null,
parent: trg,
prompt: a,
bSynlig: false,
orig_title: this.prompt,
items: items,
closePrompt: a2
};
hide_(listdata);
g_lists.push( listdata );
trg0.replaceChild( trg, trg0.firstChild );
}
function populateMenu( ld )
{
var trgT = ld.menu = document.createElement( "DIV" );
if ( this.divklass != null ) { trgT.className = this.divklass; }
if ( this.div_id != null ) { trgT.id = this.div_id; }
for (var g = ld.items.length, gi = 0; gi < g; ++gi)
{
var group = ld.items[gi];
var ul = document.createElement( "UL" );
if ( this.listklass != null ) { ul.className = this.listklass; }
for (var m = group.length, i = 0; i < m; ++i)
{
var item = group[i];
var li = document.createElement( "li" );
if (item[0])
{
var ai = document.createElement( "a" );
ai.href = item[0];
ai.appendChild( document.createTextNode( item[1] ) );
ai.className = "bllnk";
li.appendChild( ai );
}
else
{
li.appendChild( document.createTextNode( item[1] ) );
}
ul.appendChild( li );
}
trgT.appendChild( ul );
}
{
var a2 = ld.closePrompt.cloneNode( true );
a2.appendChild( document.createTextNode( "[stäng meny]" ) );
var bd = document.createElement( "DIV" );
bd.style.textAlign = 'right';
bd.appendChild( a2 );
trgT.appendChild( bd );
}
ld.parent.appendChild( trgT );
}
var today = new Date();
var dateRE = new RegExp('(.*?)((\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d))');
function markDate( e, klass )
{
if ( ! e.firstChild )
{
return;
}
var df = null;
var strr = e.firstChild.data;
var ms = null;
while ( ms = dateRE.exec(strr) )
{
df = df || document.createDocumentFragment();
if (ms[1].length > 0)
{
df.appendChild(document.createTextNode(ms[1]));
}
var then = new Date(ms[3], ms[4] - 1, ms[5]);
var diff = Math.floor((today - then) / 86400000);
var str;
if ( diff < -1 ) {str = "om " + Math.abs(diff) + " dagar";}
else if ( diff == -1 ) {str = "i morgon";}
else if ( diff == 0 ) {str = "i dag";}
else if (diff == 1) {str = "i går";}
else {str = "för " + diff + " dagar sedan";}
var span = document.createElement("SPAN");
span.appendChild(document.createTextNode(ms[2]));
span.title = str;
span.className = klass;
df.appendChild(span);
strr = strr.substring(ms[0].length);
}
if (df)
{
if (strr.length > 0)
{
df.appendChild(document.createTextNode(strr));
}
e.replaceChild( df, e.firstChild );
}
}
function markDates(klass, klasser)
{
if ( ! document.createDocumentFragment || ! document.cloneNode )
{
return;
}
var tags = document.getElementsByTagName("div");
for (var i = 0, m = tags.length; i < m; ++i)
{
var e = tags[i];
for (var ii = 0, mm = klasser.length; ii < mm; ++ii )
{
if (e.className == klasser[ii])
{
markDate(e,klass);
}
}
}
{
var tags = document.getElementsByTagName("strong");
for (var i = 0, m = tags.length; i < m; ++i)
{
var e = tags[i];
markDate(e, klass);
}
}
{
var tags = document.getElementsByTagName("p");
for (var i = 0, m = tags.length; i < m; ++i)
{
var e = tags[i];
markDate(e, klass);
}
}
}
