var FG_AOS_CAN_CLOSE = 1;
var CONF_AMOUNT_SEARCHFIELDS = 30;

var imagesArray = new Array();

function createImageObject(imageName, imageNameDir) {
	var image = new Image();
	image.src = imageNameDir;
	imagesArray[imageName] = image;
}

function popup(theURL,winName,features)
{
     window.open(theURL,winName,features);
}

// new function (prototype)
function get(name)
{
	if(document.getElementById(name))
	{
		return document.getElementById(name)
	}
	else
	{
		return false;
	}
}

function fillTableWithData(airportData, element, field, colorMouseOver, colorMouseOut) {					
	$("#table" + element + ">tbody").empty(); // clear previous content if any

	// Add data to the table
	for( var i=0; i<airportData.length; ++i ) {
		var itm = airportData[i];
		// create cells
		city = $("<td></td>");
		city.text( itm.city );
		
		airport = $("<td></td>");
		airport.text( itm.airport );
		
		IATA = $("<td></td>");
		IATA.text( itm.IATA );

		// create row
		row = $("<tr onclick=\"javascript:putSearchFieldAirport('" + field + "', '#div" +  element + "',  '" + i + "')\" style=\"cursor:pointer;\" onmouseover=\"bcc(this, '" + colorMouseOver + "');\" onmouseout=\"bcc(this, '" + colorMouseOut + "');\"></tr>");
		row.append(city);
		row.append(airport);
		row.append(IATA);
		
		// append row to the table
		$("#table" + element + ">tbody").append(row);
	}
}

function getAirport(field, element, colorMouseOver, colorMouseOut) {
	$.get("getAirports.php?airport=" + urlencode($("#" + field).val()),  
			function(data){
				
				if ($("#" + field).val() != $("#" + field + "_inserted").val()) {
					$("#" + field + "_code").val("");
					$("#" + field + "_airport").val("");
					$("#" + field + "_city").val("");
				}
		
				if (data.length == 0) {
					$("#div" + element).css("display", "none");
				} else {
		
					airportData = new Array();
					airportData = eval(data);
					if (airportData.length > 0) {
						$("#div" + element).css("display", "block");
					} else {
						$("#div" + element).css("display", "none");
					}
					
					fillTableWithData(airportData, element, field, colorMouseOver, colorMouseOut);
				}
			});    
}

function urlencode(_value)
{
	_value = escape(_value);
	_value = replace_all("&", "%26", _value);
	_value = replace_all("?", "%3F", _value);
	_value = replace_all("+", "%2B", _value);

	return _value;

}

function ebay2str(_value)
{
	_value = replace_all("+", " ", _value);
	return _value;
	
	_value = replace_all("Q21", "!", _value);
	_value = replace_all("Q24", "$", _value);
	_value = replace_all("Q2F", "/", _value);
	_value = replace_all("Q2C", ",", _value);
	_value = replace_all("Q3F", "?", _value);
	_value = replace_all("Q26", "&", _value);
	_value = replace_all("QE4", "ae", _value);
	_value = replace_all("QF6", "ö", _value);
	_value = replace_all("QFC", "ue", _value);
	_value = replace_all("QDF", "ss", _value);
	_value = replace_all("Q20", " ", _value);
	_value = replace_all("Q22","\"",  _value);
	_value = replace_all("Q27", "'", _value);
	_value = replace_all("Q23", "#", _value);
	_value = replace_all("Q2B", "+", _value);

	return _value;
}

function parseEbaySearch(_value)
{
	return _value;
	
	_value = replace_all("!", "Q21", _value);
	_value = replace_all("&", "Q24", _value);
	_value = replace_all("/", "Q2f", _value);
	_value = replace_all(",", "Q2C", _value);
	_value = replace_all("?", "Q3f", _value);
	_value = replace_all("&", "Q26", _value);
	_value = replace_all("ae", "Qe4", _value);
	_value = replace_all("ö", "Qf6", _value);
	_value = replace_all("ue", "Qfc", _value);
	_value = replace_all("ss", "Qdf", _value);
	_value = replace_all(" ", "Q20", _value);
	_value = replace_all("\"", "Q22", _value);
	_value = replace_all("'", "Q27", _value);
	_value = replace_all("#", "Q23", _value);
	_value = replace_all("+", "Q2B", _value);

	return _value;
}

function selectValue(_this)
{
	return _this.options[_this.selectedIndex].value;
}

function selectValueText(_this)
{
	return _this.options[_this.selectedIndex].text;
}

function form(id)
{
	if(!get(id) && !get('sendform'))
	{
		alert('Formfunktion kann nicht ausgefuehrt werden!\n\nID: ' + id + ' ' + get(id) );
	}
	if(id)
	{
		get(id).submit();
	}
	else
	{
		get('sendform').submit();
	}
}

function searchkey_active()
{
	if(get('searchkey'))
	{
		if(!is_list('searchkey'))
		{
			classChange('searchkey', "searchkey_aktiv");
		}
	}

	for(var i=0;i<=CONF_AMOUNT_SEARCHFIELDS;i++)
	{
		if(get('search_'+i))
		{
			if(!is_list('search_'+i))
			{
				classChange('search_'+i, "searchkey_aktiv");
			}
		}
	}
}

// relink function
function relink(link)
{
	window.location = PATH_HTTP+"index.php"+link;
}


function toggleIt(name)
{
	if(get(name))
	{
		if(get(name).style.display == 'none')
		{
			// 1 stunde den cookie setzen
			setcookie(name, "block", 6570000);
			get(name).style.display = 'block';
			return true;
		}
		else
		{
			// kill cookie
			setcookie(name, "none", 6570000);
			get(name).style.display = 'none';
			return false;
		}
	}
}

function toggleClose(name)
{
	get(name).style.display = 'none';
}

function toggle()
{
	for(var i=0;i<toggle.arguments.length;i++)
	{
		name = toggle.arguments[i];
		
		if(name) {
			toggleIt(name);
		}
	}
}

function toggleMenu(image, dir, inactive, active) {
	if(get(image)) {
		if(get(image).src.indexOf(active) == -1) {
		/* current image is inactive, so get the active one */
			get(image).src = imagesArray[active].src;
		} else {
			get(image).src = imagesArray[inactive].src;
		}
	}
	return true;
}

function setcookie (name, value, lifetime)
{
	var now = new Date();
	var die = new Date(now.getTime() + lifetime);

	document.cookie = name + "=" + value + "; expires=" + die.toGMTString() +";";
}

// fuellt standardwerte nur wenn die pruefung gelingt, angeben von sonderfaellen
// wenn z.B. ein feld nicht gefuellt ist, leere alle...
function fill_only_if()
{
	check = true;
	// immobilien
	if(RUBRICID == 11)
	{
		/*
		// wenn eine PLZ ausserhalb von Berlin angegeben wird
		if(!isNaN(get('searchkey').value))
		{
			if(eval(get('searchkey').value) < 10000 || eval(get('searchkey').value) > 17000)
			{
				check = false;
				if(get('search_3').value == "")
				{
					get('search_3').value = KEYSTANDARD[4];
				}
			}
		}
		else
		{
		*/
		if(get('searchkey').value == KEYSTANDARD[1] && get('search_1').value == KEYSTANDARD[2])
		{
			check = false;
		}
		//}
	}
	// sonstige faelle pruefen
	else if(get('searchkey').value == KEYSTANDARD[1])
	{
		check = false;
		for(i=1;i<CONF_AMOUNT_SEARCHFIELDS;i++)
		{
			if(get('search_'+i))
			{
				if(get('search_'+i).value != KEYSTANDARD[(i+1)])
				{
					check = true;
					break;
				}
			}
		}
	}

	return check;
}

function clean_standard_values(_this)
{
	if(get(_this) && !is_list(_this))
	{
		for(var i=0; i<KEYDEFAULT.length;i++)
		{
			if(!is_list(_this) && get(_this).value == KEYDEFAULT[i] && KEYDEFAULT_SET[i] == 1)
			{
				get(_this).value = KEYSTANDARD[i+1];
			}
			KEYDEFAULT_SET[i] = 0;
		}
	}
}

function save_history(_this, show, noinsert, popup, ebay)
{
	forward(location.href, location.href, noinsert, popup, ebay, true);
}
/*
function searchLinkForward(_this, showURL, linkID, userLink)
{
	var normalcheck = true;
	var fill_only = fill_only_if();
	var id = linkID;
	var next = "";

	//_this.href = showURL;
	
	// kein Wert angegeben, nutze default Wert
	if(get('searchkey') && !is_list('searchkey') && get('searchkey').value.length == 0 && fill_only)
	{
		KEYDEFAULT_SET[0] = 1;
		get('searchkey').value = KEYDEFAULT[0];
	}

	// entweder ist ein wert angegeben oder es ist eine liste vorhanden
	if(get('searchkey') && get('searchkey').value.length > 0 || is_list('searchkey'))
	{

		nodefault = true;
		for(var y = 0; y <= KEYSTANDARD.length; y++)
		{
			// keine liste, der standard ist dem aktuellem gleich, kein defaultwert gesetzt (sonst wuerde er ihn nicht nutzen)
			if(!is_list('searchkey') && KEYSTANDARD[y] == get('searchkey').value && KEYDEFAULT_SET[y] != 1)
			{
				nodefault = false;
			}
		}
		if(nodefault)
		{
			if(get_select_text('searchkey') && !is_list('searchkey'))
			{
				normalcheck = false;
			}

			// muss zuerst im $_GET angehangen werden, da sonst der anzeige wert anstatt der interne wert ersetzt wuerde
			next += (next == "") ? "?" : "&";
			//next += "fgsearchkey="+escape(get_select_text('searchkey'));
			next += "fgsearchkey="+urlencode(get_select_text('searchkey'));

			if(is_list('searchkey'))
			{
				var tmp = get('searchkey').value.split("|");

				normalcheck = (tmp.length > 0) ? false : true;

				for(var i=0; i<tmp.length;i++)
				{
					//next += "&fgsearchkey_w"+(i+1)+"="+escape(tmp[i]);
					next += "&fgsearchkey_w"+(i+1)+"="+urlencode(tmp[i]);
				}
			}

			// nach dem anhaengen saubermachen!
			clean_standard_values('searchkey');
		}
	}

	// alle Suchfelder nach werten abfragen
	for(var x = 1; x <= CONF_AMOUNT_SEARCHFIELDS; x++)
	{
		if(get('search_'+x) && get('search_'+x).value == KEYSTANDARD[x+1] && !is_list('search_'+x) && fill_only)
		{
			KEYDEFAULT_SET[x] = 1;
			get('search_'+x).value = KEYDEFAULT[x];
		}

		if(get('search_'+x))
		{
			nodefault = true;
			for(var y = 0; y <= KEYSTANDARD.length; y++)
			{
				// pruefen ob der wert nicht schonmal im anfangswert vorhanden ist UND
				// das der unsichtbare wert grösser gleich laenge 1 ist
				if(KEYSTANDARD[y] == get('search_'+x).value && get('search_'+x).value.length >= 1)
				{
					nodefault = false;
				}
			}

			// wenn die pruefung ergab das dies kein anfangswert war, fuehre fort
			if(nodefault)
			{
				if(get_select_text('search_'+x) && !is_list('search_'+x))
				{
					normalcheck = false;
				}

				// muss zuerst im $_GET angehangen werden, da sonst der anzeige wert anstatt der interne wert ersetzt wuerde
				next += (next == "") ? "?" : "&";
				//next += "fgsearch_"+x+"="+escape(get_select_text('search_'+x));
				next += "fgsearch_"+x+"="+urlencode(get_select_text('search_'+x));

				if(is_list('search_'+x))
				{
					var tmp = get('search_'+x).value.split("|");

					normalcheck = (tmp.length > 0) ? false : true;

					for(var i=0; i<tmp.length;i++)
					{
						next += "&fgsearch_"+x+"_w"+eval(i+1)+"="+escape(tmp[i]);
					}

				}
				clean_standard_values('search_'+x);
			}
			// nach dem anhaengen saubermachen, standardwerte wieder leeren
		}
	}

	next += (!next) ? "?" : "&";

	if (userLink) {
		userLink = "u";
	} else {
		userLink = "f"
	}

	// search have to be escaped...
	next = PATH_HTTP+"redirect.php"+next+ "&ns=" + id + "&us="+userLink;
	linked(next);
}*/

function saveSearchkeys()
{
	searchLinkForward("", "", "", false, true);
}


function searchLinkForward(_this, showURL, linkID, userLink, reload)
{
	var normalcheck = true;
	var fill_only = fill_only_if();
	var id = linkID;
	var next = "";

	//_this.href = showURL;
	
	// kein Wert angegeben, nutze default Wert
	if(get('searchkey') && !is_list('searchkey') && (get('searchkey').value.length == 0 || get('searchkey').value == KEYSTANDARD[1]))
	{
		KEYDEFAULT_SET[0] = 1;
		get('searchkey').value = KEYDEFAULT[0];
	}

	// entweder ist ein wert angegeben oder es ist eine liste vorhanden
	if(get('searchkey') && get('searchkey').value.length > 0 || is_list('searchkey'))
	{

		// muss zuerst im $_GET angehangen werden, da sonst der anzeige wert anstatt der interne wert ersetzt wuerde
		next += (next == "") ? "?" : "&";
		//next += "fgsearchkey="+escape(get_select_text('searchkey'));
		next += "fgsearchkey="+urlencode(get_select_text('searchkey'));

		if ($("#searchkey" + "_city").val()) {
			next += "&fgsearchkey"+ "_city"+"="+urlencode(get_select_text('searchkey'+ "_city"));
			next += "&fgsearchkey"+ "_airport"+"="+urlencode(get_select_text('searchkey'+ "_airport"));
			next += "&fgsearchkey"+ "_code"+"="+urlencode(get_select_text('searchkey'+ "_code"));
		} /*else if ($("#searchkey" + "_city").length != 0) {
			next += "&fgsearchkey"+ "_city"+"="+urlencode(get_select_text('searchkey'));
			next += "&fgsearchkey"+ "_airport"+"="+urlencode(get_select_text('searchkey'));
			next += "&fgsearchkey"+ "_code"+"="+urlencode(get_select_text('searchkey'));
		}*/
		
		if(is_list('searchkey'))
		{
			var tmp = get('searchkey').value.split("|");

			for(var i=0; i<tmp.length;i++)
			{
				//next += "&fgsearchkey_w"+(i+1)+"="+escape(tmp[i]);
				next += "&fgsearchkey_w"+(i+1)+"="+urlencode(tmp[i]);
			}
		}

		// nach dem anhaengen saubermachen!
		clean_standard_values('searchkey');
	}

	// alle Suchfelder nach werten abfragen
	for(var x = 1; x <= CONF_AMOUNT_SEARCHFIELDS; x++)
	{
		if(get('search_'+x) && get('search_'+x).value == KEYSTANDARD[x+1] && !is_list('search_'+x))
		{
			KEYDEFAULT_SET[x] = 1;
			get('search_'+x).value = KEYDEFAULT[x];
		}

		if(get('search_'+x))
		{
			// muss zuerst im $_GET angehangen werden, da sonst der anzeige wert anstatt der interne wert ersetzt wuerde
			next += (next == "") ? "?" : "&";
			//next += "fgsearch_"+x+"="+escape(get_select_text('search_'+x));
			next += "fgsearch_"+x+"="+urlencode(get_select_text('search_'+x));

			if ($("#search_" + x + "_city").val()) {
				next += "&fgsearch_"+x+ "_city"+"="+urlencode(get_select_text('search_'+x+ "_city"));
				next += "&fgsearch_"+x+ "_airport"+"="+urlencode(get_select_text('search_'+x+ "_airport"));
				next += "&fgsearch_"+x+ "_code"+"="+urlencode(get_select_text('search_'+x+ "_code"));
			}/* else if ($("#search_" + x + "_city").length != 0) {
				next += "&fgsearch_"+x+ "_city"+"="+urlencode(get_select_text('search_'+x));
				next += "&fgsearch_"+x+ "_airport"+"="+urlencode(get_select_text('search_'+x));
				next += "&fgsearch_"+x+ "_code"+"="+urlencode(get_select_text('search_'+x));
			}
			*/
			if(is_list('search_'+x))
			{
				var tmp = get('search_'+x).value.split("|");

				for(var i=0; i<tmp.length;i++)
				{
					next += "&fgsearch_"+x+"_w"+eval(i+1)+"="+escape(tmp[i]);
				}

			}
			// nach dem anhaengen saubermachen, standardwerte wieder leeren
			clean_standard_values('search_'+x);
		}
	}

	next += (!next) ? "?" : "&";

	if (userLink) {
		userLink = "u";
	} else {
		userLink = "f"
	}

	// search have to be escaped...
	next = PATH_HTTP+"redirect.php"+next+"rubric_id="+RUBRICID+"&show_id="+SHOWID+"&ns=" + id + "&us="+userLink;
	
	if (reload) {
		linked(next, false, true);
	} else {
		linked(next);
	}
	
}


function forward(search, normal, noinsert, popup, ebay, reload)
{
	var normalcheck = true;
	var next = "?noinsert="+noinsert;
	var fill_only = fill_only_if();

	if(!noinsert)
	{
		if(get('searchkey') && !is_list('searchkey') && get('searchkey').value.length == 0 && fill_only)
		{
			KEYDEFAULT_SET[0] = 1;
			get('searchkey').value = KEYDEFAULT[0];
		}

		// entweder ist ein wert angegeben oder es ist eine liste vorhanden
		if(get('searchkey') && get('searchkey').value.length > 0 || is_list('searchkey'))
		{

			nodefault = true;
			for(var y = 0; y <= KEYSTANDARD.length; y++)
			{
				// keine liste, der standard ist dem aktuellem gleich, kein defaultwert gesetzt (sonst wuerde er ihn nicht nutzen)
				if(!is_list('searchkey') && KEYSTANDARD[y] == get('searchkey').value && KEYDEFAULT_SET[y] != 1)
				{
					nodefault = false
				}
			}
			if(nodefault)
			{
				if(get_select_text('searchkey') && !is_list('searchkey'))
				{
					normalcheck = false;
				}

				// muss zuerst im $_GET angehangen werden, da sonst der anzeige wert anstatt der interne wert ersetzt wuerde
				next += (next == "") ? "?" : "&";
				//next += "fgsearchkey="+escape(get_select_text('searchkey'));
				next += "fgsearchkey="+urlencode(get_select_text('searchkey'));

				if(is_list('searchkey'))
				{
					var tmp = get('searchkey').value.split("|");

					normalcheck = (tmp.length > 0) ? false : true;

					for(var i=0; i<tmp.length;i++)
					{
						//next += "&fgsearchkey_w"+(i+1)+"="+escape(tmp[i]);
						next += "&fgsearchkey_w"+(i+1)+"="+urlencode(tmp[i]);
					}
				}

				// nach dem anhaengen saubermachen!
				clean_standard_values('searchkey');
			}
		}

		// alle Suchfelder nach werten abfragen
		for(var x = 1; x <= CONF_AMOUNT_SEARCHFIELDS; x++)
		{
			if(get('search_'+x) && get('search_'+x).value == KEYSTANDARD[x+1] && !is_list('search_'+x) && fill_only)
			{
				KEYDEFAULT_SET[x] = 1;
				get('search_'+x).value = KEYDEFAULT[x];
			}

			if(get('search_'+x))
			{
				nodefault = true;
				for(var y = 0; y <= KEYSTANDARD.length; y++)
				{
					// pruefen ob der wert nicht schonmal im anfangswert vorhanden ist UND
					// das der unsichtbare wert grösser gleich laenge 1 ist
					if(KEYSTANDARD[y] == get('search_'+x).value && get('search_'+x).value.length >= 1)
					{
						nodefault = false
					}
				}

				// wenn die pruefung ergab das dies kein anfangswert war, fuehre fort
				if(nodefault)
				{
					if(get_select_text('search_'+x) && !is_list('search_'+x))
					{
						normalcheck = false;
					}

					// muss zuerst im $_GET angehangen werden, da sonst der anzeige wert anstatt der interne wert ersetzt wuerde
					next += (next == "") ? "?" : "&";
					//next += "fgsearch_"+x+"="+escape(get_select_text('search_'+x));
					next += "fgsearch_"+x+"="+urlencode(get_select_text('search_'+x));

					if(is_list('search_'+x))
					{
						var tmp = get('search_'+x).value.split("|");

						normalcheck = (tmp.length > 0) ? false : true;

						for(var i=0; i<tmp.length;i++)
						{
							next += "&fgsearch_"+x+"_w"+eval(i+1)+"="+escape(tmp[i]);
						}

					}
					clean_standard_values('search_'+x);
				}
				// nach dem anhaengen saubermachen, standardwerte wieder leeren
			}
		}

		// pruefe ob die suche gesetzt ist, wenn nicht setzte den normalen link dafuer ein
		if(search.length < 15 || normal.length > 15 && normalcheck)
		{
			search = normal;
		}
		// immobilien
		else if(RUBRICID == 11 && get('searchkey').value == "" && get('search_1').value == "")
		{
			search = normal;
		}
	}

	next += (!next) ? "?" : "&";

	// ebay-quicklink
	if(ebay)
	{
		next += "ebaykeyword=true&";
	}

	// search have to be escaped...
	next = PATH_HTTP+"redirect.php"+next+"to="+escape(search);
	linked(next, popup, reload);
}

// tausche 2 werte aus
function swap(first, second)
{
	first = get(first);
	second = get(second);
	if(first && second)
	{
		var tmp = first.value;
		first.value = second.value;
		second.value = tmp;
	}
}

function deleteKeyWord(id, name)
{
	if(get('sw_'+id))
	{
		get('sw_'+id).style.display='none';
	}
	for(var x = 1; x <= CONF_AMOUNT_SEARCHFIELDS; x++)
	{
		if(get('sw'+x+'_'+id))
		{
			get('sw'+x+'_'+id).style.display='none';
		}
	}
}


function rubric_edit(_this, location, rubrictype)
{
	if(location == "land")
	{
		// land gewaehlt
		relink("?site=admin_rubric_edit&country="+selectValue(_this));
	}
	else if(location == "group")
	{
		relink("?site=admin_rubric_edit&country="+selectValue(get('sel_land'))+"&group="+selectValue(_this));
	}
	else if(location == "rubric")
	{
		relink("?site=admin_rubric_edit&country="+selectValue(get('sel_land'))+"&group="+selectValue(get('sel_group'))+"&rubric="+selectValue(_this)+"&rubric_id="+selectValue(_this));
	}
}

function admin_rubric_rename(_this)
{
	var name = _this.options[_this.selectedIndex].text;
	while(name.length > 0 && name.charCodeAt(0) == 160)
	{
		name = name.substr(1);
	}

	get('name').value = name;
	get('rubric').value = selectValue(_this);
}

// open and close searchdiv correctly
// start

function aos_close(_this)
{
	toggle(_this);
//	get(_this).slideToggle('fast');
	aos("");
	aos_status("0");
	aos_can_change(true);
}

function aos_can_change(_bool)
{
	if(_bool)
	{
		FG_AOS_CAN_CLOSE = 1;
	}
	else
	{
		FG_AOS_CAN_CLOSE = 0;
	}
}

function aos_status(value)
{
	if(value)
	{
		get('actual_open_searchfield_status').value = value;
	}
	return get('actual_open_searchfield_status').value;
}

function aos(value)
{
	if(value)
	{
		get('actual_open_searchfield').value = value;
	}
	return get('actual_open_searchfield').value;
}


function closeAllSearchfields(_open, _ignore_can_close)
{
	// kann nur geaendert werden vom status, wenn man es schliessen kann
	if(FG_AOS_CAN_CLOSE == 1 || _ignore_can_close == 1)
	{
		/*
			0 = keine aktion
			1 = handle ausgefuehrt, feld gespeichert
			2 = alle geschlossen, handle nochmal ausgefuehrt? -> 1 sonst beim naechstem klick = 0
		*/
		if(aos_status() == 0)
		{
			if(_open)
			{
				aos_status(1);
				aos(_open);
				toggle(_open);
			}
		}
		else if(aos_status() == 1)
		{
			if(_open == aos())
			{
				aos_status("0");
				aos("");
			}
			else if(_open)
			{
				aos_status(1);
				aos(_open);
				toggle(_open);
			}
			else
			{
				aos_status(2);
			}
		}
		else if(aos_status() == 2)
		{
			if(_open == aos())
			{
				aos_status(0);
				aos(_open);
				toggleClose(_open);
			}
			else if(_open)
			{
				aos_status(1);
				aos(_open);
				toggle(_open);
			}
			else
			{
				aos_status("0");
				aos("0");
			}
		}


		// close all searchfields, close not _open
		for(var x = 1; x <= CONF_AMOUNT_SEARCHFIELDS; x++)
		{
			if(_open != 'searchwords_'+x)
			{
				if(document.getElementById('searchwords_'+x))
				{
					document.getElementById('searchwords_'+x).style.display = 'none';
				}
			}
			if (_open != 'divAirportCodes'+x) {
				if(document.getElementById('divAirportCodes'+x))
				{
					document.getElementById('divAirportCodes'+x).style.display = 'none';
				}
			}
		}
	}
}
// end

function putSearchFieldAirport(field, element, index) {
	
	get(field).value = airportData[index].city + " [" + airportData[index].IATA + "]";
	save_key(get(field));

	$("#" + field + "_inserted").val(airportData[index].city + " [" + airportData[index].IATA + "]");
	$("#" + field + "_city").val(airportData[index].city);
	$("#" + field + "_airport").val(airportData[index].airport);
	$("#" + field + "_code").val(airportData[index].IATA);
	
	$('#' + field).attr('class', "fg_search_field_red");
	$('#' + "box_" + field).attr('class', "box_red");
	
	closeAllSearchfields(element, true);
}


function putSearchField(_this, field)

{
	//liste
	if(is_list(field))
	{
		if(_this.value)
		{
			set_listitem_by_text(get(field), _this.value);
			save_key(get(field));
		}
		else
		{
			set_listitem_by_text(get(field), _this.text);
			save_key(get(field));
		}
		$('#' + field).attr('class', "fg_search_field");
		$('#' + "box_" + field).attr('class', "box");
	}
	else
	{
		if(_this.value)
		{
			get(field).value = _this.value;
			save_key(get(field));
		}
		else
		{
			get(field).value = _this.text;
			save_key(get(field));
		}
		$('#' + field).attr('class', "fg_search_field_red");
		$('#' + "box_" + field).attr('class', "box_red");
	}
}

function headline_choose(_this)
{
	get('nextfilter').value = selectValue(_this);
	form();
}

function forwardRubricEdit(_this)
{
	var link = PATH_HTTP+"index.php?site="+ACTUAL_SITE+"&id="+selectValue(_this);
	window.location = link;
}

function forwardRelAd(_this)
{
	var link = PATH_HTTP+"index.php?site="+ACTUAL_SITE+"&rubric_id="+selectValue(_this)+"&listid="+selectValue(get('addnewebaylistsel'));
	window.location = link;

}
function forwardRelAdList(_this, rubric_id)
{
	var link = PATH_HTTP+"index.php?site="+ACTUAL_SITE+"&rubric_id="+rubric_id+"&listid="+selectValue(_this);
	window.location = link;
}

function putRelAd(_this)
{
	get('newkeyword').value = selectValueText(_this);
	form();
}

function putRelAdEdit(_this)
{
	relink("?site=user_ebay_relad&edit="+selectValue(_this));
}

function putRelAdDelete(_this)
{
	relink("?site=user_ebay_relad&del="+selectValue(_this));
}

function keyword_edit(_this)
{
	var link = PATH_HTTP+"index.php?site="+ACTUAL_SITE+"&selectlist="+selectValue(_this);
	window.location = link;
}

function insertKeyword(searchkey, listid, iid)
{
	if(searchkey != KEYSTANDARD[0] && searchkey != KEYSTANDARD[1])
	{
		if(!iid)
		{
			iid = "0";
		}

		var link = PATH_HTTP+"index.php?site="+ACTUAL_SITE+"&addkey="+urlencode(searchkey)+"&searchkey="+urlencode(searchkey)+"&listid="+listid+"&iid="+iid;
		window.location = link;
	}
}

function setStandard(standard, _this, id, searchField)
{
	if(_this.value == "")
	{
		_this.value = standard;
		KEYDEFAULT_SET[searchField] = 1;
		$('#' + id).attr('class', 'fg_search_field_default');
		$('#' + "box_" + id).attr('class', "box");
		
	}
}

function removeStandard(standard, _this, id, searchField)
{
	if(_this.value == standard && KEYDEFAULT_SET[searchField] == 1)
	{
		_this.value = "";
		KEYDEFAULT_SET[searchField] = 0;
	}
	$('#' + id).attr('class', 'fg_search_field');
	$('#' + "box_" + id).attr('class', "box");
}

function removeStandardClass(id)
{
	$('#' + id).attr('class', 'fg_search_field');
	$('#' + "box_" + id).attr('class', "box");
}

// ebay

function putEbaySearchField(id)
{
	if(get('name_'+id).value)
	{
		get('searchkey').value = get('name_'+id).value;
	}
	else
	{
		get('searchkey').value = get('name_'+id).text;
	}
	if(get('artnr_'+id).innerHTML == "...")
	{
		get('search_1').value = "";
	}
	else
	{
		get('search_1').value = get('artnr_'+id).innerHTML;
	}

	save_key(get('searchkey'));
	save_key(get('search_1'));

	$('#searchkey').attr('class', "fg_search_field_red");
	$('#search_1').attr('class', "fg_search_field_red");

	$('#box_searchkey').attr('class', "box_red");
	$('#box_search_1').attr('class', "box_red");

}

function putSearchfield(str)
{
	var arr = str.split(";Q;");
	var arrSlaves = Array();
	var searchKeySlave = false;
	var z = 0;

	if(get('searchkey')) {
		if (get('slave_searchkey')) {
			searchKeySlave = true;
		} else {
			setSearchFieldValue(arr[0], 'searchkey');
		}
		$('#searchkey').attr('class', "fg_search_field_red");
		$('#box_searchkey').attr('class', "box_red");
	}

	for(x = 1; x < CONF_AMOUNT_SEARCHFIELDS; x++) {
		if(get('search_' + x)) {
			if (get('slave_search_' + x)) {
				arrSlaves[z] = x;
				z++;
			} else {
				setSearchFieldValue(arr[x], 'search_'+x);
			}
			$('#search_' + x).attr('class', "fg_search_field_red");
			$('#box_search_' + x).attr('class', "box_red");
		}
	}

	if (searchKeySlave) {
		var parameters = get('slave_searchkey').value.split(";Q;");
		createNewSelect(get(parameters[0]), get(parameters[1]), parameters[2]);
		setSearchFieldValue(arr[0], 'searchkey');
	}

	for (var i = 0; i < z; i++) {
		var parameters = get('slave_search_' + arrSlaves[i]).value.split(";Q;");
		createNewSelect(get(parameters[0]), get(parameters[1]), parameters[2]);

		setSearchFieldValue(arr[arrSlaves[i]], 'search_' + arrSlaves[i]);
	}
}

function setSearchFieldValue(value, field) {
	if(value) {
		if(is_list(field)) {
			set_listitem_by_text(get(field), value);
		} else {
			get(field).value = value;
		}
	} else {
		get(field).value = "";
	}
	save_key(get(field));
}

function addEbayList()
{
	toggle('addnewebaylistsel');
	if(!toggle('addnewebaylistinp'))
	{
		get('addnewebaylistinp').value = "";
	}
	toggle('ebaylist_proceedadd');
	toggle('ebaylist_add');
}

function editEbayList()
{
	toggle('addnewebaylistsel');
	toggle('editnewebaylistinp');
	toggle('ebaylist_proceededit');
	toggle('ebaylist_add');
	if(get('editnewebaylistinp').style.display == 'none')
	{
		get('editnewebaylistinp').value = selectValueText(get('addnewebaylistsel'));
	}
}

function delEbayList(listid)
{
	if(confirm("Wollen Sie die Liste wirklich lschen?"))
	{
		get('dellist').value = listid;
		relink("?site=admin_relad_choose&listid="+listid);
		form();
	}
}


function newsearchEbay(_this, show, searchkey, search_1)
{
//	_this.href = show;
	searchEbay(searchkey, search_1, true);

	// ebay rubrik?
	if(SHOWID == 22)
	{
		get('searchkey').value = ebay2str(searchkey);
		get('search_1').value = ebay2str(search_1);
		save_key(get('searchkey'));
		save_key(get('search_1'));
	}
}

function searchEbay(searchkey, search_1, noinsert)
{
	var search2 = EBAY_URL_ARTICLE+parseEbaySearch(search_1);
	var search1 = EBAY_URL_SEARCH+parseEbaySearch(searchkey);

	if(search_1)
	{
		forward(search2, '', noinsert);
	}
	else if(searchkey && searchkey != KEYSTANDARD[1])
	{
		forward(search1, '', noinsert);
	}
	else
	{
		forward('http://www.ebay.de', '', noinsert);
	}
}

function insertEbay(searchkey, search_1, rubric, editid)
{
	searchkey = check_standard(searchkey);

	if(searchkey != "")
	{
		var check = true;
	}
	else if(!searchkey && !search_1)
	{
		alert('Es wurde keine Bezeichnung und/oder keine Artikelnummer eingegeben!');
	}
	else
	{
		if(search_1)
		{
			var check = confirm('Es wurde keine Bezeichnung angegeben, wirklich speichern?');
		}
	}

	searchkey = urlencode(searchkey);

	if(ACTUAL_SITE == "user_ebay_list")
	{
		_site = "user_ebay_list";
	}
	else
	{
		_site = "index";
	}
	// check if searchkey (description) is given
	if(check)
	{
		var link = PATH_HTTP+"index.php?site="+_site+"&ebayinsert=true&rubric_id="+rubric+"&searchkey="+searchkey+"&search_1="+search_1+((editid) ? "&ebayeditid="+editid : "");
		window.location = link;
	}
}

function testEbayLink(testurl)
{
	window.open(testurl, "_blank");
}

function classChange(_this, _class)
{
	//debug(get(_this));
	//alert(get(_this).className);

	// firefox
	if(get(_this).getAttribute("class"))
	{
		get(_this).setAttribute("class", _class, false);
	}
	// ie
	else
	{
		get(_this).className = _class;
	}
}

function onlynumeric(_this, _event)
{
	var str = _this.value;
	var newstr = "";
	for(var x=0;x<str.length;x++)
	{
		if(str.charAt(x) >= 0 && str.charAt(x) <= 9 && str.charAt(x) != " ")
		{
			newstr += str.charAt(x);
		}
	}
	_this.value = newstr;
}

function showBranche(_link, _branche)
{
	linked(_link+_branche);
}

function showBrancheUTF8(_link, _branche)
{
	linked(_link+encode_utf8(_branche));
}

function showFormAndMap(zip, city, street, nr)
{
	showMap(zip,city,street,nr);
	if(OPEN_IN_NEW_WINDOW == 1)
	{
		form();
	}
}

function showMap(zip, city, street, nr)
{
	zip = check_standard(zip);
	city = check_standard(city);
	street = check_standard(street);
	nr = check_standard(nr);

	var adress = "";

	if(zip)				adress += zip+" ";
	if(city)			adress += city+" ";
	if(street)			adress += street+" ";
	if(street && nr)	adress += nr;

	if(adress.replace(" ", "").replace(" ", "").replace(" ", "").replace(" ", "").length < 2)
	{
		adress = STANDARD_ADRESS;
	}
	else if(zip && !city && !street && !nr)
	{
		if(zip.value)
		{
			adress = zip;
		}
		else
		{
			adress = zip;
		}

	}
	forward(encodeURI(LINKMAP.replace("#START#", adress)), '', true, false);
}

function showMapPOI(poi, zip, city, street, nr)
{
	if (poi && poi.value == "") {
		return ;
	}
	
	zip = check_standard(zip);
	city = check_standard(city);
	street = check_standard(street);
	nr = check_standard(nr);

	var adress = "";

	if(zip)				adress += zip.value+" ";
	if(city)			adress += city.value+" ";
	if(street)			adress += street.value+" ";
	if(street && nr)	adress += nr.value;

	if(adress.replace(" ", "").replace(" ", "").replace(" ", "").replace(" ", "").length < 2)
	{
		adress = STANDARD_ADRESS;
	}
	else if(zip && !city && !street && !nr)
	{
		if(zip.value)
		{
			adress = zip.value;
		}
		else
		{
			adress = zip;
		}

	}
	
	link = POIMAP.replace("#START#", adress);
	link = link.replace("#POI#", poi.value);
	
	forward(encodeURI(link), '', true, false);
}

function insertMyAddress(inputField, searchfield) {
	get(inputField).value = USER_ADRESS;/*.replace(" ", ", ");*/
	save_key(get(inputField));
	
	KEYDEFAULT_SET[searchfield] = 0;
	
	$('#' + inputField).attr('class', "fg_search_field_red");
}

function loadHeadlines() {
	get('headlines').selectedIndex = 0;
	form('sendform_addlink_0');
}

function check_standard(value)
{
	for(var y = 0; y <= KEYSTANDARD.length; y++)
	{
		if(KEYSTANDARD[y] == value)
		{
			if (y > 0) {
				return KEYDEFAULT[y-1];
			} else {
				return KEYDEFAULT[y];
			}
		}
	}

	return value;
}

function showRoute(standardadresse, zip, city, street, nr)
{
	var adress = "";
	var route = LINKROUTE;

	if(zip)				adress += zip+" ";
	if(city)			adress += city+" ";
	if(street)			adress += street+" ";
	if(street && nr)	adress += nr;

	if(replace_all(" ", "", adress).length < 2)
	{
		adress = STANDARD_ADRESS;
	}
	else if(zip && !city && !street && !nr)
	{
		adress = zip;
	}

	route = route.replace("#START#", standardadresse);
	route = route.replace("#END#", adress);
	forward(route, '', true, false);
}

function newforward(_this, show, search, normal, noinsert, popup, ebay)
{
	_this.href = show;
	forward(search, normal, noinsert, popup, ebay);
}

function match_alphanumeric(_value)
{
	reg = new RegExp('^([a-zA-Z0-9-_]*)?$');
	return reg.test(_value);
}

function checkmail(mail)
{
	reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
	return reg.test(mail);
}

function toggle_help_headlines()
{
	for(x=1;x<=CONF_AMOUNT_SEARCHFIELDS;x++)
	{
		// AdminHelpHeadline
		toggle('ahh_'+x);
	}
}

function set_to_index(_this, id)
{
	_this = get(_this);
	if(_this)
	{
		for(i=0;i<_this.length;i++)
		{
			if(_this[i].value == id)
			{
				_this[i].selected = true;
			}
		}
	}
}

// gibt den aktuellen text der liste zurueck
function get_select_text(_this)
{
	if(is_list(_this))
	{
		_this = get(_this);

		if(_this)
		{
			// firefox
			if(_this == "[object HTMLSelectElement]")
			{
				if(_this[_this.selectedIndex] != null &&
						_this[_this.selectedIndex].text) {
					return _this[_this.selectedIndex].text;
				}
				else
				{
					return "";
				}
			}
			else // ie
			{
				if(_this[_this.selectedIndex].innerHTML)
				{
					return _this[_this.selectedIndex].innerHTML;
				}
				else
				{
					return "";
				}
			}
		}
	}

	if(get(_this) && get(_this).value)
	{
		return get(_this).value;
	}
	else
	{
		return "";
	}
}

// prueft ob das element eine liste ist
function is_list(_this)
{
	if(document.getElementById(_this))
	{
		return (document.getElementById(_this).tagName.indexOf("SELECT") !== -1);
	}
	return false;
}

// sets the actual item in the list by the given text
function set_listitem_by_text(_this, _text)
{
	found = 0;
	for(var i=0; i<_this.length;i++)
	{
		if(_this[i].text == _text)
		{
			_this.selectedIndex = i;
			found = 1;
			break;
		}
	}
/*	if (!found) {
	    var elOptNew = document.createElement('option');
	    elOptNew.text = _text;
	    elOptNew.value = _text;
	    elOptNew.disabled = true;
	    var elOptOld = _this.options[0];  
	    try {
	    	_this.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
	    }
	    catch(ex) {
	    	_this.add(elOptNew, 0); // IE only
	    }
	    _this.selectedIndex = 0;
	}*/
}

function replace_all(_needle, _replace, _haystack)
{
	if(_haystack)
	{
		return _haystack.split(_needle).join(_replace);
	}
	else
	{
		return "";
	}
}

function checkbox(_type, value)
{
	var tags = document.getElementsByTagName("input");
	var str = "";
	for(i=0;i<tags.length;i++)
	{
		if(tags[i].type == _type)
		{
			if(tags[i].name.indexOf(value) != -1)
			{
				tags[i].checked = !tags[i].checked;
			}
		}
	}
}


function encode_utf8(rohtext)
{
	// dient der Normalisierung des Zeilenumbruchs
	rohtext = rohtext.replace(/\r\n/g,"\n");

	var utftext = "";

	for(var n=0; n<rohtext.length; n++)
	{
		// ermitteln des Unicodes des  aktuellen Zeichens
		var c=rohtext.charCodeAt(n);

		// alle Zeichen von 0-127 => 1byte
		if (c<128)
		{
			utftext += String.fromCharCode(c);
		}
		// alle Zeichen von 127 bis 2047 => 2byte
		else if((c>127) && (c<2048))
		{
			utftext += String.fromCharCode((c>>6)|192);
			utftext += String.fromCharCode((c&63)|128);
		}
		// alle Zeichen von 2048 bis 66536 => 3byte
		else
		{
			utftext += String.fromCharCode((c>>12)|224);
			utftext += String.fromCharCode(((c>>6)&63)|128);
			utftext += String.fromCharCode((c&63)|128);
		}
	}

	return utftext;
}

function is_valid_url(_link)
{
	// var urlcheck = new RegExp("^http(s)?://([a-z0-9-_]+)([a-z0-9-_\.]+)(\.)([a-z]{2,4})(.*)$");
	// var urlcheck = new RegExp("'|^http(s)?://[a-z0-9-_]+(\.[a-z0-9-_]+)*(:[0-9]+)?(/.*)?$|si'");
	var urlcheck = new RegExp("'|^http(s)?://.*?$|si'");

	// wuerde zur sofortigen akzeptanz fuehren
	_link = replace_all("'", "", _link);

	return urlcheck.test(_link.toLowerCase());
}

function make_hp()
{
	var homepage_url = PATH_HTTP;
	var browser = navigator.appName;
	var version = navigator.appVersion.substring(0,1);

	if ((browser=='Netscape') && (version >= 4 && version < 5))
	{
		window.onerror=java_error;
		netscape.security.PrivilegeManager.enablePrivilege('UniversalPreferencesWrite');
		navigator.preference('signed.applets.codebase_principal_support', true);
		navigator.preference('browser.startup.homepage', homepage_url);
		alert('Herzlichen Glueckwunsch, ' + homepage_url + ' ist nun Deine Startseite.');
	}
	else if ((browser=='Microsoft Internet Explorer') && (version >= 4))
	{
		document.body.style.behavior='url(#default#homepage)';
		document.body.setHomePage(homepage_url);
	}
	else
	{
		alert('Bitte stellen Sie ihre Startseite manuell ein.');
	}
}

function debug(obj)
{
	var i = 0;
	var list;

	for (prop in obj)
	{
		list += prop+" => "+obj[prop]+"\n";

		if (i%20 == 0)
		{
			alert(list);
			list = "";
		}
		i++;
	}
}

function addBookmark(_url, _rubric) {
	
    var url   = 'http://www.fastguide.de';
    var title = 'fastGuide.de';
    
    if (_rubric) {
    	title = title + ' - ' + _rubric;
    }
	if (_url) {
		url = url + _url;
    }
    
    if (document.all) {
        if(window.external){
            window.external.AddFavorite( url, title);
        } else {
            window.alert('Bitte benutzen Sie die Tastenkombination "Strg + T", um "' + title + '" als Lesezeichen zu speichern.');
        }
    } else if(window.sidebar && window.sidebar.addPanel) {
        //window.sidebar.addPanel(title, url, "");
        window.alert('Bitte benutzen Sie die Tastenkombination "Strg + D", um "' + title + '" als Lesezeichen zu speichern.');
    } else {
        window.alert('Bitte benutzen Sie die Tastenkombination "Strg + T", um "' + title + '" als Lesezeichen zu speichern.');
    }
}
