// 22.7.2011 Umstellung auf neues Template
// Seitennavigation B_X_TN Button wird per ID angesprochen document.getElementsByID("BTN"].name

function Lies_windowName()
{
// wird durch 4n2011-template beim Laden aufgerufen
// Es werden Einstellungen und Suchwörter aus window.name ausgelesen
    var trennzeichen = "&";
    var txt = new Array();
    //Sicherheitshalber Array füllen
    for (var i = 0; i < 6; i++)
    {
      txt[i]="";
    }
    if (window.name)
    { 
      //alert("debuginfo: " + window.name);
      txt  = window.name.split(trennzeichen);
      // hier noch Automatik einfügen falls z.B. nur 2 Stichwortfelder!!!
      //debug
      //for (i = 0; i < txt.length; i++)
      // {
      // alert(txt[i]);
      // }
      if (txt[0]) 
      {
        txt[0] = txt[0].replace("4n","");
        pagesize = parseInt(txt[0], 10);
        //alert("debuginfo: " + pagesize);
        document.getElementById("resultFormat").value = pagesize;
        switch (pagesize) 
        {
          case 12:
            document.getElementById("resultFormat").options[0].selected = true;
            break;
          case 18:
            document.getElementById("resultFormat").options[1].selected = true;
            break;            
          case 24:
            document.getElementById("resultFormat").options[2].selected = true;
            break;
          default:
            document.getElementById("resultFormat").options[1].selected = true;
            break;            
        }
      }
      else
      {
        alert ("Fehler im javascript Lies_windowName(): pagesize hat keinen Wert");
        pagesize = 18;
        document.getElementById("resultFormat").options[1].selected = true;
      }
      
      document.getElementsByName("qVal")[0].value = txt[1];
      document.getElementsByName("qVal")[1].value = txt[3];
      document.getElementsByName("qVal")[2].value = txt[5];
      txt[2] = parseInt(txt[2], 10);
      txt[4] = parseInt(txt[4], 10);
      
      document.getElementById("auswahl1").options[txt[2]].selected = true;
      document.getElementById("auswahl2").options[txt[4]].selected = true;
      // Result Heading schreiben
      var a = 'Gesucht: "' + txt[1] + '" ';
      if (txt[3] != "") a +=  welcheoption(txt[2])+ ' "'  + txt[3]+ '" ';
      if (txt[5] != "") a +=  welcheoption(txt[4])+ ' "'  + txt[5] + '"';
      a += ', ' + resultHeading;
      document.getElementById("queryContents").innerHTML = a;
      // document.getElementById("queryContents").innerHTML = "Gesucht: " + txt[1] + txt[3] + txt[5];
    }
    else
    {
      // default Werte laden
      document.getElementById("resultFormat").value = "4n18";
      document.getElementById("resultFormat").options[1].selected = true;
      document.getElementsByName("qVal")[0].value = "";
      document.getElementsByName("qVal")[1].value = "";
      document.getElementsByName("qVal")[2].value = "";
      document.getElementById("auswahl1").options[0].selected = true;
      document.getElementById("auswahl2").options[0].selected = true;
      document.getElementById("queryContents").innerHTML = 'Gesucht ' + suchstring + ': ' + resultHeading;
    }
}

function Schreib_windowName()
{
var trennzeichen = "&";
if (document.getElementById("resultFormat").value)
{
      window.name = document.getElementById("resultFormat").value;
}
else
{
      alert ("Fehler im javascript Schreib_windowName(): getElementById('resultFormat').value hat keinen Wert");
      window.name = "4n18"; // auf default gesetzt
}
      window.name += trennzeichen + document.getElementsByName("qVal")[0].value;
      window.name += trennzeichen + document.getElementById("auswahl1").selectedIndex;
      window.name += trennzeichen + document.getElementsByName("qVal")[1].value;
      window.name += trennzeichen + document.getElementById("auswahl2").selectedIndex;
      window.name += trennzeichen + document.getElementsByName("qVal")[2].value;
}

function welcheoption (nr)
{
  switch (nr) {
    case 0:
      return "UND";
      break;
    case 1:
      return "ODER";
      break;
    case 2:
      return "JEDOCH NICHT";
      break;
  }
}

function chkModus(type)  
{
  // da Name des Buttons dynamisch geändert, wird zuerst Zustand abgefragt.
  //var buttonname = document.getElementById("BTN").name; geht nicht
  //var knopf = document.getElementById("BTN"); mit knopf.name="B_B_TN"; geht auch nicht

  if (type == "Search_New")
    {
      //alert("Neue suche");
      document.getElementById("BTN").name="B_F_TN";
      Starte_Suche();
    }
  if (type == "Search_All")
    {
       document.getElementById("BTN").name="B_A_TN";
      Starte_Suche();
    }
  if (type == "Basket")
    {
      document.getElementById("BTN").name="B_B_TN";
      Schreib_windowName();
      Bilder_Anzeigen();
    }
}
var SucheOK = 1; //Suchen erlaubt

function Starte_Suche() 
{
  // wenn Suche gestartet werden darf, Sonderzeichen aus keywords entfernen
  //alert ("SucheOK ist: " + SucheOK);
	if (SucheOK == 1) 
	{
		if (document.getElementsByName("qVal")[0].value == "" || document.getElementsByName("qVal")[0].value == "Stichwort eingeben") 
		{
			document.getElementsByName("qVal")[0].value = "Stichwort eingeben";
			return;
    }
    else
		{
      SucheOK = 0; //Starte Suche, keine weiteren Suchen erlaubt
      ;// setInnerTextById('hinweis','Die Suche wurde gestartet, bitte um etwas Geduld...');
  
      Check_Keywords();
      Schreib_windowName();
      Bilder_Anzeigen(); 
    }
  }
}

function Check_Keywords()
{
	var keyword ="";
  for (var i = 0; i < document.getElementsByName("qVal").length; i++) 
      {
        keyword = document.getElementsByName("qVal")[i].value;
		
        if (keyword != "" || keyword != " ")
        {     
			keyword = keyword.replace(/\'/gi,"\'");
			keyword = keyword.replace(/\"/gi,"\'");			
			keyword = keyword.replace(/\"/gi,"");
            keyword = keyword.replace(/ä/gi,"ae");
            keyword = keyword.replace(/'/gi,"\'");			  
            keyword = keyword.replace(/ö/gi,"oe");
            keyword = keyword.replace(/ü/gi,"ue");
              // keyword = keyword.replace(/Ouml;/,"Oe");
              // keyword = keyword.replace(/Auml;/,"Ae");
              // keyword = keyword.replace(/Uuml;/,"Ue");
              keyword = keyword.replace(/ß/gi,"ss");
              document.getElementsByName("qVal")[i].value = keyword;
         }    
      }
      //ist zweites keywort leer, aber drittes gefüllt, dann tauschen
      // erstes keyword muss ohnehin immer gefüllt sein für Start Suche    
      if (document.getElementsByName("qVal")[1].value == "" && document.getElementsByName("qVal")[2].value != "")
      {
        document.getElementsByName("qVal")[1].value = document.getElementsByName("qVal")[2].value;
        document.getElementsByName("qVal")[2].value = "";
        document.getElementById("auswahl1").selectedIndex = document.getElementById("auswahl2").selectedIndex;
        document.getElementById("auswahl2").selectedIndex = 0;
      }
}

function Bilder_Anzeigen() 
{           
      document.forms[0].submit();
      document.getElementById("warte").style.visibility="visible";    
      document.body.style.cursor = "wait";  
}

function resultFormat_change()
{
  // zur Sicherheit Seitennavigation weg
  document.getElementById('navi').innerHTML ='';
  // BTN auf Neue Suche umstellen
  document.getElementById("BTN").name="B_F_TN";
  Check_Keywords();
  Schreib_windowName();
  Bilder_Anzeigen();  
}

function setInnerText (element, text) 
{
     if (typeof element.innerText != 'undefined') {
       element.innerText = text;
     }
     else if (typeof element.appendChild != 'undefined') {
       while (element.hasChildNodes()) {
         element.removeChild(element.lastChild);
       }
       element.appendChild(document.createTextNode(text));
     }
}
   
function setInnerTextById (elementId, text) 
{
     var element;
     if (document.getElementById) {
       element = document.getElementById(elementId);
     }
     else if (document.all) {
       element = document.all[elementId];
     }
     if (element) {
       setInnerText(element, text);
     }
}

function ShowPreview(pfad,caption,nummer,name,strH,strB,copyright)
{
  var Hoehe = 600;
  var Breite = 500;
  var str;
  var x;
  var option;
  var inhalt;

  strH = parseInt(strH);
  strB = parseInt(strB);
   if (strH > strB) Hoehe = 750;
  /*
  var maxbreite = screen.width;
   if (Breite > maxbreite)
    { Breite = maxbreite;}

   if (Hoehe > screen.height)
    { Hoehe = screen.height;}
  */
  option = "scrollbars=yes, resizable=yes,status=no,menubar=no,top=20,left=20,width="; 
  option +=  Breite;
  option += ", height=";
  option +=  Hoehe;
  Inhalt = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>";
  Inhalt += "<HTML><HEAD><TITLE>Bildvorschau</TITLE><style type='text/css'><!--";
  Inhalt += "body {background-color:#FFFFFF; margin-top:3px; margin-left:3px; font-size: 10pt; font-family: Verdana,Arial, Helvetica, sans-serif;color: #101010;} --></style>";
  Inhalt += "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";
  Inhalt += "</HEAD><BODY topmargin=3 leftmargin=3 >";
  Inhalt += "<CENTER><a href=\'javascript:self.close()' ><IMG SRC=' " + pfad + " ' Border=0 ALT='Layoutbild speichern (Mac: Ctrl + Mausklick, PC: rechte Maustaste) - Abdruck nur gegen Honorar' > </A><BR>";
  Inhalt += "<b>" + name + "</b></CENTER><BR>";
  Inhalt += "<b>Bildnummer: </b>" +  nummer + "<BR>";
  Inhalt += "<b>Bildbeschreibung: </b>" + caption + "<BR>";
  Inhalt += "<b>Copyrightvermerk: </b>" + copyright + "<BR>" + "</div>";
  preview = window.open("","Name", option);
  preview.resizeTo(Breite,Hoehe);
  preview.document.open();
  preview.document.write(Inhalt);
  preview.document.write("</BODY></HTML>");
  preview.document.close();
  preview.focus();
}
// ************************************************************************
function checkform()
{
  var Danke;
  var Option;
    if (document.Anfrageformular.Name.value.length <3)
    {  
    document.Anfrageformular.Name.focus();
      alert("Geben Sie bitte Ihren Namen ein.");
        return (false);
    }

  //  if (document.Anfrageformular.Adresse.value.length <6)
  //  {
  //	document.Anfrageformular.Adresse.focus();
  //   	alert("Geben Sie bitte Ihre Adresse ein.");
  //    	return (false);
  //  }
    if (document.Anfrageformular.Telefon.value.length <5)
    {
    document.Anfrageformular.Telefon.focus();
      alert("Geben Sie bitte Ihre Telefonnummer ein.");
        return (false);
    }
    if (document.Anfrageformular.email.value.length <7)
    {
    document.Anfrageformular.email.focus();
      alert("Geben Sie bitte Ihre email-Adresse ein.");
        return (false);
    } 
     if (document.Anfrageformular.email.value.indexOf("@")==-1)
     {
      alert("Geben Sie bitte eine gültige email-Adresse ein.");
      document.Anfrageformular.email.focus();
      return (false);
     }
     if (document.Anfrageformular.email.value.indexOf(".")==-1)
     {
      alert("Geben Sie bitte eine gültige email-Adresse ein.");
      document.Anfrageformular.email.focus();
      return (false);
     } 
    if (document.Anfrageformular.Verwendungszweck.value.length <5)
    {
    document.Anfrageformular.Verwendungszweck.focus();
      alert("Geben Sie bitte einen Verwendungszweck für die Bilder an.");
        return (false);
    } 
   
    Option = "scrollbars=yes, resizable=yes,status=no,menubar=no,top=20,left=20,width=400, height=500";
    Danke = window.open("","Danke", Option);
    Danke.resizeTo(500,600);
    Danke.document.open();
    document.Anfrageformular.action="/scripts/perl/ronmail_4n3.pl";
    document.Anfrageformular.method="post";
    //parent.frames['bilder'].document.Anfrageformular.target= Danke;
    document.Anfrageformular.submit();
}


//********** Navigation durch Seiten ***************
function PageNavigation()
{

  var pad = " "; // Abstand zu nächstem Zeichen
  var ref="";
  var temp;
  //var navzehn;

    //momantane SeitenDekade 10, 20, 30 ....
    //navzehn = currentpage/20 - 20 * currentpage % 20;	
    var imin = 1;
    var imax = maxpages;
    //
    if (maxpages > 20) 
    {
      imin = currentpage - 10;
      if (imin < 1) { imin=1;}
      imax = currentpage +10;
      if (imax >= maxpages) { imax = maxpages; }
      // wenn mehr vorhanden, sollen immer mind. 20 Seiten  angezeigt werden
      //alert("imin: " + imin + ", imax: " + imax + ", currentpage: " + currentpage + ", maxpages: " + maxpages);
      var a = imax - imin;
      if (a < 20) 
      {
        // alert("bis hierher ok");
        if ((imax - currentpage) < 10) 
        {
          imin = imin - 10 + imax - currentpage;
          if (imin < 1) { imin=1;}
        }     
        else 
        {
          if ((currentpage - imin) <= 10) 
          {         
            imax = imax + 10 - currentpage + imin;
            if (imax >= maxpages) { imax = maxpages; }
          }
        }
      }
    }
  //alert("imin: " + imin + ", imax: " + imax + ", currentpage: " + currentpage + ", maxpages: " + maxpages);
	// Seitenlinks schreiben (ausser für die aktuelle Seite)
	for ( var i=imin; i <= imax; i++)
  { 
		if (i != currentpage) 
    { 
			ref += pad + "<li><a href='javascript:GoToPage("+ i + ")'>" + i + "</a></li>";
    }
		else 
    {
			ref += pad + "<li>" + i + "</li>";
    }
	}
  // alle links geschrieben, nun ....
  //alert(ref);
  if (imax < maxpages) 
  {
    ref += "<li> ... </li>";
  }
  if (imin > 1) 
  {
    ref = "<li> ... </li>" + ref;
  }
  // Pfeil vorherige Seite
  if (currentpage > 2) {
		i = currentpage - 1;
		temp =  "<li><a href='javascript:GoToPage(" + i + ")'><img src= '";
		temp += "../layout/ret.jpg' alt='vorherige Seite'></a></li>";
    ref = temp + ref;
		}
	// wenn aktuelle Seite größer 1 dann Pfeil "erstes Bild"
	if (currentpage > 1) 
  {
		i = 1;
		temp = "<li><a href='javascript:GoToPage(" + i + ")'>";
		temp += "<img src= '" + "../layout/first.jpg' alt='erste Seite'></a></li>";
    ref = temp + ref;
	}
	
	if (currentpage < maxpages - 1) 
  {
		// auf der vorvorletzten Seite auch Pfeil nächste Seite schreiben
		i = currentpage + 1;
		temp =  "<li><a href='javascript:GoToPage(" + i + ")'><img src= '";
		temp += "../layout/ff.jpg' alt='n&auml;chste Seite'></a></li>";
    ref = ref + temp;
	}
	if (currentpage < maxpages ) 
  {
		// auf der vorletzten Seite Pfeil letzte Seite schreiben
		i = maxpages;
		temp =  "<li><a href='javascript:GoToPage(" + i + ")'><img src= '";
		temp += "../layout/last.jpg' alt='letzte Seite'></a></li>";
    ref = ref + temp;
	}
  
  ref = "<ul>" + ref + "</ul>";
  document.getElementById("navi").innerHTML = ref;
  //document.write(ref);
}

//*************************************************
function GoToPage(pageNum)
{
  var tname = "B_X_TN,QPN" + pageNum;
  document.forms[0].B_X_TN.name=tname;
  //document.forms[0].submit();
  //document.getElementById("warte").style.visibility="visible";
  Bilder_Anzeigen();
}
//*************************************************
function getCurrentPage() 
{
  //alert("function getCurrentPage");
  var tmp = (firstitem - 1) / pagesize +1;

  if (tmp < 1) tmp = 1;
  return tmp;
}
//*************************************************
function getMaxPage_alt() {
var tmp = Math.floor(itemsfound / pagesize);
if (tmp < 1) {
	tmp=1;}
else {
	var a = itemsfound % pagesize;
	var b = pagesize / 2;
	if (a >= b){
		if (a != 0){
		tmp +=1;}
	}
}
alert("temp: " + tmp);
return tmp;
}

function getMaxPage() 
{ 
  var tmp = Math.floor(itemsfound / pagesize);
  if (tmp < 1) 
  {
    tmp=1;
  }
  else 
  {
    var a = itemsfound % pagesize;
    //unterschiedlich bei (un-)geraden maxpages
    //if (pagesize % 2 != 0) 	b = (pagesize-1) / 2;
    //else var b = pagesize / 2;
    // var b = pagesize / 2; => funktioniert nicht bei pagesize=15 und itemsfound=22
    var b = Math.floor(pagesize / 2);
    if ( a >= b && a != 0 ) tmp += 1;
  }
  return tmp;
}	

//**********************************************************
//**********************************************************

