var http_root = '';
var img_path_href = 'files';
//var http_root = 'http://www.langenachtderwissenschaften.de';
//var img_path_href = 'http://d2u72kq8eh72o7.cloudfront.net/files';
var static_pages = false;
var is_mobile = false;

function page_offset_array() {
  var X = 0; var Y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    Y = window.pageYOffset;
    X = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    Y = document.body.scrollTop;
    X = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    Y = document.documentElement.scrollTop;
    X = document.documentElement.scrollLeft;
  }
  return [0+X,0+Y];
}

function abs_coord(e) {
	var l=0; var t=0;
	do {l+=e.offsetLeft || 0;	t+=e.offsetTop || 0; e=e.offsetParent;} while (e);
	return [l,t];
}

function inner_height() {
	if (window && (typeof(window.innerWidth)=='number') && window.innerHeight) {
		return window.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		return document.documentElement.clientHeight;
	} else if (document.body && document.body.clientHeight) {
		return document.body.clientHeight;
	}
	return document.getElementById('body').offsetHeight;
}

function inner_width() {
	if (window && (typeof(window.innerWidth)=='number') && window.innerWidth) {
		return window.innerWidth;
	} else if (document.documentElement && document.documentElement.clientWidth) {
		return document.documentElement.clientWidth;
	} else if (document.body && document.body.clientWidth) {
		return document.body.clientWidth;
	}
	return document.getElementById('body').offsetWidth;
}

function GeheZu(ref) {
	var f = document.cg_form;
	var oldOffsetValues = '';
	if (f.PageOffsets)
		oldOffsetValues = f.PageOffsets.value;
	var ref_ext = 'PageOffsets='+oldOffsetValues+encodeURIComponent(';'+location.pathname+':'+page_offset());
	ref=ref+((ref.match(/\?/)) ? '&':'?')+ref_ext+((arguments.length>1) ? arguments[1]:'');
	location.href = ref;
}

function toggle_div(id) {
	var d = document.getElementById(id);
	if (d && d.style)
		if (d.style.display=='none') d.style.display = '';
		else d.style.display = 'none';
}

function routen_gross_img_view() {
	MouseOverText.env='';
	var d = document.getElementById('routen_gross_img_div');
	if (d)
		if (d.style.display=='none') {
			var c = abs_coord(document.getElementById('SMALL_MAP_ALL_IMG'));
			d.style.top = (c[1])+'px';
			d.style.left = (c[0]-8)+'px';
			d.style.display = '';
			document.getElementById('MAP_ALL_IMG').src=img_path_href+'/routen.gross.gif';
		}
}
function routen_gross_img_hide() {
	var d = document.getElementById('routen_gross_img_div');
	if (d)
		d.style.display='none';
}

// MouseOverText - START //

var MouseOverText = {
	is_closing:{},
	to_do:{},
	env: '',
	pre: '',
	parent:{},
	intervals:{},
	absolutize_at_once: function() {
		var divs = document.getElementsByTagName('DIV');
		for(var i = 0; i < divs.length; i++) {
			var div = divs[i];
			if (div.id.substr(0,7)=='Div4MOT') {
				div.style.display='none'; div.style.position = 'absolute';
				var parent = div.getAttribute('parent');
				if (parent && parent.length>0) MouseOverText.parent[div.id.substr(7)]=parent;
			}
		}
	},
	show: function(id) {
		var org_id = id; if (id.substr(0,6)=='SMALL_') id = id.substr(6);
		MouseOverText.is_closing[id] = false;
		var div = document.getElementById("Div4"+id);
		if (MouseOverText.to_do[id]) {
			eval(MouseOverText.to_do[id]);
			MouseOverText.to_do[id]=false;
		}
		if (div.style.display == "") return;
		var el = document.getElementById(org_id);
		var l=0; var t=0; var h=el.offsetHeight;
		if (el.tagName=='AREA') {
			var cs = el.getAttribute('coords').split(/,/);
			if (cs.length>=4) {
				l=l+parseInt(cs[0]);
				t=t+parseInt(cs[3]);
			}
				cs = abs_coord(document.getElementById(MouseOverText.env+el.parentNode.id+"_IMG"));
				l = l + cs[0];
				t = t + cs[1];
		} else {
				do { l+=el.offsetLeft || 0; t+=el.offsetTop || 0; el=el.offsetParent;} while (el);
				t = t + h;
		}
		div.style.left = l + "px";
		div.style.top = t + "px";
		div.style.display = "";	
		div.style.filter = "alpha(opacity=100)";	
		div.style.MozOpacity = "1";
		div.style.opacity = "1";
  	if (MouseOverText.parent[id]) MouseOverText.is_closing[MouseOverText.parent[id]] = false;
	},
	hold: function(id) {
		var org_id = id; if (id.substr(0,6)=='SMALL_')	id = id.substr(6);
  	MouseOverText.is_closing[id] = false;
  	if (MouseOverText.parent[id]) MouseOverText.is_closing[MouseOverText.parent[id]] = false;
	},
	hide: function(id) {
		var org_id = id; if (id.substr(0,6)=='SMALL_')	id = id.substr(6);
	  MouseOverText.is_closing[id] = false;
		document.getElementById("Div4"+id).style.display = "none";
	},
	close: function(id) {
		var org_id = id; if (id.substr(0,6)=='SMALL_')	id = id.substr(6);
		MouseOverText.is_closing[id] = true;
		if (! MouseOverText.intervals[id]) MouseOverText.intervals[id]= new Array();
		MouseOverText.intervals[id].push(window.setInterval("MouseOverText.close_('"+id+"')",50));
	},
	close_: function(id) {
		var org_id = id; if (id.substr(0,6)=='SMALL_')	id = id.substr(6);
		window.clearInterval(MouseOverText.intervals[id].shift());
		if (MouseOverText.is_closing[id]) MouseOverText.hide(id);
	}
}

// MouseOverText - END //

// handle default text for search input

function clean_search_default_content() {
	var el = document.getElementById("meine_Suche");
	if (el)
		if (el.value=='Suchbegriff...')
			el.value='';
}
function set_search_default_content() {
	var el = document.getElementById("meine_Suche");
	if (el)
		if (el.value=='')
			el.value='Suchbegriff...';
}

function prgpkt_ecard() {
	if (is_mobile) {return;}
	var d = document.getElementById("prgpkt_sel");
	var prg_id=d.getAttribute("prg_id");
	var h_id=d.getAttribute("h_id");
	ReturnableCall(http_root+"/index.php?article_id=108&referer=Programmpunkt&programmpunkt_id="+prg_id+"&haltestelle_id="+h_id);
}

var show_prgpkt_sel_is_closing=false;
var show_prgpkt_sel_interval=null;

function show_prgpkt_sel(prg_id,h_id) {
	if (is_mobile) {return;}
	show_prgpkt_sel_is_closing=false;
	var d = document.getElementById("prgpkt_sel");
	if (d.getAttribute("prg_id")==''+prg_id && d.getAttribute("h_id")==''+h_id) {
		d.style.display="";	return;
	}
	var i = document.getElementById("PID_"+prg_id+"_"+h_id);
	var c = abs_coord(i);
	d.setAttribute("prg_id",prg_id);
	d.setAttribute("h_id",h_id);
	d.style.left = (460+c[0])+"px";
	d.style.top = (c[1]-4)+"px";
	d.style.display = "";
	var j = document.getElementById("A_"+prg_id+"_"+h_id);
	var s = j.className.substr(5,1);
	var ud = document.getElementById("U_"+prg_id+"_"+h_id);
	var cd = document.getElementById("C_"+prg_id+"_"+h_id);
	document.getElementById("prgpkt_sel_0").checked = (s=='0');
	document.getElementById("prgpkt_sel_1").checked = (s=='1');
	document.getElementById("prgpkt_sel_2").checked = (s=='2');
	document.getElementById("prgpkt_sel_3").checked = (s=='3');
	if (ud) {
		var u = document.getElementById("U_"+prg_id+"_"+h_id).innerHTML;
		if (u=="!") u="";
		document.getElementById("prgpkt_uhrzeit").value = u;
	}
	var notiz = document.getElementById("prgpkt_notiz");
	if (cd) {
		var c = document.getElementById("C_"+prg_id+"_"+h_id).innerHTML;
		notiz.value = c;
	} else if (notiz) notiz.value = '';
}

function mobile_sel_prgpkt(prg_id,h_id) {
	var j = document.getElementById("PID_"+prg_id+"_"+h_id);
	if (j) j.className = 'PRG_PUNKT_SEL';
}

function set_prgpkt_notiz(id,notiz) {
	var dn = document.getElementById("C_"+id);
	if (!dn) {
		var dp = document.getElementById("PID_"+id);
		if (dp) {
			dn = document.createElement('DIV');
			dn.className = 'meine_notiz';
			dn.setAttribute("id","C_"+id);
			dn.id = "C_"+id;
			dp.appendChild(dn);
		}
	}
	if (dn) dn.innerHTML=notiz;
}

function hold_prgpkt_sel() {
	show_prgpkt_sel_is_closing=false;
}

function leave_prgpkt_sel() {
	show_prgpkt_sel_is_closing=true;
	show_prgpkt_sel_interval = window.setInterval("leave_prgpkt_sel_now()",50);
}

function leave_prgpkt_sel_now() {
	if (is_mobile) {return;}
	if (show_prgpkt_sel_is_closing)	document.getElementById("prgpkt_sel").style.display='none';
	show_prgpkt_sel_is_closing=false;
	if (show_prgpkt_sel_interval) window.clearInterval(show_prgpkt_sel_interval);
}

function sel_prgpkt(stat) {
	if (is_mobile) {return;}
	var d = document.getElementById("prgpkt_sel");
	var prg_id=d.getAttribute("prg_id");
	var h_id=d.getAttribute("h_id");
	set_prgpkt_notiz(prg_id+"_"+h_id,"");
	var i = document.getElementById("A_"+prg_id+"_"+h_id);
	i.className='rank_'+stat;
	var u = document.getElementById("U_"+prg_id+"_"+h_id);
	if (u.innerHTML=='') u.innerHTML='!';
	if (stat==0 && document.getElementById("meine_nacht_auswahl")) {do_command('del',prg_id+"_"+h_id);}	else
	document.getElementById("rq").src = http_root+"/select_prg.php?prg_id="+prg_id+"&h_id="+h_id+"&s="+stat;
	document.getElementById("prgpkt_sel_"+stat).checked=true;
}

function change_prgpkt() {
	if (is_mobile) {return;}
	var d = document.getElementById("prgpkt_sel");
	var prg_id=d.getAttribute("prg_id");
	var h_id=d.getAttribute("h_id");
	set_prgpkt_notiz(prg_id+"_"+h_id,"");
	var dz = document.getElementById("prgpkt_uhrzeit");
	var dn = document.getElementById("prgpkt_notiz");
	if (dz || dn) {
		var zeit = dz.value;
		var notiz = dn.value;
		var u = document.getElementById("U_"+prg_id+"_"+h_id);
		if (u) {
			u.innerHTML=zeit;
			if (zeit=='') u.innerHTML='!';
		}
		var n = document.getElementById("C_"+prg_id+"_"+h_id);
		if (n) {
			n.innerHTML = notiz;
		}
		document.getElementById("rq").src = http_root+"/update_prg.php?prg_id="+prg_id+"&h_id="+h_id+"&u="+encodeURIComponent(zeit)+"&n="+encodeURIComponent(notiz);
	}
}

function meine_nacht_prgpkt(stat) {
	if (is_mobile) {return;}
	var d = document.getElementById("prgpkt_sel");
	var prg_id=d.getAttribute("prg_id");
	var h_id=d.getAttribute("h_id");
	location.href=http_root+"/Meine_Nacht_-_Auswahl_107.html#PID_"+prg_id+"_"+h_id;
}

var ThumbLoader = {
	thumb_dir: img_path_href+'/docs/resized/192x64/',
	gal: null,
	ids: [],
	curr: -1,
	min_top: 0,
	left: 0,
	start: function(gal) {
		ThumbLoader.gal = gal;
		var eS = document.getElementById('erweiterte_Suche');
		if (eS) {
			var off = abs_coord(eS);
			ThumbLoader.min_top = off[1]+160;
			off = abs_coord(document.getElementById('main_col'));
			ThumbLoader.left = off[0];
			ThumbLoader.intervall = window.setInterval('ThumbLoader.get_ids()',100);
			ThumbLoader.append_to = document.getElementById('body');
		}
	},
	get_ids: function() {
		window.clearInterval(ThumbLoader.intervall);
		var i = 0;
		for(i in ThumbLoader.gal.ids_records) ThumbLoader.ids.push(i);
		ThumbLoader.intervall = window.setInterval('ThumbLoader.step()',100);
	},
	step: function() {
		if (ThumbLoader.ids.length) {
			var id = ThumbLoader.ids.shift();
			if (id && id!="") {
				var rec = ThumbLoader.gal.ids_records[id][0];
				var prg = document.getElementById('PID_'+rec[3]);
				var off = abs_coord(prg);
				if (ThumbLoader.min_top < off[1]) {
					var img_div = document.createElement('DIV');
					img_div.className = 'thumb';
					var img_a = document.createElement('A');
					img_a.href = 'javascript:ThumbLoader.gal.start_gallery_for_id("'+id+'")';
					var img = document.createElement('IMG');
					//img.src = http_root+ThumbLoader.thumb_dir+rec[1].replace(/\.[^\.]+$/,".jpg");
					img.src = ThumbLoader.thumb_dir+rec[1];
					img_a.appendChild(img);
					img_div.appendChild(img_a);
					ThumbLoader.append_to.appendChild(img_div);
					if (rec[3].match(/^VO/))
						img_div.style.top = (off[1]+13)+'px';
					else
						img_div.style.top = (off[1]+4)+'px';
					img_div.style.left = ThumbLoader.left+'px';
				}
			}
		} else {
			window.clearInterval(ThumbLoader.intervall);
		}
	}
}



var SlideShow = {
	img_id: null,
	img_obj: null,
	next_img: null,
	images: [],
	interval_sec: 0,
	curr: 1,
	blending_down: true,
	blending_interval : null,
	start: function(img_id,images,interval_sec) {
		SlideShow.MSIE_Browser   = /MSIE/.test(navigator.userAgent) && !window.opera;
		SlideShow.Gecko_Browser = /Gecko/.test(navigator.userAgent) && !window.opera;
		SlideShow.default_interval_length = 20;
		if (SlideShow.MSIE_Browser) SlideShow.default_interval_length = 30;
		SlideShow.img_id = img_id;
		SlideShow.images = images;
		SlideShow.interval_sec = interval_sec;
		SlideShow.img_obj = document.getElementById(SlideShow.img_id);
		if (SlideShow.interval_sec > 0 && SlideShow.images.length>1 && SlideShow.img_obj) {
			SlideShow.next_img = new Image();
			SlideShow.next_img.src = "files/" + SlideShow.images[1];
			window.setInterval("SlideShow.next()",SlideShow.interval_sec*1000);
		}
	},
	next: function() {
		if (SlideShow.img_obj && !SlideShow.blending_interval) {
			SlideShow.blending_up = false;
			SlideShow.blending_down = true;
			SlideShow.blending_step = 1;
			SlideShow.blending_interval = window.setInterval("SlideShow.blending()",30);
		}
	},
	blending: function() {
		if (SlideShow.blending_down && SlideShow.blending_step == 8) {
			SlideShow.blending_down = false;
			SlideShow.blending_up = true;
			SlideShow.blending_step = 1;
			SlideShow.img_obj.src = SlideShow.next_img.src;
			if (SlideShow.MSIE_Browser) {
				SlideShow.img_obj.style.filter = 'alpha(opacity='+(100/9)+')';
			} else if (SlideShow.Moz_Browser) {
				SlideShow.img_obj.style.mozOpacity = 1/9;
			} else {
				SlideShow.img_obj.style.opacity = 1/9;
			}
		}
		if (SlideShow.blending_up && SlideShow.blending_step == 10) {
			window.clearInterval(SlideShow.blending_interval);
			SlideShow.next_img.src = "files/" + SlideShow.images[(++SlideShow.curr)%SlideShow.images.length];
			SlideShow.blending_interval = null;
			SlideShow.blending_up = false;
			SlideShow.blending_down = true;
			SlideShow.blending_step = 1;
			return;
		}
		if (SlideShow.blending_down) {
			if (SlideShow.MSIE_Browser) {
				SlideShow.img_obj.style.filter = 'alpha(opacity='+(100-100/9*SlideShow.blending_step)+')';
			} else {
				SlideShow.img_obj.style.MozOpacity = 1/9*(9-SlideShow.blending_step);
				SlideShow.img_obj.style.opacity = 1/9*(9-SlideShow.blending_step);
			}
		} else if (SlideShow.blending_up) {
			if (SlideShow.MSIE_Browser) {
				SlideShow.img_obj.style.filter = 'alpha(opacity='+(100/9*SlideShow.blending_step)+')';
			} else {
				SlideShow.img_obj.style.MozOpacity = 1/9*SlideShow.blending_step;
				SlideShow.img_obj.style.opacity = 1/9*SlideShow.blending_step;
			}
		}
		SlideShow.blending_step++;
	}
}

function jump_to_route(id) {
	if (document.getElementById("static_program"))
		location.href="http://www.langenachtderwissenschaften.de/Routen-Programm_76_R-"+id+"s.html";
	else
		location.href="http://www.langenachtderwissenschaften.de/Routen-Programm_76.html?route_id="+id;
}
function jump_to_halt(r_id,h_id) {
	if (document.getElementById("static_program"))
		location.href="http://www.langenachtderwissenschaften.de/Routen-Programm_76_R-"+r_id+"s.html#H_"+h_id;
	else
		location.href="http://www.langenachtderwissenschaften.de/Routen-Programm_76.html?route_id="+r_id+"#H_"+h_id;
}
function jump_to_vort(r_id,h_id,v_id) {
	if (document.getElementById("static_program"))
		location.href="http://www.langenachtderwissenschaften.de/Routen-Programm_76_R-"+r_id+"s.html#VO_"+v_id+"_"+h_id;
	else
		location.href="http://www.langenachtderwissenschaften.de/Routen-Programm_76.html?route_id="+r_id+"#VO_"+v_id+"_"+h_id;
}

function mobile_jump_to_route(id) {
	if (document.getElementById("static_program"))
		location.href="http://www.langenachtderwissenschaften.de/nach-Orten_116_R-"+id+"s.html";
	else
		location.href="http://www.langenachtderwissenschaften.de/nach-Orten_116.html?route_id="+id;
}
function mobile_jump_to_halt(r_id,h_id) {
	if (document.getElementById("static_program"))
		location.href="http://www.langenachtderwissenschaften.de/nach-Orten_116_R-"+r_id+"s.html#H_"+h_id;
	else
		location.href="http://www.langenachtderwissenschaften.de/nach-Orten_116.html?route_id="+r_id+"#H_"+h_id;
}
function mobile_jump_to_vort(r_id,h_id,v_id) {
	if (document.getElementById("static_program"))
		location.href="http://www.langenachtderwissenschaften.de/nach-Orten_116_R-"+r_id+"s.html#VO_"+v_id+"_"+h_id;
	else
		location.href="http://www.langenachtderwissenschaften.de/nach-Orten_116.html?route_id="+r_id+"#VO_"+v_id+"_"+h_id;
}
function print_view() {window.print();}

