// Javascript1.2 njelitt.js
//
// $Id: njelitt.js,v 1.3 2007-05-07 19:32:40+02 nje Exp nje $
//
// 000402 Niels Jensen
// 000529 tilføjet fpopup(), opopup(fnavn)
// 000531 tilføjet homelink
// 000705 flyttet til www.litteraturpriser.dk
// dummy udgave af bibliotekdk() og henvisning()
// 000713 Netscape 4.5 aar 2000 problem i opdateringsdato
//        bibliotekdk og henvisning ikke dummy
// 000817 henvisning anker substring rettet til 0,2 (fra 1,2)
// 000927 target _blank i bibliotekdk
// 010111 bibdkgif tilføjet
//        henvisninger link vises som person.gif
//        bibliotek.dk link virker og aktiv
// 011021 henvisningdir og seogsaadir med parameter for dirtype
// 030304 rettet bibliotek.dk link
// 060524 forbehold om indhold funtions-kald
// 060526 ekseperiment med AJAX
// 060528 der skal altid være en div med navnet teaterlink
// 070222 kald til revivestatus giver fejl, udgangspunkt er ccollect
//        tilsyneladende uden sideeffekt !? 
// 080311 switchrolleliste
// 090205 google search
// 090208 tobanner

var mysiteurl = "www.litteraturpriser.dk";
var httpurl = "http://" + mysiteurl + "/";
var mitnavn = "Niels Jensen";
var homeurl = "default.htm";
var ordet_dramatik = "Dramatik";
var indholdsforbehold = "Titler af forfatteren i perioden 1500-1908. Upr&aelig;gnante titler og anonyme v&aelig;rker kan mangle.";
var forfatter_med_dramatik = "Se ogs&aring; liste over <a href=\"#Dramatik\">opf&oslash;rt dramatik</a> på danske teatre";
var forfatter_kun_dramatik = "Opf&oslash;rt dramatik i perioden 1722-1975";
var mygsearchapikey="ABQIAAAAFWFaIcie729VzkuX0b1MDxTo8xUxUpyYu9S5I9WZh8LPZp6iVRS6OJ6TVPfnKOqLMNlYi4XhyxWcsQ";
var mygsearchrestriction = mysiteurl;
var mygsearchlabel = "Resultater fra "  + mygsearchrestriction;
var mygsearchdivtxt = "S&oslash;g i " + mygsearchrestriction;
var topbanner = "<div class=topbanner><map name='FPMap0'><area href='http://www.litteraturpriser.dk/hvorfor.htm' shape='rect' coords='559, 55, 723, 90'><area href='http://www.litteraturpriser.dk' shape='rect' coords='0, 47, 136, 91'><area href='http://www.litteraturpriser.dk' shape='rect' coords='138, 2, 775, 91'><area href='http://www.bogguide.dk' shape='rect' coords='0, 0, 139, 46'></map><img src='/pics/litteraturpriserbanner.jpg' alt='Banner' usemap='#FPMap0' align='middle' border='0'></div>"

// reload må ikke forekomme når ajax skal virke !!
//window.onresize = new Function("window.location.reload()");

// 20060528 modificeret efter http://www.javascriptkit.com/dhtmltutors/dhtmlrotate4.shtml
// IE4 og NS6+ kender ikke getElementbyTagName
// omdøbt for at adskille fra lignende funktion fra www.dynamicdrive.com
function switchgetElementbyClass(classname, tagvalue){
  var inc=0
  var alltags=document.all? document.all : document.getElementsByTagName("*")
  for (i=0; i<alltags.length; i++){
    if (alltags[i].className==classname) {
      alltags[i].style.display=tagvalue;
    }
	}
	if (tagvalue == 'none') {
	  document.getElementById("visejspilledage").style.display = 'none';
		document.getElementById("visspilledage").style.display = 'block';
	}
	else {
	  document.getElementById("visejspilledage").style.display = 'block';
		document.getElementById("visspilledage").style.display = 'none';
	}
}

// 20080311 switch af rolleliste collaps/expand efter load via ajax-kald
function switchrolleliste(tagvalue){
  	if (tagvalue == 'none') {
	  document.getElementById("visejajaxrolleliste").style.display = 'block';
	    document.getElementById("visajaxrolleliste").style.display = 'none';
	}
	else {
	  document.getElementById("visejajaxrolleliste").style.display = 'none';
	    document.getElementById("visajaxrolleliste").style.display = 'block';
	}
}

/***********************************************
* Switch Content script II- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated April 2nd, 2005.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var memoryduration="7" //persistence in # of days

var contractsymbol='../minus.gif' //Path to image to represent contract state.
var expandsymbol='../plus.gif' //Path to image to represent expand state.
var contractalttext = 'kollaps'
var expandalttext = 'ekspander'

/////No need to edit beyond here //////////////////////////

function getElementbyClass(rootobj, classname){
  var temparray=new Array()
  var inc=0
  var rootlength=rootobj.length
  for (i=0; i<rootlength; i++){
    if (rootobj[i].className==classname)
	    temparray[inc++]=rootobj[i]
  }
  return temparray
}

function sweeptoggle(ec){
  var inc=0
  while (ccollect[inc]){
    ccollect[inc].style.display=(ec=="contract")? "none" : ""
    inc++
  }
  revivestatus()
}

function expandcontent(curobj, cid){
  if (ccollect.length>0){
    document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="none")? "none" : ""
    curobj.src=(document.getElementById(cid).style.display=="none")? expandsymbol : contractsymbol
	curobj.alt=(document.getElementById(cid).style.display=="none")? expandalttext : contractalttext
  }
}

function revivecontent(){
  selectedItem=getselectedItem()
  selectedComponents=selectedItem.split("|")
  for (i=0; i<selectedComponents.length-1; i++) 
  document.getElementById(selectedComponents[i]).style.display="none" 
}

function revivestatus(){
  var inc=0
  // 20070222 udgangspunkt i ccollect, ikke statecollect som org. giver fejl på teatersider
  while (ccollect[inc]){
    if (ccollect[inc].style.display=="none") {
		statecollect[inc].src=expandsymbol
		statecollect[inc].alt=expandalttext
	} 
    else {
		statecollect[inc].src=contractsymbol
		statecollect[inc].alt=contractalttext
	}  
    inc++
  }
}

function get_cookie(Name) { 
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) { 
      offset += search.length
      end = document.cookie.indexOf(";", offset);
      if (end == -1) 
		    end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
    }
  }
  return returnvalue;
}

function getselectedItem(){
  if (get_cookie(window.location.pathname) != ""){
    selectedItem=get_cookie(window.location.pathname)
    return selectedItem
  }
  else
    return ""
}

function saveswitchstate(){
  var inc=0, selectedItem=""
  while (ccollect[inc]){
    if (ccollect[inc].style.display=="none")
      selectedItem+=ccollect[inc].id+"|"
    inc++
  }
  if (get_cookie(window.location.pathname)!=selectedItem){ //only update cookie if current states differ from cookie's
    var expireDate = new Date()
    expireDate.setDate(expireDate.getDate()+parseInt(memoryduration))
    document.cookie = window.location.pathname+"="+selectedItem+";path=/;expires=" + expireDate.toGMTString()
  }
}

function do_onload(){
  uniqueidn=window.location.pathname+"firsttimeload"
  var alltags=document.all? document.all : document.getElementsByTagName("*")
  ccollect=getElementbyClass(alltags, "switchcontent")
  statecollect=getElementbyClass(alltags, "showstate")
  if (enablepersist=="on" && get_cookie(window.location.pathname)!="" && ccollect.length>0)
    revivecontent()
  if (ccollect.length>0 && statecollect.length>0)
    revivestatus()
}

function init_collaps() {
  if (window.addEventListener)
    window.addEventListener("load", do_onload, false)
  else if (window.attachEvent)
    window.attachEvent("onload", do_onload)
  else if (document.getElementById)
    window.onload=do_onload

  if (enablepersist=="on" && document.getElementById)
    window.onunload=saveswitchstate 
}		

/***********************************************
* slut
* Switch Content script II- © Dynamic Drive (www.dynamicdrive.com)
***********************************************/

/******************************
* prototype ajax.updater, 20080316
******************************/
function makeAjaxUpdate(url, mydivid) 
{
new Ajax.Updater({ success: mydivid}, url, {   method: 'get',   insertion: Insertion.Top }); 
}

/******************************
* non-prototype ajax
******************************/
function makeHttpRequest(url, callback_function, mydivid, return_xml) 
{ 
   var http_request = false; 

   if (window.XMLHttpRequest) { // Mozilla, Safari,... 
       http_request = new XMLHttpRequest(); 
       if (http_request.overrideMimeType) { 
           http_request.overrideMimeType('text/xml'); 
       } 
   } else if (window.ActiveXObject) { // IE 
       try { 
           http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
       } catch (e) { 
           try { 
               http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
           } catch (e) {} 
       } 
   } 

   if (!http_request) { 
       alert('Din browserversion underst&oslash;tter ikke denne funktion (XMLHttpRequest).'); 
       return false; 
   } 
   http_request.onreadystatechange = function() { 
       if (http_request.readyState == 4) { 
           if (http_request.status == 200) { 
               if (return_xml) { 
                   eval(callback_function + '(http_request.responseXML)'); 
               } else { 
                   eval(callback_function + '(mydivid,http_request.responseText)'); 
               } 
           } else { 
               alert('Den eksterne resource medf&oslash;rte fejl.(Kode: ' + http_request.status + ')'); 
           } 
       } 
   } 
   http_request.open('GET', url, true); 
   http_request.send(null); 
}

/*****************************************************************************
**  hvis forfatter kun har skrevet dramatik, så ikke link til oversigt, kun tekst
**  men for ikke at få javascript-fejl skal id=teaterlink altid eksistere
**  kan kendes ved enten at være tom eller ordet 'Dramatik' 
**********************************************************************'*******/ 
function linktildramatik(mydivid) {
   if (document.getElementById(mydivid).innerHTML == ordet_dramatik) 
	   document.getElementById(mydivid).innerHTML = forfatter_kun_dramatik;	 
   else
	   document.getElementById(mydivid).innerHTML = forfatter_med_dramatik;
}

function fylddiv(mydivid, tekst) {
   document.getElementById(mydivid).innerHTML = tekst;
}

function lukdiv(mydivid) {
   document.getElementById(mydivid).innerHTML = '';
}

function skriv(tekst)  {
  document.write(tekst);
}

function bibliotekdk(faustnr, tekst) {
// pt. kodet til bibliotek.dk
var bibdkgif  = "<IMG ALIGN='Bottom' BORDER=0 SRC='/pics/bibdk.gif' WIDTH='25' HEIGHT='25' ALT='Biblioteker'>";
var kkblink   = "<a href='http://bibliotek.kk.dk/kkbvis?" + faustnr +
                "' target='_blank'>" + bibdkgif + " " + tekst + "</a>";
var bibdklink = "<a href='http://bibliotek.dk/linkme.php?ccl=lid%3D"
                + faustnr + "' target='_blank'>" + bibdkgif + " " + tekst + "</a>";
var kkb = false;

  if (kkb) {
    document.write(kkblink);
  }
  else {
    document.write(bibdklink);
  }
}

function w3chtml(version) {
var gif401 = "<a href='http://validator.w3.org/check?uri=referer'><img src='http://www.w3.org/Icons/valid-html401' alt='Valid HTML 4.01 Transitional' height='31' width='88' border='0' align='right'></a>";
var gif = "";
	if (version == "4.01") {
		gif = gif401;
	}
	document.write(gif);
}

function henvisning(anker, tekst) {
// gammel type kald af henvisning
  henvisningdir(anker, tekst, "");
}

function henvisningdir(anker, tekst, dirtype) {
// 
var linkgif="<IMG ALIGN='Bottom' BORDER=0 SRC='../person.gif' WIDTH='25' HEIGHT='25'";
var talt = " ALT='" + tekst + "'>";
var autanker = anker.substr(0,2) + ".htm#" + anker;
var authref = "";
var dummy = false;

  // kald fra under-dir
  if (dirtype.length > 0) {
    autanker = "../" + dirtype + "/" + autanker;
  }

  if (dummy) {
     // skip
  }
  else { 
    authref = " <a href='" + autanker + "'>"+ linkgif + talt + "</a>";
    document.write(authref);
  }	
}

function seogsaa(anker, tekst) {
// 
  henvisningdir(anker, tekst, "");
}

function seogsaadir(anker, tekst, dirtype) {
// 
  henvisningdir(anker, tekst, dirtype);
}

function homelink(sti,tekst) {
var s = "";
var s1 = mitnavn;
  if (sti.length > 0) {
    s = sti;
  }
  if (tekst.length > 0) {
    s1 = tekst;
  }
  skriv(sidesti(s, s1));
}

function sidesti(sti,tekst) {
  return "<A HREF='" + sti + homeurl + "'>" + tekst + "</A>";
}

function sidehoved(sti) {
  var s1 = "<P>" ;
  var s2 ="</P>";

  if (window.name=='popup') {
    fpopup();
  }
  else {
    if (sti.length > 0) {
      s1 = "<P>" + sidesti(sti, "Til forsiden");
    }

    if (history.length > 0) {
      s2= " -- <A HREF='JavaScript:history.back()'>Tilbage</A></P>";
    } 
    skriv(s1 + s2);
  }
}

function sidefod(sti,navn) {
  var s  = "../";
  var s1 = "";
  var s2 = "<DIV class='sidensURL'>URL for denne side er: <I>";
  var s3 = "</I></DIV>\n";

  if (navn == "") {
    s2 = s2 + document.URL + s3;
  }
  else {
    s2 = s2 + httpurl + sti + navn + ".htm" + s3;
  }

  if (sti == "") {
    s = "";
  }

  s1 = sidesti(s, mitnavn) + "<HR>";

  if (window.name=='popup') {
    fpopup();
    s1 = "<HR>";
  }

  skriv(s1 + s2);
}

function opdateringsdato(tekst) {
  var maanedA = new Array("januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december");
  var dag = new Date(Date.parse(document.lastModified));
  var y = dag.getFullYear();

// indledende tekst ?
  if (arguments.length == opdateringsdato.length) {
    skriv(tekst);
  }
  else skriv("Sidst opdateret: ");

  skriv(dag.getDate());
  skriv(". ");
  skriv(maanedA[dag.getMonth()]);
  skriv(" ");
  // Netscape 4.5 har problemer med aar 2000
	if (y < 2000) {
	  y = y + 100;
	}
  skriv(y);
}

function fpopup() {
  if (window.name=='popup') {
    document.write("<form><INPUT TYPE='button' VALUE='Luk vindue' onClick='window.close()'></form>");
  }
}	

function opopup(fnavn) {
  window.open(fnavn,'popup', "toolbar=no,scrollbars=yes");
}

// 20080330
function resetMenu() {
// resets the menu selection upon entry to this page
   document.gomenu.selector.selectedIndex = 2;
}

// 20080330
function goPage (newURL) {
// This function is called from the pop-up menus to transfer to
// a different page. Ignore the value returned is a null string

   	if (newURL != "") {
   	
// skip the menu dividers and reset the menu selection to default
   		if (newURL == "-" ) {
			resetMenu();			
		} else {  
// send page to designated URL		 	
   			document.location.href = newURL;
   		}
   	}
}



//slut njelitt.js
