
// MM:

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function openWindow(theURL,winName,features) { //v2.0
  var wnd = window.open(theURL,winName,features);
  wnd.focus();
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}





function urlencode(str)
{
	str = escape(str);
	str.replace('[', '%5B');
	str.replace(']', '%5D');
	str.replace('=', '%3D');
	return str;
}

function debug_var(arr, max_levels, level, prefix)
{
	if (!level)
		level = 0;
	if (!max_levels)
		max_levels = 5;
	if (!prefix)
		prefix = '';
	
	var text = '';
	for (var item in arr)
	{
		if ((typeof arr[item] == 'object') && (max_levels > 0))
		{
			text += prefix+item+' => Array\n';
			text += debug_var(arr[item], max_levels-1, level+1, prefix+'_____ ');
		}
		else
			text += prefix+item+' => '+arr[item]+'\n';
	}
	
	if (level == 0)
		alert('------- DEBUG ------\n' + text);
	else
		return text;
}
trace = debug_var;
print_r = debug_var;




//SPEZIAL IMAGE POPUP
/* function spezial_image_popup(image_url, obj) {
		var show = function(hash) {
			
		
		$j('#ImagePopup').fadeIn("slow");

		hash.w.show(500, function() {
			
		}); 
	};
	var hide = function(hash) {
				$j('#ImagePopup').fadeOut("slow", function() {
							hash.o.remove();
						hash.w.empty();
						hash.w.hide(500, function() {
							hash.w.remove();
				
						});
				
				});

	};

	$j("#ImagePopup").remove();
	
	pos = getPosition(obj);
	
	var tmp_img = new Image()
	tmp_img.src = image_url;
	
	//alert (test.height);
	//alert(pos.x);
	left = pos.x-((tmp_img.width-obj.offsetWidth)/2)-6;
	mtop = pos.y-((tmp_img.height-obj.offsetHeight)/2)-6
	if (mtop < 0) mtop = 0;
	//-495
	if(navigator.appName.indexOf('Internet Explorer') != -1) left -= 489;
	
	if (tmp_img.height == 0) return;
	
	html = '<div id="ImagePopup" class="jqmImageWindow" style=" padding:5px; left:'+left+'px; top:'+mtop+'px; height:'+(tmp_img.height)+'px; widht:'+(tmp_img.width+12)+'px;  display: none; border: 1px solid black; background: #BFE8F2;">';
	html += '<img style="cursor:pointer;" onclick="$j(\'#ImagePopup\').jqmHide();" src="'+image_url+'" border="0">'
	html += '</div>';
	
	$j('body').append(html);

	// clear old modal dialogs
	//$j("#GalleryPopup").each(function(){ if (!this._jqm) return; this._jqm = null; });

	// open new dialog
	$j("#ImagePopup").jqm({modal: false, onShow: show, onHide: hide}).jqmShow();
	
} */


//SPEZIAL IMAGE POPUP
function show_popup(mtop,mleft,image_url){
	
	var show = function(hash) {

		hash.w.show(500, function() {
			
		}); 
	};
	
	
	var hide = function(hash) {
				//$j('#ImagePopup').fadeOut("slow", function() {
							hash.o.remove();
						hash.w.empty();
						hash.w.hide(500, function() {
							hash.w.remove();
				
						});
				
				//});

	};
	



	//alert (test.height);
	//alert(pos.x);

	//-495
		
	html = '<div id="ImagePopup" class="jqmWindow" style=" padding:5px; border:0;  display: none; background: #BFE8F2;">';
	html += '<div style="position: relative; height:400px; width:835px;">';
	html += '<div id="ImageContainer" style="width:100%;" align="right"><img style="cursor:pointer" onclick="$j(\'#ImagePopup\').jqmHide();" src="/images/close.jpg"></div>';
	html += '</div></div>';
	
	$j('body').append(html);
	
	load_img(image_url);

	// clear old modal dialogs
	//$j("#GalleryPopup").each(function(){ if (!this._jqm) return; this._jqm = null; });

	// open new dialog
	$j("#ImagePopup").jqm({modal: false, onShow: show, onHide: hide}).jqmShow();	
	
}
function load_img(image_url) {
	var tmp_img = new Image()
	tmp_img.src = image_url;
	
	if (!tmp_img.complete) {
		setTimeout('load_img(\''+image_url+'\')',200);
	} else {
		mleft = 417-(tmp_img.width/2);
		mtop = 200-(tmp_img.height/2);
		if (mtop < 0) mtop = 0;		
		
		html = '<img style="cursor:pointer; position:absolute; left:'+mleft+'px; top:'+mtop+'px;" onclick="$j(\'#ImagePopup\').jqmHide();" src="'+image_url+'" border="0">'
		$('#ImageContainer').append(html);
	}
	
}
function spezial_image_popup(image_url, obj) {

	$j("#ImagePopup").remove();
	
	pos = getPosition(obj);
	
	var tmp_img = new Image()
	
	
	
	tmp_img.src = image_url;


	mleft = 417-(tmp_img.width/2);
	mtop = 200-(tmp_img.height/2);
	if (mtop < 0) mtop = 0;	
	
	setTimeout('show_popup(\''+mtop+'\',\''+mleft+'\',\''+image_url+'\');',100);
}

//pos

	function getPosition(element)
	/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
	   des Objekts element */
	{
	  var elem=element,tagname="",x=0,y=0;
	  
	/* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
	   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
	  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
	  {
	    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
	    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
	    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */
	
	/* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
	    if (tagname=="BODY" || tagname=="HTML")
	      elem=0;
	
	
	/* wenn elem ein Objekt ist und offsetParent enthaelt
	   Offset-Elternelement ermitteln */
	    if (typeof(elem)=="object")
	      if (typeof(elem.offsetParent)=="object")
	        elem=elem.offsetParent;
	  }
	
	/* Objekt mit x und y zurueckgeben */
	  position=new Object();
	  position.x=x;
	  position.y=y;
	  return position;
	}

// IMAGE POPUP:

function image_popup(image_url,popup_title,close_text)
{
	var undefined;
	var wnd_width=250;
	var wnd_height=120;

	var language = '';
	if ((typeof site_language) != "undefined")
		language = site_language;
	
	if (close_text == undefined)
	{
		if (language == 'english')
			close_text = 'close zoomimage';
		else
			close_text = 'Zoombild schliessen';
	}

	if (language == 'english')
		loading_text = 'loading image ...';
	else
		loading_text = 'lade Bild ...';

	if (popup_title == undefined)
		popup_title = 'Popup';

	if ((typeof my_image_popup) != "undefined")
	{
		if ((typeof my_image_popup.close) != "undefined")
		{
			my_image_popup.close();
		}
	}
  
	wnd_x=(screen.availWidth/2)-(wnd_width/2);
	wnd_y=(screen.availHeight/2)-(wnd_height/2);

	my_image_popup = window.open('', 'wnd_image_popup','width='+wnd_width+',height='+wnd_height+',left='+wnd_x+',top='+wnd_y+',location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no');
	my_image_popup.resizeTo(wnd_width, wnd_height);

	with (my_image_popup)
	{
		document.open();
		document.write('<title>'+popup_title+'</title>');
		document.write('<meta http-equiv="imagetoolbar" content="no">');
		document.write('<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" scroll="no" bgcolor="#F7F7F7" onload="opener.image_popup_loaded(window)" style="overflow: hidden;">');

		document.write('<table cellspacing="0" cellpadding="0" border="0" name="tbl_loading" id="tbl_loading" height="100%" width="100%"><tr align="center" valign="middle"><td align="center" valign="middle" style="font-family: Verdana; font-size: 12px;">' + loading_text + '</td></tr></table>');

		document.write('<div id="div_image" style="width: 100%; height: 100%; position: absolute; left: 0px; top: 0px; display: none;">');
		document.write('<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0"><tr align="center" valign="middle"><td align="center" valign="middle"><a href="javascript:self.close()"><img id="img_big" align="center" valign="middle" src="'+image_url+'" border="0" alt="'+close_text+'"></a></td></tr></table>');
		document.write('</div>');

		document.close();
	}

	my_image_popup.focus();
}

function image_popup_loaded(wnd_popup, x, y)
{
	var undefined;

	var tbl_loading=MM_findObj('tbl_loading', wnd_popup.document);
	var div_image=MM_findObj('div_image', wnd_popup.document);


	tbl_loading.style.display='none';
	div_image.style.display='block';

	var img_big=MM_findObj('img_big', wnd_popup.document);
	if (x == undefined)
		x=img_big.width;
	if (y == undefined)
		y=img_big.height;
	
	if (!x)
	{
		global_wnd_popup = wnd_popup;
		setTimeout('image_popup_loaded(global_wnd_popup)', 500);
		return;
	}
	
	var inner_width = 0;
	var inner_height = 0;
	var width_height_found = 0;
	
	if ((!width_height_found) && ((typeof wnd_popup.document.body.offsetWidth) != "undefined"))
	{
		if ((wnd_popup.document.body.offsetWidth > 0) && (wnd_popup.document.body.offsetHeight > 0))
		{
			inner_width = wnd_popup.document.body.offsetWidth;
			inner_height = wnd_popup.document.body.offsetHeight;
			width_height_found = 1;
		}
	}

	if ((!width_height_found) && ((typeof wnd_popup.innerWidth) != "undefined"))
	{
		if ((wnd_popup.innerWidth > 0) && (wnd_popup.innerHeight > 0))
		{
			inner_width = wnd_popup.innerWidth;
			inner_height = wnd_popup.innerHeight;
			width_height_found = 1;
		}
	}

	var border_x = 0;
	var border_y = 0;

	if (width_height_found)
	{
		border_x += Math.max((250-inner_width)+14, 30);
		border_y += (120-inner_height)+14;
	}
	else
	{
		border_x += 30;
		border_y += 80;
	}

	x += border_x;
	y += border_y;

	wnd_x=(screen.availWidth/2)-(x/2);
	wnd_y=(screen.availHeight/2)-(y/2);

	wnd_popup.moveTo(wnd_x,wnd_y);
	wnd_popup.resizeTo(x,y);
	wnd_popup.border_x = border_x;
	wnd_popup.border_y = border_y;
	
	// firefox probleme mit window-resize
	div_image.style.width = x+'px';
}






// NEWS-SCROLLER:

function verifyCompatibleBrowser(){ 
    this.ver=navigator.appVersion;
    this.dom=document.getElementById?1:0;
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
    this.ie4=(document.all && !this.dom)?1:0; 
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
 
    this.ns4=(document.layers && !this.dom)?1:0; 
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5);
    return this;
} 
bw=new verifyCompatibleBrowser();
 
 
function ConstructObject(obj,nest){ 
    nest=(!nest) ? '':'document.'+nest+'.';
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; 
    this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; 
    this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight ;
    this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight ;
    this.up=MoveAreaUp;this.down=MoveAreaDown; 
    this.MoveArea=MoveArea; this.x; this.y; 
    this.obj = obj + "Object" ;
    eval(this.obj + "=this") ;
    return this;
} 
function MoveArea(x,y){ 
    this.x=x;this.y=y;
    this.css.left=this.x;
    this.css.top=this.y;
} 
 
function MoveAreaDown()
{
	if (this.y > -this.scrollHeight+this.objContainer.clipHeight)
	{ 
	    this.MoveArea(0,this.y-this.move_step);
	    if(this.loop)
	    	setTimeout(this.obj+".down()",this.speed);
	} 
} 
function MoveAreaUp()
{
	if(this.y < 0)
	{ 
    	this.MoveArea(0,this.y+this.move_step);
    	if(this.loop)
    		setTimeout(this.obj+".up()",this.speed);
	} 
} 
 


// DIV-SCROLLER:

function startScroll(container_name, up_down)
{ 
	var objScroller = myScrollers[container_name];

	if (objScroller == null)
		return;
	
	if(div_scroller_initialised)
	{
		objScroller.loop = true; 
		if(up_down == 'up')
			objScroller.up();
		else
			objScroller.down();
	} 
} 
 
function stopScroll(container_name)
{ 
	var objScroller = myScrollers[container_name];
	
	if (objScroller == null)
		return;

    objScroller.loop=false;
    if(objScroller.timer)
    	clearTimeout(objScroller.timer);
} 
var div_scroller_initialised; 

var myScrollers = Object();

function initScroller(container_name, speed, move_step)
{
	var objScroller;
	var objContainer;
	
	if (!container_name)
		container_name = 'divContainer';
	if (!speed)
		speed = 15;
	if (!move_step)
		move_step = 5;
	
    objContainer=new ConstructObject(container_name);
    objScroller=new ConstructObject('divContent', container_name);
    
    objContainer.css.visibility='visible';

    objScroller.MoveArea(0,0);
    objScroller.objContainer = objContainer;
    objScroller.timer = null;
    objScroller.speed = speed;
    objScroller.move_step = move_step;
    
    div_scroller_initialised = true;
    
    myScrollers[container_name] = objScroller;
} 

