function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

addLoadEvent(doLogIn);
addLoadEvent(zoeken_site);
addLoadEvent(formSearchFocus);
addLoadEvent(indekijkerTimer);

function doLogIn() {
	var frmLogin = document.getElementById("loginForm");
	if(frmLogin) {
		frmLogin.onsubmit = function() {
			return validateLogin(this);
		}
	}
}

function validateLogin(theForm) {
	var error=0;
	var msg="";
	
	if(theForm.login_login && theForm.login_login.value.length==0) {
		error++;
		msg+="\n- login";
	}
	if(theForm.login_password && theForm.login_password.value.length==0) {
		error++;
		msg+="\n- wachtwoord";
	}
	if(error) {
		alert("Gelieve volgende velden in te vullen: "+msg);
		return false;
	}
	return true;
}

function zoeken_site() {
	var frmZoekenSite = document.getElementById("searchForm");
	if(frmZoekenSite) {
		frmZoekenSite.onsubmit = function() {
			if(frmZoekenSite.searchInput.value.length==0 || frmZoekenSite.searchInput.value=='Zoeken') {
				alert("Gelieve een zoekwoord in te vullen.");
				return false;
			}
			return true;
		}
	}
}

function formSearchFocus() {
	var searchField = document.getElementById("searchInput");
	if(searchField) {
		searchField.onfocus = function() {
			if(searchField.className=="") {
				searchField.value="";
				searchField.className="searchField";
			}
		}
		searchField.onblur = function() {
			if(searchField.value=="" && searchField.className=="searchField") {
				searchField.value="Zoeken";
				searchField.className="";
			}
		}
	}
}

function indekijkerTimer() {
	var boxIndekijker = document.getElementById("inDeKijker");
	if(boxIndekijker) {
		setTimeout("onEnterFrame()",3000);
	}
}

function doAddBasket(){
	var values = 0;
	//var inputs = $(".prodAantal input:not(:hidden)");
	var inputs = $(".prodAantal input");
	for (var i = 0; i < inputs.length; i++) {
		var nr = i + 1;
		prodAantal = $("#product_" + nr).val();
		if (parseInt(prodAantal) > 0) { values++; }
	}
	if (values == 0) {
		alert("	Gelieve voor minstens één artikel een aantal in te vullen.");
	} else {
		this.document.productform.submit();
	}
}
function doAddSingleBasket(){
	var prodAantal = $("#product_quantity").val();
	if (parseInt(prodAantal) > 0) {
		this.document.productform.submit();
	} else {
		$("#product_quantity").addClass("error");
	}
}
function doAddBasketFastOrder(){
	var error = 0;
	var inputs = $(".prodAantal input:not(:hidden)");
	for (var i = 0; i < inputs.length; i++) {
		var nr = i + 1; 
		var prodAantal = "";
		var name = "";
		prodAantal = $("#prodAantal" + nr).val();
		name = $("#prodAantal" + nr).attr("name");
		if(name && prodAantal < 1) {
			$("#prodAantal" + nr).addClass("error");
			error++;
		} else {
			$("#prodAantal" + nr).removeClass("error");
		}
	}
	if (error > 0) {
		//alert("error");
		//return false;
	} else {
		this.document.fastOrderForm.submit();
	}
}
function doAddBasketSalesFastOrder(){
	this.document.salesFastOrderForm.submit();
}
function doAddBasketHistoryOrder(){
	this.document.historyOrderForm.submit();
}
function doAddBasketHistoryFastOrder(formID){
	formID.submit();
}

function doBasketChangeQuantity(actionpage){
	this.document.basketform.action = actionpage;
	this.document.basketform.oper.value = "recalc";
	this.document.basketform.submit();
}

function doConfirmOrder(){
	var msg = "";
	if (this.document.adresform.method.value == "pugo") {
		if (this.document.adresform.pugo_point.value == ""){
			msg += "- Pugo Punt\n";
		}
	} else {
		if (this.document.adresform.adr_name.value == ""){
			msg += "- Naam\n";
		}
		if (this.document.adresform.adr_street.value == ""){
			msg += "- Straat\n";
		}
		if (this.document.adresform.adr_nr.value == ""){
			msg += "- Nr\n";
		}
		if (this.document.adresform.adr_postal.value == ""){
			msg += "- Postcode\n";
		}
		if (this.document.adresform.adr_city.value == ""){
			msg += "- Stad\n";
		}
		/*if (this.document.adresform.adr_country.value == ""){
			msg += "- Land\n";
		}*/
	}
	if (msg != ""){
		msg = "Gelieve de volgende velden in te vullen aub:\n " + msg;
		alert(msg);
	} else {
		this.document.adresform.submit();
	}
}

function doBasketDel(par){
	this.document.basketform.oper.value = "deleteitem";
	this.document.basketform.delid.value = par;
	this.document.basketform.submit();
}

function doTotalBasketDel(){
	this.document.basketform.oper.value = "deletetotalbasket";
	this.document.basketform.submit();
}

function doChangeAdres(){
	var id;
	var item;
	
	id = this.document.adresform.adr_adrsel[this.document.adresform.adr_adrsel.selectedIndex].value;
	if (id == ""){ id = "new"; }
	
	for (i = 0; i<document.adresform.elements.length; ++ i) {
		if (document.adresform.elements[i].name == "adr_name_" + id){ 
			document.adresform.adr_name.value = document.adresform.elements[i].value;
			document.adresform.adr_name_hid.value = document.adresform.elements[i].value;
		}
		if (document.adresform.elements[i].name == "adr_street_extra_" + id){ 
			document.adresform.adr_street_extra.value = document.adresform.elements[i].value;
			document.adresform.adr_street_extra_hid.value = document.adresform.elements[i].value;
		}
		if (document.adresform.elements[i].name == "adr_street_" + id){ 
			document.adresform.adr_street.value = document.adresform.elements[i].value;
			document.adresform.adr_street_hid.value = document.adresform.elements[i].value;
		}
		if (document.adresform.elements[i].name == "adr_nr_" + id){ 
			document.adresform.adr_nr.value = document.adresform.elements[i].value;
			document.adresform.adr_nr_hid.value = document.adresform.elements[i].value;
		}
		if (document.adresform.elements[i].name == "adr_postal_" + id){ 
			document.adresform.adr_postal.value = document.adresform.elements[i].value;
			document.adresform.adr_postal_hid.value = document.adresform.elements[i].value;
		}
		if (document.adresform.elements[i].name == "adr_city_" + id){ 
			document.adresform.adr_city.value = document.adresform.elements[i].value;
			document.adresform.adr_city_hid.value = document.adresform.elements[i].value;
		}
		/*
		if (document.adresform.elements[i].name == "adr_country_" + id){ 
			document.adresform.adr_country.value = document.adresform.elements[i].value;
			document.adresform.adr_country_hid.value = document.adresform.elements[i].value;
		}
		*/
	}
	
	if (id == "new"){
		var item = document.getElementById("adr_name");
		item.disabled = false;
		var item = document.getElementById("adr_street_extra");
		item.disabled = false;
		var item = document.getElementById("adr_street");
		item.disabled = false;
		var item = document.getElementById("adr_nr");
		item.disabled = false;
		var item = document.getElementById("adr_postal");
		item.disabled = false;
		var item = document.getElementById("adr_city");
		item.disabled = false;
		/*
		var item = document.getElementById("adr_country");
		item.disabled = false;
		*/
	} else {
		var item = document.getElementById("adr_name");
		item.disabled = true;
		var item = document.getElementById("adr_street_extra");
		item.disabled = true;
		var item = document.getElementById("adr_street");
		item.disabled = true;
		var item = document.getElementById("adr_nr");
		item.disabled = true;
		var item = document.getElementById("adr_postal");
		item.disabled = true;
		var item = document.getElementById("adr_city");
		item.disabled = true;
		/*
		var item = document.getElementById("adr_country");
		item.disabled = true;
		*/
	}

}

function toggle_visibility(id) {
	var e = document.getElementById(id);
	if(e.style.display == 'block') {
		e.style.display = 'none';
	} else {
		e.style.display = 'block';
	}
}

function show_div(id) {
	$("#" + id).show();
}

function showSub() {
	//mouseover
	$(this).addClass('hover');
	//var hoverID = $(this).attr('id');
	//if (hoverID == 'webshop') {
	//	$('#subnavWebshop').show();
	//} else {
	//	$('#' + hoverID + ' .subnav').show();
	//}
}
function hideSub() {
	// mouseout
	//$(this).removeClass('hover');
	//$('#subnavWebshop').hide();
	//$('.subnav').hide();
}

function doRemFav(prodArtNr,inputNr,user) { 
	var dataString = 'oper=remfromfavlist&art=' + prodArtNr + '&user=' + user;
	$.ajax({ 
		type: 'GET',
		url: '/inc/ajax_favorites.dhtml',
		data: dataString,
		async: false,
		success: function() {
			$('#icons' + inputNr + ' a').removeClass('infav');
			$('#icons' + inputNr + ' a').addClass('ninfav');
			$('#icons' + inputNr + ' a').attr('onClick', 'doAddFav(' + prodArtNr + ',' + inputNr + ',' + user + ');return false;');
		}
	});
}
function doAddFav(prodArtNr,inputNr,user) { 
	var dataString = 'oper=putinfavlist&art=' + prodArtNr + '&user=' + user;
	$.ajax({ 
		type: 'GET',
		url: '/inc/ajax_favorites.dhtml',
		data: dataString,
		async: false,
		success: function() {
			//$('#icons' + inputNr + ' a').removeClass('ninfav');
			//$('#icons' + inputNr + ' a').addClass('infav');
			//$('#icons' + inputNr + ' a').attr('onClick', 'doRemFav(' + prodArtNr + ',' + inputNr + ',' + user + ');return false;');
			//$('#icons' + inputNr).html("<div><span class='infav' id='infav" + inputNr +"' title='favoriet'></span></div>");
			$('#icons' + inputNr + ' .ninfav').parent().remove();
			var current = $('#icons' + inputNr).html();
			$('#icons' + inputNr).html("<div><span class='infav' id='infav" + inputNr +"' title='favoriet'></span></div>" + current);
		}
	});
}
function doClear(inputNr) {
	$('#prodArtNr' + inputNr).val("");
	$('#prod' + inputNr).html("");
	$('#prodVE' + inputNr).html("");
	$('#prodOrderAmount' + inputNr).html("");
	$('#prodPrice' + inputNr).html("");
	$('#prodAantal' + inputNr).val("");
	$('#prodAantal' + inputNr).attr("name","");
	$('#icons' + inputNr).html("");
}
function setActive(deliveryMethod) {
	if(deliveryMethod == "address") {
		$("#deliveryTabAddress").addClass("active");
		$("#deliveryTabPugo").removeClass("active");
		$("#deliveryAddress").removeClass("non_active");
		$("#pugoPoints").addClass("non_active");
		$("#method").val("address");
	}
	if(deliveryMethod == "pugo") {
		$("#deliveryTabPugo").addClass("active");
		$("#deliveryTabAddress").removeClass("active");
		$("#pugoPoints").removeClass("non_active");
		$("#deliveryAddress").addClass("non_active");
		$("#method").val("pugo");
	}
}


$(document).ready(function() {

	// HIDE LOGIN BOX
	$('#close').click(function() {
		$('#loginMessage').hide();
		return false;
	});

	// DELAY ON MENU HOVER
	var config = {    
		 sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)    
		 interval: 300, // number = milliseconds for onMouseOver polling interval    
		 over: showSub, // function = onMouseOver callback (REQUIRED)    
		 //timeout: 150000, // number = milliseconds delay before onMouseOut    
		 out: hideSub // function = onMouseOut callback (REQUIRED)    
	};
	$('#mainNav li:not(.subNav li)').hoverIntent(config);
		
	// KEEP PARENT MENU ITEM ACTIVE
	$('.subNav').hover(
		function(){
			//mouseover
			var id = $(this).parent().parent().attr('id');
			$('#' + id).addClass('subHover');
		},
		function(){
			// mouseout
			var id = $(this).parent().parent().attr('id');
			$('#' + id).removeClass('subHover');
		}
	);
	$('#mainNav li:not(.subNav li)').hover(
		function(){
			//mouseover
			//use hoverintent for this
			//$(this).addClass('hover');
		},
		function(){
			// mouseout
			$(this).removeClass('hover');
		}
	);
	

	// HOVER ON PORTAL LINKS
	$('.divisionIcon').hover(
		function(){
			//mouseover
			var id = $(this).attr('id');
			$('.siteLinkImage').hide();
			$('#' + id + 'Image').show();
		},
		function(){
			// mouseout
		}
	);
	
	// FASTORDER
    $('#fastOrderForm .prodArtNr input').change( function () { 
		var inputNr = $(this).attr('id').replace('prodArtNr','');
		var prodArtNr = $(this).val();
		if(prodArtNr == '') {
			$('#prod' + inputNr).html('');
			$('#prodVE' + inputNr).html('');
			$('#prodOrderAmount' + inputNr).html('');
			$('#icons' + inputNr).html('');
			$('#prodAantal' + inputNr).attr('name', '');
			$('#prodAantal' + inputNr).val('');
			$('#prodList' + inputNr).val('');
			$('#prodPrice' + inputNr).html('');
		} else {
			var language = $('#site_language').val();
			var siteid = $('#siteid').val();
			var user_afdeling = $('#user_afdeling').val();
			var user_tariefcode = $('#user_tariefcode').val();
			var user_klantnummer = $('#user_klantnummer').val();
			var user_klanttype = $('#user_klanttype').val();
			var user_klantgroep = $('#user_klantgroep').val();
			var user = $('#user').val();
			//var dataString = 'prodArtNr=' + prodArtNr + '&language=' + language + '&siteid=' + siteid + '&user_afdeling=' + user_afdeling + '&user_tariefcode=' + user_tariefcode + '&inputNr=' + inputNr + '&user=' + user;
			var dataString = 'prodArtNr=' + prodArtNr + '&language=' + language + '&siteid=' + siteid + '&user_afdeling=' + user_afdeling + '&user_tariefcode=' + user_tariefcode + '&inputNr=' + inputNr + '&user=' + user + '&user_klantnummer=' + user_klantnummer + '&user_klanttype=' + user_klanttype + '&user_klantgroep=' + user_klantgroep;

			//alert(dataString);
			$.ajax({ 
				type: 'GET',
				url: '/inc/ajax_fastorder.dhtml',
				data: dataString,
				async: false,
				success: function(html) {
					//alert(html);
					var responseValues = html.split('|');
					$('#prod' + responseValues[0]).html(responseValues[1]);
					$('#prodVE' + responseValues[0]).html(responseValues[2]);
					$('#prodOrderAmount' + responseValues[0]).html(responseValues[3]);
					$('#icons' + responseValues[0]).html(responseValues[4]);
					$('#prodAantal' + responseValues[0]).attr('name', responseValues[5]);
					$('#prodList' + responseValues[0]).val(responseValues[6]);
					$('#prodPrice' + responseValues[0]).html(responseValues[7]);
				}
			});
			if(parseInt(inputNr) > 1){
				//alert('ok');
				//var newNr = parseInt(inputNr) + 1;
				var gp = $(this).parent().parent();
				var ggp = gp.parent();
				var newNr = ggp.children().size(); //(header is also counted)
				var clone = $(gp).clone(true);
				clone.attr('id','clone');
				//clone.insertAfter(gp);
				ggp.append(clone);
				$('#clone .prodArtNr input').attr('id','prodArtNr' + newNr);
				$('#clone .prodArtNr input').attr('name','prodArtNr' + newNr);
				$('#clone .prodArtNr input').val('');
				$('#clone .prod').attr('id','prod' + newNr);
				$('#clone .prod').html('');
				$('#clone .prodVE').attr('id','prodVE' + newNr);
				$('#clone .prodVE').html('');
				$('#clone .prodOrderAmount').attr('id','prodOrderAmount' + newNr);
				$('#clone .prodOrderAmount').html('');
				$('#clone .prodPrice').attr('id','prodPrice' + newNr);
				$('#clone .prodPrice').html('');
				$('#clone .prodAantal').attr('id','prodAantalWrap' + newNr);
				$('#clone .prodAantal').html('<input type="text" id="prodAantal' + newNr + '" name="" size="4"><input type="hidden" id="prodList' + newNr + '" name="productlist[]" value="">');
				$('#clone .icons').attr('id','icons' + newNr);
				$('#clone .icons').html('');
				$('#clone .prodDelete a').attr('onClick','doClear(' + newNr + ');return false;');
				$('#clone').attr('id','');
			}
		}
    });

	//FAVOURITES
	var list_size = $('#favourites_form table.products tr').size();
	$("#favourites_form table.products h4").click( function () { 
		$('#' + this.id).toggleClass('closed');
		$('tr.' + this.id).toggle();
		return false;
	});
	if(list_size > 10) {
		$("#favourites_form table.products h4").addClass('closed');
		$('#favourites_form table.products tr.odd,#favourites_form table.products tr.even').hide();
	}
	$("a.favouritesPdf,a.pdf").click( function () { 
		$('a.favouritesPdf .button_text,a.pdf .button_text').hide();
		$('a.favouritesPdf .loader_image,a.pdf .loader_image').show();
		$('.pdf_being_created').show();
		//stupid workaround to make the animated gif work on internet explorer
		$('a.favouritesPdf .loader_image,a.pdf .loader_image').html($('a.favouritesPdf .loader_image,a.pdf .loader_image').html());
		setTimeout(function() {
			$('a.favouritesPdf .loader_image,a.pdf .loader_image').hide();
			$('.pdf_being_created').hide();
			$('a.favouritesPdf .button_text,a.pdf .button_text').show();
		}, 7000);
	});
	
	//BASKET MIN ORDER AMOUNT
	$(".prodAantal .order_amount_error").tooltip();
	$("a.order_amount_error").tooltip({showURL: false});
	$("a.order_amount_error").click(function() { return false; });

	$("a.order_amount_info img").tooltip({showURL: false});
	$("a.order_amount_info").click(function() { return false; });

	$("a.overdoos img").tooltip({showURL: false});
	$("a.overdoos").click(function() { return false; });
	
	// PUGO POINTS
	$("#pugo_search").click( function () { 
		var dataString = 'language=' + $('#current_language').val() + ',siteid=' + $('#current_siteid').val() + ',pugo_search_zip=' + $('#pugo_search_zip').val() + ',pugo_search_street=' + $('#pugo_search_street').val();
		$.ajax({ 
			type: 'GET',
			url: '/inc/ajax_pugo.dhtml',
			data: dataString,
			async: false,
			success: function(html) {
				$('#pugo_results').html(html);
			}
		});
	});
	$("#pugo_results input").live('change', function () { 
		var nr = $(this).val();
		$("#pugo_point").val($("#pgpoint" + nr).val());
		$("#pugo_name").val($("#pgname" + nr).val());
		$("#pugo_address1").val($("#address_street_s_sel" + nr).val());
		$("#pugo_address2").val($("#address_nr_s_sel" + nr).val());
		$("#pugo_zip").val($("#postal_s_sel" + nr).val());
		$("#pugo_city").val($("#town_s_sel" + nr).val());
	});
	$("#deliveryTabAddress").click( function() { 
		setActive('address');
		return false;
	});
	$("#deliveryTabPugo").click( function() { 
		setActive('pugo');
		return false;
	});
	$("#deliveryAddress input, #deliveryAddress select").live('click focus change', function () { 
		setActive('address');
	});
	$('#pugoPoints input').live('click focus change', function () { 
		setActive('pugo');
	});
	
	// footer
	$('#aboutUs h4').click( function() { 
		$(this).parent().toggleClass('open');
	});

});
