/*
 Profile `de Fietsspecialist`
 Javascripts
 09-05-2007 i-Aspect B.V.
*/

var W3CDOM = document.createElement && document.getElementsByTagName;

function fixFooter(){
   if(!W3CDOM) return;
   var footer = document.getElementById('footer');
   var footerHeight = footer.style.height;
   var pageHeight = document.getElementById('container').clientHeight + footerHeight;
   var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
   var newFooterPadding = windowHeight - pageHeight;
   if(newFooterPadding > 1){
      document.getElementById('footer').style.paddingBottom=newFooterPadding+'px';
   }
}

addEventSimple(window,'load',fixFooter);
addEventSimple(window,'resize',fixFooter);

function setActiveMenu(){
   menuobject = document.getElementsByTagName('li');
   for(var j=0; j<menuobject.length; j++){
      menuAObject = menuobject[j].getElementsByTagName('a');
      for(var s=0; s<menuAObject.length; s++){
         if(menuAObject[s] == self.location.href)
            menuAObject[s].className+=' active';
      }
   }
}

addEventSimple(window,'load',setActiveMenu);


function setNewsletterFocus(){
	var newsletter = document.getElementById('newsletter');
	if(newsletter){
		newsletter.submit.value='';
		newsletter.emailadres.onfocus=function(){
			if(this.value=='uw emailadres'){
			   this.value='';
			   this.className='active';
			}
		}
	}
}
addEventSimple(window,'load',setNewsletterFocus);


/* quirksmode event adding */
function addEventSimple(obj,evt,fn) {
   if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

/* table rows wisselen */
function initTableRow(){
	var vacatures = document.getElementById('vacatures');
	if(vacatures) tableRowsOffset(vacatures);
}

addEventSimple(window,'load',initTableRow);

/* zet offset kleuren voor tabellen */
function tableRowsOffset(obj){
   var rows = obj.getElementsByTagName('tr');
   var count=0;
   for(i=0;i<rows.length;i++){
      if(rows[i].className=='title') continue;
      if(++count % 2 != 0)
         rows[i].className='offset';
   }
}

   function subscribeNewsletter() {
      var emailvalue = document.getElementById('nbemailadres').value;
      if(validateEmail(emailvalue)){
         var opt = {
             method: 'post',
             postBody: 'email='+emailvalue,
             onSuccess: function(t) {
                 response_element.innerHTML = "<p>Een bevestigingsemail is verzonden.</p>";
             },
             on404: function(t) {
                 alert('Error 404: location "' + t.statusText + '" was not found.');
             },
             onFailure: function(t) {
                 alert('Error ' + t.status + ' -- ' + t.statusText);
             }
         }
         response_element = document.getElementById('nbrespel');
         response_element.innerHTML = '<center>Een ogeblik gedult a.u.b.<br/><br/>Uw wordt aangemeld</center>';
         ajax_url = '/ajaxhandler/subscribenewsletter';
         new Ajax.Request(ajax_url, opt);
      } else{
         alert('Ongeldig email adres.');
      }
      return false;
   }

/* assortiment */
 function ChangeLocation() {
      document.location = this.value;
   }

   function ChangeModel() {
      str_url = document.location.toString();
      str_pos = str_url.indexOf('product');
      document.getElementById('brand').value =0;
      document.getElementById('price').value =0;
      if(str_pos > 0) {
         str_url = str_url.substring(0,str_pos);
         str_url = str_url+'product/'+this.value;
      } else {
         str_url = str_url+'/product/'+this.value;
      }
      ShowProduct(str_url,true);
   }

   function FormToString() {
      str="";
      if(parseInt(document.getElementById('brand').value) > 0)
         str+= "&s-assortiment_brand_ID="+document.getElementById('brand').value;
      if(parseInt(document.getElementById('price').value) > 0)
         str+= "&s-price="+document.getElementById('price').value;
      return str;
   }

   function ShowProduct() {

      var opt = {
          method: 'post',
          postBody: FormToString(),
          onSuccess: function(t) {
              response_element.innerHTML = t.responseText;
              if(document.getElementById('btnnext'))
                  document.getElementById('btnnext').onclick = ShowProduct;
              if(document.getElementById('btnprev'))
                  document.getElementById('btnprev').onclick = ShowProduct;
               sIFR.replaceElement("h4", named({sFlashSrc: "/swf/pdf/kop.swf", sColor: "#3983ba", sWmode: "transparent"}));
               sIFR.replaceElement("h3.price", named({sFlashSrc: "/swf/pdf/price.swf", sColor: "#79b32b", sWmode: "transparent"}));
          },
          on404: function(t) {
              alert('Error 404: location "' + t.statusText + '" was not found.');
          },
          onFailure: function(t) {
              alert('Error ' + t.status + ' -- ' + t.statusText);
          }
      }

      str_url = this.href;
      if(!str_url)
         str_url = document.location.toString();

      if(ShowProduct.arguments.length > 1) {
         str_url = ShowProduct.arguments[0];
      }

      str_pos = str_url.indexOf('collectie');
      str_pos2 = str_url.indexOf('onderdelen-en-accessoires');
      if(str_pos > 0 || str_pos2 > 0) {
         if (str_pos > 0) {
            str_url = str_url.substring(str_pos+9);
         } else {
            str_url = str_url.substring(str_pos+25);
         }
         ajax_url = '/ajaxhandler/productprofileslave/'+str_url;
         response_element = document.getElementById('product_holder');
         response_element.innerHTML ='<div style="margin-top:50px;margin-left:150px;position:absolute;z-index:10;text-align:center;"><img src="/images/loading.gif"/><br/><br/>Een ogenblik geduld ..</div>';
         new Ajax.Request(ajax_url, opt);

      } else {
         alert('error 409: Invalid URL please send mailto: profile@i-aspect.net');
      }

      return false;
   }


   function SetCatalogNavigation() {

      if(document.getElementById('btnprev'))
        document.getElementById('btnprev').onclick = ShowProduct;

      if(document.getElementById('btnnext'))
         document.getElementById('btnnext').onclick = ShowProduct;
   }

/* menu uitrekken - layout fix */
function stretchMenu(){
   var stretchHolder = document.getElementById('container');
   var menuHolder = document.getElementById('menuHolder');

   var elemHeight    = stretchHolder.offsetHeight;
   menuHolder.style.height=elemHeight+'px';
}
addEventSimple(window,'load',stretchMenu);


/* willekeurige sfeerplaat */

   var afbeeldingen = new Array();
   afbeeldingen[0]="header-elektrischefietsen.jpg";
   afbeeldingen[1]="header-dagelijksgebruik.jpg";
   afbeeldingen[2]="header-kinderen.jpg";
   afbeeldingen[3]="header-sportief.jpg";
   afbeeldingen[4]="header-vrijetijd.jpg";

   function randomHeaderImage(){
      var target = document.getElementById('sfeerplaat');
      afbeeldingen.shuffle();
      var randomImage = afbeeldingen[0];
      target.src = '/images/pdf/headers/'+randomImage;
   }
   addEventSimple(window,'load',randomHeaderImage);



/* shuffle functie voor arrays */

	Array.prototype.shuffle = function(){
	  for (var i = 0; i < this.length; i++)  {
		 var r = parseInt(Math.random() * this.length);
		 var obj = this[r];
		 this[r] = this[i];
		 this[i] = obj;
	  }
	}
