/*
 *  history
 *  06/10/2009  Newsletter function checkall changed. Set disabeld!
 *  12/09/2008  Abmelden Checkbox nur wenn 2 NL
 *  12/05/2008  chkFormConfirmNewsletter() changed. (Checkbox disabled)
 *  11/17/2008  Newsletter functions added
 *  12/03/2008  Bugfix Firefox Newsletter "Themen"
 *  11/18/2008  Newsletter functions added
 *  03/31/2008  function showLevel2Layer; show level 2 layer only if level 2
 *              navigation point exists
 *	01/25/2008  change new color, function setclasscolor() added
 *
 */

	var isDOM = (document.getElementById ? true : false); 
	var isIE4 = ((document.all && !isDOM) ? true : false); 
	var isNS4 = (document.layers ? true : false); 
	var isDyn = (isDOM || isIE4 || isNS4); 

	var enableHideFooter = 0;

	/*
     *	getRef()
	 */
	function getRef(id) 
	{ 
		if (isDOM) return document.getElementById(id); 
	    if (isIE4) return document.all[id]; 
	    if (isNS4) return document.layers[id]; 
	} 


	/*   ******************************************************************************************
     *    Anmeldung Newsletter
	 *   ******************************************************************************************/

	function setBackPointsUrl(ctlform)
	{
		var callbackhost      = location.host;
		var callbackprotocol  = location.protocol + "//";
	    var callbackpathname  = location.pathname;
		var callbackurl       = "";
	
		callbackurl = callbackprotocol + callbackhost + callbackpathname;

		///alert(callbackprotocol);
		///alert(callbackhost);
		///alert(callbackpathname);
		///alert(callbackurl);
		
		var theForm    = document.forms[ctlform];
		var ctlHidden  = theForm.requestURL;

		if (ctlHidden)
		{
		   ctlHidden.value = callbackurl;
		   ///alert(ctlHidden.value);
		}

	}


	function switchceckbox(self,cb)
	{

	   var ctl = document.getElementById(cb);

		if (ctl)
        {
           ctl.checked = false;
           self.blur();
        }
	}


	function chkFormDeleteNewsletter()
	{
		///alert("chkFormDeleteNewsletter");

		var theForm    = document.forms["frmDeleteNewsletter"];
		var ctlTxtMail = theForm.txtemail;
		//var ctlCb1     = theForm.cbDelete1;
		//var ctlCb2     = theForm.cbDelete2;


        var error     = 0;

		if ( isInputCorrectEMail(ctlTxtMail) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlTxtMail);
		}
		/*
		if (ctlCb1 && ctlCb2)
		{

		if ( isCheckboxChecked(ctlCb1, ctlCb2) )
		{
            error = 1;
		}
		else
		{
		//	resetInput(ctlCb1);
		}
		}
        */

		if ( error == 0 )
		{
           theForm.submit();
		}
    }


	function chkFormConfirmNewsletter()
	{
		///alert("chkFormConfirmNewsletter");

		var theForm   = document.forms["frmConfirmNewsletter"];
        var error     = 0;

		var ctlTxtMail   = theForm.txtemail;
		var ctlCbConfirm = theForm.cbConfirm;


		if ( isInputCorrectEMail(ctlTxtMail) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlTxtMail);
		}
		/* disabled 12/05/2008
		if ( isCheckboxChecked(ctlCbConfirm, ctlCbConfirm) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlCbConfirm);
		}
		*/

		if ( error == 0 )
		{
           theForm.submit();
		}
    }


	function chkFormRegisterNewsletter()
	{
 		///alert("chkFormRegisterNewsletter");

		var theForm = document.forms["frmRegisterNewsletter"];
        var error   = 0;

		var ctlTxtMail = theForm.txtemail;
	    var ctlThemen  = theForm.Themen;
		var ctlCbHtml  = theForm.cbHtml;
		var ctlCbText  = theForm.cbText;

		var ctlCbNewsletterMonat = theForm.cbNewsletterMonat;
		var ctlCbEinzel          = theForm.cbEinzel;


		if ( isInputCorrectEMail(ctlTxtMail) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlTxtMail);
		}


		if ( isCheckboxChecked(ctlCbHtml, ctlCbText) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlCbHtml);
		}


		if ( isCheckboxChecked(ctlCbNewsletterMonat, ctlCbEinzel) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlCbNewsletterMonat);
		}


		if ( Themen() )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlThemen);
		}


		if ( error == 0 )
		{
           theForm.submit();
		}

	}


	function ThemenAlleFinden()
	{
	   ///alert("ThemenAlleFinden");

	   var theForm   = document.forms["frmRegisterNewsletter"];
	   var ctlAnzahl = theForm.txtThemenAnzahl;

	   var lastcbid = ctlAnzahl.value -1;
	   var lastcb   = 'cbThemen' + lastcbid;
       var ctlcb    = document.getElementById(lastcb);

	   if (ctlcb)
          return ctlcb.checked;
       else
          return false;
	}


	function Themen()
	{
	   ///alert("Themen");

	   var theForm   = document.forms["frmRegisterNewsletter"];
	   var ctl       = theForm.Themen;
	   var ctlThemen = theForm.txtThemen;
	   var ctlUpdate = theForm.txtThemenUpdate;

	   var cbinputs = document.getElementsByTagName("input");
	   var error = true;
       var delim = '';

	   ctlThemen.value = '';
	   ctlUpdate.value = '';	

       for (var i = 0; i < cbinputs.length; i++) 
       {
          if (cbinputs[i].getAttribute('type') == 'checkbox')
          {
             if (cbinputs[i].className == 'Themen')
             {
				var txtinputhidden = 'txt' + cbinputs[i].id.substring(2,cbinputs[i].id.length);
                ///alert(txtinputhidden);
                var ctlinputhidden = document.getElementById(txtinputhidden);

	            if (ctlinputhidden)
	            {
				   var valinputhidden = ctlinputhidden.value;
                   ///alert(valinputhidden);

				   if (valinputhidden != '')
				   {				
				      if (cbinputs[i].checked)
				      {
                         ctlThemen.value += delim + trim(valinputhidden) + ': ja';
                         ctlUpdate.value += trim(valinputhidden) + ';';
                      }
                      else
                      {
                         ctlThemen.value += delim + trim(valinputhidden) + ': nein';
                      }
				   }
                   delim = ';'
				   ///alert(ctlThemen.value);
                }

				if (cbinputs[i].checked)
				{
                   error = false;
                }
             }
          }
       }


	   if (ThemenAlleFinden() == true)
	   {
          ///ctlUpdate.value = 'all';
       }
	   ///alert(ctlUpdate.value);

	   if (error == true)
       {
	      var valdiv = document.getElementById('val' + ctl.id);
	      if (valdiv)
	      {
		     valdiv.className += " valerror";
      
		     displayErrorMessage(ctl);

	      }
	      else
	      {
             alert('Control not fount: ' + 'val' + ctl.id)
	      }
       }

       return error;
	}


	function checkall(cbGroup, self)
	{
	   ///alert('checkall(' + cbGroup + ')')

	   var theForm   = document.forms["frmRegisterNewsletter"];

	   var cbinputs = document.getElementsByTagName("input");
	
       for (var i = 0; i < cbinputs.length; i++) 
       {
          if (cbinputs[i].getAttribute('type') == 'checkbox')
          {

             if (cbinputs[i].id.indexOf(cbGroup) == 0 && self.id != cbinputs[i].id)
             {
                cbinputs[i].checked = self.checked;
                cbinputs[i].disabled = cbinputs[i].checked;
             }
          }
       }
	}


	function isCheckboxChecked(cb1, cb2)
	{

		if (!cb2) cb2 = cb1;
		if (!cb1) cb1 = cb2;

		if (!cb1.checked && !cb2.checked)
		{
			var valdiv = document.getElementById('val' + cb1.id);
			if (valdiv)
			{
				valdiv.className += " valerror";
	
				displayErrorMessage(cb1);

			}
			else
			{
				alert('Control not fount: ' + 'val' + cb1.id)
			}
			return true;
		}
		return false;
	}




	/*   ******************************************************************************************
     *    Footeranzeige
	 *   ******************************************************************************************/

	function hideFooter(idname)
	{
		var id = document.getElementById(idname);
		if (id)
		{
			if (enableHideFooter == 1)
			{
				id.style.visibility = 'hidden';
			}
		}
	}

	/*   ******************************************************************************************
     *    Anmeldung Veranstaltungen
	 *   ******************************************************************************************/


	function gotoRegister(cnt)
	{
	   var frm = document.getElementById("frmGotoRegister" + cnt);       
       frm.submit();
	}


	function chkFormRegisterEvent()
	{
		///alert("chkFormRegisterEvent");

		var theForm = document.forms["frmRegisterEvent"];
        var error   = 0;

		var ctlTxtName    = theForm.txtname;
		var ctlTxtVorname = theForm.txtvorname;
		var ctlTxtMail    = theForm.txtemail;
		var ctlTxtAnzahl  = theForm.txtanzahl;
		var ctlDDTermin   = theForm.dddates;
		var ctlDDTypes    = theForm.ddtypes;


		if ( isDropDownEmpty(ctlDDTermin) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlDDTermin);
		}


		if ( isInputEmpty(ctlTxtName) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlTxtName);
		}


		if ( isInputEmpty(ctlTxtVorname) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlTxtVorname);
		}

		if ( isInputCorrectEMail(ctlTxtMail) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlTxtMail);
		}

		if ( isDropDownEmpty(ctlDDTypes) )
		{
            error = 1;
		}
		else
		{
			resetInput(ctlDDTypes);
		}

		if ( error == 0 )
		{
           theForm.submit();
		}
	}


	function isDropDownEmpty(ctl)
	{

		var count  = ctl.length;
		var selIdx = ctl.selectedIndex;
		var selval = ctl.options[selIdx].value;

		if (selval == '')
		{
            ctl.value = "";
			var valdiv = document.getElementById('val' + ctl.id);
			if (valdiv)
			{

				valdiv.className += " valerror";
	
				displayErrorMessage(ctl);

				ctl.focus();

			}
			else
			{
				alert('Control not fount: ' + 'val' + ctl.id)
			}
			return true;
		}
		return false;
	}


	function isInputEmpty(ctl)
	{
        var str = trim(ctl.value);
		if (str.length == 0)
		{
            ctl.value = "";
			var valdiv = document.getElementById('val' + ctl.id);
			if (valdiv)
			{

				valdiv.className += " valerror";
	
				displayErrorMessage(ctl);

				ctl.className += " inputerror";		
				ctl.focus();

			}
			else
			{
				alert('Control not fount: ' + 'val' + ctl.id)
			}
			return true;
		}
		return false;
	}


	function isInputCorrectCount(ctl)
	{
        var str = trim(ctl.value);
		if (str.length == 0 || str == '0' || str == '00'|| str == '000')
		{
			var valdiv = document.getElementById('val' + ctl.id);
			if (valdiv)
			{

				valdiv.className += " valerror";
	
				displayErrorMessage(ctl);

				ctl.className += " inputerror";		
				ctl.focus();

			}
			else
			{
				alert('Control not fount: ' + 'val' + ctl.id)
			}
			return true;
		}
		return false;
	}

	function isInputCorrectEMail(ctl)
	{
        var str = trim(ctl.value);
		if (!checkEMail(str))
		{
			var valdiv = document.getElementById('val' + ctl.id);
			if (valdiv)
			{

				valdiv.className += " valerror";
	
				displayErrorMessage(ctl);

				ctl.className += " inputerror";		
				ctl.focus();

			}
			else
			{
				alert('Control not fount: ' + 'val' + ctl.id)
			}
			return true;
		}
		return false;
	}


	function displayErrorMessage(ctl)
	{
		var valdiv = document.getElementById('val' + ctl.id);
		var errtxt = document.getElementById('err' + ctl.id);
		if (errtxt)
		{
			valdiv.innerHTML = errtxt.value;;
		}
	}



	function resetInput(ctl)
	{
		///alert("resetInput");
		resetError(ctl);

		var ctlclasses = ctl.className;
		var newclasses = ctlclasses.replace(/inputerror/g, '');
		ctl.className  = newclasses;
	}


	function resetError(ctl)
	{
		///alert("resetError");

		var valdiv = document.getElementById('val' + ctl.id);
		var valclasses = valdiv.className;

 		valdiv.className  = valclasses.replace(/valerror/g, '');
		valdiv.innerHTML  = '';
	}






	/*   ******************************************************************************************
     *    Anmeldung Veranstaltungen
	 *   ******************************************************************************************/

	/*
     *	setbgcolor() 
	 */
	function setbgcolor(ID,wert) {
		alert(wert);
	    if(!document.layers) {
	        e = getRef(ID); 
			e.className = "standard_spalte_3_unten" + wert;
		    //e.setAttribute("bgcolor",wert,"false")
	    }
}


/*
 *	setclasscolor() 
 */
function setclasscolor(ID,wert) {
	var oldclass = '';

    if(!document.layers) 
	{
        e = getRef(ID); 
		oldclass = e.className;
		var classes = oldclass.split(" ");
		e.className = classes[0] + wert;
    }
}



var cms_common_menu_close;
var cms_common_level2_open_tag;
var cms_common_level2_open_style;



function showLevel2Layer(div,Level1Img,mode) {

	if (cms_common_level2_open_tag)
	{
		if (cms_common_level2_open_tag != div)
		{
   			cms_common_level2_open_style.visibility = 'hidden';
   			cms_common_level2_open_style.display    = 'none';
		}
	}


	Level1Img = document.getElementById(Level1Img)
	Level1Top = Level1Img.offsetParent.offsetTop + Level1Img.offsetTop + Level1Img.offsetParent.offsetParent.offsetTop;
	Level1Top = Level1Top - 12;	

   	d=document.getElementById(div);

	// added 03/31/2008 if statement
	if (d.getElementsByTagName("a")[0])
	{

   		s=d.style;
	   	s.visibility = 'visible';
   		s.display    = 'block';
		s.top        = Level1Top;

		cms_common_level2_open_tag   = div;
		cms_common_level2_open_style = s;

		//disable timeout
		window.clearTimeout(cms_common_menu_close);
	}
}


function mouseLeave() 
{
	cms_common_menu_close = window.setTimeout("menuCollapse()",500);
}


function menuCollapse() 
{
	if (cms_common_level2_open_style)
	{
   		cms_common_level2_open_style.visibility = 'hidden';
   		cms_common_level2_open_style.display    = 'none';
	}
	 
	//disable timeout
	window.clearTimeout(cms_common_menu_close);
}



function hideLayer() 
{
	menuCollapse();
}



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 showHideLayers() { //v6.0
  var i,p,v,obj,args=showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

		function NavOver(navPointId) {

		}

		function NavOut(navPointId) {

		}
	
		function changeMainNav(navPointId, imgName) { 
    			document.getElementById("nav" + navPointId).src = eval(imgName).src;
		}

		function swapImage(imgId, imgName) {
    			document.getElementById(imgId).src = eval(imgName).src;
		}
		
		function openPrintWindow(theURL) {
                   var wnd = window.open(theURL,'print','scrollbars=yes,resizable=yes,width=590,height=350');
		   return false;
                }


	function test(){

		window.setTimeout("scroll()",20);

	}

	function scroll(){

		with(document.getElementById('ticker').style){
			l = 8;

			newPos = (parseInt(top)-1);

			if(200>document.getElementById('end').offsetTop+newPos){

				text = document.getElementById('tickertext').innerHTML;

				k = text.indexOf("<!-- -->");
				if(k==-1){
					k = text.indexOf("&lt;!-- --&gt;");
					l = 14;
				}

				if(k!=-1){
					document.getElementById('middle').innerHTML=document.getElementById('middle').innerHTML+(text.substring(0,k+l));

					document.getElementById('tickertext').innerHTML=(text.substring(k+l));
				}

			}

			if(0>document.getElementById('middle').offsetTop+newPos){

				newPos=0;

				text = document.getElementById('middle').innerHTML;

				k = text.indexOf("<!-- -->");

				if(k==-1){
					k = text.indexOf("&lt;!-- --&gt;");
					l = 14;
				}
				if(k!=-1){

					document.getElementById('tickertext').innerHTML=document.getElementById('tickertext').innerHTML+document.getElementById('start').innerHTML;

					document.getElementById('start').innerHTML=(text.substring(0,k+l));

					document.getElementById('middle').innerHTML=(text.substring(k+l));
				}

			}

			top = newPos+'px';

		}

		window.setTimeout("scroll()",50);

	}


	/**
	*
	*  Javascript trim, ltrim, rtrim
	*  http://www.webtoolkit.info/
	*
	*
	**/

	function trim(str, chars) {
	    return ltrim(rtrim(str, chars), chars);
	}

	function ltrim(str, chars) {
	    chars = chars || "\\s";
	    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}

	function rtrim(str, chars) {
	    chars = chars || "\\s";
	    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}

	function checkEMail(s)
	{
 		var a = false;
 		var res = false;
 		if(typeof(RegExp) == 'function')
 		{
  			var b = new RegExp('abc');
  			if(b.test('abc') == true){a = true;}
  		}

 		if(a == true)
 		{
  			reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
            		       '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   			'(\\.)([a-zA-Z]{2,4})$');
  			res = (reg.test(s));
 		}
 		else
 		{
  			res = (s.search('@') >= 1 &&
         			s.lastIndexOf('.') > s.search('@') &&
         			s.lastIndexOf('.') >= s.length-5)
 		}
 		return(res);
 	}