// ===============================================================
// CBkort version 2.x, copyright Carl Bro GIS&IT, 2006
// ===============================================================
// $Archive: /Products/CBKort2/development/2.3/standard/wwwroot/js/standard/leftbartabs.js $ 
// $Date: 6-08-07 16:21 $
// $Revision: 2 $ 
// $Author: Kpo $
// =============================================================== 

function LeftBarTab(id,displayname,hint,contentElementName,onActivateHandler,onDeactivateHandler,count)
{
    this.count = count;
    this.id = id;
    this.addTab(displayname);
    this.onActivateHandler = onActivateHandler;
    this.onDeactivateHandler = onDeactivateHandler;
    this.hint = hint;
    this.contentElementName = contentElementName;
    var e = getElement(id);
    e.onclick = leftbartabs_tabClick;
    e.onmouseover = leftbartabs_buttonHint;
    e.onmouseout = leftbartabs_noButtonHint;
}

LeftBarTab.prototype.addTab = function(displayname)
{
    var e = getElement('leftbartabs_tr');
    if(e)
    {
        var html = '<div id="'+this.id+'" class="leftbartab_span_passive">'+displayname+'</div>';
        //var html = '<td><div id="'+this.id+'" class="leftbartab_span_passive">'+displayname+'</div></td>';
        e.getElementsByTagName('td')[this.count].innerHTML = html;
    }
}

LeftBarTab.prototype.showHint = function(event)
{
    var e = getElement('buttonhint');
    if(e)
    {
        var xy = getCoords(event);
        setY(e,xy[1]+20);
        setX(e,xy[0]);
        writeHTML(e,this.hint);
        showElement(e);
    }
}

LeftBarTab.prototype.hideHint = function()
{
    var e = getElement('buttonhint');
    if (e)
        hideElement(e);
}

function leftbartabs_tabClick(id)
{
    leftbartabs_tabClickGo(this.id);
}

function leftbartabs_tabClickGo(id)
{
    leftbartabs_activate(id);
    var lbo = leftbartabs_getTab(id);
    if(lbo.contentElementName)
    {
        leftBar.showItem(lbo.contentElementName);
        //if(id!=leftbartabs_currentTabId)
        //    leftBar.setHeight();
    }
    leftbartabs_currentTabId = id;
}

function leftbartabs_buttonHint(event)
{
    var lbt = leftbartabs_getTab(this.id);
    lbt.showHint(event,lbt.hint);
}

function leftbartabs_noButtonHint()
{
    leftbartabs_getTab(this.id).hideHint();
}

function leftbartabs_activate(id)
{
    var lbo = leftbartabs_getTab(id);
    if(!lbo)
        return;
    leftbartabs_activateTab(id);
    for(var i=0;i<leftbartabs.length;i++)
    {
        if(leftbartabs[i].id == id)
        {
            if(leftbartabs[i].onActivateHandler)
                leftbartabs[i].onActivateHandler();
        }
        else
        {
            if(leftbartabs[i].onDeactivateHandler)
                leftbartabs[i].onDeactivateHandler();
        }
    }
}

function leftbartabs_getTab(id)
{
    for(var i=0;i<leftbartabs.length;i++)
    {
        if(leftbartabs[i].id == id)
            return leftbartabs[i];
    }
    return false;
}

function leftbartabs_activateTab(id)
{
    for(var i=0;i<leftbartabs.length;i++)
    {
        if(leftbartabs[i].id == id)
            getElement(leftbartabs[i].id).className = 'leftbartab_span_active';
        else
            getElement(leftbartabs[i].id).className = 'leftbartab_span_passive';
    }
}

function leftbartabs_addTab(id,displayname,hint,contentElementName,onActivateHandler,onDeactivateHandler)
{
    if(leftbartabs.length == 0)
    {
        // append html til body
        var html  ='<div id="leftbartabs" class="leftbartabs">';
            html +='  <div class="navigation" id="navigation">';
            html +='    <table style="padding:0px;margin:0px;border:0px;">';
            html +='      <tr id="leftbartabs_tr">';
//            html +='        <td><div id="leftbartabs_kort" class="leftbartab_span_passive">Kortvælger</div></td>';
//            html +='        <td><div id="leftbartabs_resultat" class="leftbartab_span_passive">Resultat</div></td>';
            html +='        <td></td><td></td><td></td><td></td><td></td>';
            html +='      </tr>';
            html +='    </table>';
            html +='  </div>';
            html +='</div>';
        appendHTML(document.body,html);
    }
    leftbartabs[leftbartabs.length] = new LeftBarTab(id,displayname,hint,contentElementName,onActivateHandler,onDeactivateHandler,leftbartabs.length);
    if(leftbartabs.length>1)
        getElement('toplogo').innerHTML = '';
    else
        leftbartabs_activate(id);
}



function leftbartabs_addContentItem(name,usemaxheight)
{
    // opret html i body
    var html  ='<div id="'+ name +'" class="leftbar_container resutltab_content" style="display:none;">';
        html +='  <div class="themegroupname" style="OVERFLOW:visible;white-space:normal;">';
        html +='    <span id="lbl_overskrift" class="themegrouplabel" style="position:relative;top:-1px;">Der er endnu ikke foretaget en søgning</span>';
        html +='  </div>';
        html +='</div>';
    appendHTML(document.body,html);

    // Sætter temavælgeren som default  
    leftBar.setDefault();

    // tilføj item
    leftBar.addItem(name,usemaxheight);
}

var leftbartabs = new Array();
var leftbartabs_currentTabId = null;

