// Search form
var ffSuggest = new FFSuggest();
$(document).ready(function() {
	var searchURL = "ffSuggest.action";
	var formname = "searchform";
	var queryParamName = "query";
	var divLayername = "suggestLayer";
	var instanceName = "ffSuggest";
	var debugMode = false;
	ffSuggest.init(searchURL, formname, queryParamName, divLayername, instanceName, debugMode);
	document.onmousedown = ffSuggest.hideLayerOutsideCall;
});

// Main navigation menu
var IE6 = navigator.appVersion.indexOf("MSIE 6")!=-1;
$(document).ready(function() {
	$("#nav > li").each(function() {
		$(this).find(".sub1").html("<span>&nbsp;</span>");
		$(this).find(".sub1 > span").eq(0).css("left",
			Math.round(this.offsetLeft+this.offsetWidth/2-10)+"px");
	});

	if (IE6) {
		$("#nav > li").hover(function() {
			$(this).addClass('over');
		}, function() {
			$(this).removeClass('over');
		});
		$(".langSearch > li").hover(function() {
			$(this).addClass('over');
		}, function() {
			$(this).removeClass('over');
		});
	}
});

// Shopping cart
$(document).ready(function() {
	$(".cartBot2").find("span[@title]").removeAttr("title").end().click(function() {
		$(this).removeClass("cartBot2").addClass("cartBot3");
		$(this).parent().find("#s_cart").slideDown("fast");
		$(this).parent().find("a.next").hide();
	});
	$(".shoppingCart:has(.cartBot2)").hover(function() {
	}, function() {
		$(this).find("#s_cart").slideUp("fast", function() {
			$(this).parent().find(".cartBot3").removeClass("cartBot3").addClass("cartBot2");
			$(this).parent().find("a.next").show();
		});
	});
});

// Glossary
function initList(className, chosenIndex){
	var root=$('.'+className);
	$('.'+className+' ul').hide();
	$('.'+className+' li>a').click(function(){
		var cur=this.parentNode.parentNode.cur;
		if(cur){
			cur.className='';
			$(cur.parentNode.getElementsByTagName('ul')[0]).fadeOut();
		}
		if($('.textillexikonList li')[0].cur){
			$($('.textillexikonList li')[0].cur).fadeOut();
		}
		$(this).parent().parent().css('height', $(this).next('ul').height());
		$(this).parent().parent().css('width', $(this).next('ul').width() + 226);
		this.className='active';
		$(this.parentNode.getElementsByTagName('ul')[0]).fadeIn();
		this.parentNode.parentNode.cur=this;
		this.blur();
		return false;
	});
	$($('.'+className+' li>a')[chosenIndex]).click();
}

// Voucher
function checkTextArea(elem, maxRows, maxCols) {
	linebreak = '\n';
	textArray = elem.val().split(linebreak);
	cleanedUp = new Array();
	for(var i = 0; i < maxRows; i++) {
		if(textArray[i] != null) {
			cleanedUp[i] = textArray[i].slice(0, maxCols)
		}
	}
	elem.val(cleanedUp.join(linebreak));
}

// Clear default value from password field
function clearPassword(field, togglePasswordMeter) {
	defaultValue = "$>;|#%*q8_~'^)#";
	if ($(field).is(".dummy")) {
		$(field).blur(function() {
			if ($(field).val() == "") {
				$(field).val(defaultValue);
				$(field).addClass("dummy");
				if (togglePasswordMeter) {
					$(field).parent().siblings(".password-meter").hide();
				}
			}
		});
		$(field).removeClass("dummy");
		$(field).val("");
	} else {
		$(field).unbind("blur");
	}
}

// Prevent double submission of forms
var submitCount = 0;
$(document).ready(function() {
	$("form").submit(function() {
		if (submitCount == 0) {
			submitCount++;
			return true;
		} else {
			return false;
		}
	});
});

function submitOnce(form) {
	$(form).submit();
}

function submitCustomerData(form, skipValidation) {
	$(form).find("input[name=skipValidation]").val(skipValidation);
	submitOnce(form);
}

// Localization
function getLocalizedText(key) {
	// Perform a synchronous AJAX call:
	var result;
	$.ajax({
		type: "GET",
		url: "AjaxLocalizationAction.action",
		data: {key: key},
		dataType: "json",
		async: false,
		success: function(obj) {
			result = obj;
		}
	});
	return result;
}