var filterClick = false;
var timer =false;
var producten = Array();
var currentImage;
var currentTab;


function onDOMReady(fn, ctx){
	var ready, timer;
	var onStateChange = function(e){
		if(e && e.type == "DOMContentLoaded"){
			fireDOMReady();
		}else if(e && e.type == "load"){
			fireDOMReady();
		}else if(document.readyState){
			if(document.readyState == "loaded" || document.readyState == "complete"){
				fireDOMReady();
			}else if(!!document.documentElement.doScroll){
				try{
					ready || document.documentElement.doScroll('left');
				}catch(e){
					return;
				}
				fireDOMReady();
			}
		}
	};

	var fireDOMReady = function(){
		if(!ready){
			ready = true;
			fn.call(ctx || window);
			if(document.removeEventListener)
				document.removeEventListener("DOMContentLoaded", onStateChange, false);
			document.onreadystatechange = null;
			//window.onload = null;
			clearInterval(timer);
			timer = null;
		}
	};

	if(document.addEventListener)
		document.addEventListener("DOMContentLoaded", onStateChange, false);
	document.onreadystatechange = onStateChange;
	timer = setInterval(onStateChange, 5);
	//window.onload = onStateChange;
};


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function drop_shadow() {
	
	var o, items = document.getElementById('bottom').getElementsByTagName('li');
	for(var i=0; i<items.length; i++) {
		if(!/active/.test(items[i].className)) {	
			o = items[i].firstChild.firstChild.cloneNode(true);
			o.className = 'dropshadow';
			
			items[i].firstChild.appendChild(o);
			
			items[i].onmouseover = function() {
				this.getElementsByTagName('span')[1].style.display = 'block';	
			};
			items[i].onmouseout = function() {
				this.getElementsByTagName('span')[1].style.display = 'none';	
			};			
		} 
	}
}

function tab() {
	var active, activetab, a = document.getElementById('tabs').getElementsByTagName('li');
	
	var e = YAHOO.util.Event;
	var d = YAHOO.util.Dom;


	for(var i=0; i<a.length; i++) {
	
		if(a[i].className.indexOf('active') != -1) {
			active = a[i];
			
			activetab = document.getElementById('tab_' + i);
			
		}
		a[i].firstChild.rel = i;
		currentTab = a[0];
		
		a[i].firstChild.onclick = function() {
			
			if(this.parentNode.className=='active'){
					var activeTab = true
			}
			
			if (this.rev !=''){
				//update_request_link(this);	
			}
			
			// rechter foto updaten ahv id_rel
			if (this.rev != '') {
				
				var thumblink = document.getElementById('id_'+this.rev);
				
				if (thumblink) {
					
					var photo = document.getElementById("photo");	
					photo.style.background = "url(/img/loading_32px.gif) no-repeat center center";
					
					if(currentImage!=thumblink){
						thumblink.className = "active";
						currentImage.className = "";
						currentImage = thumblink;
					}
					
					var classnaam = "";
					if (document.getElementById('description')) {
						var c = document.getElementById('description');
						c = c.className;
						
						if (c != '') {
							classnaam = " class=\"de\"";	
						}
					}
					
					var img = document.getElementById('content_right').getElementsByTagName('img')[0];
					
					if(thumblink.title){
						photo.innerHTML = "<img src='"+thumblink.href+"' /><div id='description' "+classnaam+" style='background:#ececec;'>"+thumblink.title+"</div>";
					}else{
						photo.innerHTML = "<img src='"+thumblink.href+"' /><div id='description' "+classnaam+"></div>";
					}
					
					
				}
			}
			
			if(!activeTab){
			//	alert(this.parentNode.className);		
			active.className = active.className.replace(/active/, '');
			activetab.style.display = 'none';
			
			var b = getElementsByClass('tab');
			b = b[0].getElementsByTagName('div');
			
			for(var j=0; j<b.length; j++) {
		
				a[j].className = a[j].className.replace(/active/, '');
				b[j].style.display = 'none';
			}

			this.parentNode.className = 'active';
			var currentTab = 'tab_' + this.rel;
			document.getElementById(currentTab).style.display = 'block';	
			
				if(!isIE6()) {

					d.setStyle(currentTab, 'opacity', 0);
		
							
					//set animation attributes
					attributes = {opacity: {to: 1}};
					anim = new YAHOO.util.Anim(currentTab, attributes, 0.5, YAHOO.util.Easing.easeOut);
					//make animation
					anim.animate();
					
				}
			}

			return false;
		}
	}
}

function GetXmlHttpObject() { 
	var objXMLHttp = null;
	if (window.XMLHttpRequest) {
		objXMLHttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject('Microsoft.XMLHTTP');
	}
	return objXMLHttp;
} 
xmlHttp = GetXmlHttpObject();

function update_request_link(el){		
		if (el.rev !=''){
		var offerte = getElementsByClass('black_button',document.getElementById('content_left'),'a');
		var brochure = getElementsByClass('gold_button',document.getElementById('content_left'),'a');

		if (offerte[0].rel =='')offerte[0].rel = offerte[0].href;
		if (brochure[0].rel =='')brochure[0].rel = brochure[0].href;

		offerte[0].href = offerte[0].rel+'?'+el.rev;
		brochure[0].href = brochure[0].rel+'?'+el.rev;
	 }	
}

function init_thumbs() {
	//alert(document.getElementById('description').innerHTML);
	
	var photo = document.getElementById("photo");	
			photo.style.background = "url(/img/loading_32px.gif) no-repeat center center";

	var a = document.getElementById('thumb_nav').getElementsByTagName('a');
	var active;
	
	for(var i=0; i<a.length; i++) {
		currentImage = a[0];
		currentImage.className = "active";
		
			a[i].onclick = function() {
				
				if(currentImage!=this){
					this.className = "active";
					currentImage.className = "";
					currentImage = this;
				}

				
				var img = document.getElementById('content_right').getElementsByTagName('img')[0];
				
				var classnaam = "";
				if (document.getElementById('description')) {
					var c = document.getElementById('description');
					c = c.className;
					
					if (c != '') {
						classnaam = " class=\"de\"";	
					}
				}
				
				if(this.title){
					photo.innerHTML = "<img src='"+this.href+"' /><div id='description' "+classnaam+" style='background:#ececec;'>"+this.title+"</div>";
				}else{
					photo.innerHTML = "<img src='"+this.href+"' /><div id='description' "+classnaam+"></div>";
				}
				
				return false;
		}
	}
}
function product_hover() {
	if(getElementsByClass('item').length > 0){
		
		var a = getElementsByClass('item');
		for(var i=0; i<a.length; i++) {
			a[i].onmouseover = function() { 
				this.style.background = 'url(/img/product_hover.gif) no-repeat 0 0';
				this.style.cursor = 'pointer';
			};
			a[i].onclick = function() {
				location.href = this.getElementsByTagName('a')[0].href;
			};
			a[i].onmouseout = function() { 
				this.style.background = 'url(/img/background_product.gif) repeat-y 100% 11px';
				this.style.cursor = 'default';
			} ;
		}
	}

	if(getElementsByClass('firstitem').length > 0){
		var a = getElementsByClass('firstitem');
		for(var i=0; i<a.length; i++) {
			a[i].onmouseover = function() { 
				this.style.background = 'url(/img/product_hover.gif) no-repeat 0 0';
				this.style.cursor = 'pointer';
			};
			a[i].onclick = function() {
				location.href = this.getElementsByTagName('a')[0].href;
			};
			a[i].onmouseout = function() { 
				this.style.background = 'url(/img/background_product.gif) repeat-y 100% 11px';
				this.style.cursor = 'default';
			} ;
		}
	}
	if(document.getElementById('productfilter')){

		var obj = document.getElementById('productfilter');
		var el = document.getElementById("active_filter");
		var abc = document.getElementById('select_filters');
		obj.onmouseover = function(){
			clearTimeout(timer);
//			alert("aa");	
		}
				
		abc.onmouseover = function(){
			clearTimeout(timer);
//			alert("aa");	
		}
		
		
		el.onclick= function(){
			if(filterClick){
			this.style.backgroundPosition = "Left 0";	
			document.getElementById("item").style.backgroundPosition = "right 0";	
			var filters = document.getElementById("select_filters").style.display = "none";
			filterClick = false;
			}else{
			this.style.backgroundPosition = "Left -31px";	
			document.getElementById("item").style.backgroundPosition = "right -31px";				
			var filters = document.getElementById("select_filters").style.display = "block";
			filterClick = true;
			}

		}
		
		el.onmouseout = function(){
			timer = setTimeout("setFilter()", 1000);
		}		

	}
}

function setFilter(){
		document.getElementById("active_filter").style.backgroundPosition = "Left 0";
		document.getElementById("item").style.backgroundPosition = "right 0";	

		var filters = document.getElementById("select_filters").style.display = "none";
		filterClick = false;
}

function isIE6() {
		var RE = /MSIE 6.0/gi;
		return (RE.test(navigator.userAgent)) ? true : false;
}


function sel_menu(id, querystring) {
	if(document.getElementById(id))	{
		document.getElementById(id).onchange = function() {
			if(this.value != '0') {
				if(location.search.indexOf('filter') == -1) {
					location.href = location.href + '&filter='+ this.value;
				}
				else {
					var a = /filter=(.+)$/.exec(location.href);
					location.href = location.href.replace(RegExp.$1, this.value);
				}
			}			
		}
	}
}

// links op de blokken op home
function links_homepage() {
	if	(document.getElementById('aluminium') && !document.getElementById("wm_balk")) {
		var x = document.getElementById('aluminium');	
		var l = getElementsByClass('gold_button',x,'a');
		if (l != '') {
			x.rel = l;
			x.onclick = function () {
				location.href = this.rel;
			}
		}
		x = document.getElementById('hoogwerker');	
		l = getElementsByClass('gold_button',x,'a');
		if (l != '') {
			x.rel = l;
			x.onclick = function () {
				location.href = this.rel;
			}
		}
		x = document.getElementById('maatwerk');	
		l = getElementsByClass('gold_button',x,'a');
		if (l != '') {
			x.rel = l;
			x.onclick = function () {
				location.href = this.rel;
			}
		}
	}
}

// laadt de lijsten producten in
function offerte_lijst_producten() {
	if (document.getElementById('sel_categorie')) {
		var x = document.getElementById('sel_categorie');
		laad_lijst(x.value);			
	}
}

function laad_lijst(nr) {
	vullen = true;
	lastgroup =false;
	if (!nr) vullen = false;
	if (nr == 0 || nr == 4 || nr == "undefined" || nr == null) vullen = false;
	var elm = document.getElementById('sel_product');
	
	if (vullen == false) {
		elm.value = '';
		elm.disabled = true;
		return false;
	}
	else {
		elm.disabled = false;
	}
	
	nr = parseInt(nr);
	
	
	elm.options.length = 1; 
	
	for(var i=0; i<producten[nr].length; i++) {
		if (producten[nr][i][3] != '' && producten[nr][i][3] !=lastgroup){
			lastgroup = producten[nr][i][3]
			opt = document.createElement('optgroup');
			opt.label = producten[nr][i][3];
			//opt.appendChild(document.createTextNode(producten[nr][i][3]));
			elm.appendChild(opt);
			
		}
		
		
		opt = document.createElement('option');
		opt.value = producten[nr][i][0];
		//opt.text = producten[nr][i][1];
		if (producten[nr][i][2] == 1) opt.setAttribute("selected", "selected");
		if (producten[nr][i][3] != ''){
			indentoption = "    ";
			opt.style.textIndent = '20px';
		}
		opt.appendChild(document.createTextNode(indentoption+producten[nr][i][1]));
		elm.appendChild(opt);
	}
	
}


var fruitiger = { src: '/swf/univers57.swf' };
sIFR.activate(fruitiger); 

var franklin = { src: '/swf/franklin.swf' };
sIFR.activate(franklin); 

sIFR.replace(franklin, { 
			 selector: '#subtitlehomeduits', 
			 css: [ 
				   '.sIFR-root { font-weight: normal; color: #ffffff; font-size:20px; letter-spacing: -1; margin-left: 13px; }',
				   'a:link { font-style: normal; color: #fdc901; }',
				   'a:visited { font-style: normal; color: #fdc901; }',
				   'a:hover { font-style: normal; color: #fdc901; }',
				   'a:active { font-style: normal; color: #fdc901; }'
				   ], 
			 wmode: 'transparent' }
);

sIFR.replace(fruitiger, { 
			 selector: '#title', 
			 css: [ 
				   '.sIFR-root { font-weight: normal; color: #fdc901; font-size:45px; margin-left: 11px; }'
				  ], 
			 forceSingleLine: true, 
			 wmode: 'transparent' }
);
sIFR.replace(fruitiger, { 
			 selector: '#subtitle', 
			 css: [ 
				   '.sIFR-root { font-weight: normal; color: #ffffff; font-size:22px; letter-spacing: -0.3; margin-left: 13px; }',
				   'a:link { font-style: normal; color: #fdc901; }',
				   'a:visited { font-style: normal; color: #fdc901; }',
				   'a:hover { font-style: normal; color: #fdc901; }',
				   'a:active { font-style: normal; color: #fdc901; }'
				   ], 
			 wmode: 'transparent' }
);
sIFR.replace(fruitiger, { 
			 selector: '#subtitlehome.en', 
			 css: [ 
				   '.sIFR-root { font-weight: normal; color: #ffffff; font-size:20px; letter-spacing: -1; margin-left: 13px; }',
				   'a:link { font-style: normal; color: #fdc901; }',
				   'a:visited { font-style: normal; color: #fdc901; }',
				   'a:hover { font-style: normal; color: #fdc901; }',
				   'a:active { font-style: normal; color: #fdc901; }'
				   ], 
			 wmode: 'transparent' }
);
sIFR.replace(fruitiger, { 
			 selector: '#subtitlehome', 
			 css: [ 
				   '.sIFR-root { font-weight: normal; color: #ffffff; font-size:22px; letter-spacing: -1; margin-left: 13px; }',
				   'a:link { font-style: normal; color: #fdc901; }',
				   'a:visited { font-style: normal; color: #fdc901; }',
				   'a:hover { font-style: normal; color: #fdc901; }',
				   'a:active { font-style: normal; color: #fdc901; }'
				   ], 
			 wmode: 'transparent' }
);

sIFR.replace(fruitiger, { selector: 'h1', css: [ '.sIFR-root { font-weight: normal; color: #fdc901; font-size:30px; margin-left: 28px; }' ], forceSingleLine: true, wmode: 'transparent' });
//sIFR.replace(fruitiger, { selector: 'h2', css: [ '.sIFR-root { font-weight: normal; color: #ffffff; font-size:24px; margin-left: 28px; display: inline; }' ], forceSingleLine: true, wmode: 'transparent' });
sIFR.replace(fruitiger, { selector: 'div#sifrwhite em', css: [ '.sIFR-root { font-weight: normal; font-style:normal; color: #ffffff; font-size:24px; margin-left: 28px; display: inline; }' ], forceSingleLine: true, wmode: 'transparent' });



onDOMReady(function(){
	
	drop_shadow();
	product_hover();
	links_homepage();
	offerte_lijst_producten();

	if(document.getElementById('tab_1')) {
		tab();
	}
	

	
	if(document.getElementById('thumb_nav')) {
		init_thumbs();	
	}
		
	sel_menu('sel_filter', 'filter');

	if(isIE6()) {
		/*if(getElementsByClass('nieuw').length > 0) {
			//DD_belatedPNG.fix('.nieuw');
		}
		//DD_belatedPNG.fix('#bottom ul li.active');
		*/
		if (document.getElementById("productfilter")) {
			var x = document.getElementById("productfilter");
			var y = document.getElementById("tabs");
			
			if (y) {
				x.style.top = y.offsetTop - 280;	
				x.style.right = '23px';	
			}
		}
	}

})
