/* 
   Skishop Nieuwegein
   Javascript
   i-Aspect B.V.
   door: Rutger Laurman   
 */
 
   // onload functies
   function init(){
      if(document.getElementById('vervolgpagina'))
         randomHeader();
      if(document.getElementById('email'))
         setEmailInputValue();
      if(document.getElementById('scherpeaanbiedingen'))
         setEmailValidate();
      if(document.getElementById('reserveringtabel'))
         switchTableRows();
   }
   window.onload=init;  
   
   
   function randomHeader(){
      var numberOfPictures = 4;
      var randomPicture = Math.ceil(Math.random()*numberOfPictures);
      var target = document.getElementById('header');
      target.style.backgroundImage="url(/img/header-vervolgpagina"+randomPicture+".jpg)";
   }
   
   function setEmailInputValue(){
      var target = document.getElementById('email');
      if(target.value=='') target.value='Uw emailadres';
      target.onfocus=function(){
         if(target.value=='Uw emailadres') target.value=''; 
      }
      target.onblur=setEmailInputValue;
   }
   
   function setEmailValidate(){
      var form  = document.getElementById('scherpeaanbiedingen');
      var email = document.getElementById('email');
      form.onsubmit=function(){
         subscribeToNewsletter();
         return false;
      }
   }
   
   
   function switchTableRows(){
      var table = document.getElementById('reserveringtabel');
      var tbody = table.getElementsByTagName('tbody')[0];
      var rows = tbody.getElementsByTagName('tr');
      for(i=0;i<rows.length;i++)
         if(i%2==0) rows[i].className='offset'; 
   
   }
   
function subscribeToNewsletter(){
  var email = document.getElementById('email').value;
  if(email){
      if (!validateerEmail(email)) {
         alert('Ongeldig emailadres ingevuld.');
         return false;
      }
    
      var target = document.getElementById('response');
      var opt = { 
         method: 'post',
         parameters: 'email='+email,
         onSuccess: function(t) {
            target.innerHTML = t.responseText;
         },
         on404: function(t) {
           alert('Error 404: location "' + t.statusText + '" was not found.');
         },
         onFailure: function(t) {
           alert('Error ' + t.status + ' -- ' + t.statusText);
         }
      }
      var ajax_url = '/nieuwsbrief/members/subscribe';
      new Ajax.Request(ajax_url, opt);
   } else {
      alert('Geen emailadres ingevuld.');
      return false;
   }   
   return false;
}


function validateerEmail(email){
   if(email.length <= 0)
      return false;

   var splitted = email.match("^(.+)@(.+)$");
   if(splitted == null) return false;
   if(splitted[1] != null ){
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
   }
   
   if(splitted[2] != null) {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null){
         var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
         if(splitted[2].match(regexp_ip) == null) return false;
      }
      return true;
   }
   return false;
}
