function XBrowserAddHandler(target,eventName,handlerName) {
    if ( target.addEventListener )
      target.addEventListener(eventName, handlerName, false);
    else if ( target.attachEvent )
      target.attachEvent("on" + eventName, handlerName);
    else
      target["on" + eventName] = handlerName;
}

var homebanners;
var homebanner_index = 0;

function homebanner() {
  homebanners[homebanner_index].style.display = "none";
  window.status = homebanner_index;
  homebanner_index++;
  if (homebanner_index >= homebanners.length) homebanner_index = 0;
  homebanners[homebanner_index].style.display = "block";
  setTimeout(homebanner, homebanners[homebanner_index].getAttribute("time"));
}

showMenu = function() {
  var subMenuItems = document.getElementById("topmenu").getElementsByTagName("SPAN");
  for (var i=0; i<subMenuItems.length; i++) {
    if (subMenuItems[i].className.toLowerCase() == "menuitemtop") {
      subMenuItems[i].onmouseover=function() {
        this.getElementsByTagName("DIV")[0].style.display = "block";
        //this.className+="_hover";
      }
      subMenuItems[i].onmouseout=function() {
        this.getElementsByTagName("DIV")[0].style.display = "none";
        //this.className=this.className.replace(new RegExp("_hover\\b"), "");
      }
    }
  }

  subMenuItems = document.getElementById("sitemenu").getElementsByTagName("DIV");
  for (i=0; i<subMenuItems.length; i++) {
    if (subMenuItems[i].className.toLowerCase() == "menuitem") {
      subMenuItems[i].onmouseover=function() {
        this.id = "active";
        this.getElementsByTagName("DIV")[0].style.display = "block";
        this.getElementsByTagName("IMG")[0].src = "/images/sitemenu1.gif";
      }
      subMenuItems[i].onmouseout=function() {
        this.id = "";
        this.getElementsByTagName("DIV")[0].style.display = "none";
        this.getElementsByTagName("IMG")[0].src = "/images/sitemenu0.gif";
      }
    }
  }
}

//XBrowserAddHandler(window, "load", showMenu);
XBrowserAddHandler(window, "resize", onResize);
XBrowserAddHandler(window, "scroll", onScroll);

function resizeOverlay() {
  var o = document.getElementById("overlay");
  if (o.style.display != "none") {
    var o2 = document.getElementById("overlay_background");
    o.style.display = "none";
    var p = getPageSize();
    o.style.width  = o2.style.width  = p[0];
    o.style.height = o2.style.height = p[1];
    o.style.display = "block";
  }
  onScroll();
}

var resizeid;
function onResize() {
  window.clearTimeout(resizeid);
  resizeid = window.setTimeout("resizeOverlay()", 1000);
}

function onScroll() {
  var o = document.getElementById("overlay");
  if (o.style.display != "none") {
    var b = document.getElementById("overlay_block");
    var p = getPageSize();
    
    var pi = document.getElementById("pi");
    b.style.width = pi.width + 10;
    b.style.top  = document.body.scrollTop + (p[3] / 2) - (b.offsetHeight / 2);
    b.style.left = document.body.scrollLeft + (p[2] / 2) - (b.offsetWidth / 2);    
  }
}

/*
function pngfix() {
  var arVersion = navigator.appVersion.split("MSIE");
  var version = parseFloat(arVersion[1]);
  if ((version >= 5.5) && (document.body.filters)) {
    for(var i=0; i<document.images.length; i++)
      if (pngfixobject(document.images[i])) i--;
  }
}

function pngfixobject(img) {
  var imgName = img.src.toUpperCase()
  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
  {
     var imgID = (img.id) ? "id='" + img.id + "' " : ""
     var imgClass = (img.className) ? "class='" + img.className + "' " : ""
     var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
     var imgStyle = "display:inline-block;" + img.style.cssText 
     if (img.align == "left") imgStyle = "float:left;" + imgStyle
     if (img.align == "right") imgStyle = "float:right;" + imgStyle
     if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
     var strNewHTML = "<span " + imgID + imgClass + imgTitle
     + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
     + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
     img.outerHTML = strNewHTML
     return true;
  }
  return false;
}
*/
function showFoto(src, text) {
  var p = getPageSize();
  var o = document.getElementById("overlay");
  var o2 = document.getElementById("overlay_background");

  var pi = document.getElementById("pi");
  
  o.style.width  = o2.style.width  = p[0];
  o.style.height = o2.style.height = p[1];
  document.getElementById("text").innerHTML = text;
  
  var s = document.getElementsByTagName("SELECT");
  for (var i=0; i < s.length; i++) {
    s[i].style.visibility = "hidden";
  }
  o.style.display = "block";

  pi.onload = onScroll;
  pi.src = "http://winkels.ikshop.nu/thumbs.ashx?src=" + src + "&w=320&h=240";
}

function showFoto2(src, text) {
  var p = getPageSize();
  var o = document.getElementById("overlay");
  var o2 = document.getElementById("overlay_background");

  var pi = document.getElementById("pi");
  
  o.style.width  = o2.style.width  = p[0];
  o.style.height = o2.style.height = p[1];
  document.getElementById("text").innerHTML = text;
  
  var s = document.getElementsByTagName("SELECT");
  for (var i=0; i < s.length; i++) {
    s[i].style.visibility = "hidden";
  }
  o.style.display = "block";
  
  pi.onload = onScroll;
  pi.src = "http://winkels.ikshop.nu" + src;
}

function showFoto3(src, text) {
  var p = getPageSize();
  var o = document.getElementById("overlay");
  var o2 = document.getElementById("overlay_background");

  var pi = document.getElementById("pi");
  pi.src = src;
  o.style.width  = o2.style.width  = p[0];
  o.style.height = o2.style.height = p[1];
  document.getElementById("text").innerHTML = text;
  
  var s = document.getElementsByTagName("SELECT");
  for (var i=0; i < s.length; i++) {
    s[i].style.visibility = "hidden";
  }
  o.style.display = "block";
  
  pi.onload = onScroll;
  pi.src = src;
}

function showPastry(src, text) {
  var p = getPageSize();
  var o = document.getElementById("overlay");
  var o2 = document.getElementById("overlay_background");

  var pi = document.getElementById("pi");
  
  o.style.width  = o2.style.width  = p[0];
  o.style.height = o2.style.height = p[1];
  document.getElementById("text").innerHTML = "<input type=\"button\" value=\"BESTELLEN\" name=\"BESTELLEN\" onclick=\"document.location.href='/vers-gebak/bestel-actie.html?p=" + text + "'\">";
  
  var s = document.getElementsByTagName("SELECT");
  for (var i=0; i < s.length; i++) {
    s[i].style.visibility = "hidden";
  }
  o.style.display = "block";
  
  pi.onload = onScroll;
  pi.src = "http://winkels.ikshop.nu" + src;
}

function closeFoto() {
  var s = document.getElementsByTagName("SELECT");
  for (var i=0; i < s.length; i++) {
    s[i].style.visibility = "visible";
  }

  var o = document.getElementById("overlay");
  o.style.display = "none";
}

function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;

	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
  		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;		
	}

	arrayPageSize = new Array(pageWidth - 17,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function disableEnterKey(e) {
  var event = window.event ? window.event : e;
  var s = (window.event ? event.keyCode : event.which) != 13;
  if (!s) {
    if (event.preventDefault) event.preventDefault();
  }
  if (event.returnValue) event.returnValue = s;
  return s;
}

function disableEnterSubmit() {
  var f1 = document.forms;
  for (var i=0; i < f1.length; i++) {
    f2 = f1[i].elements;
    for (var j=0; j < f2.length; j++) {
      if (f2[j].type == "text") {
        XBrowserAddHandler(f2[j], "keypress", disableEnterKey);
      }
    }
  }
}

function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}

function in_array (waarde, array) {
	
	for (key in array) {
        if (array[key] == waarde) {                
			return true;
        }
    }
    
    return false;
}

function validatjeugdsponsoractie(form){
	var check;
	check = true;

	for(var j=0; j < form.elements.length; j++){	
		
		if(form.elements[j].type == "radio"){	
			var radiobutton;
			radiobutton = false;
			
			for(var i=0; i < form.elements[form.elements[j].name].length; i++ ){
				if(form.elements[form.elements[j].name][i].checked){
					radiobutton = true;
					break;
				}
			}
			
			if(radiobutton == false){
				check = false;
				break;
			}
		}else{
			if( trim(form.elements[j].value) == "" && form.elements[j].name != "Activiteit vereniging Anders" && form.elements[j].name != "Website"){				
				check = false;
				break;
			}		
		}	
	}
	
	if(form.elements["Geldig e-mail adres"].value != form.elements["Geldig e-mail adres (ter controle)"].value){
		alert("Het e-mailadres dat u ter controle op moest geven is niet gelijk aan het oorspronkelijke e-mailadres.");
		check = false;
	}
	
	if( form.elements["Activiteit vereniging"][7].checked == true && trim(form.elements["Activiteit vereniging Anders"].value) == "" ){
		check = false;
	}

	if(check == false){
		alert("U dient alle velden van het formulier correct in te vullen (Behalve het veld website).");
	}
	
	return check;	
}

function  validatkerstpakket(form){
	var verplichtvelden = new Array("Naam bedrijf", "Adres", "Postcode + Plaats", "Naam contactpersoon", "Telefoon", "Geldig e-mail adres");
	var check;
	check = "";
	
	if(form.elements[verplichtvelden[5]].value != form.elements["Geldig e-mail adres (ter controle)"].value){
		alert("Het e-mailadres dat u ter controle op moest geven is niet gelijk aan het oorspronkelijke e-mailadres.");
		return false;
	}	
	
	for(var j=0; j < form.elements.length; j++){	

		if( trim(form.elements[j].value) == "" && in_array(form.elements[j].name, verplichtvelden)){
			check += " -" + form.elements[j].name + "\n";
		}
	}	
	
	if(check != ""){
		alert("De volgende velden zijn verplicht:\n"+ check);
		return false;
	}
	
	return true;
}

/***********************************************************************
  top banners
 ***********************************************************************/
  var slide_images = null;
  var slide_index = 0;
  
  function SetOpacity(object, opacityPct) {
    object.style.filter = 'alpha(opacity=' + opacityPct + ')';
    object.style.MozOpacity = opacityPct / 100;
    object.style.opacity = opacityPct / 100;
  }

  function ChangeOpacity(id,msDuration,msStart,fromO,toO) {
    var element=document.getElementById(id);
    var msNow = (new Date()).getTime();
    var opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
    if (opacity>=100)	{
      SetOpacity(element,100);
      element.timer = undefined;
      element.style.display = "block";
    }	else if (opacity<=0)	{
      SetOpacity(element,0);
      element.timer = undefined;
      element.style.display = "none";
    }	else {
      SetOpacity(element,opacity);
      element.style.display = "block";
      element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",10);
    }
  }

  function start_slide() {
    var h = document.getElementById("headers");
    if (!h) return;
    slide_images = h.childNodes;
    if (slide_images.length < 2) return;
    
    for(var i=0; i < slide_images.length; i++) {
      SetOpacity(slide_images[i], 0);
      slide_images[i].style.display = 'block';
    }
    SetOpacity(slide_images[0], 100);

    d1 = 7500;
    d2 = 1000;
    setTimeout("slide("+d1+","+d2+")", d1);
  }
  
  function slide(d1, d2) {
    if (slide_index >= slide_images.length) slide_index = 0;
    var slide_index_next = slide_index+1;
    if (slide_index_next >= slide_images.length) slide_index_next = 0;
    
    var h1 = slide_images[slide_index];
    var h2 = slide_images[slide_index_next];
    
    var startMS = (new Date()).getTime();
    
    h1.timer = window.setTimeout("ChangeOpacity('" + h1.id + "'," + d2 + "," + startMS + ",100,0)",10);
    h2.timer = window.setTimeout("ChangeOpacity('" + h2.id + "'," + d2 + "," + startMS + ",0,100)",10);
    
    slide_index++;
    setTimeout("slide("+d1+","+d2+")", d1);
  }
  
  function onwindowload() {
    start_slide();
    checkfileinput();
    checkpostdata();
  }
  
  function checkfileinput() {
    // first check for flash
    var inputs = document.getElementsByTagName("INPUT");
    for (var i=0; i < inputs.length; i++) {
      if (inputs[i].type.toUpperCase() == 'FILE') {
        if (inputs[i].getAttribute("flash") == "1") {
          var s = new SWFObject();
          if (s.installedVer.major <= 6) return;
        
          var p = document.createElement('SPAN');
          p.className = "swfupload";
          
          var id = uniqueid();
          var s = document.createElement('DIV');
          s.id = 'upload_progress_' + id;
          p.appendChild(s);

          var s = document.createElement('SPAN');
          s.id = 'upload_photo_' + id;
          p.appendChild(s);

          var s = document.createElement('INPUT');
          s.id = 'upload_cancel_' + id;
          s.type = "button";
          s.value = "Uploaden stoppen";
          s.onclick = function() { window['swfu_'+id].cancelQueue();};
          s.disabled = "disabled";
          s.style.margin = "4px";
          p.appendChild(s);
          
          var s = document.createElement('IMG');
          s.id = 'upload_preview_' + id;
          s.style.display = 'none';
          s.style.width = "250px";
          p.appendChild(s);
          
          var s = document.createElement('INPUT');
          s.id = 'upload_filename_' + id;
          s.name = 'filename';
          s.type = 'hidden';
          p.appendChild(s);
          
          inputs[i].parentNode.replaceChild(p, inputs[i]);

          var scripts = [
            '/gebakupload/swfupload.js',
            '/gebakupload/js/swfupload.queue.js',
            '/gebakupload/js/fileprogress.js',
            '/gebakupload/js/handlers.js'];
          loadcss('/uploads/forms/upload.css');
          
          function onscriptsload(param) {
            var settings = {
              flash_url : "/gebakupload/Flash/swfupload.swf",
              upload_url: "http://www.poiesz-supermarkten.nl/sites/116/uploads/forms/upload.php",
              file_size_limit : "100 MB",
              file_types : "*.gif;*.jpg;*.jpeg;*.png",
              file_types_description : "Afbeeldingen",
              file_upload_limit : 100,
              file_queue_limit : 1,
              custom_settings : {
                progressTarget : "upload_progress_" + param,
                cancelButtonId : "upload_cancel_" + param
              },
              //debug: true,

              // Button settings
              button_image_url: "/gebakupload/images/TestImageNoText_65x29.png",
              button_width: "120",
              button_height: "29",
              button_placeholder_id: "upload_photo_" + param,
              button_text: '<span class="theFont">foto selecteren</span>',
              button_text_style: ".theFont {color:#147655; font-size: 12px; font-family:arial; font-weight:bold; }",
              button_text_left_padding: 15,
              button_text_top_padding: 5,

              // The event handler functions are defined in handlers.js
              file_queued_handler : fileQueued,
              file_queue_error_handler : fileQueueError,
              file_dialog_complete_handler : fileDialogComplete,
              upload_start_handler : uploadStart,
              upload_progress_handler : uploadProgress,
              upload_error_handler : uploadError,
              upload_success_handler : myUploadSuccess,
              upload_complete_handler : uploadComplete,
              queue_complete_handler : queueComplete	// Queue plugin event
            };
            
            function myUploadSuccess(file, serverdata) {
              document.getElementById('upload_filename_'+param).value = serverdata;
              var p = document.getElementById('upload_preview_'+param);
              p.src = 'http://content.cmsbasic.nl/thumbs.ashx?w=250&h=999&src=/sites/116'+serverdata;
              p.style.display = '';
              
              try {
                var progress = new FileProgress(file, this.customSettings.progressTarget);
                progress.disappear();
              } catch (ex) {
                this.debug(ex);
              }
            }
            window['swfu_'+param] = new SWFUpload(settings);
            //alert(window['swfu_'+param].support);
          }
          loadScripts(scripts, onscriptsload, id);
        }
      }
    }
  }
  
  XBrowserAddHandler(window, "load", onwindowload);
  
  function loadScripts(scripts, callback, param) {
    var head = document.getElementsByTagName("head")[0];
    if (scripts.length > 0) {
      var src = scripts.shift();
      script = document.createElement('script');
      script.type = 'text/javascript';
      script.src = src + '?' + uniqueid();
      if (script.onreadystatechange === null && script.onload === undefined) {
        script.onreadystatechange = function() {
          if(this.readyState=='loaded' || this.readyState=='complete') {
            loadScripts(scripts, callback, param);
          }
        }
      } else {
        script.onload = function() {
          loadScripts(scripts, callback, param);
        }
      }
      head.appendChild(script);
    } else {
      // no more scripts
      callback(param);
    }
   }
   
   function loadcss(filename) {
    var link = document.createElement("link");
    link.setAttribute("rel", "stylesheet");
    link.setAttribute("type", "text/css");
    link.setAttribute("href", filename + '?' + uniqueid());
    document.getElementsByTagName("head")[0].appendChild(link);
  }
   
  function uniqueid() {
    var d = new Date;
    return d.getTime();
   }
   
   
  function validEmail(email) {
    return email.match(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/);
    //return email.match(/^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/);
  }
  
  function checkRegistrationForm(form) {
    msg = "";
    // controleren of alle elementen bestaan op het formulier
    if (form.elements.hasOwnProperty("username") && form.elements.hasOwnProperty("email") && form.elements.hasOwnProperty("email2")) {
      var u = form.elements["username"].value;
      var e = form.elements["email"].value;
      var f = form.elements["email2"].value;
      
      if (u == "") msg += "\n* Het veld gebruikersnaam is een verplicht veld.";
      if (e == "") {
        msg += "\n* Het veld e-mail is een verplicht veld.";
      } else {
        if (!validEmail(e)) msg += "\n* Het veld e-mail is geen geldig e-mail adres.";
        if (e != f ) msg += "\n* Beide e-mail adressen dienen gelijk te zijn.";
      }
    }
    if (msg != "") {
      alert("Fouten op de pagina:\n" + msg);
      return false;
    }
    return true;
  }
  
  function checkpostdata() {
    if (typeof(_POST) != "undefined") {
      var forms = document.getElementsByTagName("FORM");
      for (var i=0; i < forms.length; i++) {
        for (p in _POST) {
          if (forms[i].elements.hasOwnProperty(p)) {
            forms[i].elements[p].value = _POST[p];
          }
        }
      }
    }
  }
