if (!console || !console.log) {
    var console = {};
    console.log = function(){
    }
}

window.addEvent('domready', function(){
	//zomer actie show action flash only once.
	var shows = Cookie.read('homepage');
	if(!shows) {
		shows=0;
	}
	if(shows < 1){
		Cookie.write('homepage', (parseInt(shows) +1), {path: '/'});
		$('printlogo').addClass('hidden');
		$('header').getElement('.logo').set('styles',{'background': 'none'});
		$('zomerlogo').removeClass('hidden');
	}
	// ajax preferred store
    //karw.showMyLocation();
    if (karw.Tabs) {
    	karw.Tabs.Control();
    }
    
    //slide boxes
    if (document.getElementById("info-section")) {
    	var _open = -1;
        var items = $$('#info-section .title');
        var slide = $$('#info-section .slide');
        slide.each(function(el, i){
            slide[i].setStyles({
                "display": "block"
            });
            slide[i].setStyles({
                "margin-bottom": -slide[i].getHeight()
            });
            if (slide[i].className.indexOf("active") != -1) {
                slide[i].setStyles({
                    "margin-bottom": 0
                });
                _open = i;
            }
        });
        items.each(function(el, i){
            items[i].addEvent('mouseover', function(){
                if(_open != i){//skip concurrent onmouseover's for same item.
	            	if (slide[i].getStyle("margin-bottom").toInt() != 0 ) {
	                    if(_open > -1) {
	                    	slide[_open].tween("margin-bottom", -slide[_open].getHeight());
	                    }
	                    slide[i].tween("margin-bottom", 0);
	                    _open = i;
	                }
	                else {alert("b");
	                    slide[i].tween("margin-bottom", -slide[i].getHeight());
	                }
	            }
            });
        });
    }
    //set li height bouwmarkt search
    var maxHeight = 0;
    var container = $$(".hor-search-results")[0];
   	if(container != null) {
	    var pointers = container.getElements(".onclickpointer");
	   	pointers.each(function(el){
	    	if(el.getSize().y > maxHeight){
	    		maxHeight = el.getSize().y;
	    	}
	    })
	    if(maxHeight > 0) {
	       	pointers.each(function(el){
	       		el.setStyle("height", maxHeight);
	        })
	    }
   	}
   	
   	var content = $$('#content')[0];
   	if(content) {
   		content.getElements('.inform-box').each(function(el){
   			try {
   			var span = el.getElement('span');
   			var div = el.getElement('.text-bar');
   			var size = div.getSize();
   			if((size.y - 36) > 0){
   				span.setStyles({
   					"margin-bottom": (size.y - 36) + "px"
   				});
   			}
   			}
   			catch(e){}
   		});
   	}
});

function openPopUp(params){
    var popup = $('karwFLP');
    if (!popup) {
        var shadow = $('karwFLPshadow');
        if (!shadow) {
			
			var shieldTag = "iframe";
			if($chk(params['noshield']) && (params['noshield'] == true || params['noshield'] == 'true')) {
				shieldTag = "div";
			}
	
            shadow = new Element(shieldTag, {
                'id': 'karwFLPshadow',
                'name': 'karwFLPshadow'
            });
            $(document.body).grab(shadow);
			
			if(shieldTag == 'iframe') {
	            window.frames["karwFLPshadow"].document.open();
	            window.frames["karwFLPshadow"].document.write("<html><body style='background-color:\"#000\"'></body></html>");
	            window.frames["karwFLPshadow"].document.close();
			}
			
            window.addEvent('resize', function(){
                shadow.setStyle('height', document.body.scrollHeight + 'px');
				shadow.setStyle('width', document.body.scrollWidth + 'px');
            });
			window.fireEvent('resize');
        }
        
        
        popup = new Element('div', {
            'id': 'karwFLP',
            'html': '<div class="popup-holder"><div class="title"><a class="close" href="#">sluiten</a><h3></h3></div><div class="popup-content"></div></div>'
        });
        popup.getElement('a.close').onclick = function(){
            popup.hide()
            return false;
        }
        /*
        window.addEvent('resize', function(event){

        	var hViewport = (window.innerHeight || document.documentElement.clientHeight) -40;
			//alert(hViewport );
        	popup.getElement('.popup-holder').setStyle('width', document.body.scrollWidth + 'px');
        	popup.getElement('.popup-holder').setStyle('height', hViewport + 'px');
        	popup.getElement('iframe').setStyle('width', document.body.scrollWidth + 'px');
        	popup.getElement('iframe').setStyle('height', hViewport + 'px');
        	popup.centerV({
                animate: false
            });
        });
        */
        
        popup.setContent = function(strTitle, content){
            popup.getElement(".title h3").set("text", strTitle);
            popup.getElement(".popup-content").empty().grab(content);
            popup.setStyles({
                width: popup.getElement(".popup-content").getSize().x
            })
        }
        popup.show = function(){
            popup.setStyles({
                display: 'block'
            });
            shadow.setStyles({
                display: 'block',
                opacity: 0
            });
            shadow.fade(0.6)
        }
        popup.hide = function(){
            popup.setStyle('display', 'none');
            shadow.setStyle('display', 'none');
        }
		
		
        popup.centerV = function(params){
            var hPopup = params.animate ? params.futureH : popup.getSize().y;
            var hViewport = window.innerHeight || document.documentElement.clientHeight;
            var scrollTopViewport = $(document.body).getScroll().y;
            var newTop = Math.round(scrollTopViewport + Math.max(0, 0.5 * (hViewport - hPopup)));
            if (params.animate) {
                popup.tween("top", newTop);
            }
            else {
                popup.setStyle("top", newTop)
            }
        }
        popup.centerH = function(){
            popup.setStyles({
                marginLeft: parseInt(-0.5 * popup.getElement(".popup-content").getSize().x, 10)
            })
        }
        $(document.body).grab(popup);
        
        new Drag(popup, {
            handle: popup.getElement(".title"),
            modifiers: {
                'x': 'margin-left',
                'y': 'top'
            }
        });
        
    }
    
    switch (params.contenttype) {
        case "iframe":
        	var resetHeightWidth = 0;
        	if(params.stepimage){ 
        		var image = new Asset.image($('stepimage').src);
        		
        		params.frameheight = image.height + 50;
        		params.framewidth = image.width + 50;
        		params.frameurl =  $('stepimage').src;
        	}
        	if(params.stepimage2){ 
        		var image = new Asset.image($(params.stepimage2).src);
        		
        		params.frameheight = image.height + 50;
        		params.framewidth = image.width + 50;
        		params.frameurl =  $(params.stepimage2).src;
        		var resetHeightWidth = 1;
        	}
            var iframe = new IFrame({
                //src: Browser.Engine.webkit?params.frameurl:"javascript:document.open();document.write(\"<html><body style='margin:0px;text-align:center'><image src='" + karw.loadImg.src + "'/></body></html>\");document.close();document.location.href='" + params.frameurl + "'",
                src: params.frameurl,
            	frameborder: "false",
                scrolling: params.frameheight ? "yes" : "no",
                styles: {
                    height: (params.frameheight ? params.frameheight : 20) + "px",
                    width: (params.framewidth ? params.framewidth : 600) + "px",
                    border: '0px solid #fff',
                    overflow: params.frameheight ? "auto" : "hidden"
                },
                events: {
                    load: function(){
                        if ((!params.frameheight && !iframe.containerHeightInitialized) || resetHeightWidth==1) {
							var innerBody = Browser.Engine.gecko ? $(iframe.contentDocument.body) : $(iframe.contentWindow.document.body);
                            var hContent = Browser.Engine.gecko ? iframe.contentDocument.body.offsetHeight : iframe.contentWindow.document.body.scrollHeight;

							// Adjust width if needed
							if(innerBody.getFirst() && !params.frameWidth && innerBody.getFirst().getStyle('width') != 'auto' && !innerBody.getFirst().getStyle('width').contains('%')) {
								
								var wContent = innerBody.getFirst().getSize();
								var ieSize = window.ie ? (innerBody.getFirst().getStyle('padding-left').toInt() + innerBody.getFirst().getStyle('padding-right').toInt()) : 0;
								// var allSize = innerBody.getFirst().getStyle('margin-left').toInt() + innerBody.getFirst().getStyle('margin-right').toInt();
								// // console.log(innerBody.getFirst().getStyle('margin-left').toInt());
								// allSize += innerBody.getStyle('margin-left').toInt() + innerBody.getStyle('margin-right').toInt();
								// 
								// allSize += innerBody.getStyle('padding-left').toInt() + innerBody.getStyle('padding-right').toInt();
								// alert(allSize);
								// wContent.x +=  allSize;
								// wContent.x += ieSize;
								
								// alert(wContent.x)
								
								iframe.setStyle('width', wContent.x + 40);
								popup.setStyle('width', wContent.x + 40);
							    popup.centerH({animate: true});
							}

							iframe.tween('height', hContent + 20);
							
                            popup.centerV({
                                animate: true,
                                futureH: (hContent + 20)
                            });
                        }
                    }
                }
            
            })
            var content = iframe;
            break;
    }
    popup.show();
    popup.setContent(params.popuptitle, content)
    popup.centerH();
    popup.centerV({
        animate: false
    });
    return false;
}

function ieHover(){
    var nav = document.getElementById("table-b");
    if (nav) {
        var nodes = nav.getElementsByTagName("tr");
        for (var i = 0; i < nodes.length; i++) {
            nodes[i].onmouseover = function(){
                this.className += " hover";
            }
            nodes[i].onmouseout = function(){
                this.className = this.className.replace(" hover", "");
            }
        }
    }
    $$('.vscroll-slider').each(function(_el){
        _el.onmouseover = function(){
            _el.addClass('hover');
        }
        _el.onmouseout = function(){
            _el.removeClass('hover');
        }
    });
}

function initDrop(){
    /*--- compte-freelance popup js ---*/
    var _hold = $$('.productplacement .sub-block')[0];
    if (_hold) {
        var _btn = _hold.getElement('.drop');
        var _box = _hold.getElement('.holder .slide-block');
        if (_btn && _box) {
            var _f = false;
            _box.moo = new Fx.Tween(_box, {
                duration: 400,
                link: 'cancel',
                'onComplete': function(){
                    if (!_f) 
                        _box.getParent().setStyle('height', '0');
                }
            });
            _btn.onclick = function(){
                if (_f) {
                    var _h = _box.offsetHeight;
                    _hold.removeClass('active');
                    _box.moo.start('margin-top', -_h);
                    _f = false;
                }
                else {
                    var _h = _box.offsetHeight;
                    _hold.addClass('active');
                    _box.setStyle('margin-top', -_h);
                    _box.getParent().setStyle('height', 'auto');
                    _box.moo.start('margin-top', 0);
                    _f = true;
                }
                return false;
            }
        }
    }
}

if (window.addEventListener) {
    window.addEventListener("load", initDrop, false);
}
else 
    if (window.attachEvent && !window.opera) {
        window.attachEvent("onload", initDrop);
        window.attachEvent("onload", ieHover);
    }


karw.Tabs = {}
karw.Tabs.vars = {
    selectedTab: null,
    selectedContent: null
}

karw.Tabs.Control = function(){
    var tabAreas = $$('.tab-section');
    
    for (i = 0; i < tabAreas.length; i++) {
        var singleTabArea = tabAreas[i];
        
        var tabs = singleTabArea.getElements('ul.tabset a.tab');
        for (i = 1; i <= tabs.length; i++) {
            var tabItem = tabs[i - 1];
            if (i == 1) {
                karw.Tabs.vars.selectedTab = tabItem;
                karw.Tabs.vars.selectedTab.getParent().addClass("active");
                karw.Tabs.vars.selectedContent = $('tab-' + i);
                karw.Tabs.vars.selectedContent.addClass("display");
            }
            tabItem.addEvent('click', karw.Tabs.ShowTabContent.bindWithEvent(window, [tabItem, i]));
            
        }
    }
}
karw.Tabs.ShowTabContent = function(e, tabItem, counter){
    var tabContentPanel = $('tab-' + counter);
    
    
    karw.Tabs.vars.selectedTab.getParent().removeClass("active");
    tabItem.getParent().addClass("active");
    karw.Tabs.vars.selectedTab = tabItem;
    
    karw.Tabs.vars.selectedContent.removeClass("display");
    tabContentPanel.addClass("display");
    karw.Tabs.vars.selectedContent = tabContentPanel;
}

karw.setMyLocation = function(params, checkbox){
    new Request.JSON({
        url: karw.context + '/store/set_preferred_store',
        noCache:true,
        method: 'get',
        data: params,
        async: false,
        onSuccess: function(jsonResponse){
	    	if (jsonResponse.store) {
	    		$$('#preferredstore span').set('html', jsonResponse.store.name);
	    		$('preferredstore').set('href', karw.context+jsonResponse.store.url);
		        // Sitecatalyst store
		        trackPreferredStore(jsonResponse.store.name);
	    	}
	    	if (jsonResponse.store) {
	    		$('nopreferredstore').addClass('hidden');
	    		$('preferredstore').removeClass('hidden');
	    	} else {
	    		$('preferredstore').addClass('hidden');
	    		$('nopreferredstore').removeClass('hidden');
	    		
	    		// Sitecatalyst no store
		        trackPreferredStore('Geen Winkel');
	    	}
	    },
        onFailure: function(){
            checkbox.checked = !params.status;
            alert("Het aan- of uitzetten van 'mijn Karwei' is niet gelukt.");
            
        }
    }).send();
}

karw.showMyLocation = function(){
	if ($('preferredstore')) {
	    new Request.JSON({
	        url: karw.context + '/store/get_preferred_store?random='+Math.random(),
	        noCache:true,
	        method: 'get',
	        onSuccess: function(jsonResponse){
		    	if (jsonResponse.store) {
		    		$$('#preferredstore span').set('html', jsonResponse.store.name);
		    		$('preferredstore').set('href', karw.context+jsonResponse.store.url);
		    	}
		    	if (jsonResponse.store) {
		    		$('nopreferredstore').addClass('hidden');
		    		$('preferredstore').removeClass('hidden');
		    	} else {
		    		$('preferredstore').addClass('hidden');
		    		$('nopreferredstore').removeClass('hidden');
		    	}
		    },
	        onFailure: function(){     
	        }
	    }).send();
	}
}

karw.printLists = function(id){
	var noshow = $$(".info-bar")[0];
	noshow.addClass("dontprint");
	window.print();
	noshow.removeClass("dontprint");
}

karw.printCoupon = function(id){
	var noshow = $$(".visual-text")[0];
	noshow = noshow.getElement('p');
	noshow.addClass("dontprint");
	window.print();
}

karw.toggleHelp = function(element){
	var parent = $(element).getParent();
	var messageBox = $(parent).getElement('div.explain_text');
	var errorBox = parent.getElement('div.error_text');
	if(!messageBox.bolVisible){
		if(errorBox) {errorBox.setStyle("display","none")};
		messageBox.fade(0,1);
		messageBox.bolVisible = true;
	}
	else{
		if(errorBox) {errorBox.setStyle("display","block")};
		messageBox.fade(1,0);
		messageBox.bolVisible = false;
	}
}

karw.submitForm = function(el){
	var form = $(el).getParent("form");
	form.getElementById("event").set('value',el.id);
	
	if($chk(form.get('onsubmit'))) {
		karw.postAquimaForm(form, true);
	} else {
		form.submit();
	}

	return false;
}

karw.buttonFocus = function(button){
	button.className = button.className + ' buttonfocused'
}

karw.buttonBlur = function(button){
	button.className = button.className.replace(/buttonfocused/g,"");
}

karw.aquimapost = function(field){
	// field.form.parentNode.style.display='none';
	// document.getElementById('aquimaloading').style.display ='block';
	// field.form.submit();
	karw.postAquimaForm(field.form, false);
}
karw.postAquimaForm = function(target_form, moveToTop) {	
	target_form = $(target_form);
	var action = target_form.action;

	var newAction = '';
	if($chk(action) && action !== null && action !== '') {
		newAction = action+"&view=Fragment";
	} else {
		newAction = "?view=Fragment";
	}
	target_form.set('send', {url: newAction, method: 'post', onComplete:karw.postAquimaFormCompleteHandler.bindWithEvent(window, [moveToTop])});
	target_form.send();
	
	// Disable form
	var f_elements = target_form.elements;
	for(var i=0;i<f_elements.length;i++) {
		var f_elm = $(f_elements[i]);
		f_elements[i].set('disabled', 'true');		
	}
	return false;
}
karw.postAquimaFormCompleteHandler = function(newPageXML, moveToTop) {
	var tmpEl = new Element('div');
	tmpEl.set('html', newPageXML);
	tmpEl.getFirst().replaces($(document.body).getElement('.aquimapage'));
	
	if(moveToTop !== false) {
		var top = $('aquimatop');
		var coord = top.getCoordinates(document.body);
		window.scrollTo(coord.left,coord.top);
	}
}
karw.goRoute = function(storeURL){
	var address = $('route').value;
	if(address == ""){
		alert("vul wat in");
	}else{
		location.href=storeURL+"?addr="+address+"#routeplanner";
	}
}
karw.focusTextBox = function(inputElement){
	inputElement.focus();
	if(inputElement.value=='postcode of plaats'){
		inputElement.value='';
	}
}

