/*
 * Event Handler, um die ResultBox vom Autovervollständigen zu entfernen
 */

document.onclick = function()
{
	if(document.getElementById("result"))
		document.getElementById("result").parentNode.removeChild(document.getElementById("result"));	
}

function Numsort(a, b)
{
	return a - b;
}

function test()
{
		var box = document.getElementById("box");
		
		if(box)
		{
			var boxDIV = box.getElementsByTagName("div");

			var boxArr = new Array();

			for(var i = 0; i < boxDIV.length; ++i)
			{
				// SEARCH HIGHEST

				if(boxDIV[i].clientHeight)
					boxArr.push(boxDIV[i].clientHeight)
			}

			boxArr.sort(Numsort);
			boxArr.reverse();

			var boxH = boxArr[0] - 24; // PADDING 12, see @css

			for(var i = 0; i < boxDIV.length; ++i)					
				boxDIV[i].style.height = boxH + 'px';
		}
}

function Goto(Url)
{
	window.location = Url+=".php";
}

function ClearInput(Obj)
{
	Obj.value = '';
	Obj.style.color = '#333333';
}

/**
 * Blendet einen bestimmten Inhalt ein und die Anderrn aus.
 * @param c - die Numer der Inhalte (Content = c)  welche eingeblendet wird
 */
function ShowContent(c)
{	
	var i = 1;
	
	while(cHead = document.getElementById("CP"+i))
	{	
		if(i==c)
		{	
			//Erneuter Click auf das Active Element Deaktiviert es
			if(cHead.nextSibling.className == 'active')
			{
				cHead.nextSibling.className = 'hidden';
				c = 0;
				continue;
			}
			
			cHead.firstChild.className = 'iconActiveContent';
			cHead.nextSibling.className = 'active';
			
			
			if(cMenu = document.getElementById("MP"+i))
			{
				cMenu.className ='activeSM';
			}
		}
		else
		{
			cHead.firstChild.className = 'iconHiddenContent';
			cHead.nextSibling.className = 'hidden';
			
			if(cMenu = document.getElementById("MP"+i))
			{
				cMenu.removeAttribute('class');
			}
		}
		
		i++;
	}
	
}

function setCookie(Name,Value,Days)
{	
	if(Days)
	{
		var TimeStamp = new Date();
		var monat = TimeStamp.getTime()+(Days*24*60*60*1000);
			TimeStamp.setTime(monat);
		document.cookie = Name+'='+Value+'; expires='+TimeStamp.toGMTString()+'; path=/';
	}
	else
	{
		document.cookie = Name+'='+Value+ '; path=/';
	}
}

function setLanguage(lng)
{
	setCookie('locrmaps_lang',lng);
	location.reload();
}

function createMap(mode)
{
	var Addresses = new Array();
	var RoutingAddresses = new Array();

	if(mode == 2)
	{
		// ROUTING

		$('select[name=address_country],input[name=address_city],input[name=address_zipcode],input[name=address_streetname],input[name=address_number]').each(function() {
			switch(this.name)
			{
				case 'address_country':
					Addresses.push({country: this.value});
					break;
				case 'address_city':
					Addresses[Addresses.length-1].city = this.value;
					break;
				case 'address_zipcode':
					Addresses[Addresses.length-1].zipcode = this.value;
					break;
				case 'address_streetname':
					Addresses[Addresses.length-1].streetname = this.value;
					break;
				case 'address_number':
					Addresses[Addresses.length-1].number = this.value;
					break;
			}
		});
	}
	else
	{
		// UMGEBUNG

		$('select[name=address_country_I],input[name=address_city_I],input[name=address_zipcode_I],input[name=address_streetname_I],input[name=address_number_I]').each(function() {
			switch(this.name)
			{
				case 'address_country_I':
					Addresses.push({country: this.value});
					break;
				case 'address_city_I':
					Addresses[Addresses.length-1].city = this.value;
					break;
				case 'address_zipcode_I':
					Addresses[Addresses.length-1].zipcode = this.value;
					break;
				case 'address_streetname_I':
					Addresses[Addresses.length-1].streetname = this.value;
					break;
				case 'address_number_I':
					Addresses[Addresses.length-1].number = this.value;
					break;
			}
		});
	}

	var Url = '';

	var AddressCounter = 0;
	for(var i in Addresses)
	{
		if(Addresses[i].country != '' && Addresses[i].city != '')
		{
			AddressCounter++;
			Url+= '&address_'+AddressCounter+'=';
			if(Addresses[i].country != '' && Addresses[i].city != '')
			{
				Url+= 'CO:' + encodeURIComponent(Addresses[i].country);
				Url+= ';';
				Url+= 'CI:' + encodeURIComponent(Addresses[i].city);
				if(Addresses[i].zipcode != '')
				{
					Url+= ';PC:' + encodeURIComponent(Addresses[i].zipcode);
				}
				if(Addresses[i].streetname != '')
				{
					Url+= ';SN:' + encodeURIComponent(Addresses[i].streetname);
				}
				if(Addresses[i].number != '')
				{
					Url+= ';NR:' + encodeURIComponent(Addresses[i].number);
				}
			}

			RoutingAddresses.push('address_'+AddressCounter);
		}
	}

	if(mode == 2)
	{
		var IconIndex = 1;
		
		for(var j in Addresses)
		{
			Url += '&icon_'+ IconIndex +'=I:flag2;C:RD;S:1';
			Url += '&obj_pos_'+ IconIndex +'=N:icon_'+ IconIndex +';A:address_'+ IconIndex;
			IconIndex++;
		}
	}

	if(mode == 2)
	{
		if(RoutingAddresses.length > 1)
		{
			var IconIndex = 1;

			Url+= '&routing=A:';
			for(var j in RoutingAddresses)
			{
				if(j > 0)
					Url+= ',';
				Url+= RoutingAddresses[j];
			}
		}
	}

	var locrMap = document.getElementById('map');
	var lookupResult = document.getElementById('result');

	if(lookupResult)
		while(lookupResult.hasChildNodes())
			lookupResult.removeChild(lookupResult.firstChild);

	$("#map").html('<img src="gfx/ajax-loader-big.gif" width="66" height="66" style="position:relative;left:142px;top:142px;" />');	

	var img = new Image();
	img.src = 'demo.php?demoMapType=' + encodeURIComponent(Url);

	img.onload = function()
	{
		try
		{
			while(locrMap.hasChildNodes())
				locrMap.removeChild(locrMap.firstChild);
		}
		catch(e){}

		locrMap.appendChild(this);
	};

	img.onerror = function(e)
	{
		try
		{
			while(locrMap.hasChildNodes())
				locrMap.removeChild(locrMap.firstChild);
		}
		catch(e){}

		alert('Karte konnte nicht erstellt werden!');
	};
}

function doResult(obj)
{
	var jsonObj = jQuery.parseJSON(obj.getAttribute('data-json'));

	var idNum = '';

	if(jsonObj.ID.length == 4)
		idNum = '2';

	if(jsonObj.G4)
		$('#q_2' + idNum).val(jsonObj.G4);
	if(jsonObj.G6)
		$('#q_3' + idNum).val(jsonObj.G6);
	if(jsonObj.SN)
		$('#q_4' + idNum).val(jsonObj.SN);
	if(jsonObj.NL)
		$('#q_5' + idNum).val(jsonObj.NL);
	if(jsonObj.NR)
		$('#q_5' + idNum).val(jsonObj.NR);

	if(document.getElementById("result"))
		document.getElementById("result").parentNode.removeChild(document.getElementById("result"));
}

function hoverIn(obj)
{
	obj.style.color = '#000000';
}

function hoverOut(obj)
{
	obj.style.color = '';
}

function showResult(obj)
{
	if(obj.value.length < 3 && obj.getAttribute('id').search('q_2') != -1)
		return;

	obj.style.cursor = 'wait';

	if(document.getElementById("result"))
		document.getElementById("result").parentNode.removeChild(document.getElementById("result"));

	var clone = document.createElement("div");
		clone.setAttribute("id", "result");

	obj.parentNode.appendChild(clone);

	var ID = '';
		if(obj.getAttribute('id'))
			ID = obj.getAttribute('id');
	
	var idNum = '';

	if(obj.getAttribute('id').length == 4)
		idNum = '2';

	var	url = 'q=' + encodeURIComponent($('#q_1' + idNum).val());
		url+= '&qq=' + encodeURIComponent($('#q_2' + idNum).val());
		url+= '&qqq=' + encodeURIComponent($('#q_3' + idNum).val());
		url+= '&qqqq=' + encodeURIComponent($('#q_4' + idNum).val());
		url+= '&qqqqq=' + encodeURIComponent($('#q_5' + idNum).val());

	$.ajax({
		url: 'search.php',
		type: 'GET',
		data: url,
		param: obj,
		//async: false,
		success: function(data)
		{
			this.param.style.cursor = 'auto';

			var obj = jQuery.parseJSON(data);

			var html = '<ul>';

			for(var j in obj)
			{
				var res = '';
				var jso = '"ID":"' + ID + '",';

				if(obj[j].G4)
				{
					res += obj[j].G4 + ',';
					jso += '"G4":"' + obj[j].G4 + '",';
				}
				if(obj[j].G6)
				{
					res += obj[j].G6 + ',';
					jso += '"G6":"' + obj[j].G6 + '",';
				}
				if(obj[j].G5)
				{
					res += obj[j].G5 + ',';
					jso += '"G5":"' + obj[j].G5 + '",';
				}
				if(obj[j].SN)
				{
					res += obj[j].SN + ',';
					jso += '"SN":"' + obj[j].SN + '",';
				}
				if(obj[j].NL)
				{
					res += obj[j].NL + ',';
					jso += '"NL":"' + obj[j].NL + '",';					
				}
				if(obj[j].NR)
				{
					res += obj[j].NR + ',';
					jso += '"NR":"' + obj[j].NR + '",';
				}

				res = res.substring(0, res.length-1); // KOMMA ENTFERNEN
				jso = jso.substring(0, jso.length-1); // KOMMA ENTFERNEN

				html +='<li data-json=\'{' + jso + '}\' onclick="doResult(this)" onmouseover="hoverIn(this)" onmouseout="hoverOut(this)">' + res + '</li>';
			}

			html += '</ul>';

			$('#result').empty();
			$('#result').append(html);
		}
	});
}

function parseTwitterDate(text) {
	//running regex to grab everything after the time
	var newtext = text.replace(/(\d{1,2}[:]\d{2}[:]\d{2}) (.*)/, '$2 $1');
	//moving the time code to the end
	newtext = newtext.replace(/(\+\S+) (.*)/, '$2 $1');
	var date = new Date(Date.parse(newtext)).toLocaleDateString();
	var time = new Date(Date.parse(newtext)).toLocaleTimeString();
	return date;
}

function contactRadioButtonChange(obj)
{
	if(document.getElementById("kontakt_radio"))
	{
		var radioDiv = document.getElementById("kontakt_radio");
		var radioDivImages = radioDiv.getElementsByTagName("img");

		for(var i = 0; i < radioDivImages.length; i++)
		{
			radioDivImages[i].src = 'gfx/Pictogramm_Haken_Disabled.png';
		}

		obj.src = 'gfx/Pictogramm_Haken.png';

		if(document.getElementById("subject"))
			document.getElementById("subject").value = obj.alt;
	}
}
