
function suggest_format_item(item) {
	if (item.type=='head') {
		return '<div class="suggest-group ' + item.subclass + '">' + item.name + ((item.count) ? '' : '') + '</div>';
	} else if (item.type=='category') {
		return '<div class="suggest-entry category">' + item.name + '</div>';
	} else {
		return '<div class="suggest-entry tag">' + item.name + '</div>';
	}
}

function replaceUmlaute(string){
	var anArray = new Array(2);
	anArray[0] = new Array("ö", "ä", "ü", "ß", "&", ",", " ");
	anArray[1] = new Array("oe", "ae", "ue", "sz", "und", "", "-");

	for (var i=0; i<anArray[0].length; i++){
		myRegExp = new RegExp(anArray[0][i],"g");
		string = string.replace(myRegExp, anArray[1][i]);
	}
	return string;
}

function doSearch() {
	if ($("#search-in-category").val() == 1) {
		newLocation = replaceUmlaute($("#search-what-dir").val()).toLowerCase();
		if($("#search-where-dir").val() != "" && $("#search-where-dir").val() != $("#search-where-dir")[0].defaultValue) {
			newLocation = newLocation + "/" + replaceUmlaute($("#search-where-dir").val()).toLowerCase();
		}
		location.href = "/" + newLocation;
		return false;
	} else {
		return true;
	}
}

function doChange() {
	$("#search-in-category").val(0);
	return false;
}

function generateDynamicHeaderParts() {
	//setup search provider url
	if (_headerstate.main == 'directory') {
		$('#header-search').html(_headersearchdir);
	} else if (_headerstate.main == 'marketplace') {
		$('#header-search').html(_headersearchmp);
	}
	//link setzen
	if (_headerstate.user_role == 'AN'){
		$('#subtab-help').attr({href: "/howItWorks/howItWorks_an.php"});
	}

	//set up greeting text, login text and show up teaser button
	if(_headerstate.user_name) {
		$("#header-login-state").html(_headerdata.GREETINGS.replace('_USERNAME_', _headerstate.user_name));
		$("#header-login-text").html(_headerdata.LOGIN_STATUS);
		if(_headerstate.user_reg == '-1') {
			$("#teaser_activate_account").show();
		} else {
			if (_headerstate.main == 'directory') {
				if (_headerstate.user_role == 'AG') {
					$("#teaser_dir_login_ag").show();
				} else if (_headerstate.user_role == 'AN') {

					switch (_headerstate.user_level) {
						case 'BUSINESS':
							if (!_headerstate.user_reg) {
								$("#teaser_dir_login_an_business_reg0").show();
							} else {
								if(_headerstate.user_reg == '1') {
									$("#teaser_dir_login_an_business_reg0").show();
								} else if(_headerstate.user_reg == '2') {
									// kein Teaser wenn user_level = BUSINESS und user_reg = 2
								}
							}
							break;
						case 'PRO':
							$("#teaser_dir_login_an_pro").show();
							break;
						case 'BASE':
							$("#teaser_dir_login_an_base").show();
							break;
						default:
							$("#teaser_dir_login_an_base").show();
							break;
					}
				}
			} else if (_headerstate.main == 'marketplace') {
				if (_headerstate.user_role == 'AG') {
					if (_headerstate.user_reg) {
						$("#teaser_mp_login_ag_reqs").show();
					} else {
						$("#teaser_mp_login_ag_noreqs").show();
					}
				} else if (_headerstate.user_role == 'AN') {
					switch (_headerstate.user_level) {
						case 'BUSINESS':
							if (!_headerstate.user_reg) {
								$("#teaser_mp_login_an_business_reg0").show();
							} else {
								if(_headerstate.user_reg == '1') {
									$("#teaser_mp_login_an_business_reg0").show();
								} else if(_headerstate.user_reg == '2') {
									// kein Teaser wenn user_level = BUSINESS und user_reg = 2
								}
							}
							break;
						case 'PRO':
							$("#teaser_mp_login_an_pro").show();
							break;
						case 'BASE':
							$("#teaser_mp_login_an_base").show();
							break;
						default:
							$("#teaser_mp_login_an_base").show();
							break;
					}
				}
			}
		}
	} else {
		$("#header-login-state").html(_headerdata.GREETINGS.replace('_USERNAME_', _headerdata.GUEST));
		$("#header-login-text").html(_headerdata.LOGIN_REGISTER);
		if(_headerstate.user_reg == '-1') {
			$("#teaser_activate_account").show();
		} else {
			if (_headerstate.main == 'directory') {
				$("#teaser_dir_nologin").show();
			} else {
				$("#teaser_mp_nologin").show();
			}
		}
	}
	//remove flag of active language
	if(_headerstate.lid && $("#header-lang-" + _headerstate.lid).length) {
		$("#header-lang-"+ _headerstate.lid).css('display', 'none');
	}
	//set active main tab
	if(_headerstate.main) {
		$("#header-tabs .header-tabs-selected").removeClass('header-tabs-selected');
		$("#tab-" + _headerstate.main).addClass('header-tabs-selected')
	}
	//set active sub tab
	if(_headerstate.sub) {
		$(".subtab .selected").removeClass('selected');
		$("#subtab-" + _headerstate.sub).addClass('selected')
	}

	$("#header-search .input-text").focus(function() {
        $(this).addClass("aktiv");
        if ($(this).val() == this.defaultValue) {
        	$(this).val("");
		};
        }).blur(function() {
           if ($(this).val() == "") {
               $(this).val(this.defaultValue);
               $(this).removeClass("aktiv");
           }
	});

	$("#header-search-marketplace, #header-search-directory").submit(function(){
		$("#header-search .input-text").each(function(){
			if ($(this).val() == this.defaultValue) {
				$(this).val("");
			};
		});
	});


	if (_headerstate.main == 'directory') {
		$(".input-what").autocomplete('/ajax/inline-search.php', {
			extraParams: {method: 'categories'},
			width: '213px',
			scroll: false,
			cacheLength: 20,
			max: 20,
			parse: function(response) {
				var data = eval("(" + response + ")");
				var list=[];
				if (data.errno==0) {
					if (data.result.categories && data.result.categories.total>=0 && data.result.categories.data.length) {
						list.push({data: {type: 'head', name: _headerdata.DIRECTORY_DROPDOWN_LABEL_CATEGORIES, subclass: 'suggest-group-blue', count: data.result.categories.data.length, total: data.result.categories.total}, value: ''});
						for(var i=0;i<data.result.categories.data.length;i++) {
							list.push({data: {type: 'category', name: data.result.categories.data[i]}, value: data.result.categories.data[i], result: data.result.categories.data[i], cat: 1});
						}
					}
					if (data.result.tags && data.result.tags.total>=0 && data.result.tags.data.length) {
						list.push({data: {type: 'head', name: _headerdata.DIRECTORY_DROPDOWN_LABEL_TAGS, subclass: 'suggest-group-blue', count: data.result.tags.data.length, total: data.result.tags.total}, value: ''});
						for(var i=0;i<data.result.tags.data.length;i++) {
							list.push({data: {type: 'tag', name: data.result.tags.data[i]}, value: data.result.tags.data[i], result: data.result.tags.data[i], cat: 0});
						}
					}
				} else {
					//alert(data.error);
				}
				return list;
			},
			formatItem: function(item) {
				return suggest_format_item(item);
			}
		});
		$(".input-where").autocomplete('/ajax/inline-search.php', {
			extraParams: {method: 'cities'},
			width: '159px',
			scroll: false,
			cacheLength: 20,
			max: 20,
			parse: function(response) {
				var data = eval("(" + response + ")");
				var list=[];
				if (data.errno==0) {
					if (data.result.cities && data.result.cities.total>=0 && data.result.cities.data.length) {
						list.push({data: {type: 'head', name: _headerdata.DIRECTORY_DROPDOWN_LABEL_CITIES, subclass: 'suggest-group-orange'}, value: ''});
						for(var i=0;i<data.result.cities.data.length;i++) {
							list.push({data: {type: 'entry', name: data.result.cities.data[i]}, value: data.result.cities.data[i], result: data.result.cities.data[i]});
						}
					}
					if (data.result.streets && data.result.streets.total>=0 && data.result.streets.data.length) {
						list.push({data: {type: 'head', name: _headerdata.DIRECTORY_DROPDOWN_LABEL_STREETS, subclass: 'suggest-group-orange'}, value: ''});
						for(var i=0;i<data.result.streets.data.length;i++) {
							list.push({data: {type: 'entry', name: data.result.streets.data[i]}, value: data.result.streets.data[i], result: data.result.streets.data[i]});
						}
					}
				} else {
					//alert(data.error);
				}
				return list;
			},
			formatItem: function(item) {
				return suggest_format_item(item);
			}
		});
	}
}