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() { 
	$('.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+"&callback=?", function(jsonArray){
			$("#autocomplete").empty();
			$.each(jsonArray.mcsrafor.m5Article,function(index,data){ 
				if(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 = "?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();        
}
});
