 // Damit ein SyntaxHighlighting vorhanden ist
// <script type="text/javascript">

var create_orte = null;
var create_marker = null;
var delete_marker = null;
var visible_marker = null;

var adressmarker = new Array;
var ortmarker = new Array;
var contentmarker = new Array;
var weglinie = new Array;
var polyline = new Array;
var polylineKeys = new Array;
var gm_punkteset = new Array;
var loading_map = 0;
var marker_found = 0;
var marker_to_open = 0;
var refresh_query = null;

var the_form = 'gm_optionen';
var suche_begriff = '';
var level = 0;
var closed_level = null;
var db;
var map_id;
var imageseite_id ;

var d = document;

//var map = null;

function disable_form(){ 
	if(get_element('loading_map') != undefined) get_element('loading_map').style.display = 'block'; 
}
function enable_form(){
	if(get_element('loading_map') != undefined) get_element('loading_map').style.display = 'none'; 
}
function get_element(id){
	return document.getElementById(id); 
}
function create_element(url){
	var s=document.createElement('script');
	s.src=url;
	document.getElementsByTagName('head')[0].appendChild(s);
}
function sc(key,value) { d.cookie = key+"="+value+"; path=/" }
function dc(key) { d.cookie = key+"=0; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT"; }
function rc(key) {
	var i = d.cookie.indexOf(key+"=");
	var c = "";
	if(i>-1){
		var ende = d.cookie.indexOf("; ",i+key.length+1);
		if(ende == -1) ende = d.cookie.length;
		c = d.cookie.substring(i+key.length+1,ende);
	}
	return unescape(c);
}

if(typeof jQuery == 'function'){
  if($('#gm_ort').length > 0 && $('#gm_gebiet').length > 0){
    $('#gm_ort').change( function() {
      $('#gm_gebiet').val(0);
    });
    $('#gm_gebiet').change( function() {
      $('#gm_ort').val(0);
    });
  }
}

function show_video(id){
	if(id){
		timm4_mailer_box();
		create_element('/timm/interaktive_karte/show_video.php?id='+id+'&div_id=timm4_mailer');
		big_div('timm4_mailer',320,240);
	}else if(get_element('timm4_mailer')){
		BigImg.closeBigImg();
		get_element('timm4_mailer').innerHTML = '';
	}
}

function show_kat(type,show,id,alle_gruppen,ab_kat){
	if(alle_gruppen==undefined)	alle_gruppen = 0;
	if(ab_kat==undefined)	ab_kat = 0;
	if(get_element('map')!=undefined) ansicht = 'karte';
	else ansicht = 'liste';

	if(ab_kat)	var box = 'show_kat_'+type+'_'+ab_kat;
	else				var box = 'show_kat_'+type;

	if(typeof(show_ladebalken)=='function') show_ladebalken(box,2,-18);

	if(typeof jQuery == "function"){
		$('#'+box).load('/timm/interaktive_karte/checkboxes/show.php?type='+type+'&show='+show+'&id='+id+'&alle_gruppen='+alle_gruppen+'&ab_kat='+ab_kat+'&ansicht='+ansicht, {}, function(){ hide_ladebalken(); });
	
	}else{
		var ajax = createRequest();
		ajax.open('get', '/timm/interaktive_karte/checkboxes/show.php?type='+type+'&show='+show+'&id='+id+'&alle_gruppen='+alle_gruppen+'&ab_kat='+ab_kat+'&ansicht='+ansicht,true);
		ajax.onreadystatechange = function() { ajaxwert_einfuegen(ajax,box) };
		ajax.send(null);
	}
}

function mark_kat(type,mark,id,alle_gruppen,ab_kat){
	var callback = 'map_refresh();';
	if(alle_gruppen==undefined)	alle_gruppen = 0;
	if(ab_kat==undefined)	ab_kat = 0;
	if(get_element('map')!=undefined) ansicht = 'karte';
	else ansicht = 'liste';

	if(ab_kat)	var box = 'show_kat_'+type+'_'+ab_kat;
	else				var box = 'show_kat_'+type;
	
	if(typeof(show_ladebalken)=='function') show_ladebalken(box,2,-18);

	if(typeof jQuery == "function"){
		if(typeof init_js == "function") callback += ' init_js();';
		$('#'+box).load('/timm/interaktive_karte/checkboxes/show.php?type='+type+'&mark='+mark+'&id='+id+'&alle_gruppen='+alle_gruppen+'&ab_kat='+ab_kat+'&ansicht='+ansicht, {}, function(){ eval(callback) });
	
	}else{
		var ajax = createRequest();
		ajax.open('get', '/timm/interaktive_karte/checkboxes/show.php?type='+type+'&mark='+mark+'&id='+id+'&alle_gruppen='+alle_gruppen+'&ab_kat='+ab_kat+'&ansicht='+ansicht, true);
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 4) {
				get_element(box).innerHTML = ajax.responseText;
				if(typeof(map)!='undefined') map_refresh();
				if(get_element('ajax-loader')) get_element('ajax-loader').style.display = 'none';
			}
		};
		ajax.send(null);
	}
}

// Funktion die ausgefuehrt wird, wenn die Karte bewegt wurde
function moveend(){
	if(!loading_map){
		loading_map = 1;
		map_save_position();
		map_refresh();
	}
}

// Zoom zu einen Ort
function gehe_zu_ort(id){
	get_element("gm_ort").options[0].selected=true;
	create_element('/timm/interaktive_karte/ajax_gehe_zu_ort.php?ort='+id);
}

// Karte aktualiesieren
function map_refresh(action) {
	if(document.getElementsByName("gm_punkteset").length > 0) {
		gm_punkte(imageseite_id,action);
	}else	if(document.forms[the_form] != undefined){
		disable_form();
		refresh_query = '?ansicht=karte'+gm_query();
		refresh_query += '&'+bounds_query(1);
		refresh_query += '&maps_id='+map_id+'&db='+db;
		
		if(action != undefined)	refresh_query += '&action='+action;
		if(marker_to_open)			refresh_query += '&marker_to_open='+marker_to_open;
		
		create_element('/timm/interaktive_karte/ajax_update_marker.php'+refresh_query);
	}
	
	if(document.forms[the_form] == undefined && document.getElementsByName("gm_punkteset").length == 0) enable_form();
	if(typeof(hide_ladebalken)=='function') hide_ladebalken();

	loading_map = 0;
}

function gm_punkte(imageseite_id,action){

	disable_form();
	refresh_query = '?ansicht=karte'+gm_query();
	refresh_query += '&'+bounds_query(1);
	refresh_query += '&imageseite='+imageseite_id+'&maps_id='+map_id+'&db='+db;
	
	if(action != undefined)	refresh_query += '&action='+action;
	if(marker_to_open)			refresh_query += '&marker_to_open='+marker_to_open;

	// gecheckten Checkboxen
	var obj = document.getElementsByName("gm_punkteset");
	for(i=0; i < obj.length; i++) {
		if(obj[i].checked == true) {
			refresh_query += '&set[]='+obj[i].value;
			sc(map_id+"punkteset_"+obj[i].value,1);
		} else {
			dc(map_id+'punkteset_'+obj[i].value);
		}
	}
	
	create_element('/timm/interaktive_karte/ajax_punktebox.php'+refresh_query);
}

// Funktion die den Querystring mit den Werten der Checkboxen zurueckgibt und den Wert im Cookie speichert
function gm_query() {
	if(typeof(only_not_empty)=='undefined') only_not_empty = 0;

	var query = '';
	// Suchbegriff merken (wenn sich dieser aendert, gibts ein map_refresh())
	if(get_element('gm_suche_begriff') != undefined) 		suche_begriff = get_element('gm_suche_begriff').value;
	
	// Datumswerte
	if(get_element('gm_unterkuenfte_von') != undefined) 		query += '&unterkuenfte_von='+get_element('gm_unterkuenfte_von').innerHTML;
	if(get_element('gm_unterkuenfte_bis') != undefined) 		query += '&unterkuenfte_bis='+get_element('gm_unterkuenfte_bis').innerHTML;
	if(get_element('gm_veranstaltungen_von') != undefined) 	query += '&veranstaltungen_von='+get_element('gm_veranstaltungen_von').innerHTML;
	if(get_element('gm_veranstaltungen_bis') != undefined) 	query += '&veranstaltungen_bis='+get_element('gm_veranstaltungen_bis').innerHTML;

	// Werte auslesen
	if(document.forms[the_form] != undefined){
		var elts      = document.forms[the_form].elements;
		var elts_cnt  = elts.length;
		for (var i = 0; i < elts_cnt; i++) {
			whichElt = elts[i].id;
			name 	 = whichElt.substr(3).match(/\D+/);
			nummer = whichElt.match(/\d+/);
			
			type = elts[i].type;
			value  = elts[i].value;
			checked  = elts[i].checked;
			checked = checked?value:0;
			if(type=='checkbox') value = checked;
			
			if(name!='null'){
				if(nummer) 	query += '&'+name+'['+nummer+']='+value; // Array
				else  			query += '&'+name+'='+value;
			}
		}
	}
	return query;
}

function change_page_marker(box,page,query,uri){
	if(box){
		if(typeof(show_ladebalken)=='function') show_ladebalken('loader_'+box,-2);

		query += '&page='+page;
		query += '&maps_id='+map_id;
		query += '&db='+db;
		
	if(typeof jQuery == "function"){
		$('#openmarker').load('/timm/interaktive_karte/ajax_show_marker.php', { postdata : query }, function(){ hide_ladebalken(); });
		
	}else{
		var ajax = createRequest();
			ajax.open('post','/timm/interaktive_karte/ajax_show_marker.php',true);
			ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajax.send(query);
	
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 4) {
					get_element("openmarker").innerHTML = ajax.responseText;
					get_element('ajax-loader').style.display = 'none';
				}
			};
		}
	}
}

// Funktion die ausgefuehrt, wenn ein InfowWindow geschlossen wird
function close_marker(){
	// Loeschen des Cookies, in dem steht, dass ein Marker gefoeffnet ist
  is_open = rc(map_id+"marker_open");
  if(is_open.substring(0,1)=='w'){
    HlPl("pPl", is_open.substring(1), 2, "#660033", true);
  }
	dc(map_id+"marker_open");
}

// Damit beim Druecken der Return Taste aktualisiert wird
function tastenverfolgung(evt) {
	if(get_element("gm_suche_begriff") != undefined) {
		var kc;
		
		if(!evt) evt = window.event;
		if(evt.which) kc = evt.which;
		else if(evt.keyCode) kc = evt.keyCode;

		if(kc==13 && typeof(map)!='undefined') {
			map_refresh();
		}
	}
}
d.onkeydown = tastenverfolgung;