function CryptMailto() {
	shift = parseInt(document.forms[0].shiftField.value);
	var n=0;
	var r="";
	var s="mailto:"+document.forms[0].emailField.value;
	for(var i=0;i<s.length;i++) { 
		n=s.charCodeAt(i); 
		if (n>=8364) {n = 128;}
		r += String.fromCharCode(n+shift); 
	}
	document.forms[0].cyptedEmailField.value = r;
	document.forms[0].HTMLCyptedEmailField.value = "<a href=\"javascript:linkTo_UnCryptMailto('"+r+"', "+shift+");\">eMail-Link</a>";
}

    function UnCryptMailto( s )
    {
        var n = 0;
        var r = "";
        for( var i = 0; i < s.length; i++)
        {
            n = s.charCodeAt( i );
            if( n >= 8364 )
            {
                n = 128;
            }
            r += String.fromCharCode( n - 1 );
        }
        return r;
    }

    function linkTo_UnCryptMailto( s )
    {
        location.href=UnCryptMailto( s );
    }

	function ToggleLightBox()
	{
		if ( document.getElementById('light').style.display == '' )
		{
			document.getElementById('light').style.display = 'block';
			document.getElementById('fade').style.display = 'block';
		}
		else
		{
			document.getElementById('light').style.display = '';
			document.getElementById('fade').style.display = '';
		}
	}

	function changeReiter(el, id)
	{
		el.clasName = 'reiter_active';

		for ( i = 0; i < availKat.length; i++ )
		{
			if ( availKat[i] == id )
			{
				document.getElementById(availKat[i]).style.display = '';

				document.getElementById(availKat[i] + '_mitte').className = 'nreiter_aktiv';
				document.getElementById(availKat[i] + '_rechts').className = 'nreiter_rechts_aktiv';
				var NUMMER = i;
			}
			else
			{
				document.getElementById(availKat[i]).style.display = 'none';

				document.getElementById(availKat[i] + '_mitte').className = 'nreiter';
				document.getElementById(availKat[i] + '_rechts').className = 'nreiter_rechts';
			}
		}
		if ( id != availKat[0] )
		{
			var LNUMMER = NUMMER - 1;
			document.getElementById( availKat[LNUMMER] + '_rechts').className = 'nreiter_rechts_nebenaktiv';
			document.getElementById( availKat[0] + '_links').className = 'nreiter_links';
		}
		else
		{
			document.getElementById( availKat[0] + '_links').className = 'nreiter_links_aktiv';
		}
		
		if ( NUMMER == availKat.length - 1 )
		{
			document.getElementById( availKat[NUMMER] + '_rechts').className = 'nreiter_rechts_letzter_aktiv';
		}
		else
		{
			document.getElementById( availKat[availKat.length - 1] + '_rechts').className = 'nreiter_rechts_letzter';
		}
	}

	function changeClass(obj, c1, c2)
	{
		if ( obj.className == c1 )
		{
			obj.className = c2;
		}
		else
		{
			obj.className = c1;
		}
	}

	function changeText(obj, c1, c2)
	{
		if ( obj.innerHTML == c1 )
		{
			obj.innerHTML = c2;
		}
		else
		{
			obj.innerHTML = c1;
		}
	}

	function money_format(val)
	{
  	sign = val < 0 ? "-":"";
	  rval = Math.abs(Math.round(val*100));
  	str = rval.toString();
	  if(rval < 10) str = "0.0"+str;
  	else if(rval < 100) str = "0."+str;
	  else str = str.substring(0, str.length-2)
    	 + "." + str.substring(str.length-2, str.length);
  	var returnval =  sign+str;
  	var floatval = parseFloat(returnval);
  	var intval = parseInt(returnval);
  	if ( floatval - intval == 0 )
  	{
  		return intval + ',-';
  	}
  	return str_replace('.', ',', returnval);
	}

document.getElementsByAttribute=function(attrN,attrV,multi){
    attrV=attrV.replace(/\|/g,'\\|').replace(/\[/g,'\\[').replace(/\(/g,'\\(').replace(/\+/g,'\\+').replace(/\./g,'\\.').replace(/\*/g,'\\*').replace(/\?/g,'\\?').replace(/\//g,'\\/');
    var
        multi=typeof multi!='undefined'?
            multi:
            false,
        cIterate=typeof document.all!='undefined'?
            document.all:
            document.getElementsByTagName('*'),
        aResponse=[],
        re=new RegExp(multi?
            '\\b'+attrV+'\\b':
            '^'+attrV+'$'),
        i=0,
        elm;
    while((elm=cIterate.item(i++))){
        if(re.test(elm.getAttribute(attrN)||''))
            aResponse[aResponse.length]=elm;
    }
    return aResponse;
}

function roundNumber(num, prec) {
	var rnum = num;
	var rlength = prec; // The number of decimal places to round to
	if (rnum > 8191 && rnum < 10485) {
		rnum = rnum-5000;
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		newnumber = newnumber+5000;
	} else {
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	}
	return newnumber;
}

function str_replace(search, replace, subject) {
    return subject.split(search).join(replace);
}

function ismaxlength(obj)
{
	var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : "";
	if ( obj.getAttribute && obj.value.length>mlength )
	{
		obj.value = obj.value.substring(0,mlength);
	}
}

function groupSel(val)
{
	document.getElementById('disGroup').value = 'true';
	document.getElementById('f').submit();
}

function checkVal(handle)
{
	if ( handle.checked == true )
	{
		return 1;
	}
	return 0;
}

function req_checksubmit()
{
	return true;
	kf_pdf = document.getElementById('req_pdf');
	kf_mail = document.getElementById('req_mail').value;
	kf_vorname = document.getElementById('req_vorname').value;
	kf_name = document.getElementById('req_name').value;
	kf_gwanOffer = document.getElementById('req_gwan').value;
	var alertstr = '';

	if ( kf_pdf.checked && !( kf_mail.indexOf(".") > 0 && kf_mail.indexOf("@") > 0 ) )
		alertstr = alertstr + "Bitte geben Sie eine gültige E-Mail Adresse an!\n";
	if ( kf_vorname == '' )
		alertstr = alertstr + "Bitte geben Sie Ihren Vornamen an!\n";
	if ( kf_name == '' )
		alertstr = alertstr + "Bitte geben Sie Ihren Namen an!\n";
	
	
	if ( alertstr == '' )
	{
		return true;
	}
	else
	{
		alert(alertstr);
		return false;
	}
}

function getRealLeft(elemyup)
{
	xPos = elemyup.offsetLeft;
	tempEl = elemyup.offsetParent;
	while (tempEl != null) {
		xPos += tempEl.offsetLeft;
		tempEl = tempEl.offsetParent;
	}
	return xPos;
}

function getRealTop(el)
{
	yPos = el.offsetTop;
	tempEl = el.offsetParent;
	while (tempEl != null)
	{
		yPos += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
	}
	return yPos;
}

function popUp(url,windowname,style){
    var standard = "top=20,left=200,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no";
    if (style=="pro" || style=="int" || style=="sef") var size = ",width=600,height=500";
    else if (style=="poi") var size = ",width=500,height=480";
    else if (style=="pri") var size = ",width=685,height=600";
    /*else if (style=="cms") var size = ",width=500,height=400";*/
    else if (style=="cms") 
       {
       var size = "";
       var standard = "top=20,left=200,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no";
       }
    else if (style=="mre")
       {
       var size = "";
       var standard = "width=1245,height=953,top=20,left=10,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no";
       }
    else if (style=="mres")
       {
       var size = "";
       var standard = "width=585,height=953,top=20,left=250,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no";
       }
    else if (style=="pro2") var size = ",width=400,height=150";
    newwin = window.open(url,windowname,standard+""+size);
    newwin.focus(self);
    }

function openCalendar(url,windowname,journeystatus){
    var standard = "scrollbars=no,resizable=yes,status=no,toolbar=no,menubar=no,location=no";
    var size = ",width=320,height=320";

    newwin = window.open(url,windowname+""+journeystatus,standard+""+size);
    newwin.creator = self;
    }

function getjsDate(type){
    var ndate = new Date();
    var t = ndate.getDate();
    var m = 1+(1*ndate.getMonth());
    var g = "g"+ndate.getYear();
    var j = g.substring(3,5);
    if(t<10) t = "0"+t;
    if(m<10) m = "0"+m;
    if(j<10) j = "0"+1*j;
    if(type=="full")
      {var date = t+"."+m+"."+j; return date;}
    else
      {var date = new Array(t,m,j); return date;}
    }

function checkWeekday(count,journeyType,returnDateOnly){
    var getcDate = eval("document.formular."+journeyType+".value.toLowerCase();");
    if(getcDate == ""){var nix = 0;} else
    if((getcDate.length > 2) || (getcDate.indexOf("+")!= -1))
      {changeDate(count,journeyType,returnDateOnly);}
    else
      {doWeekday(journeyType,getcDate,returnDateOnly);}
    }

function useOutwardDate(wDay)
   {
   var getcDate = eval("document.formular.REQ0JourneyDate.value.toLowerCase();");
   var reg = eval("/^ *("+wDay+")\, */");
   var cDate = getcDate.replace(reg,"");
   var date = cdate.split(".");
   return date;
   }

function doWeekday(journeyType,getcDate,returnDateOnly){
   var wDayOri = eval("document.formular.wDayExt"+journeyType+".value;");
   var wDay = eval("document.formular.wDayExt"+journeyType+".value.toLowerCase();");
   if(journeyType == 0 && returnDateOnly == "yes")
      {var dateField = getjsDate('field');}
   else if(journeyType == 1 && returnDateOnly == "yes")
      {var dateField = useOutwardDate(wDay);}
   else
      {var dateField = getjsDate('field');}

   var reg = eval("/^ *("+wDay+") */");
   var test = getcDate.match(reg);
   if(test!=null)
      {
      var days = getDaysSince1980((1*("20"+dateField[2])),(1*dateField[1]),(1*dateField[0]));
      var cwd = (wDay.substr((3*(1*days%7)),2));
      var nwd = test[0];
      var nwdidx  = (wDay.indexOf(test[0])/3);
      var cwdidx  = (wDay.indexOf(cwd)/3);
      if(nwdidx < cwdidx)
         {nwdidx = nwdidx + 7 - cwdidx;}
      else
         {nwdidx = nwdidx - cwdidx;}
      var newDay = nwdidx;
      var gDate = gregDate(1*newDay+1*(getDaysSince1980((1*("20"+dateField[2])),(1*dateField[1]),(1*dateField[0]))));
      var days = (1*+newDay+1*getDaysSince1980((1*("20"+dateField[2])),(1*dateField[1]),(1*dateField[0])));
      setNewDate(journeyType,gDate,getcDate,wDayOri,days);
      }
   }

function changeDate(count,journeyType,returnDateOnly,master,prefix){
		if ( prefix != 'window.opener.' )
		{
			prefix = '';
		}
    var wDay = eval(prefix + "document.formular.wDayExt"+journeyType+".value;");
    
    if ( typeof(master) == null || typeof(master) == 'undefined' )
    {
    	var getcDate = eval(prefix + "document.formular."+journeyType+".value;");
    }
  	else
  	{
    	var getcDate = eval(prefix + "document.formular."+master+".value;");
  	}
    var reg = eval("/^ *("+wDay+")\, */");
    if(getcDate=="" && journeyType=='datum_ende' && returnDateOnly=="no")  {var getcDate = getjsDate('full');}
    if(getcDate=="" && journeyType=='datum_ende' && returnDateOnly=="yes") {var getcDate = eval(prefix + "document.formular.datum_start.value;");}

    var cDate = getcDate.replace(reg,"");
    var ctg = 1*(cDate.substring(0,cDate.indexOf(".")));
    var cmt = 1*(cDate.substring((cDate.indexOf(".")+1),cDate.lastIndexOf(".")));
    var cjr = (cDate.substring((cDate.lastIndexOf(".")+1),cDate.length));
    if(ctg=="" || cmt=="" || cjr=="")
      {}
    else
      {
       if(cjr.length==4){cjr = cjr.substring(2,4);};
       if(cjr.length==1){cjr = "0"+cjr;};
       var gDate = gregDate(1*count+1*(getDaysSince1980((1*("20"+cjr)),cmt,ctg)));
       var days = (1*count+1*(getDaysSince1980((1*("20"+cjr)),cmt,ctg)));
       setNewDate(journeyType,gDate,cDate,wDay,days,prefix);
       }

		if ( journeyType == 'datum_start' && eval(prefix + "document.getElementById('div_uebernachtungen_spacer').innerHTML") != '' && eval(prefix + "document.getElementById('div_uebernachtungen_spacer').innerHTML") != 0 )
		{
			changeDate('+' + eval(prefix + "document.getElementById('div_uebernachtungen_spacer').innerHTML"), 'datum_ende', 'yes', 'datum_start');
		}
}

function setNewDate(journeyType,gDate,cDate,wDay,days,prefix)
   {
   var nwd = (wDay.substr((3*(1*days%7)),2));
   if(gDate[0]<10){gDate[0]="0"+gDate[0];}
   if(gDate[1]<10){gDate[1]="0"+gDate[1];}
   var nDate = nwd+", "+gDate[0]+"."+gDate[1]+"."+gDate[2];
   if(nDate.indexOf("NaN")!=-1) var nDate = cDate;
   eval(prefix + "document.formular."+journeyType+".value =\""+nDate+"\";");
   }

function getDaysSince1980(y, m, d){
   var daysInMonth = new Array(0,31,59,90,120,151,181,212,243,273,304,334);
   var returnDays = (y-1980)*365;
   returnDays    += (y-1980+3)/4;
   returnDays    += daysInMonth[m-1];
      if(m>2 && isLeapYear(y)==true) returnDays ++;
   returnDays += d;
   returnDays = parseInt(returnDays);
   return returnDays;
   }

function isLeapYear(y){if((y%4)==0 && (y%100)!=0 || (y%400)==0) return true;}

function gregDate(daysSince1980){
   var daysSince1980 = parseInt(daysSince1980);
   var daysInMonth = new Array(0,31,59,90,120,151,181,212,243,273,304,334);
   var daysInYear = 366;
   var years      = 0;
   var february_29;
   var n = 11;
   if(daysSince1980 < 0) daysSince1980 = 0;
   while(daysSince1980> daysInYear){
      years ++;
      daysSince1980 -= daysInYear;
      if((years%4)==0) {daysInYear = 366;} else {daysInYear = 365;}
      }
   if((years%4)==0 && daysSince1980>=60)
      {february_29 = true; daysSince1980 --;} else
      {february_29 = false;}

   while(n>0 && daysInMonth[n]>=daysSince1980) n--;
   if(february_29==true && daysSince1980 == 59) daysSince1980 ++;
   var d = (daysSince1980-daysInMonth[n]);
   var m = n+1;
   var ty = (years + 1980).toString();
   var y = ty.substring(2,4);
   var gDate = new Array(d,m,y);
   return gDate;
   }

	function designItToggle(prefix)
	{
		if (document.getElementById(prefix).style.display == 'none' )
		{
			document.getElementById(prefix).style.display = "";
		}
		else
		{
			document.getElementById(prefix).style.display = "none";
		}
	}

	function ToggleMenu (prefix, useTimeout)
	{
		if (document.getElementById(prefix).style.display == 'none' && doToggleMenu )
		{
			if ( useTimeout == 1 )
			{
				doToggleMenu = 0;
				setTimeout("doToggleMenu = 1; ToggleMenu('" + prefix + "', 0);", menuInterval);
			}
			else
			{
				document.getElementById(prefix).style.display = "";
			}
		}
		else if ( doToggleMenu && !menu_keepalive )
		{
			if ( useTimeout == 1 )
			{
				doToggleMenu = 0;
				setTimeout("doToggleMenu = 1; ToggleMenu('" + prefix + "', 0);", menuInterval);
			}
			else
			{
				document.getElementById(prefix).style.display = "none";
			}
		}
	}

	function ToggleMenu2 (prefix, useTimeout)
	{
		if (document.getElementById(prefix).style.display == 'none' && doToggleMenu2 )
		{
			if ( useTimeout == 1 )
			{
				doToggleMenu2 = 0;
				setTimeout("doToggleMenu2 = 1; ToggleMenu2('" + prefix + "', 0);", menuInterval);
			}
			else
			{
				document.getElementById(prefix).style.display = "";
			}
		}
		else if ( doToggleMenu2 && !menu2_keepalive )
		{
			if ( useTimeout == 1 )
			{
				doToggleMenu2 = 0;
				setTimeout("doToggleMenu2 = 1; ToggleMenu2('" + prefix + "', 0);", menuInterval);
			}
			else
			{
				document.getElementById(prefix).style.display = "none";
			}
		}
	}

function pbh_show (prefix)
{
	document.getElementById(prefix).style.display = '';
	return true;
}

function pbh_hide (prefix)
{
	document.getElementById(prefix).style.display = 'none';
	return true;
}

function ToggleImg (prefix, rsrc, swap1, swap2)
{
	if (document.getElementById(prefix).src == rsrc + swap1)
	{
		document.getElementById(prefix).src = rsrc + swap2;
	}
	else
	{
		document.getElementById(prefix).src = rsrc + swap1;
	}
}

function markarrowlink(button) {
button.style.color="#c00";
button.style.background="url(http://static.bahn.design-it.de/img/icons/arrow_red.gif) left center no-repeat";
}

function resetarrowlink(button) {
button.style.color="#000";
button.style.background="url(http://static.bahn.design-it.de/img/icons/arrow_red_right.gif) left center no-repeat";
}

//-->


