//listen(window,'load',debug);

if (window.attachEvent) {
   window.attachEvent('onload', stretchLayout);
   window.attachEvent('onresize', stretchLayoutResize);
}

var cellContentStretch, tableLeftColumn;
function stretchLayout() {
   if (!box) box = outputBox();

   culpritCell = elemById('content_cell_middle');

   //brute force setting. Let the browser clean up the crap if the content's too high.
   //But it's IE, so it's used to cleaning up crap since version, like, 3.
   culpritCell.style.height = Math.max(0, measure('window').y - 228) + 'px';
}
function stretchLayoutResize() {
   culpritCell.style.height = Math.max(0, measure('window').y - 228) + 'px';
}

var box;
function debug() {
   if (!box) box = outputBox();

   var tab = elemById('left_content_table');
   box.set('table: ' + tab.offsetParent.nodeName);
   box.set('TDparent: ' + tab.parentNode.offsetHeight);
}

/* check gegevens for MyBosk UwGegevens form */
function checkUwGegevens(el) {

   if (el.lidmaatschapsnummer.value == '') {
      alert('U dient uw lidmaatschapsnummer in te voeren.');
      return false;
   }

   var regExp = /[0-9]+/gi;
   if (!el.lidmaatschapsnummer.value.match(regExp)) {
      alert('U dient een geldig lidmaatschapsnummer in te voeren.');
      return false;
   }

   if (el.naam.value == '') {
      alert('U dient een naam in te voeren.');
      return false;
   }

   var regExp = /[0-9]{4}[a-z{2}]/gi;
   var regExp2 = /[0-9]{4} [a-z{2}]/gi;
   if (el.postcode.value != '') {
      if(!((el.postcode.value.match(regExp) && el.postcode.value.length == 6 ) || (el.postcode.value.match(regExp2) && el.postcode.value.length == 7))) {
   
         alert('U dient een geldige postcode in te voeren.');
         return false;
      }
   }

   var regExp = /[0-9]+/gi;
   if (el.huisnummer.value != '' && !el.huisnummer.value.match(regExp)) {
      alert('U dient een geldig huisnummer in te voeren.');
      return false;
   }

   if (el.telefoon.value != '' && !isValidPhoneNumberNL(el.telefoon.value)) {
      alert('U dient geldig telefoonnummer in te voeren.');
      return false;
   }
   if (el.email.value != '' && !isValidEmail(el.email.value)) {
      alert('U dient geldig emailadres in te voeren.');
      return false;
   }

   return true;
}

/* Validator functions */

function isValidEmail(string) {
   var re = /^[-_.\w]+@((([\w]|[\w][\w-]*[\w])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
   return re.test(string);
}

/* I don't think telephone validators can get simpler than this.
 * It's very rudimentary, but suffices for most cases.
 * 10 digits, start with zero. Anything other than 0-9 is thrown away, so use (), - and + all you want.
 * -W
*/
function isValidPhoneNumberNL(strPhoneNumber) {
   var digitRe = /\d/g;
   var digits = strPhoneNumber.match(digitRe);

   if (!digits || !digits.length == 10 || (digits[0] != 0)) {
      return false;
   }
   // Valid phonenumber
   return true;
}

function isValidBankAccountNL(strAccount)
{
   // If bank-account, must pass the 'test of eleven'
   if (isNumberOfSize(strAccount, 9))
   {
      var intSum = 0;
      for (var i=0; i<9; i++)
      {
         var intDigit = parseInt(strAccount.substr(i, 1));
         var intMultiplier = 9-i;
         intSum += (intDigit * intMultiplier);
      }
      var intModulus = intSum % 11;
   
      if (intModulus != 0)
         return false;
      else
         return true;
   }
   // else: check giro account
   else
   {
      var strGiroNumber = strAccount.substr(1);
      if (isNumberOfSize(strGiroNumber, strGiroNumber.length))
         return true;
      else
         return false;
   }
}

String.prototype.trim = function () {
   return this.replace(/^\s+|\s+$/g,'');
}

function checkVAForm(form){

   if(form.name.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. uw naam in</div>';
      form.name.focus();
      return false;
   }

   if(form.title.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. een titel van het artikel in</div>';
      form.title.focus();
      return false;
   }

   if(form.shortdesc.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. een korte beschrijving in</div>';
      form.shortdesc.focus();
      return false;
   }

   if(form.description.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. een beschrijving in</div>';
      form.description.focus();
      return false;
   }

   if(form.type.value == "produkt" && form.price.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. een prijs in</div>';
      form.price.focus();
      return false;
   }

   if(form.location.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. een plaats in</div>';
      form.location.focus();
      return false;
   }

   if(!isValidEmail(form.email.value)) {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. een valide e-mail adres in</div>';
      form.email.focus();
      return false;
   }

   return true;
}


function checkVALoginForm(form){

   if(form.item_id.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. het advertentienummer in</div>';
      form.item_id.focus();
      return false;
   }
   if(form.item_code.value.trim() == '') {
      document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. de code in</div>';
      form.item_code.focus();
      return false;
   }
   return true;
}

function checkVAForgotForm(form) {

if(!isValidEmail(form.email.value)) {
   document.getElementById('confirm_status').innerHTML = '<div class="error_message">Vul a.u.b. uw e-mail adres in</div>';
   form.email.focus();
   return false;
   }
   return true;
}

function va_delete_confirm(){
   var agree = confirm("Weet u zeker dat u deze advertentie wilt verwijderen?");
   if (!agree) return false;

   document.forms["deleteform"].submit();
}

function openIMGWindow(id, name, height, width) {
   imgWindow = window.open("snippets/va_picture.asp?id="+id, "Afbeelding" + id, "width="+width+",height="+height+",menubar=no,location=no,resizable=no,scrollbars=no,status=no");
   imgWindow.focus();
}


