function changeStyleHover(obj) {
	if (obj.className.indexOf('over') != -1) {
		obj.className = 'pas';
	} else {
		obj.className = 'over';
	}
}

function toggleLightBox() {
    obj1 = document.getElementById('overlay');
    obj2 = document.getElementById('lightBoxContainer');
    obj3 = document.getElementById('description');
    if (document.getElementById('overlay').className.indexOf('transparent') != -1) {
        document.getElementById('overlay').className = 'opaque';
        document.getElementById('overlay').style.display = "none";
        document.getElementById('overlay').style.opacity = 0;
        document.getElementById('overlay').style.filter = 'alpha(opacity=0)';
         document.getElementById('description').style.display = "block";
         document.getElementById('bladeren').style.visibility = "visible";
         document.getElementById('listLine').style.borderBottom = "1px solid #A8A7A7";
        obj2.style.display = "none";
    } else {
         document.getElementById('overlay').className = 'transparent';
         document.getElementById('overlay').style.display = "block";
         document.getElementById('description').style.display = "none";
         document.getElementById('bladeren').style.visibility = "hidden";
         document.getElementById('listLine').style.borderBottom = "0px";
         obj2.style.display = "block";
         showHideLightBoxButtons();
        for (var i = 0; i < 8; i++)
            setTimeout('setOpacity(obj1,' + i + ')', 100 * i);
            //setTimeout('setOpacity(obj3,' + (i*-0.2) + ')', 100 * i);
        return false;
    }
}

function nextLightBoxImage() {
  var image = document.getElementById('lightBox');
  var allImages = document.getElementById('allImages').getElementsByTagName('IMG');
  for (var i=0; i<allImages.length; i++){
    if (allImages[i].src == image.src){
      if (i+1 < allImages.length){
        image.src = allImages[i+1].src;
        image.alt = allImages[i+1].alt;
        showHideLightBoxButtons();
      }
      return;
    }
  }
}

function previousLightBoxImage() {
  var image = document.getElementById('lightBox');
  var allImages = document.getElementById('allImages').getElementsByTagName('IMG');
  for (var i=0; i<allImages.length; i++){
    if (allImages[i].src == image.src){
      if (i > 0){
        image.src = allImages[i-1].src;
        image.alt = allImages[i-1].alt;
        showHideLightBoxButtons();
      }
      return;
    }
  }
}

function showHideLightBoxButtons(){
  var image = document.getElementById('lightBox');
  var allImages = document.getElementById('allImages').getElementsByTagName('IMG');
  for (var i=0; i<allImages.length; i++){
    if (allImages[i].src == image.src){
      document.getElementById('lightBoxPreviousBtn').style.visibility = (i == 0) ? "hidden" : "visible";
      document.getElementById('lightBoxNextBtn').style.visibility = (i+1 == allImages.length) ? "hidden" : "visible";
      break;
    }
  }
}

function rewindLightBox() {
  var image = document.getElementById('lightBox');
  var allImages = document.getElementById('allImages').getElementsByTagName('IMG');
  image.src = allImages[0].src;
  image.alt = allImages[0].alt;
}

function setOpacity(obj,value) {
    obj.style.opacity = value / 10;
    obj.style.filter = 'alpha(opacity=' + value * 10 + ')';
}

// zoekoptiefunctionaliteiten (front-end)

function emptySearch(obj) { // maakt input leeg wanneer de focus er op komt
//    if (document.getElementById(obj.id).value == 'zoeken') {
//        document.getElementById(obj.id).value = '';
//    }
}

function checkSearch(obj) { // zet "zoeken" in de input wanneer er niets is getypt, en brengt de breedte weer op de oorspronkelijke waaarde
//    if (document.getElementById(obj.id).value == '') {
//        document.getElementById(obj.id).value = 'zoeken';
//        //document.getElementById('searchBtn').style.left = '52px';
//    }
}

function checkOrderForm(form) {
  errors = [];
  if (!form.elements['company'].value.match(/\S/)){ errors.push('bedrijf'); }
  if (!form.elements['name'].value.match(/\S/)){ errors.push('naam'); }
  if (!form.elements['address'].value.match(/\S/)){ errors.push('adres'); }
  if (!form.elements['postalCode'].value.match(/\S/)){ errors.push('postcode'); }
  if (!form.elements['city'].value.match(/\S/)){ errors.push('plaats'); }
  if (!form.elements['email'].value.match(/[^@]@.+\..{2,}/)){ errors.push('email'); }
  if (errors.length > 0){
    alert("De onderstaande velden moeten nog (correct) ingevuld worden:\n- " + errors.join("\n- "));
    return false;
  }else{
    return true;
  }
}

function checkContactForm(form) {
  errors = [];
  if (!form.elements['company'].value.match(/\S/)){ errors.push('bedrijf'); }
  if (!form.elements['name'].value.match(/\S/)){ errors.push('naam'); }
  if (!form.elements['address'].value.match(/\S/)){ errors.push('adres'); }
  if (!form.elements['postalCode'].value.match(/\S/)){ errors.push('postcode'); }
  if (!form.elements['city'].value.match(/\S/)){ errors.push('plaats'); }
  if (!form.elements['email'].value.match(/[^@]@.+\..{2,}/)){ errors.push('email'); }
  if (errors.length > 0){
    alert("De onderstaande velden moeten nog (correct) ingevuld worden:\n- " + errors.join("\n- "));
    return false;
  }else{
    return true;
  }
}

function positionSearchGoBtn() { // deze functie verplaatst de go-btn terwijl je typt
  var searchText = document.getElementById('searchField').value;
  var offset = (searchText.length > 6) ? searchText.length - 6 : 0;
  document.getElementById('searchBtn').style.left = (52 + offset * 7) + 'px';
}

// browser detection script, om in de top-level div de naam van de browser te printen

var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari",
		    versionSearch: "Version"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.userAgent,
		    subString: "iPhone",
		    identity: "iPhone/iPod"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();

// einde browser detection script

function submitForm(formOrName, validator, elements, formproperties) {
	var form = (typeof(formOrName) != 'object') ? document.forms[formOrName] : formOrName;
  for (var name in elements){
    if (form.elements[name]){
      form.elements[name].value = elements[name];
    }
  }
  if (validator == true && typeof(validateForm) == 'function'){ validator = validateForm; }
	if (validator && !validator(form)) {
		return;
	}
	for (var name in formproperties){
	  form.attributes[name].value = formproperties[name];
	}
  form.submit();
}
