var http_nl;
var http_bc;

var emailFilter = /^.+@.+\..+$/;

var bc_content;
var nl_content;

function createRequestObject()
{
  var ro;
  // create browser dependent XMLHttpRequest object
  if (window.XMLHttpRequest)
  { ro = new XMLHttpRequest(); }                   // "normal" browsers
  else if (window.ActiveXObject)
  { ro = new ActiveXObject("Microsoft.XMLHTTP"); } // IE <= 6.0
  return ro;
}

function cleanFormEntry(input)
{
  var output = input;
  output = output.replace(/\n/g,"EOL");
  output = output.replace(/&/g,"AMPERSAND");
  return output;
}

function requestNewsletter(nl_email)
{
  nl_email = cleanFormEntry(nl_email);

  http_nl = createRequestObject();
  http_nl.open('get','newsletter.php?email='+nl_email);
  http_nl.onreadystatechange = handleResponseNL;
  http_nl.send(null);
}

function sendBandMail(bc_name,bc_email,bc_message)
{
  bc_name = cleanFormEntry(bc_name);
  bc_email = cleanFormEntry(bc_email);
  bc_message = cleanFormEntry(bc_message);

  http_bc = createRequestObject();
  http_bc.open('get','contact_mail.php?name='+bc_name+'&email='+bc_email+'&message='+bc_message);
  http_bc.onreadystatechange = handleResponseBC;
  http_bc.send(null);
}

function displayNewsletterResponse(response,error)
{
  var color = "#00FF00";
  if (error)
  { color = "#FF0000"; }

  document.getElementById("newsletter").innerHTML = "<div style=\"color:"+color+";background-color:#444;font-weight:bold;padding:2px;border:1px solid #000;\">"+response+"</div>";
  setTimeout("document.getElementById('newsletter').innerHTML = nl_content",15000);
}

function displayContactResponse(response,error)
{
  var color = "#555";
  if (error)
  { color = "#FF0000"; }

  document.getElementById("form").innerHTML =
    "<span style=\"color:"+color+"\">"+response+"</span>";
  setTimeout("document.getElementById('form').innerHTML = bc_content",15000);
}

function handleResponseNL()
{
  if (http_nl.readyState == 4)
  {
    var response = http_nl.responseText;
    if (response)
    { displayNewsletterResponse("<b>Anmeldung erfolgreich! Du solltest im Laufe des Tages eine Bestätigungs-E-Mail erhalten.<br>Falls nicht, schau in deinem Spam-Ordner nach.</b>",0); }
    else
    { displayNewsletterResponse("Fehler! Bitte schreibe uns eine E-Mail.",1); }
  }
}

function handleResponseBC()
{
  if (http_bc.readyState == 4)
  {
    var response = http_bc.responseText;

    if (response)
    { displayContactResponse("Danke für deine Nachricht.",0); }
    else
    { displayContactResponse("Ein Fehler ist aufgetreten. Bitte schreibe uns auf band@vaccinemusic.com.",1); }
  }
}

/* ----------------- */

function subscribeNewsletter()
{
  var email = document.nl_form.nl_email;
  if ((!email.value) || (!(emailFilter.test(email.value))))
  {
    alert("Bitte gib eine gültige E-Mail-Adresse ein.");
    email.focus();
  }
  else
  {
    email = email.value;
    document.nl_form.reset();
    nl_content = document.getElementById("newsletter").innerHTML;
    document.getElementById("newsletter").innerHTML = "<span style=\"text-decoration:blink;\">Bitte warten...</span>";
    requestNewsletter(email);
  }
  return;
}

function contactBand()
{
  var bc_name = document.bc_form.bc_name;
  var bc_email = document.bc_form.bc_email;
  var bc_message = document.bc_form.bc_message;

  if (!bc_name.value)
  {
    alert("Bitte gib deinen Namen ein.");
    bc_name.focus();
  }
  else if (((bc_email.value != "") && (!(emailFilter.test(bc_email.value)))) || (bc_email.value == ""))
  {
    alert("Bitte gib eine gültige E-Mail-Adresse ein.");
    bc_email.focus();
  }
  else if (!bc_message.value)
  {
    alert("Bitte gib eine Nachricht ein.");
    bc_message.focus();
  }
  else
  {
    bc_name = bc_name.value;
    bc_email = bc_email.value;
    var bc_msg = bc_message.value;
    document.bc_form.reset();
    bc_content = document.getElementById("form").innerHTML;
    document.getElementById("form").innerHTML = "<span style=\"color:#000\;text-decoration:blink;\">Bitte warten...</span>";
    sendBandMail(bc_name,bc_email,bc_msg);
  }
  return;
}

/* --------------------------------------- */

function openPhoto(date,num)
{
  window.open('photo.php?id='+date+'-'+num+'.jpg','photo','width=100,height=100,resizable=yes');
}

function openPic(dir,name,scrolling)
{
  if (scrolling == 1)
  { window.open('pic.php?dir='+dir+'&f='+name,'pic','width=100,height=100,resizable=yes,scrollbars=yes'); }  
  else
  { window.open('pic.php?dir='+dir+'&f='+name,'pic','width=100,height=100,resizable=yes'); }
}

function openCover(release,num,wsize)
{
  if (!wsize)
    var wsize = '680';
  window.open('cover.php?id='+release+'_'+wsize+'_'+num+'.jpg','cover','width=100,height=100,resizable=yes');
}

function openVideo(name,w,h)
{
  window.open('video.php?f='+name,'video','width='+(w+50)+',height='+(h+70)+',resizable=yes');
}

function set_popup(w,h)
{
  window.resizeTo(w+50, h+70);
  window.focus();
}

function hilight(element)
{
  element.style.color="#000";
  element.style.border="1px solid #000";
}
function lolight(element)
{
  element.style.color="#555";
  element.style.border="1px solid #999";
}

function button_over(element)
{
  element.style.color="#FFF";
  element.style.backgroundColor="#000";
}

function button_out(element)
{
  element.style.color="#000";
  element.style.backgroundColor="#FFF";
}
