$(document).ready(function() {
    $('#slideMenu .item').hover(
        function() {
            $(this).addClass('hovered');
        },
        function() {
            $(this).removeClass('hovered');
        }
    );
});

var xmlhttp;
function aaGetXmlHttpRequest() {
   var xmlHttpObj;
   if (window.XMLHttpRequest) {
      xmlHttpObj = new XMLHttpRequest();
   } else {
      try
         {
            xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (e)
         {
            try
            {
               xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
               xmlHttpObj = false;
            }
         }
    }
   return xmlHttpObj;
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}

function setVisible(tar,behavior) {
	tar = document.getElementById(tar);
	if(tar && behavior == 1) {
		tar.style.display = 'block';
		tar.style.visibility = 'visible';
	} else if(tar) {
		tar.style.display = 'none';
		tar.style.visibility = 'hidden';
	}
}

function showSelectBars(origin) {
	var sbars = document.getElementsByTagName('select');
	for(var i=0;i<sbars.length;i++) {
		if(origin && origin == 1) {
			sbars[i].style.visibility = 'visible';
		} else {
			sbars[i].style.visibility = 'hidden';
		}
	}
}

function closeDimmer() {
	showSelectBars(1);
	var dimmer = document.getElementById('dimmer');
	if(dimmer) {
		dimmer.innerHTML = '';
		setVisible('dimmer',0);
	}
}

function ltLogin(selfUrl, webObj, pmuniq) {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest();
   if (!xmlhttp) return;
	if(webObj && webObj == 'RMUSR') {
		var url = selfUrl+'?M5NextUrl=RMUSR&objectType=HTML&M5NextScrn=1';
	   xmlhttp.open('GET', url, true);
	   xmlhttp.onreadystatechange = retLogin;
	   xmlhttp.send(null);
	}
}

// Functie voor het visualiseren van postcode resultaat
function retLogin() {
	if(xmlhttp.readyState == 4) {
      var resultStr = xmlhttp.responseText;
		var dimmer = document.getElementById('dimmer');

		var dimOverlay = document.createElement('div');
		dimOverlay.setAttribute('id','dimOverlay');
		dimmer.appendChild(dimOverlay);
		setVisible('dimmer',1);
		showSelectBars(0);

		dimmer.innerHTML += resultStr;
   }
}

function getLoginData() {
	if(xmlhttp.readyState == 4) {
		var resultStr = xmlhttp.responseText;
		alert(resultStr);
		document.navFrm.M5NextUrl.value='RMSHI';
		m5submit(document.navFrm,true);
	}
}

/* Autocomplete function AJAX/JSON */

var active = -1;
var timeout = null;
var selfUrl = '/lots/mcsmambo.p';

$(document).ready(function() {
    $('.searchform').after('<ul id="autocomplete" style="display:none;"></ul>');
	$('.searchfield').keydown(function(e){
		lastKeyPressCode = e.keyCode;
		switch(e.keyCode) {
			case 38: // up
				e.preventDefault();
				moveSelect(-1);
				break;
			case 40: // down
				e.preventDefault();
				moveSelect(1);
				break;
			case 9:  // tab
			case 13: // return
				ie8SafePreventEvent(e);
				artid = $("li.ac_over", "ul#autocomplete").attr("id");
				if(artid){
					$('[.searchfield').val($("li.ac_over", "ul#autocomplete").text());
					$("#autocomplete").hide();
					var url = selfUrl+ "?M5NextUrl=RAPRD&art_id=" + artid;
					$(location).attr('href',url);
				} else {
					m5submit(document.searchFrm,false);
				}
				break;
			default:
				active = -1;
				if (timeout) clearTimeout(timeout);
				timeout = setTimeout(function(){autocomplete();}, 500);
				break;
		}
	});

    function autocomplete(){
    	if(lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32)) return $("#autocomplete").fadeOut();
    	searchstring = $('.searchfield').val();
    	$("#autocomplete").fadeOut();
    	if(searchstring){
    		$.getJSON(selfUrl+"?M5NextUrl=RAFOR&objectType=AJAX&s_type=ART_DESC&s_key="+searchstring, function(jsonArray){
    			$("#autocomplete").empty();
    			if(jsonArray.mcsrafor && jsonArray.mcsrafor.m5Article) {
        			$.each(jsonArray.mcsrafor.m5Article, function(index,data){
                        if(data && data.art_desc){
                            $("#autocomplete").append("<li id='"+data.art_id+"'>"+ data.supp_name +" "+ data.art_desc+"</li>");
                        }
        			});
        		}
    			$("#autocomplete").css("width", $('[name=searchfield]').css("width"));
    			$("#autocomplete").fadeIn();
    			$("#autocomplete li").click(function(){
    				$('.searchfield').val($(this).text());
    				$("#autocomplete").hide();
    				var url = selfUrl + "?M5NextUrl=RAPRD&art_id=" + $(this).attr("id");
    				$(location).attr('href',url);
    			});
    		});
    	}
    }

    function moveSelect(step) {

		var lis = $("li", "ul#autocomplete");
		if (!lis) return;

		active += step;

		if (active < 0) {
			active = 0;
		} else if (active >= lis.size()) {
			active = lis.size() - 1;
		}

		lis.removeClass("ac_over");

		$(lis[active]).addClass("ac_over");

		// Weird behaviour in IE
		// if (lis[active] && lis[active].scrollIntoView) {
		// 	lis[active].scrollIntoView(false);
		// }

	};

    function ie8SafePreventEvent(e){
        if(e.preventDefault){ e.preventDefault()}
        else{e.stop()};

        e.returnValue = false;
        e.stopPropagation();
    }
});

function checkData(selfUrl) {
    $(document).ready(function() {
        if(selfUrl) {
            var stUrl = selfUrl +'?M5NextUrl=MNLAD6PP&objectType=RPC&zip_id=3525AA&streetnumber=9';
            $.getJSON(stUrl, function(jsonArray){
      		    if(jsonArray && jsonArray.mnlad6pp && jsonArray.mnlad6pp.status) {
      		        $('form[name=cntFrm] input[name=zip_id], form[name=cntFrm] input[name=cust_adhnr]').blur(function() { 
      		            getData(selfUrl); 
      		        });
      		        var zip_id = $('form[name=cntFrm] input[name=zip_id]');
      		        var cust_adhnr = $('form[name=cntFrm] input[name=cust_adhnr]');
      		        if(zip_id && cust_adhnr) 
      		            getData(selfUrl);    
      		    } else 
      		        $('#rb_adstr, #rb_city').show();    
      		});   
        }       
    }); 
}

function getData(selfUrl) {
    $(document).ready(function() {
        var cust_adhnr = $('form[name=cntFrm] input[name=cust_adhnr]').val();
        var zip_id = $('form[name=cntFrm] input[name=zip_id]').val();
        var no6pp = $('form[name=cntFrm] input[name=NO6PP]').val();
        
        if(!no6pp && zip_id && cust_adhnr) {
            var stUrl = selfUrl +'?M5NextUrl=MNLAD6PP&objectType=RPC&zip_id=' + zip_id + '&streetnumber=' + cust_adhnr;
            $.getJSON(stUrl, function(jsonArray){
                if(jsonArray.mnlad6pp && jsonArray.mnlad6pp.status && jsonArray.mnlad6pp.status == 'ok') {
                    $('#rbLocation').remove(); 
                    if(jsonArray.mnlad6pp.cust_adstr && jsonArray.mnlad6pp.cust_city) {                          
                        $('#rb_zip,#rb_adhnr').removeClass('regError');
                        $('#rb_adstr, #rb_city').hide();  
                        $('form[name=cntFrm] input[name=zip_id]').val(jsonArray.mnlad6pp.zip_id);
                        $('form[name=cntFrm] input[name=cust_adstr]').val(jsonArray.mnlad6pp.cust_adstr);
                        $('form[name=cntFrm] input[name=cust_city]').val(jsonArray.mnlad6pp.cust_city);
                        var rbLocation = '<div id="rbLocation" class="rbLocation"><div class="info">';
                            rbLocation+= '<div class="rbRow"><span>' + $('#rb_adstr label .label').html() + ':</span>' + jsonArray.mnlad6pp.cust_adstr + '</div>';
                            rbLocation+= '<div class="rbRow"><span>' + $('#rb_city label .label').html() + ':</span>' + jsonArray.mnlad6pp.cust_city + '</div>';
                            rbLocation+= '<div class="rbEdit" onClick="javascript:addrUndo();">Wijzig &raquo;</div><div class="clear"></div></div></div>';
                        $('#rb_zip').append(rbLocation);
                        
                        //$('#addrDetails').fadeIn(400);
                        //setTimeout(function() {
                        //    $('#addrDetails').html('<div class="addrRow"><span>Straat: </span>' + jsonArray.mnlad6pp.cust_adstr + '</div><div class="addrRow"><span>Plaats: </span>' + jsonArray.mnlad6pp.cust_city + '</div>');
                        //    $('#addrDetails').append('<div id="gMapCoords" class="gMapCoords"></div>');
                        //    ggeo(jsonArray.mnlad6pp.cust_adstr + ' ' + jsonArray.mnlad6pp.cust_city);
                        //}, 400);     
                    } else {
                        $('#rb_zip,#rb_adhnr').addClass('regError');  
                        $('#rb_adstr, #rb_city').show();    
                        //$('form[name=cntFrm] input[name=cust_adstr]').val('');
                        //$('form[name=cntFrm] input[name=cust_city]').val('');
                        var rbLocation = '<div id="rbLocation" class="rbLocation"><div class="info">';
                            rbLocation+= '<div class="rbRow rbError">Uw postcode heeft geen resultaat opgeleverd.</div>';
                            rbLocation+= '<div class="clear"></div></div></div>';
                        $('#rb_zip').append(rbLocation);
                        
                    }  
                } else if(jsonArray.mnlad6pp && jsonArray.mnlad6pp.status && jsonArray.mnlad6pp.status == 'error') {
                    $('#rbLocation').remove(); 
                    $('#rb_zip').addClass('regError');  
                    $('#rb_adstr, #rb_city').show();    
                    var rbLocation = '<div id="rbLocation" class="rbLocation"><div class="info">';
                        rbLocation+= '<div class="rbRow rbError">Uw postcode heeft geen resultaat opgeleverd.</div>';
                        rbLocation+= '<div class="clear"></div></div></div>';
                    $('#rb_zip').append(rbLocation);  
                } else {
                    $('#rb_adstr, #rb_city').show();     
                }
          	});
        }
    });
}

function addrUndo() {
    $('form[name=cntFrm] input[name=NO6PP]').val('TRUE');
    $('#rbLocation').fadeOut(200);
    $('#rb_adstr, #rb_city').show();    
    setTimeout(function() { $('#rbLocation').remove(); }, 200);
}

function checkCnt() {
    $(document).ready(function() {
        $('select[name=cnt_id]').change(function() {
            $('form[name=cntFrm] input[name=M5WebChoice]').val('');
            m5submit(document.cntFrm,true);
        });
        $('select[name=cnt_id]').load(function() {
            $('form[name=cntFrm] input[name=M5WebChoice]').val('');
            m5submit(document.cntFrm,true);
        });
    });
}

function getCountries(selfUrl,goTo) {
    $(document).ready(function() {
        if(selfUrl) {
            $('.worldmap').hover(
                function() {
                    $(this).append('<div id="wmDropdrop" class="wmDropdown loading"></div>');    
                    $('.map_txt', this).addClass('wmActive');
                    if(goTo) setCountries(selfUrl,goTo); else setCountries(selfUrl);
                }, function() {
                    $('#wmDropdrop').remove(); 
                    $('.map_txt', this).removeClass('wmActive');   
                }
            );
        }  
    });
}

function setCountries(selfUrl,goTo) {
    if(selfUrl) {
        var stUrl = selfUrl + '?M5NextUrl=RACNT&objectType=AJAX&M5Element=cnt_id,cnt_LCdesc';
        if(goTo) var goToUrl = goTo; else var goToUrl = selfUrl;
        $.getJSON(stUrl, function(jsonArray){  
            $('#wmDropdrop').removeClass('loading');
            if(jsonArray && jsonArray.mcsracnt) {  
                $.each(jsonArray.mcsracnt.icountry, function(index,data) {
                    $('#wmDropdrop').append('<div class="cntSelect"><a href="' + goToUrl + '?M5SesCnt=' + data.cnt_id + '">' + data.cnt_LCdesc + '</a></div>');      
                });
                $('#wmDropdrop').append('<div class="clear"></div>');
            }    
        });
    }    
}

function ggeo(v) {
	var geocoder = new google.maps.Geocoder();
	var myOptions = {
		zoom: 11,
		mapTypeId: google.maps.MapTypeId.TERRAIN,
		mapTypeControl: false,
		navigationControl: false,
		scaleControl: true
	};

	var map = new google.maps.Map(document.getElementById("gMapCoords"), myOptions);
	var address = v;

	geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
		    map.setCenter(results[0].geometry.location);
			var marker = new google.maps.Marker({
				map: map, 
				position: results[0].geometry.location
			});
        } else {
			$('#addrDetails').hide();
        }
	});
}

function coFunctions() {
    $(document).ready(function() {
        $('.regBox .helpMe').each(function() {
            var thisHtml = $(this).html();
            if(thisHtml)
                $(this).html('<div class="info">' + thisHtml + '</div>');    
        });
        
        $('.regBox .regInput')
            .focus(function() {
                if($(this).next('.helpMe').html()) 
                    $(this).next('.helpMe').fadeIn(200); 
            })
            .blur(function() {
                if($(this).next('.helpMe').html()) 
                    $(this).next('.helpMe').fadeOut(200);  
            });    
    });    
}

var t;
var tlen = 3000; 
$(document).ready(function() {
    if($('.banner').children('.bannerWrap'))  t = setTimeout("switchBanner();",tlen);
    $('.bannerwrap .buttons a').hover(function() {
        stopper();
        if($(this).hasClass('button1')) {
            $(this).addClass('active');
            $('.button2').removeClass('active');
            $('.button3').removeClass('active');
            $('.bannerlink1').addClass('active');
            $('.bannerlink2').removeClass('active');
            $('.bannerlink3').removeClass('active');
        }
        if($(this).hasClass('button2')) {
            $(this).addClass('active');
            $('.button1').removeClass('active');
            $('.button3').removeClass('active');
            $('.bannerlink2').addClass('active');
            $('.bannerlink1').removeClass('active');
            $('.bannerlink3').removeClass('active');
        }        
        if($(this).hasClass('button3')) {
            $(this).addClass('active');
            $('.button2').removeClass('active');
            $('.button1').removeClass('active');
            $('.bannerlink3').addClass('active');
            $('.bannerlink2').removeClass('active');
            $('.bannerlink1').removeClass('active');
        }
    }, 
    function() {
        if($('.bannerwrap .slides a').hover()) {
             t = setTimeout("switchBanner();",tlen);    
        }
    });
});

function switchBanner() {
    $(document).ready(function() {
        if($('.button2').hasClass('active')) {
            $('.button1').removeClass('active');
            $('.button2').removeClass('active');
            $('.button3').addClass('active');
            $('.bannerlink1').removeClass('active');
            $('.bannerlink2').removeClass('active');
            $('.bannerlink3').addClass('active');
        }
        else if($('.button3').hasClass('active')) {
            $('.button1').addClass('active');
            $('.button2').removeClass('active');
            $('.button3').removeClass('active');
            $('.bannerlink1').addClass('active');
            $('.bannerlink2').removeClass('active');
            $('.bannerlink3').removeClass('active');
        }
        else if($('.button1').hasClass('active')) {
            $('.button1').removeClass('active');
            $('.button2').addClass('active');
            $('.button3').removeClass('active');
            $('.bannerlink1').removeClass('active');
            $('.bannerlink2').addClass('active');
            $('.bannerlink3').removeClass('active');
        }
        t = setTimeout("switchBanner();",tlen);
    });
}

function stopper() {
    clearTimeout(t);
}

function submitOgone() {
    document.ogone.submit();
}
