// Warning: Due to our OU and some usernames contains special caharacters(æøå)
// This file has to be saved in latin-1
// In vim you can do this with: set fileenconding=latin1

// Global variables need to be set for sametime to function
// From: http://sametime.hikt.no/sametime/stlinks/hostInfo.js
var HTTP_TUNNELING_PORT=80;
var TUNNELING_ADDRESS="";

// From: http://sametime.hikt.no/sametime/stlinks/no/res.js
var ERR_MSG = new Object();
ERR_MSG[0x80000006] = "Den du utvekslet meldinger med, er ikke lenger online.";
ERR_MSG[0x80002001] = "%s har valgt &#229; ikke bli forstyrret n&#229;, og kan ikke kontaktes. \r\nDu kan pr&#248;ve igjen n&#229;r %s blir aktiv.";
ERR_MSG["SEND_DENIED"] = "Feil ved oppretting av meldingssesjon.";
ERR_MSG["LOGOUT"] = "Du er blitt koblet fra Sametime. Pr&#248;v igjen senere.";
TIP_AUTOAWAY = "%s er ikke til stede eller bruker ikke maskinen n&#229;.";
TIP_ACTIVE = "%s er til stede";
TIP_OFFLINE = "%s er frakoblet";
TIP_ACTIVE_INIT = "Jeg er til stede";
var WIN_INVITE_WIDTH = 360;
var WIN_INVITE_HEIGHT = 230;
var WIN_IM_WIDTH = 600;
var WIN_IM_HEIGHT = 280;
var WIN_NWAY_WIDTH = 610;
var WIN_NWAY_HEIGHT = 400;
var WIN_PLACE_W = 200;
var WIN_PLACE_H = 300;
var WIN_PCHAT_W = 610;
var WIN_PCHAT_H = 360;

// Replacement for writeSTLinksApplet
function sametimeOnDemand() {
    urlMain = "http://sametime.hikt.no/sametime/stlinks";
    urlPages = urlMain + "/no";

    var objBody = document.getElementsByTagName("body").item(0);
    var objScript = document.createElement("div");

    
    var loginName =  (typeof(webUser) == 'undefined') ? "Web visitor": webUser;

    var appletTag = prepareSTLinksApplet({
        server: STHost,
        port: 80, 
        username: loginName,
        password: undefined,
        token: undefined,
        org: ""
    });

    objScript.innerHTML = appletTag;
    objBody.appendChild(objScript);

    autoLogin = (loginName != null);

    if (g_nInterval != 0)
        STStartAutoawy();

    StartPolling();
}

function replaceWithSametimeLink(dom) {
    // Remove /Domain part if present
    var username = dom.innerHTML.replace(/\/.*/, "");
    // Split into username and domain
    /* var result = dom.innerHTML.match(/(.*)\/(.*)/); */
    //var result = dom.innerHTML.split('/');
    //alert(result);
    //alert(result.length);
    //var username = result[1];
    //var domain = result[2];
    
    // Construct full user-id string
    //if(domain.toLowerCase().match('hlk')) {
        //var userid = "CN=" + username + ",OU=Users,OU=Hålogaland IKT Senter,OU=Hosting,DC=hikt,DC=no";
        // Can't add HLK Personel due to OU problems
    //    return;
    //}
    //else {
        var userid = "CN=" + username + ",OU=Users,OU=Hålogaland IKT Senter,OU=Hosting,DC=hikt,DC=no";
    //};
    // Use stlinks api to generate HTML code and replace our dom
    dom.innerHTML=prepareSametimeLink(userid, username, true);
}

function initSametime() { 
    if (!document.getElementsByTagName){ return; }
    var spans = document.getElementsByTagName('span');
    var sametimeLoaded = false;

    // loop through all span tags
    for (var i=0; i<spans.length; i++){
        var span = spans[i];
        var relAttribute = String(span.getAttribute('rel'));

        if ( relAttribute.toLowerCase().match('sametime') ) {
            // If sametime links was found we need to init the sametime components
            if( !sametimeLoaded ) {
                sametimeOnDemand();
                sametimeLoaded=true;
            }
            replaceWithSametimeLink(span);
        }
    }
}

Event.observe(window, 'load', initSametime, false);
