  var closeOnLostFocus = true;

  var submitPossible=true;

  function doSubmit(form) {
	if (submitPossible) {
	  submitPossible=false;
	  document.forms.form.submit();
	}
  }
  
  
  

  function refresh(form) {
    doSubmit(form);
  }
  

  function inverseBg(obj) {
      obj.className="comboinverse";
      closeOnLostFocus = false;
  }

  function normalBg(obj) {
      obj.className="combonormal";
      closeOnLostFocus = true;
  }
  

  var voteForwardUrl;

  function setVoteForward(voteLink) {
    voteForwardUrl = voteLink;
  }

  function voteForward(vote) {
    window.location.href = voteForwardUrl + vote;
  }

  function hideSMSNoticeLayer() {
    document.getElementById('smsNoticeLayer').style.visibility="hidden";
    document.getElementById('smsNoticeInfo').style.visibility="hidden";
    document.getElementById('smsNoticePseudo').style.visibility="hidden";
  }

  function viewSMSNoticeLayer(info, pseudo) {
//    document.all.smsNoticeInfo.innerHTML = info;
    document.getElementById('smsNoticeInfo').innerHTML = info;
//    document.all.smsNoticePseudo.innerHTML = pseudo;
    document.getElementById('smsNoticePseudo').innerHTML = pseudo;
    if(window.event)  {
	    document.getElementById('smsNoticeLayer').style.left=getPopupLeft(window.event.srcElement, smsNoticeLayer);
	    document.getElementById('smsNoticeLayer').style.top=getPopupTop(window.event.srcElement, smsNoticeLayer);
    }  else  {
    	document.getElementById('smsNoticeLayer').style.left=window.pageXOffset;
    	document.getElementById('smsNoticeLayer').style.top=window.pageYOffset;
    }
    document.getElementById('smsNoticeLayer').style.visibility="visible";
    document.getElementById('smsNoticeInfo').style.visibility="visible";
    document.getElementById('smsNoticePseudo').style.visibility="visible";
  }

	function hideCallNoticeLayer() {
    //callNoticeLayer.style.visibility="hidden";
    //callNoticeOffer.style.visibility="hidden";
    document.getElementById('callNoticeLayer').style.visibility="hidden";
    document.getElementById('callNoticeOffer').style.visibility="hidden";
  }

  function viewCallNoticeLayer(offer) {
    //document.all.callNoticeOffer.innerHTML = offer;
    document.getElementById('callNoticeOffer').innerHTML = offer;
    //callNoticeLayer.style.left=getPopupLeft(window.event.srcElement, callNoticeLayer);
    //callNoticeLayer.style.top=getPopupTop(window.event.srcElement, callNoticeLayer);
    //callNoticeLayer.style.visibility="visible";
    if(window.event)  {
    	document.getElementById('callNoticeLayer').style.left=getPopupLeft(window.event.srcElement, callNoticeLayer);
    	document.getElementById('callNoticeLayer').style.top=getPopupTop(window.event.srcElement, callNoticeLayer);
    }  else  {
    	document.getElementById('callNoticeLayer').style.left=window.pageXOffset;
    	document.getElementById('callNoticeLayer').style.top=window.pageYOffset;
    }
    document.getElementById('callNoticeLayer').style.visibility="visible";
    //callNoticeOffer.style.visibility="visible";
    document.getElementById('callNoticeOffer').style.visibility="visible";
  }
  
   // popup positioning functions. obj is the anchor element firing the
 // popup, popup is the topmost element of the popup html structure itself

 function getPopupLeft(obj, popup) {
   var result=0;

   var parentDiv = document.getElementById("embTable");
   var parentX = 0;

   if (parentDiv ) {
      var parent = parentDiv.offsetParent;

      while (parent && parent!=document ) {
        parentX += parent.offsetLeft
        parent = parent.offsetParent;
      }

      parentX += parentDiv.scrollLeft;
   }

   // position of mouse (and anchor element) in the right half of window?
   //if (window.event.clientX > document.body.clientWidth/2) {
   if (window.event.clientX > document.body.clientWidth/2) {
       // right edge - width of popup
       result = window.event.clientX - window.event.offsetX  + obj.offsetWidth
              + document.body.scrollLeft - popup.offsetWidth + parentX -100;
       //result = obj.clientX - obj.offsetX  + obj.offsetWidth
       //       + document.body.scrollLeft - popup.offsetWidth + parentX -100;
   }
   else {
       // left edge of anchor element
       result = window.event.clientX - window.event.offsetX  + obj.offsetWidth
              + document.body.scrollLeft + parentX ;
       //result = obj.clientX - obj.offsetX  + obj.offsetWidth
       //       + document.body.scrollLeft + parentX ;
   }
   return result;
 }

 function getPopupTop(obj, popup) {
   var result=0;

   // check whether we are inside a fixed mode table parent <div>

   var parentDiv = document.getElementById("embTable");
   var parentY = 0;

   if (parentDiv ) {
      var parent = parentDiv.offsetParent;

      while (parent && parent!=document ) {
        parentY += parent.offsetTop
        parent = parent.offsetParent;
      }

      parentY -= parentDiv.scrollTop;
   }

   // position of mouse (and anchor element) in the lower half of window?
   //if (window.event.clientY > document.body.clientHeight/2) {
   if (window.event.clientY > document.body.clientHeight/2) {
       // upper edge - height of popup
       result = window.event.clientY - window.event.offsetY + document.body.scrollTop
              - popup.offsetHeight - parentY;
       //result = obj.clientY - obj.offsetY + document.body.scrollTop
       //       - popup.offsetHeight - parentY;
       result+=200;
   }
   else {
       // lower edge of anchor element
       result = window.event.clientY - window.event.offsetY + obj.offsetHeight + document.body.scrollTop  - parentY;
       //result = obj.clientY - obj.offsetY + obj.offsetHeight + document.body.scrollTop  - parentY;
       result-=200;
   }

   //alert ("y=" + window.event.clientY + ", offset=" + window.event.offsetY + ", result=" + result);

   return result;
 }
 
  var MessageTableTop = '<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr valign="bottom" bgcolor="silver"><th class="tippBox" nowrap="nowrap">Kurztipp</th></tr><tr><td class="tippBox">';
  var CategoryMessageTableTop = '<table><tr><td class="tippBox">';  // border="0" cellspacing="0" cellpadding="0" width="100%" align="center"
  
  var MessageTableBottom = '</td></tr></table>';

  function displayQuickStatusMessage(tip) {
	// write tipp into layer
	if (document.getElementById) {
	  document.getElementById('quicktipp').innerHTML = MessageTableTop + tip + MessageTableBottom;
	  document.getElementById('quicktipp').style.visibility = "visible";
	}
  }
	
  function hideQuickStatusMessage() {
	if (document.getElementById) {
	  document.getElementById('quicktipp').style.visibility = "hidden";
	} else if (document.layers) {
	  document.layers["quicktipp"].visibility = "hide";
	} else if (document.all) {
	  document.all.quicktipp.style.visibility = "hidden";
	}
  }
  
  function displayLayerStatusMessage(tip, layerName) {
	// write tipp into layer
//	if (document.getElementById) {
	if (document.getElementById(layerName)) {
	  document.getElementById(layerName).innerHTML = CategoryMessageTableTop + tip + MessageTableBottom;
//	  document.getElementById(layerName).innerHTML = tip;
	  document.getElementById(layerName).style.visibility = "visible";
	}
  }
	
  function hideLayerStatusMessage(layerName) {
//	if (document.getElementById) {
	if (document.getElementById(layerName)) {
	  document.getElementById(layerName).style.visibility = "hidden";
	} else if (document.layers) {
	  document.layers[layer].visibility = "hide";
	} else if (document.all) {
	  document.all.layerName.style.visibility = "hidden";
	}
  }
  
  function displayAcknowledgmentLayer(tip, layerName) {
	// write tipp into layer
	if (document.getElementById) {
	  document.getElementById(layerName).innerHTML = CategoryMessageTableTop + tip + MessageTableBottom;
	  document.getElementById(layerName).style.visibility = "visible";
	  document.getElementById(layerName).style.left=10;
      document.getElementById(layerName).style.top=10;
	}
  }
	
  function hideAcknowledgmentLayer(layerName) {
	if (document.getElementById) {
	  document.getElementById(layerName).style.visibility = "hidden";
	} else if (document.layers) {
	  document.layers[layer].visibility = "hide";
	} else if (document.all) {
	  document.all.layerName.style.visibility = "hidden";
	}
  }
	
  function createBookmark(url, text) {
    if (navigator.appName=="Netscape") {
      alert('Wenn Sie diese Seite zu Ihren Favoriten (Bookmarks) aufnehmen m\u00f6chten\n'
	       +'klicken Sie \"Bookmarks | Add bookmark\" oder dr\u00fccken Sie \"Ctrl+D\".');
    } else if (parseInt(navigator.appVersion)>3) {
	  window.external.AddFavorite(url,text);
	}
  }
  
  //Highlight Button
function highlightButton(over) {
	if (event)  {
		if (event.srcElement.tagName)
			event.srcElement.className=over;
	}
  }
	
	//datei


	function getEmail(name, address, tld, title) {
		var rv;
		rv = '<a href="mailto:' + name + '@' + address + '.' + tld + '">';
		if(title != null) {
			rv += title;
		} else {
			rv = rv + name + '@' + address + '.' + tld;
		}
		rv += '</a>';
		document.write(rv);
		//document.write('<a href="mailto:' + name + '@' + address + '.' + tld + '">' + name + '@' + address + '.' + tld + '</a>');
	}

//Gradual Elements Fader- By Dynamic Drive at http://www.dynamicdrive.com
//Last updated: Nov 8th, 07'

// use:
// name the class of the object to fade "fade"
// initialize the fading at the end of the page (above /body tag): 
//	<script type="text/javascript">
//	gradualFader.init() //activate gradual fader
//	</script>
// cusomizing:
//	gradualFader.baseopacity=0.4 //set base opacity when mouse isn't over element (decimal below 1)
//	gradualFader.increment=0.2 //amount of opacity to increase after each iteration (suggestion: 0.1 or 0.2)
// limitations: for IE the element needs a "layout": width and/or height, inline-block, absolute positioning, float or table element

var gradualFader={}

gradualFader.baseopacity=0.4 //set base opacity when mouse isn't over element (decimal below 1)
gradualFader.increment=0.1 //amount of opacity to increase after each iteration (suggestion: 0.1 or 0.2)

//document.write('<style type="text/css">\n') //write out CSS to enable opacity on "gradualfader" class
//document.write('.fade{filter:progid:DXImageTransform.Microsoft.alpha(opacity='+gradualFader.baseopacity*100+'); -moz-opacity:'+gradualFader.baseopacity+'; opacity:'+gradualFader.baseopacity+';}\n')
//document.write('</style>')

gradualFader.setopacity=function(obj, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between)
	var targetobject=obj
	if (targetobject && targetobject.filters && targetobject.filters[0]){ //IE syntax
		if (typeof targetobject.filters[0].opacity=="number") //IE6
			targetobject.filters[0].opacity=value*100
		else //IE 5.5
			targetobject.style.filter="alpha(opacity="+value*100+")"
		}
	else if (targetobject && typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax
		targetobject.style.MozOpacity=value
	else if (targetobject && typeof targetobject.style.opacity!="undefined") //Standard opacity syntax
		targetobject.style.opacity=value
	targetobject.currentopacity=value
}

gradualFader.fadeupdown=function(obj, direction){
	var targetobject=obj
	var fadeamount=(direction=="fadeup")? this.increment : -this.increment
	if (targetobject && (direction=="fadeup" && targetobject.currentopacity<1 || direction=="fadedown" && targetobject.currentopacity>this.baseopacity)){
		this.setopacity(obj, targetobject.currentopacity+fadeamount)
		window["opacityfader"+obj._fadeorder]=setTimeout(function(){gradualFader.fadeupdown(obj, direction)}, 50)
	}
}

gradualFader.clearTimer=function(obj){
if (typeof window["opacityfader"+obj._fadeorder]!="undefined")
	clearTimeout(window["opacityfader"+obj._fadeorder])
}

gradualFader.isContained=function(m, e){
	var e=window.event || e
	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
	if (c==m)
		return true
	else
		return false
}

gradualFader.fadeinterface=function(obj, e, direction){
	if (!this.isContained(obj, e)){
		gradualFader.clearTimer(obj)
		gradualFader.fadeupdown(obj, direction)
	}
}

gradualFader.collectElementbyClass=function(classname){ //Returns an array containing DIVs with specified classname
	var classnameRE=new RegExp("(^|\\s+)"+classname+"($|\\s+)", "i") //regular expression to screen for classname within element
	var pieces=[]
	var alltags=document.all? document.all : document.getElementsByTagName("*")
	for (var i=0; i<alltags.length; i++){
		if (typeof alltags[i].className=="string" && alltags[i].className.search(classnameRE)!=-1)
			pieces[pieces.length]=alltags[i]
	}
	return pieces
}

gradualFader.init=function(){
	var targetobjects=this.collectElementbyClass("fade")
	for (var i=0; i<targetobjects.length; i++){
		targetobjects[i]._fadeorder=i
		this.setopacity(targetobjects[i], this.baseopacity)
		targetobjects[i].onmouseover=function(e){gradualFader.fadeinterface(this, e, "fadeup")}
		targetobjects[i].onmouseout=function(e){gradualFader.fadeinterface(this, e, "fadedown")}
	}
}

// end GradualFader

