var badLoadTogglers=true;
var badInitLoader=true;
var badLoadMap=false;
var badLoadResults=false;
var badStopFlash=false;
function badOnloader() {
	if(!badInitLoader) { return; }
	if(badLoadMap) { initMap();	}
	if(badLoadTogglers) { 
		createSelectBoxes();
		createTogglers();
		createButtons();
	}

	if(badLoadResults) { showBadSearchResults(); }
	if(badStopFlash) { bad_stopFlash(); }
}


var badFormFieldsValue=new Array(new Object());
var badStopFieldCheck=false;
function bad_focusField(obj) {
	if(!badStopFieldCheck) {
		if(!badFormFieldsValue[0][obj.name] && obj.type=='text') {
			badFormFieldsValue[0][obj.name]=obj.value;
		}
		if(obj.value==badFormFieldsValue[0][obj.name]) { obj.value=''; }
	}
	if(obj.type=='text') { obj.select(); }
	if(obj.parentNode.className.lastIndexOf('f00eP')>=0) {
		obj.style.border="1px solid #404040";
	}
	else {
		if(obj)	obj.style.border="1px solid #404040";
	}
	
}

function bad_blurField(obj) {
	if(obj.parentNode.className.lastIndexOf('f00eP')>=0) {
		obj.style.border="1px solid #217b2d";
	}
	else {
		if(obj) obj.style.border="1px solid #b3b3b3";
	}
}



function createSelectBoxes() {
	if(document.langchoice) {
		if(document.langchoice.langpid) {
			badCreateLangChooser();
		}
	}
	if(document.badform && document.badform.elements['tx_badlocations_pi1[locations]']) {
		badCreateSelectBox('1','locations');
	}
}

function badCreateSelectBox(id,elementname) {
	var items=document.badform.elements['tx_badlocations_pi1['+elementname+']'];
	var out='';
	var selected=items.selectedIndex;
	
	out='<div class="selectdiv">';
	var isFirst=true;
	var isSub=false;
	var className='';
	out+='<div id="selectAct'+id+'" class="selectDivChooserCur">';
	out+='	<span class="selectAct0" onmouseout="badOpenSelectChooser(0,'+id+');" onmouseover="badOpenSelectChooser(1,'+id+');" id="selectActCur'+id+'">'+trim(items[selected].text)+'</span>';
	out+='	<span class="selectAct1"><a href="#" onclick="badOpenSelectChooser(2,'+id+');return false;" onmouseout="badOpenSelectChooser(0,'+id+');" onmouseover="badOpenSelectChooser(1,'+id+');">&nbsp;</a></span>';
	out+='</div>';
	
	out+='<div id="selectActDiv'+id+'" onmouseout="badOpenSelectChooser(0,'+id+');" onmouseover="badOpenSelectChooser(1,'+id+');" class="selectDivChooser"><ul style="list-style:none;list-style-image:none;list-style-type: none;">';
	for(var i=0;i<items.length;i++) {
		var txt=trim(items[i].text);
		className='';
		if(items.options[i].selected==true) { className=' class="ACT"';	}
		//if(document.badfilterform.elements['tx_badjobs_pi2['+elementname+']'].selectedIndex==i) { className=' class="ACT"';	}
		out+='<li style="list-style:none;list-style-image:none;list-style-type: none;"><a href="#" onclick="badSelectSet('+i+','+id+',\''+elementname+'\');return false;"'+className+'>'+txt+'</a></li>';	
	}
	out+='</ul></div>';
	out+='</div>';

	document.getElementById('bad-filter-'+elementname+'-f').style.display='none';
	document.getElementById('bad-filter-'+elementname+'').innerHTML+=out;

	badSelectSet(document.badform.elements['tx_badlocations_pi1['+elementname+']'].selectedIndex,id,elementname);
}

function badSelectSet(index,id,elementname) {
	document.badform.elements['tx_badlocations_pi1['+elementname+']'].selectedIndex=index;
	document.getElementById('selectActCur'+id).firstChild.nodeValue = document.badform.elements['tx_badlocations_pi1['+elementname+']'][document.badform.elements['tx_badlocations_pi1['+elementname+']'].selectedIndex].text;
}

var badSelectDiv=new Array();
function badOpenSelectChooser(state,id) {
	var curstate=document.getElementById('selectActDiv'+id).style.display;
	if(curstate=='block') { curstate='none'; }
	else { curstate='block'; }
	
	if(state==1) { curstate='block'; }
	
	if(state==0) { badSelectDiv[id]=window.setTimeout("document.getElementById('selectActDiv"+id+"').style.display='none';",200); }
	else {
		window.clearTimeout(badSelectDiv[id]);
		document.getElementById('selectActDiv'+id).style.display=curstate;
	}
}

var	mouseX;
var	mouseY;

function getcords(e){
	mouseX = Event.pointerX(e);
	mouseY = Event.pointerY(e);
}
Event.observe(document, 'mousemove', getcords);

var badToolTipState=false;
function badToolTip(state,txt) {
	if(document.getElementById('toolTip')) {
		var toolTip=document.getElementById('toolTip');
		if(state>0) {
			window.clearTimeout(badToolTipState);
			toolTip.innerHTML = txt;
			toolTip.style.visibility='visible';
			var y=mouseY-(toolTip.offsetHeight/2);
			toolTip.style.top=y+"px";
			var x=mouseX+5;
			toolTip.style.left=x+"px";
			toolTip.style.bottom="auto";
		}
		else {
			badToolTipState=window.setTimeout('hideToolTip()',150);
			//toolTip.style.visibility='hidden';toolTip.style.bottom="0px";
		}
	}
}

function hideToolTip() {
	if(document.getElementById('toolTip')) {
		var toolTip=document.getElementById('toolTip');
		toolTip.style.visibility='hidden';
		toolTip.style.bottom="0px";
		toolTip.style.top="auto";
	}
}


function mkBadButton(id) {
	var el=document.getElementById(id);
	var button=el.getElementsByTagName('input');
	var name=button[0].name;
	var value=document.badform.elements[name].value;

	var html='<input type="hidden" name="'+name+'" value="" />'+value+'';
	button[0].name=name+"0";
	document.getElementById(id).innerHTML=html;
}

function sendBadForm(id) {
	var el=document.getElementById(id);
	var button=el.getElementsByTagName('input');
	var name=button[0].name;
	document.badform.elements[name].value=1;
	document.badform.submit();
}
var badButtons=new Array();
function createButtons() {
	for(var i=0;i<badButtons.length;i++) {
		mkBadButton(badButtons[i]);
	}
}
var badToggleState=new Array();
var badToggleLast=false;
var badToogleLastDisable=false;
function badToggler(id) {
	
	var obj=document.getElementById('badrec'+id);
	if(!document.getElementById('badrec'+id)) return false;

	if(!badToggleState[id]) {
		badToggleState[id]=1;
	}
	else {
		if(badToggleState[id]==1) { badToggleState[id]=0; }
		else { badToggleState[id]=1; }
	}

	state=badToggleState[id];

	if(badToggleLast && id!=badToggleLast && !badToogleLastDisable) {
		if($('badrec'+badToggleLast).removeClassName('ACT')) {
			badToggleState[badToggleLast]=0;
		}
	}
	if(state==0) {
		$('badrec'+id).removeClassName('ACT');
	}
	else {
		$('badrec'+id).addClassName('ACT');
	}	
	badToggleLast=id;
	
	return true;
}

function badButtonHover(obj,state) {
	if(state==0) {
		$(obj.id).removeClassName('bad-button1ACT');
	}
	else {
		$(obj.id).addClassName('bad-button1ACT');
	}		
}

function badGetNewId() {
	var newId='bad'+(Math.random()*100);
	if(document.getElementById(newId)) {
		newId=badGetNewId();
	}
	return newId;
}

function badContentToggler(id) {
	//alert(id);
	var frame=document.getElementById(id);
	var content=frame.getElementsByTagName('div');
	if(content.length>0) {
		for(var i=0;i<content.length;i++) {
			if(content[i].className.lastIndexOf('csc-sh-content')>=0) {
				if(content[i].style.display=="block") {
					content[i].style.display="none"; 
					$(id).removeClassName('togFrameACT');
					$(id).addClassName('togFrame');
					break;
				}
				else {
					content[i].style.display="block";
					$(id).removeClassName('togFrame');
					$(id).addClassName('togFrameACT');
					break;
				}
			}
		}
	}
	return false;
}

function createTogglers() {
	var togglersDiv=$('page').select('[class="tog"]');
	if(togglersDiv.length<1) return;
	for(var ii=0;ii<togglersDiv.length;ii++) {
		if(!togglersDiv[ii].id) { togglersDiv[ii].id=badGetNewId(); }
		var togId=togglersDiv[ii].id;
		$(togglersDiv[ii].id).addClassName('togFrame');
	}
	for(ii=0;ii<togglersDiv.length;ii++) {
//		debug(ii+' create new toggle id = '+togglersDiv[ii].id);		

		var content=togglersDiv[ii].getElementsByTagName('div');

		if(content.length>0) {
			for(var i=0;i<content.length;i++) {
				togId=togglersDiv[ii].id;
				if(content[i].className.lastIndexOf('csc-header')>=0) {

					var headers=new Array('H1','H2','H3','H4','H5');

					for(var j=0;j<headers.length;j++) {

						var headline=content[i].getElementsByTagName(headers[j]);

						if(headline.length>0) {

							for(var k=0;k<headline.length;k++) {
								if(headline[k].className.lastIndexOf('togParsed')>=0) { continue; }

								var tempId=getToggleId(headline[k]);
								var newTogId=togId;
								if(tempId!='') {
									newTogId=tempId;
								}
//debug(ii+' &gt; '+k+' &gt; get tog id:'+newTogId+' / '+togId+' = '+headline[k].innerHTML);

								var a=headline[k].getElementsByTagName('A');
								if(a.length<1) {
									var link='<a href="#" onclick="badContentToggler(\''+newTogId+'\');this.blur();return false;">'+headline[k].innerHTML+'</a>';
									headline[k].innerHTML=link;
								}
								else {
									var link='<span class="togLink"><a onclick="badContentToggler(\''+newTogId+'\');this.blur();return false;" class="togInner">&nbsp;</a>'+headline[k].innerHTML+'</span>';
									headline[k].innerHTML=link;
									/*
									if(!a[0].id) { a[0].id=badGetNewId(); }
									$(a[0].id).observe('click', function(event){
										badContentToggler(togId);this.blur();return false;
									});
									*/
								}
								headline[k].addClassName('togParsed');
							}
						}
					}
				}
			}
		}
	}
}

function getToggleId(el) {
	if(!el.parentNode) { return ''; }
	var pel=el.parentNode;
	if(pel.tagName=='body') {
		return '';
	}
//debug('search for tog: '+pel.tagName+' = '+(pel.id?pel.id:''));	
	if(pel.className.lastIndexOf('tog')>=0) {
//debug('found tog: '+pel.tagName+' = '+(pel.id?pel.id:''));	
		
		if(pel.id) {
			return pel.id;
		}
		else {
			return '';
		}
	}
	return getToggleId(pel);
}


function bad_setCookie(name, value) { 
    var argv=(arguments?arguments:bad_setCookie.arguments); 
    var argc=argv.length; 
    var expires=(argc > 2)?argv[2]:null; 
    var path=(argc > 3)?argv[3]:null; 
    var domain=(argc > 4)?argv[4]:null; 
    var secure=(argc > 5)?argv[5]:false; 
    var cookieStr=name + "=" + escape (value) + 
      ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
      ((path == null) ? "" : ("; path=" + path)) + 
      ((domain == null) ? "" : ("; domain=" + domain)) + 
      ((secure == true) ? "; secure" : "");
    document.cookie=cookieStr;
}

function bad_getCookie(name) { 
    var arg = name + "="; 
    var alen = arg.length; 
    var clen = document.cookie.length; 
    var i = 0; 
    while (i < clen) { 
        var j = i + alen; 
        if(document.cookie.substring(i,j) == arg) 
        return bad_getCookieValue(j); 
        i = document.cookie.indexOf(" ",i)+1; 
        if(i == 0) break; 
    } 
    return null;
}
function bad_getCookieValue(offset) { 
    var endstr = document.cookie.indexOf (";", offset); 
    if(endstr == -1) 
    endstr = document.cookie.length; 
    return unescape(document.cookie.substring(offset, endstr));
}


function bad_loadFlash(movie) {
	var flashs=bad_getCookie('flashcheck');
	if(flashs!=null) {
		var played=flashs.split('|');
		if(played.in_array(movie)) {
			return true;
		}
		else {
			flashs+='|'+movie;
			bad_setCookie('flashcheck',flashs);
		}
	}
	else {
		bad_setCookie('flashcheck',movie);
	}
	return false;
}

function bad_stopFlash() {
	if(document.getElementById('flashContentFrame')) {
		document.getElementById('flashContentFrame').innerHTML=flashAlt;
	}
}



var badOnlyZipSearch=true;
function badCheckSearch(sword) {
	if(badOnlyZipSearch && (sword.length!=5 || sword.match(/[^0-9]/))) {
		alert('Bitte geben Sie ein gültige und vollständige Postleitzahl ein!');
		return false;
	}
	return true;
}
