var tabs = new Array( "global", "specific" )var subs = new Array( "audio", "recording", "book", "organ" )var ress = new Array( "audio", "recording", "book", "song", "organ" )var http_request = falsevar currentTab = ""var currentSub = ""var currentRes = ""var numberPerBatch = 20var cookieName = "ismus_status"var detailCookie = "ismus_detail"var selectedGlobal = "global"var doingFocus = false;var counter = 0;var defaultBtn = "audioBtn";var debug = false;var rows = new Array();var rads = new Array();var photos = new Array();var audios = new Array();var videos = new Array();var mediaTabs = new Array( "ljosmyndir", "hljod", "myndskeid" );var selectedMedia = "ljosmyndir";var photoCounter = 0, photoMax, audioCounter = 0, audioMax, videoCounter = 0, videoMax;var msie;var isFrontpage = false;function msg( txt ) {	return;    counter++;    m = document.getElementById("msg");    if ( m != undefined )        m.innerHTML += counter+": " + txt + " <br /> ";}/* OGDetail logic */function detailInit() {	return;    msg( "detailInit" );    try {        var tab = document.getElementById( "currentTab" ).value + "Tab";        clickTab( document.getElementById( tab ) );        var data = document.getElementById( "photos" );        /* or maybe this mainPhoto stuff should be handled server side? */        var mainPhoto = document.getElementById( "mainPhoto" ).innerHTML;                        data = document.getElementById( "audios" );        audios = data.getElementsByTagName("src")        audioMax = audios.length;        selectedMedia = "hljod";        setMedia( 0 );            } catch (e) {         msg( "not a detail page" )     }}        function addClass( node, clss ) {    var c = "" +  node.className;    if( c.indexOf( clss ) > -1 ) return;    c += " " + clss;    c = c.replace( "  ", " " );    node.className = c;}function removeClass( node, clss ) {    var c = node.className;    c = c.replace( clss, "" );    c = c.replace( "  ", " " );    node.className = c;}/* OGMediaDetail Tabs */function clickTab( me ) {	return;    msg( "click: " + me.id );    for( var i in mediaTabs ) {        var tab = document.getElementById( mediaTabs[i] + "Tab" );        var content = document.getElementById( mediaTabs[i] + "Screen" );        if( me == tab ) {            selectedMedia = mediaTabs[i];            addClass( me, "selected" );            content.className = "visible";            document.getElementById( "currentTab" ).value = mediaTabs[i];            document.getElementById( "mediaName" ).innerHTML = document.getElementById( mediaTabs[i]+"Name" ).innerHTML;            document.getElementById( "mediaInfo" ).innerHTML = document.getElementById( mediaTabs[i]+"Info" ).innerHTML;        } else {            removeClass( tab, "selected" );            content.className = "hidden";        }    }}/* Search logic */function scanForNames( node, elms, theName ) {    for ( var i=0; i < node.childNodes.length; i++ ) {        n = node.childNodes[ i ];        if ( n.nodeType == 1 ) {            if ( n.getAttribute( "name" ) == theName ) {                elms.push( n );            }            scanForNames( n, elms, theName );        }    }}function getElementsByName2( theName ) {    var elms = new Array();    msg( "scanning for name: " + theName );    scanForNames( document, elms, theName );    return elms;}function clickRadio( label ) {    /* if (selectedGlobal == label) { msg( "radio cancelled: " + label ); return "" } */    selectedGlobal = label    msg( "radio: " + label )        var value = "";    var sel = -1;        /* var flds = document.getElementsByName("searchField") */    var flds = new Array()    flds[0] = document.getElementById( "globalField" )    flds[1] = document.getElementById( "personField" )    flds[2] = document.getElementById( "locationField" )    for (var i=0; i<rads.length; i++ ) {        if (flds[i].value != "") {            value = flds[i].value;            sel = i;        }    }        for (var i=0; i<rads.length; i++) {        if ( rads[i].value == label )  {            rads[i].checked = true;            flds[i].value = value;        } else {            flds[i].value = "";            rows[i].className = "searchRow";            rads[i].checked = false;        }    }    document.getElementById( label+"Row" ).className = "selectedSearchRow"    return value}function mouseover( label ) {    var r = document.getElementById( label + "Row" )    if ( r.className != "selectedSearchRow" )        r.className = "overSearchRow"}function mouseout( label ) {    var r = document.getElementById( label + "Row" )    if ( r.className == "overSearchRow" )        r.className = "searchRow"}function mousedown( label ) {    msg( "mousedown: " + label )    var fld = document.getElementById( label + "Field" )    var value = clickRadio( label )    if ( value != undefined )        fld.value = value    msg( "value: " + value )}    function mouseup( label ) {    msg( "mouseup" )    doingFocus = true    document.getElementById( label + "Field" ).focus()    doingFocus = false    /* focus2( label ) */    document.getElementById( label + "Field" ).select()}function click( label ) {    msg( "(click)" )}function focus2( label ) {    if ( doingFocus ) { msg( "focus cancelled" ); return }    msg( "focus2: " + label )    try {        document.getElementById( label + "Field" ).value = clickRadio( label )    } catch (e) { }}function selectAll( label ) {    msg( "select all: " + label )    try {        document.getElementById( label + "Field" ).select()    } catch (e) { }}function focusFirst() {    msg("focusFirst")    try {        doingFocus = true        document.getElementById( selectedGlobal+"Field" ).focus()        doingFocus = false    } catch(e) { }}function getCookie(c_name) {    if (document.cookie.length>0) {        c_start=document.cookie.indexOf(c_name + "=")        if (c_start != -1) {             c_start=c_start + c_name.length+1             c_end=document.cookie.indexOf(";",c_start)            if (c_end==-1) c_end=document.cookie.length            return unescape(document.cookie.substring(c_start,c_end))        }     }    return null}function setCookie(c_name,value,expiredays) {    var exdate=new Date()    exdate.setTime(exdate.getTime()+(expiredays*24*3600*1000))    document.cookie = c_name + "=" + escape(value) + "; path=/" +       ((expiredays==null) ? "" : "; expires="+exdate)}/** show content for this tab **/function show(label,showResult) {    msg( "show: " + label );    if ( label == "" ) return;    document.getElementById(label).style.display = "block";    document.getElementById(label+"Tab").className = "selectedTab";    for (var t in tabs) {        if (tabs[ t ] != label) {            document.getElementById( tabs[ t ] ).style.display = "none"            document.getElementById( tabs[ t ] + "Tab" ).className = "tableTab"        }    }    if( !showResult )  document.getElementById( "searchResults" ).style.display = "none";    }/** show search form for this submenu **/function submenu(label,showResult) {        if ( label == "" ) return    msg( "submenu: " + label );    document.getElementById(label).style.display = "block"    document.getElementById(label+"Tab").className = "selectedSubmenu"    for (var t in subs) {        if (subs[ t ] != label ) {            document.getElementById( subs[ t ] ).style.display = "none"            document.getElementById( subs[ t ] + "Tab" ).className = "submenu"        }    }    defaultBtn = label+"Btn";    document.getElementById( "selectedSearchTab" ).value = label;    if( !showResult )  document.getElementById( "searchResults" ).style.display = "none";}function getTabStatus( label, item ) {    var s = document.getElementById("resultStatus").value    var elms = s.split("/")    for ( var i=0; i < elms.length; i++ ) {        var e = elms[ i ]        var itms = e.split(",")        if( itms[ 0 ] == label ) {            break        }    }    return itms[ item ]}function setInnerHTMLofElements( elms, label, item ) {    for ( var i=0; i < elms.length; i++ ) {        e = elms[ i ].innerHTML = getTabStatus( label, item )    }}/** show search result for this label **/function result( label ) {    msg( "label:" +  label );	if ( label == undefined || label == "" ) return    if ( label == "global" || label == "common" ) return        setCookie( cookieName, label, 1 )        try {        document.getElementById(label+"Result").style.display = "block"        document.getElementById(label+"ResultTab").className = "selectedTab"                for ( var t in ress ) {            if (ress[ t ] != label) {                document.getElementById( ress[ t ] + "Result" ).style.display = "none"                var e = document.getElementById( ress[ t ] + "ResultTab" )                if ( e != undefined ) {                    e.className = "tableTab"                }            }        }            setInnerHTMLofElements( getElementsByName2( "indexOfFirstDisplayedObject"), label, 1 )        setInnerHTMLofElements( getElementsByName2( "indexOfLastDisplayedObject"), label, 2)        setInnerHTMLofElements( getElementsByName2( "allObjectsCount"), label, 3)            var elms = getElementsByName2( "dgHasMultipleBatches")        var hide = getTabStatus( label, 3 ) < numberPerBatch        for ( var j = 0; j < elms.length; j++ ) {           if ( hide ) {                elms[ j ].style.display = "none"            } else {                elms[ j ].style.display = "block"            }        }    } catch (e) { msg("result exception") }}function defaultClick() {    msg( "click: " + defaultBtn );	document.getElementById( defaultBtn ).click();	return false;}function fixEmptyTD() {    var tds = document.getElementsByTagName("TD");    for (var i in tds ) {        if ( tds[i].innerHTML == "" ) tds[i].innerHTML = "&nbsp;";    }}function dataToTarget( dataID, targetID ) {	var data = document.getElementById( dataID );	var target = document.getElementById( targetID );	target.innerHTML = data.getAttribute( "count" );}function load() {    msie = navigator.userAgent.indexOf( "MSIE" ) > -1;    msg( "msie:" + msie );    //show(currentTab, true)    //submenu(currentSub, true)    result( getCookie(cookieName) )    focusFirst()    //fixEmptyTD();    rows = getElementsByName2( "searchRow" );    rads = getElementsByName2( "searchRadio" );    detailInit(); 	if( isFrontpage ) {		dataToTarget( "im_audio_data", "im_audio_target" );		dataToTarget( "with_audio_data", "with_audio_target" );		dataToTarget( "im_song_data", "im_song_target" );		dataToTarget( "im_book_data", "im_book_target" );		dataToTarget( "im_recording_data", "im_recording_target" );		dataToTarget( "og_orgel_data", "og_orgel_target" );	}  	msg( "ready" );}/* l o o k u p s */function doLookup(node,event) {    var ifr = document.getElementById( node.id + "IFrame" );    var code = event.keyCode;
    var trigger = node.getAttribute( "trigger" );
    if( trigger == undefined || trigger < 1 || trigger > 3 ) trigger = 2;    if( node.value.length < trigger || code == 27 ) {        //less than 3 letters or escape key cancels the lookup        ifr.style.display = "none";        return;    }    var url = document.getElementById( node.id + "URL" ).innerHTML;    url += "&txt=" + escape( node.value );    ifr.src = url;    activeInput = node;    activeLookup = ifr;    //ifr.documentContent.innerHTML = "<center><p>augnablik...</p></center>";    ifr.style.display = "block";    ifr.setAttribute( "target", activeInput.id );}function doneLookup() {    var ifr = activeLookup; //document.getElementById( activeLookup );    activeInput.style.display = "none";    activeInput.value = ifr.getAttribute( "selectedID" );    ifr.style.display = "none";    var btnName = activeInput.id + "SubmitButton";    var btn = document.getElementById( btnName );    btn.click();}
