var selectOpen = false;

window.addEvent('load', function()
{
	if($('overlay')) init_overlay();
	init_detailsearch_fx();
});

function init_overlay()
{
	document.ww 		= window.getWidth();
	document.wh 		= window.getHeight();
	document.wsw		= window.getScrollWidth();
	document.wsh		= window.getScrollHeight();
	document.scrollYPos	= 0;
	document.winScroller 	= new Fx.Scroll(window);

	//NETSCAPE BUG --> CANT GET THE CORRECT SIZE OF THE INNER WINDOWS
	if(document.ww == 0)
		document.ww = window.innerWidth-18;

	if(document.wh == 0)
		document.wh = window.innerHeight;

	//SETS THE DIMENSIONS OF THE OVERLAY BG
	if(document.wsw != 0)
		document.ow = document.wsw;
	else
		document.ow = document.ww;

	if(document.wsh != 0)
		document.oh = document.wsh;
	else
		document.oh = document.wh;

	$('overlay').style.height = document.oh+"px";

	if(browser_detect() == "nn")
	{
		$('overlay').removeClass('lb_overlay');
		$('overlay').addClass('lb_overlay_NS');
	}

	init_overlay_fx();
	init_preview_fx();
}

function init_overlay_fx()
{
	//OPPACITY FX SETTINGS FOR OVERLAY
	document.overlay_fx = new Fx.Style('overlay', 'opacity', {
		duration: 0,
		onComplete: function()
		{
			if($('overlay').style.visibility == "visible")
			{				
				$('k24').addClass('k24bgoverlay');
				var x_pos = (document.ww/2)-($('ol_loading').getSize().size.x/2);
				var y_pos = (document.wh/2)-($('ol_loading').getSize().size.y/2);
				$('ol_loading').setStyles({
					left: x_pos,
					top: y_pos,
					visibility: 'visible'
				});
			}
		},
		onStart: function()
		{
			if($('overlay').style.visibility == "visible")
			{
				$('k24').removeClass('k24bgoverlay');
				$('ol_loading').setStyles({visibility: 'hidden'});
			}
		}
	});

	$('overlay').setOpacity(0, .8);
}
var detailSearchAction = false;
var SearchOpen = 'schnell';
function init_detailsearch_fx()
{
	//OPPACITY FX SETTINGS FOR OVERLAY
	document.detailsearch_fx = new Fx.Style('detailsearch_bg', 'opacity', {
		duration: 500,
		transition: Fx.Transitions.quartInOut,
		onComplete: function()
		{
			if(detailSearchAction == 'close')
			{
				$('logo').setStyle('z-index', "1");
				$('searchTab').setStyle("z-index", "10");
				$('searchForm').setStyle('z-index', "10");
				$('detailsearch_bg').setStyle("display", "none");
			}
		},
		onStart: function() {

		}
	});

	var detailsearch_bg = $('detailsearch_bg');
	if (detailsearch_bg) detailsearch_bg.setOpacity(0);
}

function init_preview_fx()
{
	//OPPACITY FX SETTINGS FOR OVERLAY
	document.preview_fx = new Fx.Style('ol_content', 'opacity', {
		duration: 500,
		transition: Fx.Transitions.quartInOut,
		onComplete: function()
		{
			if($('ol_content').style.visibility == "visible")
			{
				document.scrollYPos = window.getScrollTop();
				document.winScroller.toTop();
				$('overlay').setStyle('height', window.getScrollHeight());
			}
		},
		onStart: function()
		{
			if($('ol_content').style.visibility == "visible")
			{
				$('ol_loading').setStyles({visibility: 'hidden'});
				document.winScroller.scrollTo(0, document.scrollYPos);
				$('overlay').setStyle('height', document.wsh);
			}
		}
	});

	$('ol_content').setOpacity(0);
}

function loadPreview(evalFunction)
{
	if(document.preview_from == 'form')
		sess_data = $(document.preview_id).toQueryString();
	else if(document.preview_from == 'kontaktliste')
		sess_data = "&data[Input][id]=MailToId&data[Input][name]=MailToName";
	else if(document.preview_from == 'kontaktliste2')
		sess_data = "&data[Input][id]=MailToId&data[Input][name]=MailCcName";
	else if(document.preview_from == 'micropagesDesign')
		sess_data = "&data[type]=" + document.preview_id;
	else if(document.preview_from == 'no_params')
		sess_data = "";
	else
		sess_data = "";

	var myXHR = new XHR({
		method:'post',
		onSuccess: function (status)
		{
			if(document.preview_controller == "serviceProviders" && document.preview_method == "previewDetails")
				new Asset.javascript('/js/serviceProviders/details.js', {id: 'detailsScript'});
			else if(document.preview_controller == "customers" && ( document.preview_method == "kontaktliste" || document.preview_method == "kontaktliste_member" ))
			{
				new Asset.javascript('/js/frontend/standard/customers/kontaktliste.js', {id: 'kontaktlisteScript'});
			}

			$('ol_content').setHTML(status);
			document.preview_fx.start(1);

			//get size of parent container, if available
			var parent = $('ol_content').getParent();
			var px = 0;
			if (parent) {
				px = parent.getSize().size.x;
			}

			var x_pos = (px/2)-($('ol_content').getSize().size.x/2);
			var y_pos = 20;
			$('ol_content').setStyles({
				left: x_pos,
				top: y_pos
			});
			
			$('overlayfix').setStyles({
				left: x_pos,
				top: y_pos,
				width: $('ol_content').getSize().size.x,
				height: $('ol_content').getSize().size.y,
				visibility: 'visible'
			});

			$('ol_loading').setStyles({visibility: 'hidden'});

			if(evalFunction) {

				window.setTimeout(evalFunction, 1000);
				//eval(evalFunction);
			}

			if(document.preview_controller == "providers" && document.preview_method == "showPreview")
			{
				initThumbList();
			}
		}
	});

	if(document.preview_host && document.preview_controller && document.preview_method) {
		myXHR.send('http://'+document.preview_host+'/'+document.preview_controller+'/'+document.preview_method,sess_data);
	}
}

function openPreview(controller, method, from, id, host)
{
	document.preview_controller = controller;
	document.preview_method = method;
	document.preview_from = from;
	document.preview_id = id;
	document.preview_host = host;
	document.type = "preview";
	if (document.overlay_fx) document.overlay_fx.start(.8);
}


function toggleDetailSearch(buttonClicked)
{
	if($('quickSearchInput')) {
		if(buttonClicked == undefined) return;
		// Sonderfälle
		if(buttonClicked == SearchOpen && SearchOpen == "detail") 	buttonClicked = 'schnell';
		if(buttonClicked == SearchOpen && SearchOpen == "schnell") 	buttonClicked = 'detail';
		if(buttonClicked == SearchOpen && SearchOpen == "umkreis") 	buttonClicked = 'schnell';
		
		//open optionen
		switch(buttonClicked) {
			case "schnell":
				$('link_quick').setProperty("class", "active");
				$('quickSearchInput').setStyle("display", "block");
				$('searchtype').value = "schnell";
			break;
			
			case "detail":
				$('quickSearchInput').setStyle("display", "block");
				detailSearchAction = "open";
				toggleDetail(true);
				$('searchtype').value = "detail";
				$('link_detail').setProperty("class", "active");				
			break;
				
			case "umkreis":
				
				$('umkreisSearch').setStyle("display", "block");
				$('link_umkreis').setProperty("class", "active");
				$('searchtype').value = "umkreis";
				if($('alternativeAdress')) {
					
					$('k24').className = "umkreissuche";
					$('alternativeAdress').setStyle('display', 'block');
				}
			break;
			
			case "name":
				
				$('nameSearch').setStyle("display", "block");
				$('link_name').setProperty("class", "active");
				$('searchtype').value = "name";
			break;
		}
		
			// Close optionen	
		switch(SearchOpen) {
			case "schnell":
				$('link_quick').setProperty("class", "");
				if(buttonClicked != "detail") $('quickSearchInput').setStyle("display", "none");
			break;
			
			case "detail":
				if(buttonClicked != "schnell") $('quickSearchInput').setStyle("display", "none");
				detailSearchAction = "close";
				toggleDetail(false);
				$('link_detail').setProperty("class", "");
			break;
			
			case "umkreis":
				
				$('link_umkreis').setProperty("class", "");
				$('umkreisSearch').setStyle("display", "none");
				
				if($('k24').className == "umkreissuche" || $('k24').className == "umkreissuche k24bgoverlay") {
					$('k24').className = "";
					$('alternativeAdress').setStyle('display', 'none');
				}
			break;
			
			case "name":
				
				$('link_name').setProperty("class", "");
				$('nameSearch').setStyle("display", "none");
		
			break;
		}
		
		SearchOpen = buttonClicked;
	}
}

function toggleDetail(open) {
	if(open == false) {
		document.detailsearch_fx.start(0);
		
		$('detailsearch_bg').setStyles({"z-index": ""});		
		$('quickSearch').setStyle("z-index", "");
		$('logo').setStyle('z-index', "");
		$('suche').setStyle("z-index", "");
		$('searchTab').setStyle("z-index", "");
		$('searchForm').setStyle('z-index', "");
		$('quickSearch').setStyle("z-index", "");
		$('secondaryContent').setStyle("z-index", "1");
		$('overlay').setStyle('opacity', 0);
		$('k24').removeClass('k24bgoverlay');
	} else {
		$('detailsearch_bg').setStyle("display", "block");
		document.detailsearch_fx.start(1);
		$('detailsearch_bg').setStyle("z-index", "10000");
		$('overlay').setStyle('width', '828px');
		$('overlay').setStyle('opacity', .8);
		$('k24').addClass('k24bgoverlay');
		$('logo').setStyle('z-index', "100");
		$('suche').setStyle("z-index", "100");
		$('searchTab').setStyle("z-index", "100");
		$('searchForm').setStyle('z-index', "100");
		$('quickSearch').setStyle("z-index", "10001");
		$('secondaryContent').setStyle("z-index", "4");
	}
}

function closePreview()
{
	if($('detailsearch_bg').getStyle("display") == "block") {
		toggleDetailSearch();
		return;
	}
	$('overlayfix').setStyles({'visibility':'hidden'});
	$('ol_content').setHTML('');
	document.overlay_fx.start(0);
	document.preview_fx.start(0);
}

/* Umkreis Select Box */
Array.prototype.find = function(searchStr)
{
	var returnArray = new Array();
	var names = new Array();
	var c = 0;
	var x = new RegExp("^"+searchStr,"i");
	
	for (i=0; i<this.length; i++)
	{
		if(this[i][1].match(x))
		{
			returnArray[i] = this[i][1];
			key = this[i][1];
			names[key] = i;
			c = c+1;
		}
		
		if(c >= 20)
		{
			break;
		}
	}
	
	returnArray.sort();
	returnA = new Array();
	
	var x = "";
	
  	for(var i=0; i < returnArray.length; i++)
	{
		if(names[returnArray[i]] !== undefined)
		{
			returnA.push(names[returnArray[i]]);
		}
	}
  	return returnA;
};

function setSelections()
{
	var f = $('searchForm').elements;
	
	for(i=0; i< f.length; i++)
	{
		if(f[i].name != undefined)
		{
			if(f[i].type == "checkbox")
			{
				el2 = $(f[i].id+"Label");
				
				if(f[i].checked)
				{
					el2.className = 'checkActive';
				}
				else
				{
					el2.className = '';
				}
			}
		}
	}
}

function markActive(el)
{
	el2 = $(el).getParent('label');
	if(el.type == "checkbox")
	{
		if(el.checked)
		{
			el2.addClass('checkActive');
		}
		else
		{
			el2.removeClass('checkActive');
		}
	}
}

var UmkreisisMouseOver =  false;
var tmp_to = $('SearchbarUumkreis');

document.onkeydown = showDown;
document.onkeypress = showPress;

var KREIS = new Array();
KREIS[0] = "2";
KREIS[1] = "5";
KREIS[2] = "10";
KREIS[3] = "15";
KREIS[4] = "20";
KREIS[5] = "50";
KREIS[6] = "100";
KREIS[7] = "150";

var aktKey = null;
var aktKeyPress = null;
var maxCount = KREIS.length;
var aktCount = null;
var aktResult = null;
var UmkreisHasFocus = false;

function showDown(evt)
{
	e = (evt) ? evt : ((event) ? event : null);
	if(e) aktKey = (e.charCode) ? e.charCode : e.keyCode;
}

function showPress(evt)
{
	e = (evt) ? evt : ((event) ? event : null);
	if(e) aktKeyPress = (e.charCode) ? e.charCode : e.keyCode;
}

function refresh()
{
	UserSearch(tmp_to.value);
}

function do_move(evt)
{
	e = (evt) ? evt : ((event) ? event : null);
	if(e) Key = (e.charCode) ? e.charCode : e.keyCode;
	
	if(UmkreisHasFocus == true && $('umkreisSearchSelectUmkreis').getStyle('display') == "none" && selectOpen == false && Key != 13) 
		umkreis_show();
	
	if(Key == 63233) Key = 40;
	if(Key == 63232) Key = 38;
	if(maxCount == 0 || maxCount == null) return true;
	
	if(Key == 38 || Key == "38") { //UP
		if(aktCount == null) aktCount = 0;
		else {
			$("umkreis_"+aktCount).className = "";
			aktCount = aktCount -1;
		}	
		if(aktCount < 0) aktCount = (maxCount-1);
		$("umkreis_"+aktCount).className = "active";
	}
	if(Key == 40 || Key == "40"){ //DOWN
		if(aktCount == null) aktCount = 0;
		else {
			$("umkreis_"+aktCount).className = "";
			aktCount = aktCount +1;
		}	
		if(aktCount == maxCount) aktCount = 0;
		$("umkreis_"+aktCount).className = "active";
	}
	if(Key == 13) {
		if(aktCount != null)
			return selectUmkreis(aktCount);
		else
			return false;
	}
}

function selectUmkreis(id)
{
	$('SearchbarUumkreis').value = KREIS[id];
	umkreis_hide(true);
}

function checkSelectOpen()
{
	ret = (selectOpen == true) ? false : true;
	selectOpen = false;
	return ret;
}

function Moving(id, flag)
{
	if(flag == 0) {
		if($("umkreis_"+aktCount))
			$("umkreis_"+aktCount).className = '';
		aktCount = id;
		$("umkreis_"+aktCount).className = "active";
	}else{
		$("umkreis_"+id).className = "";
	}
}

function umkreis_show(value)
{
	$('umkreisSearchSelectUmkreis').setStyle('display', "block");
	selectOpen = true;
}

function umkreis_hide(zwang)
{
	if(UmkreisisMouseOver == false || zwang == true)
	{
		$('umkreisSearchSelectUmkreis').setStyle("display", "none");
	}
}
