var req = null; 
var g_pic_number;
var g_insert;
var g_sess_id;


function getReq()
{
  // Internet Explorer
  try
  { 
    req = new ActiveXObject("Msxml2.XMLHTTP");
  } 
  catch(e)
  { 
    try 
	  { 
	    req = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    catch(oc)
	  {
	    req = null;
	  } 
  } 

  // Mozailla/Safari 
  if (req == null && typeof XMLHttpRequest != "undefined")
  {
    req = new XMLHttpRequest();
  } 

  return req;
}


function getObject(name)
{ 
   var ns4 = (document.layers) ? true : false; 
   var w3c = (document.getElementById) ? true : false; 
   var ie4 = (document.all) ? true : false; 

   if (ns4) return eval('document.' + name); 
   if (w3c) return document.getElementById(name); 
   if (ie4) return eval('document.all.' + name); 
   return false; 
}


function checkNumber(value)
{
  for (i = 0; i < value.length; i++)
  {
    if (value.charAt(i) < "0" || value.charAt(i) > "9")
    {
      return false;
    }
  }
  
  return true;
}


function processChangeDummy()
{ 
  try
  {
    // The page has loaded and the HTTP status code is 200 OK 
    if (req != null && req.readyState == 4 && req.status == 200)
    { 
      if (getObject("debug_output"))
      {
        // getObject("debug_output").innerHTML = req.responseText;
      }
    } 
  }
  catch(e)
  {
  }
} 


function bufferScreenWidth()
{
  if (window.innerWidth)
  {
    breite = window.innerWidth;
  }
  else
  {
    breite = document.body.clientWidth;
  }

  var url = "/eib_func/eib_buffer_screen_width.php?width=" + breite + "&rnd=" + Math.round(Math.random() * 10000);
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangeDummy; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}
  
  
function searchformChanged()
{
  if (document.form_preferences.pref_searchform[0].checked)
  {
    mode = 1;

    getObject("searchform_simple").style.display = "block";
    getObject("searchform_extended").style.display = "none";
    
    getObject("suche_voll_einfach").focus();
  }
  else
  {
    mode = 2;

    getObject("searchform_simple").style.display = "none";
    getObject("searchform_extended").style.display = "block";

    getObject("suche_voll_erweitert").focus();
  }

  var url = "/eib_func/eib_buffer_searchform_preferences.php?mode=" + mode + "&rnd=" + Math.round(Math.random() * 10000);
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangePrefChanged; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}
  
  
function outputChanged()
{
  if (document.form_preferences.pref_output[0].checked)
  {
    mode = 1;
  }
  else
  {
    mode = 2;
  }

  var url = "/eib_func/eib_buffer_output_preferences.php?mode=" + mode + "&rnd=" + Math.round(Math.random() * 10000);
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangePrefChanged; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}
  
  
function thumbnailChanged()
{
  if (document.form_preferences.pref_thumbnail[0].checked)
  {
    mode = 1;
  }
  else
  {
    mode = 2;
  }

  var url = "/eib_func/eib_buffer_thumbnail_preferences.php?mode=" + mode + "&rnd=" + Math.round(Math.random() * 10000);
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangePrefChanged; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}


function processChangePrefChanged()
{ 
  try
  {
    // The page has loaded and the HTTP status code is 200 OK 
    if (req != null && req.readyState == 4 && req.status == 200)
    { 
      if (!getObject("suche_voll_einfach") && !getObject("suche_voll_erweitert"))
      {
        location.reload();
      }
    } 
  }
  catch(e)
  {
  }
} 


function choosePic(pic_number, sess_id, version)
{
  g_pic_number = pic_number;
  g_sess_id = sess_id;
  
  if (version == 1)
  {
    if (getObject('chkbox' + g_pic_number) && getObject('chkbox' + g_pic_number).checked == true)
    {
      g_insert = 1;
    }
    else
    {
      g_insert = 0;
    }
  }
  else
  {
    g_insert = 0;
  }

  var url = "/eib_func/eib_choose_pic.php?pic=" + pic_number + "&sess_id=" + sess_id + "&insert=" + g_insert + "&rnd=" + Math.round(Math.random() * 10000);
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangeChoosePic; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}


function processChangeChoosePic()
{
  try
  {  
    if (req != null && req.readyState == 4 && req.status == 200)
    {
      if (getObject('chkbox' + g_pic_number))
      {
        pic_number = parseInt(g_pic_number, 10);
      
        if (g_insert == 1)
        {
          getObject('chkbox' + g_pic_number).checked = true;
        }
        else
        {
          getObject('chkbox' + g_pic_number).checked = false;
        }
      }
    
      var url = "/eib_inc/eib_xml_basket.php?sess_id=" + g_sess_id + "&rnd=" + Math.round(Math.random() * 10000);
      req = getReq();

      if (req != null)
      {
        req.onreadystatechange = processChangeListPic; 
        req.open("GET", url, true); 
        req.send(null); 
      } 
    } 
  }
  catch(e)
  {
  }
} 


function createPicEntry(sessionid, id, large, title, small, alt)
{
  var ie4 = (document.all) ? true : false;
  
  var newDiv = document.createElement("div");
  newDiv.setAttribute("id", "divpic" + id);
  
  if (ie4 == true)
  {
    newDiv.style.styleFloat = "left"; 
  }
  else
  {
    newDiv.style.cssFloat = "left"; 
  }
  
  var newTable = document.createElement("table");
  
  var newColgroup = document.createElement("colgroup");
  var newCol1 = document.createElement("col");
  newCol1.setAttribute("width", "100");
  var newCol2 = document.createElement("col");
  newCol2.setAttribute("width", "10");
  var newCol3 = document.createElement("col");
  newCol3.setAttribute("width", "50");
  newColgroup.appendChild(newCol1);
  newColgroup.appendChild(newCol2);
  newColgroup.appendChild(newCol3);
  newTable.appendChild(newColgroup);

  var newTbody = document.createElement("tbody");
  var newRow = document.createElement("tr");
  var newColumn1 = document.createElement("td");
  // var newLink = document.createElement('a');
  // newLink.setAttribute("href", large);
  
  var newImage1 = document.createElement('img');
  newImage1.setAttribute("src", small);
  newImage1.setAttribute("alt", alt);
  newImage1.setAttribute("title", title);
  newImage1.setAttribute("border", "0");
  
  // newLink.appendChild(newImage1);
  newColumn1.appendChild(newImage1);
  newRow.appendChild(newColumn1);
  
  var newColumn2 = document.createElement("td");
  newRow.appendChild(newColumn2);

  var newColumn3 = document.createElement("td");
  var newData = document.createTextNode(parseInt(id,10));
  newColumn3.appendChild(newData);
  var newBreak1 = document.createElement('br');
  newColumn3.appendChild(newBreak1);
  var newBreak2 = document.createElement('br');
  newColumn3.appendChild(newBreak2);
  
  var newButton = document.createElement("button");
  
  if (ie4 == true)
  {
    newButton.setAttribute("className", "button_remove_list");
    
    newButton.onclick = function()
    {
      choosePic(parseInt(id,10), sessionid, 2);
    };
  }
  else
  {
    newButton.setAttribute("class", "button_remove_list");
    var s = '"' + parseInt(id,10) + '","' + sessionid + '","2"';
    newButton.setAttribute("onclick", 'choosePic(' + s + '); ');
  }
  
  var newImage2 = document.createElement('img');
  newImage2.setAttribute("src", "/pics/remove.gif");
  newImage2.setAttribute("alt", "");
  newImage2.setAttribute("border", "0");
  newButton.appendChild(newImage2);
  newColumn3.appendChild(newButton);
  
  newRow.appendChild(newColumn3);
  
  newTbody.appendChild(newRow);
  newTable.appendChild(newTbody);
  newDiv.appendChild(newTable);
  document.getElementById('output_list').appendChild(newDiv);
}


function processChangeListPic()
{
  try
  {
    if (req != null && req.readyState == 4 && req.status == 200)
    {
      var knoten = document.getElementById('output_list').firstChild;
      
      while (knoten != null)
      {
        document.getElementById('output_list').removeChild(knoten);
        knoten = document.getElementById('output_list').firstChild;
      }
    
      var pics = req.responseXML.getElementsByTagName("pic");
      
      if (pics.length > 0)
      {
        for (var i=0; i < pics.length; i++)
        {
          createPicEntry
            (
              pics[i].getAttribute("sessionid"),
              pics[i].getAttribute("id"),
              pics[i].getAttribute("large"),
              pics[i].getAttribute("title"),
              pics[i].getAttribute("small"),
              pics[i].getAttribute("alt")
            );
        }

        tooltip.init();
      }
      else
      {
        var newData = document.createTextNode("Keine Auswahl");
        document.getElementById('output_list').appendChild(newData);
      }
    }
  }
  catch(e)
  {
  }
} 


function viewRequestForm()
{
  if (getObject("view_request_form"))
  {
    getObject("view_request_form").style.display = "none";
  }
  
  if (getObject("request_form"))
  {
    getObject("request_form").style.display = "block";
  }
}


function closeRequestForm()
{
  if (getObject("view_request_form"))
  {
    getObject("view_request_form").style.display = "block";
  }
  
  if (getObject("request_form"))
  {
    getObject("request_form").style.display = "none";
  }
}


function processChangeSendRequest()
{
  try
  {
    if (req != null && req.readyState == 4 && req.status == 200)
    {
      alert(req.responseText.substr(0, req.responseText.indexOf("ENDE")));
      
      if (getObject("view_request_form"))
      {
        getObject("view_request_form").style.display = "block";
      }
      
      if (getObject("request_form"))
      {
        getObject("request_form").style.display = "none";
      }
      
      location.reload();
    }
  }
  catch(e)
  {
  }
}


function sendRequest()
{
  if (getObject("kontakt_name"))
  {
    if (getObject("kontakt_name").value == "Ihr Name")
    {
      alert("Bitte einen Namen angeben!");
      getObject("kontakt_name").focus();
      return;
    }
  }
  
  if (getObject("kontakt_email"))
  {
    if (getObject("kontakt_email").value == "Ihre E-Mail"
        || eMailCheck (getObject("kontakt_email").value) == false)
    {
      alert("Bitte eine gültige E-Mail-Adresse angeben!");
      getObject("kontakt_email").focus();
      return;
    }
  }

  var url = "/eib_func/eib_send_request.php?name=" + getObject("kontakt_name").value
          + "&email=" + getObject("kontakt_email").value
          + "&nachricht=" + getObject("kontakt_nachricht").value;
          
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangeSendRequest; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}


function eMailCheck(address)
{
  var regtest = false;
  var valid = false;

  if (typeof(RegExp) == 'function')
  {
    var reg = new RegExp('eib');
    
    if(reg.test('eib') == true)
    {
      regtest = true;
    }
  }

  if (regtest == true)
  {
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)' + '(\\@)([a-zA-Z0-9\\-\\.]+)' + '(\\.)([a-zA-Z]{2,4})$');
    valid = (reg.test(address));
  }
  else
  {
    valid = (address.search('@') >= 1
           && address.lastIndexOf('.') > address.search('@')
           && address.lastIndexOf('.') >= address.length - 5)
  }
  
  return (valid);
}


function viewSetlistForm()
{
  if (getObject("view_request_form"))
  {
    getObject("view_request_form").style.display = "none";
  }
  
  if (getObject("setlist_form"))
  {
    getObject("setlist_form").style.display = "block";
  }
}


function closeSetlistForm()
{
  if (getObject("view_request_form"))
  {
    getObject("view_request_form").style.display = "block";
  }
  
  if (getObject("setlist_form"))
  {
    getObject("setlist_form").style.display = "none";
  }
}


function processChangeSaveSetlist()
{
  try
  {
    if (req != null && req.readyState == 4 && req.status == 200)
    {
      // alert(req.responseText);
      
      if (getObject("view_request_form"))
      {
        getObject("view_request_form").style.display = "block";
      }
      
      if (getObject("setlist_form"))
      {
        getObject("setlist_form").style.display = "none";
      }
    }
  }
  catch(e)
  {
  }
}


function saveSetlist()
{
  if (getObject("setlist_name"))
  {
    if (getObject("setlist_name").value == "Name des Setlists")
    {
      alert("Bitte einen Namen angeben!");
      getObject("setlist_name").focus();
      return;
    }
  }

  var url = "/eib_func/eib_save_setlist.php?name=" + getObject("setlist_name").value;
          
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangeSaveSetlist; 
    req.open("GET", url, true); 
    req.send(null); 
  } 
}


function processChangeDeleteCurrentList()
{
  try
  {
    if (req != null && req.readyState == 4 && req.status == 200)
    {
      // alert(req.responseText);
      
      if (getObject("view_request_form"))
      {
        getObject("view_request_form").style.display = "block";
      }
      
      if (getObject("setlist_form"))
      {
        getObject("setlist_form").style.display = "none";
      }
    }
  }
  catch(e)
  {
  }
}


function deleteCurrentList()
{
  var url = "/eib_func/eib_delete_current_list.php";
          
  req = getReq();

  if (req != null)
  {
    req.onreadystatechange = processChangeDeleteCurrentList; 
    req.open("GET", url, true); 
    req.send(null);
    
    location.reload();
  } 
}

