﻿function init()
{
    valignButtonsInTeaser.set();
    if(document.getElementById('transparentLayer')) { 
        transparentLayer.open();
    }
    if(document.getElementById('popupLayer') || document.getElementById('formWerbenNewsletter24')) {
        popupLayerShadowForIE6.set();
        popupLayer.open();
    }
    if(document.getElementById('ibeHome')) { 
        ibeHomeShadowForIE6.set();    
    }
    //initIBE ();


    
    // Add target to external links
/*
    $$('a').each(function(element){
      if (element.href && element.href.indexOf('85.22.64.171') == -1 && element.href.indexOf('www.germanwings.com') == -1 && element.target == '') element.target = '_blank';
    });
*/
    
}


var windowOpen = {
    open: function (url, name, width, height) {
        f = window.open(url, name, 'width='+width+',height='+height+',scrollbars=yes,status=yes,toolbar=no,location=no,directories=no,resizable=yes,menubar=yes');
        setTimeout('f.focus()', 200);
    }
}




/**********************************************************
Ist ein trasparenter Layer, der sich über die Seite legt.
**********************************************************/
var transparentLayer = {
    
    pageWidth: false,
    pageheight: false,
    
    init: function () {    
        scrollWidth = document.getElementsByTagName('body')[0].offsetWidth;
        scrollHeight = document.getElementsByTagName('body')[0].offsetHeight;
        documentWidth = document.getElementsByTagName('body')[0].scrollLeft;
        documentHeight = document.getElementsByTagName('body')[0].scrollTop;
        if(window.innerWidth) {
            windowWidth =  window.innerWidth;
            windowHeight = window.innerHeight;
        }
        else {
            windowWidth =  document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }
        if((documentWidth - scrollWidth) > windowWidth) {
            this.pageWidth = documentWidth - scrollWidth;
        }
        else {
            this.pageWidth = windowWidth;
        }
        if((documentHeight - scrollHeight) > windowHeight) {
            this.pageHeight = documentHeight - scrollHeight;
        }
        else {
            this.pageHeight = windowHeight;
        }        
        //this.pageWidth = '100%'; //document.getElementsByTagName('body')[0].offsetWidth - sL;
        //this.pageHeight = document.getElementsByTagName('body')[0].offsetHeight - sT;
    },
    
    open: function () {
        if(document.getElementById('transparentLayer')) {
            this.init();
            //this.debug();
            document.getElementById('transparentLayer').style.width = '100%'; //this.pageWidth + 'px'; 
            document.getElementById('transparentLayer').style.height = this.pageHeight + 'px';
            document.getElementById('transparentLayer').style.zIndex = '19999';
            document.getElementById('transparentLayer').style.visibility = 'visible';
        }
    },
    
    close: function () {
        if(document.getElementById('transparentLayer')) {
            document.getElementById('transparentLayer').style.visibility = 'hidden';
        }
    },
    
    debug: function () {
        alert(this.pageWidth + " x " + this.pageHeight);
    }
};
/**********************************************************
Popuplayer
**********************************************************/
var popupLayer = {
    close: function () {
        if(document.getElementById('popupLayer')) {
            document.getElementById('popupLayer').style.visibility = 'hidden';
        }
        else if(document.getElementById('formWerbenNewsletter24')) {
            document.getElementById('formWerbenNewsletter24').style.visibility = 'hidden';
        }
        transparentLayer.close();
    },
    open: function () {
        if(document.getElementById('popupLayer')) {
            document.getElementById('popupLayer').style.zIndex = '20000';
            document.getElementById('popupLayer').style.visibility = 'visible';
        }
        else if(document.getElementById('formWerbenNewsletter24')) {
            document.getElementById('formWerbenNewsletter24').style.zIndex = '20000';
            document.getElementById('formWerbenNewsletter24').style.visibility = 'visible';
        }
    }    
    
}
/*******************************************************
Popuplayer Spezialanpassung für den IE6
Schatten werden für den IE6 ausgetauscht bzw. Filter gesetzt.
********************************************************/
var popupLayerShadowForIE6 = {
    set: function () {    
        if (document.all && !window.opera) {        
            preffix = '';
            if(document.getElementById('formWerbenNewsletter24')) {
                preffix = 'werben_';    
            }
            var popUpLayer = 
            {    
                'top' : { 'obj' : document.getElementById('PopupLayerTop') , 'src' : 'images/structure/background/bg_' + preffix + 'popupLayer_top.png' },
                'content' : { 'obj' : document.getElementById('PopupLayerVertical') , 'src' : 'images/structure/background/bg_' + preffix + 'popupLayer_vertical.png' },
                'bottom' : { 'obj' : document.getElementById('PopupLayerBottom') , 'src' : 'images/structure/background/bg_' + preffix + 'popupLayer_bottom.png' }
            };
            
            popUpLayer['top']['obj'].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + popUpLayer['top']['src'] + ', sizingMethod="image")';
            popUpLayer['top']['obj'].style.backgroundColor = 'transparent';
            
            popUpLayer['content']['obj'].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + popUpLayer['content']['src'] + ', sizingMethod="scale")';
            popUpLayer['content']['obj'].style.backgroundColor = 'transparent';
            
            popUpLayer['bottom']['obj'].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + popUpLayer['bottom']['src'] + ', sizingMethod="image")';
            popUpLayer['bottom']['obj'].style.backgroundColor = 'transparent';
        }
    }
}

var ibeHomeShadowForIE6 = {
    set: function () {    
        if(!document.getElementById('ibeHome')) {
            return false;
        }        
        if (document.all && !window.opera) {        
            var ibeHome = 
            {    
                'top' : { 'obj' : document.getElementById('shadowTop') , 'src' : '/ru/Images/bg_shadow_1_4_top.png' },
                'content' : { 'obj' : document.getElementById('shadowContent') , 'src' : '/ru/Images/bg_shadow_1_4_content.png' },
                'bottom' : { 'obj' : document.getElementById('shadowBottom') , 'src' : '/ru/Images/bg_shadow_1_4_bottom.gif' }
            };
            ibeHome['top']['obj'].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + ibeHome['top']['src'] + ', sizingMethod="image")';
            ibeHome['top']['obj'].style.backgroundColor = 'transparent';
            
            ibeHome['content']['obj'].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + ibeHome['content']['src'] + ', sizingMethod="scale")';
            ibeHome['content']['obj'].style.backgroundColor = 'transparent';
            
            ibeHome['bottom']['obj'].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + ibeHome['bottom']['src'] + ', sizingMethod="image")';
            ibeHome['bottom']['obj'].style.backgroundColor = 'transparent';
        }
    }
}

/*******************************************************
Setzt Links und Buttons bei allen Teasern in einer Reihe
auf eine Linie.
********************************************************/

/*
Prototype ab Version 1.5
var valignButtonsInTeaser = {
    check: function (groupAlignButton) {
        return false;
    },
    
    set: function () {   
        $$('div.alignButton').each(function(obj) {
            // CSS-Eigenschaft für Link "position" aufheben
            $(obj).getElementsBySelector('.link').each(function(link) {
                $(link).setStyle({position: 'static'});
            });
            var dimensions = $(obj).getDimensions();
            $(obj).childElements().each(function(child) {
                $(child).setStyle({height: (dimensions.height + 15) + 'px'});
                // CSS-Eigenschaft für Link "position" setzen
                c = $(child).down('.link');
                if(c) {
                    c.setStyle({position: 'absolute'});
                }
            });
        });
    }   
}
*/


var valignButtonsInTeaser = {
    check: function (groupAlignButton) {
        var divs = groupAlignButton.getElementsByTagName('div');
        for(var i= 0; i < divs.length; i++) {
            if(divs[i].className.indexOf('link')>-1 ) {
                return true;
            }
        }       
        return false;
    },
    // Workaround
    setCSSPositionLink: function (groupAlignButton, cssPosition) {
        var divs = groupAlignButton.getElementsByTagName('div');
        for(var i= 0; i < divs.length; i++) {
            if(divs[i].className.indexOf('link')>-1 ) {
                divs[i].style.position = cssPosition;
            }
        }       
    },   
    set: function () {   
       
        myDivs = document.getElementsByTagName('div');
        myAlignGroups = new Array();
        for(var i=0; i < myDivs.length; i++) {
            if(myDivs[i].className.indexOf('alignButton')>-1 ) {
                if(this.check(myDivs[i])) {
                    this.setCSSPositionLink(myDivs[i], 'static');
                    x = myDivs[i].offsetHeight;
                    this.setCSSPositionLink(myDivs[i], 'absolute');
                    var myAlignButtons = myDivs[i].getElementsByTagName('DIV');
                    for(j=0; j<myAlignButtons.length; j++) {
                        myAlignButtons[j].parentNode.style.height = x + 15 + 'px';   
                    }
                }
            }
        }
    }
}

/**************************************************
Dynamisch aufklappbare Bereiche
**************************************************/
var motion = false; 
var decrease = .9;

function slideInit (toggle, noBorder, hideLink, imageOpen, imageClose) {
    var nextSibl = toggle.parentNode.nextSibling;
    while (nextSibl.nodeType != 1) {
        nextSibl = nextSibl.nextSibling;
    } 
        
    if(!motion) {
        window['slideObj'] = nextSibl;
        slideObj.toggle = toggle;
        
        if(slideObj.className.indexOf('noCollapse')>-1) { 
            if(!slideObj.style.height) {
                slideObj.minHt = slideObj.offsetHeight - 2; 
                slideObj.style.height = slideObj.minHt + 'px';
            }
        } else {
            slideObj.minHt = 0;
            if (!slideObj.style.height) {        
                slideObj.style.height = '0px';
            }
                        
        }
        
        if(noBorder) slideObj.sideBorder = false;
        else slideObj.sideBorder = true;
        
        if(hideLink) toggle.style.visibility = 'hidden';
        else toggle.style.visibility = '';
        
        slideObj.toggleImage = toggle.getElementsByTagName('IMG')[0];
        slideObj.imageOpen = new Image();
        slideObj.imageOpen.src = imageOpen;
        slideObj.imageClose = new Image();
        slideObj.imageClose.src = imageClose;
        
        if(!slideObj.direc) slideObj.direc = 1;
        slideObj.speed = parseInt(slideObj.getElementsByTagName('DIV')[0].offsetHeight/4);
        slide();
    }
    return false;
}

function slide () {
    window.clearTimeout(motion);
    
    slideObj.speed *= decrease;
    ht = parseInt(slideObj.style.height);
    if (slideObj.direc > 0) {
        if(ht < (slideObj.getElementsByTagName('DIV')[0].offsetHeight)) {
            slideObj.style.height = ht + Math.ceil(slideObj.speed) + 'px';    
            if(slideObj.sideBorder ) slideObj.style.borderStyle = 'solid';
        } else {
            slideObj.style.height = slideObj.getElementsByTagName('DIV')[0].offsetHeight + 'px';
            slideObj.toggle.className = 'open';
            if(slideObj.toggleImage && slideObj.imageClose) {
                slideObj.toggleImage.src = slideObj.imageClose.src;
            }
            slideObj.direc *= -1;
            motion = false; 
            return;
        }
    } else {
        if(ht > slideObj.minHt) {
            var myHt = ht - Math.ceil(slideObj.speed);
            if(myHt < slideObj.minHt) myHt = slideObj.minHt; 
            slideObj.style.height = myHt + 'px';
        } else {
            slideObj.style.height = slideObj.minHt + 'px';
            if(!slideObj.minHt) slideObj.style.borderStyle = 'none';
            slideObj.toggle.className = '';
            if(slideObj.toggleImage && slideObj.imageOpen) {
                slideObj.toggleImage.src = slideObj.imageOpen.src;
            }
            slideObj.direc *= -1;
            motion = false; 
            return;
        }     
    }
    motion = window.setTimeout('slide()', 40);
}


/*Funktion um in der Auswahlliste den ausgewaehlten fett zu machen */
function changeOption(auswahl) {
    for(var i=0;i<auswahl.length;i++) {
        if (auswahl[i].selected)
            auswahl[i].style.fontWeight = "bold";
        else
            auswahl[i].style.fontWeight = "normal";
    }
}
/************ Funktion fuer den Newsletter - vorbelegung des E-Mail Feldes ********/
function newsletter_email(auswahl,text) {
    if(auswahl.value == "") {
        auswahl.style.color ="#c1c1c1";
        auswahl.value = text;
    }
}    
function newsletter_email_clear(auswahl,text) {
    if(auswahl.value == text) {
        auswahl.style.color = "#000000";
        auswahl.value = "";
    }
}
/********* Funktion fuer das Pressekontakt Nachrichtenfeld *******/
function zaehlen() {
 var max = 501;
 anz = document.pressekontakt_form.Pressekontakt_Anliegen.value.length+1;
 document.pressekontakt_form.anzeige.value = max - anz;
 uebrig = max - anz;
 if(anz >= max){
  alert("Maximum erreicht !!!");
  }
  return uebrig;
 }
 
var px = 10;//mehr=schneller
var timer;
var merker;
function scrollDiv(val){
    clearTimeout(timer);
    d=document.getElementById('ScrollArea')
    y=d.scrollTop;
    if(val==1)y-=px;
    if(val==2)y+=px;
    if(y<=d.scrollHeight-d.offsetHeight+px&&y>=0-px){
        d.scrollTop=y;
        timer=setTimeout('scrollDiv('+val+')',50);
    }
    if(y<0||y>d.scrollHeight-d.offsetHeight){
        clearTimeout(timer);
    }
} 
 
 
/* FAQ Seite - Maximale Zeichen fuer Textfeld */
function zaehlenFAQ() {
  var max = 501;
  anz = document.faq.faq_ihre_anfrage.value.length+1;
  document.faq.anzeige.value = max - anz;
  uebrig = max - anz;
  if(anz >= max) {
    alert("Maximum erreicht !!!");
  }
  return uebrig;
}

 
/* Sprachumschaltung im Header */
function switchLanguage(select)
{
  var url = select.options[select.options.selectedIndex].value;
  if (url != "") window.location.href = url;
}


/*** MaxLengthTextArea *** Germanwings Edition ***/

function gw_maxLengthTextArea( textarea, keyEvent, maxLength )
{
  // still allow some special keys
  if ( ( keyEvent.keyCode >= 37 && keyEvent.keyCode <= 40 ) || // arrow keys
         keyEvent.keyCode == 8 || // backspace
         keyEvent.keyCode == 13 || // return key
         keyEvent.keyCode == 35 || // end key
         keyEvent.keyCode == 36 || // pos1 key
         keyEvent.keyCode == 46 ) // del key
  {
    return true;
  }

  if ( textarea.value.length + 1 > maxLength )
  {
    return false;
  }
  else
  {
    return true;
  }
}

function gw_updateCounter( textarea, counter, maxLength )
{
  counter.update( maxLength - textarea.value.length );      
}


function popupSized(theURL, wname, width, height) {
  positionx = (screen.width/2)-(width/2)
  positiony = (screen.height/2)-(height/2)
  window.open(theURL, wname,"width="+ width +",height="+ height +",resizable=yes,status=no,scrollbars=yes,toolbar=no,menubar=no,left=" + positionx + ",top=" + positiony + ",screenX=" + positionx + ",screenY=" + positiony);
}


/* Slide fuer Unternehmensseite */
function slideInitUnternehmen(toggle, slider) {
    merker = toggle;
    if(!motion) {
        window['slideObj'] = document.getElementById(slider);
        slideObj.toggle = toggle;
        if(!slideObj.direc) slideObj.direc = 1;
        slideObj.speed = parseInt(slideObj.getElementsByTagName('DIV')[0].offsetHeight/4);
        slideUnternehmen();
    }
    return false;
}
function slideUnternehmen() {
    window.clearTimeout(motion);
    slideObj.speed *= decrease;
    ht = parseInt(slideObj.style.height);
    if (slideObj.direc > 0) {
        if(ht < (slideObj.getElementsByTagName('DIV')[0].offsetHeight)) {
            slideObj.style.height = ht + Math.ceil(slideObj.speed) + 'px';
        } else {
            slideObj.style.height = slideObj.getElementsByTagName('DIV')[0].offsetHeight + 'px';
            slideObj.toggle.className = 'open';
            merker.style.visibility = "hidden";
            slideObj.direc *= -1;
            motion = false; 
            return;
        }
    } else {
        if(ht > 0) {
            var myHt = ht - Math.ceil(slideObj.speed);
            if (myHt < 0) myHt = 0; 
            slideObj.style.height = myHt + 'px';
        } else {
            slideObj.style.height = "0px";
            slideObj.toggle.className = '';
            merker.style.visibility = "visible";            
            slideObj.direc *= -1;
            motion = false; 
            return;
        }     
    }
    motion = window.setTimeout('slideUnternehmen()', 40);
}
 


/** 
* functions to display images in page container on the fly
* added by Jörg Gutsche 2008-02-05 
* used by image_text_button_mouseover
*
*/
function mouseX(evt) {
    if (evt.pageX) return evt.pageX;
    else if (evt.clientX)
       return evt.clientX + (document.documentElement.scrollLeft ?
       document.documentElement.scrollLeft :
       document.body.scrollLeft);
    else return null;
}


function mouseY(evt) {
    if (evt.pageY) return evt.pageY;
    else if (evt.clientY)
       return evt.clientY + (document.documentElement.scrollTop ?
       document.documentElement.scrollTop :
       document.body.scrollTop);
    else return null;
}

/**
* @param e event
* @param id String image src
*/
function displayImage(e,id){
            var container = document.getElementById("Container");

             try {
                var list = container.getElementsByTagName("IMG")[0];
                container.removeChild(list);
            } catch (exception) {
            }

            var newChild = document.createElement("IMG");
            newChild.src = id;
    
            container.appendChild(newChild);
            container.style.top = mouseY(e) + "px";    
            container.style.left = mouseX(e) + "px"; 
            container.style.display = "block";
        }

// removes image nodes from Container 
function emptyContainer(){
            var theContainer = document.getElementById("Container");
            var list = theContainer.getElementsByTagName("IMG")[0];
            theContainer.removeChild(list);
            theContainer.style.display = "none";
            
 }
 
//--------------------------------------------------------------------------------
// Öffnet Fenster (popup) und plaziert dieses in der Bildschirmmitte
//--------------------------------------------------------------------------------
function openContentPopup(url, winName, w, h){
var parameter = 'width='+w+',height='+h+',left='+eval((screen.width-w)/2)+',top=50,scrollbars=yes,resizable=yes,location=no,menubar=no,toolbar=no';
    a = window.open(url,winName,parameter);
    a.focus();
    return false;
}


function openRatesTable(){

    var documentUrl = location.href;
    urlArray = new Array();
    urlArray = documentUrl.split("/");
    var langName;
    if (urlArray[3].length != 2)
    { langName = "en"; }
    else 
    { langName = urlArray[3]; }
    var inUrl = "/" + langName + "/faq_rates.htm";

    var winName = "ratestable";
    var width = 700;
    var height = 800;

    openContentPopup(inUrl,winName,width, height);

}





// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download. 
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// ===================================================================
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
function LZ(x){return(x<0||x>9?"":"0")+x}
function isDate(val,format){var date=getDateFromFormat(val,format);if(date==0){return false;}return true;}
function compareDates(date1,dateformat1,date2,dateformat2){var d1=getDateFromFormat(date1,dateformat1);var d2=getDateFromFormat(date2,dateformat2);if(d1==0 || d2==0){return -1;}else if(d1 > d2){return 1;}return 0;}
function formatDate(date,format){format=format+"";var result="";var i_format=0;var c="";var token="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var value=new Object();if(y.length < 4){y=""+(y-0+1900);}value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=LZ(M);value["MMM"]=MONTH_NAMES[M-1];value["NNN"]=MONTH_NAMES[M+11];value["d"]=d;value["dd"]=LZ(d);value["E"]=DAY_NAMES[E+7];value["EE"]=DAY_NAMES[E];value["H"]=H;value["HH"]=LZ(H);if(H==0){value["h"]=12;}else if(H>12){value["h"]=H-12;}else{value["h"]=H;}value["hh"]=LZ(value["h"]);if(H>11){value["K"]=H-12;}else{value["K"]=H;}value["k"]=H+1;value["KK"]=LZ(value["K"]);value["kk"]=LZ(value["k"]);if(H > 11){value["a"]="PM";}else{value["a"]="AM";}value["m"]=m;value["mm"]=LZ(m);value["s"]=s;value["ss"]=LZ(s);while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(value[token] != null){result=result + value[token];}else{result=result + token;}}return result;}
function _isInteger(val){var digits="1234567890";for(var i=0;i < val.length;i++){if(digits.indexOf(val.charAt(i))==-1){return false;}}return true;}
function _getInt(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length < minlength){return null;}if(_isInteger(token)){return token;}}return null;}
function getDateFromFormat(val,format){val=val+"";format=format+"";var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getYear();var month=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(token=="yyyy" || token=="yy" || token=="y"){if(token=="yyyy"){x=4;y=4;}if(token=="yy"){x=2;y=2;}if(token=="y"){x=2;y=4;}year=_getInt(val,i_val,x,y);if(year==null){return 0;}i_val += year.length;if(year.length==2){if(year > 70){year=1900+(year-0);}else{year=2000+(year-0);}}}else if(token=="MMM"||token=="NNN"){month=0;for(var i=0;i<MONTH_NAMES.length;i++){var month_name=MONTH_NAMES[i];if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){if(token=="MMM"||(token=="NNN"&&i>11)){month=i+1;if(month>12){month -= 12;}i_val += month_name.length;break;}}}if((month < 1)||(month>12)){return 0;}}else if(token=="EE"||token=="E"){for(var i=0;i<DAY_NAMES.length;i++){var day_name=DAY_NAMES[i];if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){i_val += day_name.length;break;}}}else if(token=="MM"||token=="M"){month=_getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return 0;}i_val+=month.length;}else if(token=="dd"||token=="d"){date=_getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return 0;}i_val+=date.length;}else if(token=="hh"||token=="h"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}i_val+=hh.length;}else if(token=="HH"||token=="H"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}i_val+=hh.length;}else if(token=="KK"||token=="K"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}i_val+=hh.length;}else if(token=="kk"||token=="k"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}i_val+=hh.length;hh--;}else if(token=="mm"||token=="m"){mm=_getInt(val,i_val,token.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}i_val+=mm.length;}else if(token=="ss"||token=="s"){ss=_getInt(val,i_val,token.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}i_val+=ss.length;}else if(token=="a"){if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}else{return 0;}i_val+=2;}else{if(val.substring(i_val,i_val+token.length)!=token){return 0;}else{i_val+=token.length;}}}if(i_val != val.length){return 0;}if(month==2){if( ((year%4==0)&&(year%100 != 0) ) ||(year%400==0) ){if(date > 29){return 0;}}else{if(date > 28){return 0;}}}if((month==4)||(month==6)||(month==9)||(month==11)){if(date > 30){return 0;}}if(hh<12 && ampm=="PM"){hh=hh-0+12;}else if(hh>11 && ampm=="AM"){hh-=12;}var newdate=new Date(year,month-1,date,hh,mm,ss);return newdate.getTime();}
function parseDate(val){var preferEuro=(arguments.length==2)?arguments[1]:false;generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');var d=null;for(var i=0;i<checkList.length;i++){var l=window[checkList[i]];for(var j=0;j<l.length;j++){d=getDateFromFormat(val,l[j]);if(d!=0){return new Date(d);}}}return null;}
 
  /**
   * Funktionen fuer Destination Table Umbau 14092009
   *
   * @author Sebastian Golasch
   * @function initDestinations Facade function um die kompatibiklitaet mit der alten API aufrecht zu erhalten
   */
    
function initDestinations() {
  var classes = ['grey','white','last'];
  toggleDestinationClass('destinationsThree',3,classes);
  toggleDestinationClass('destinationsFour',4,classes);
}
  /**
   * Funktionen fuer Destination Table Umbau 16092009
   *
   * @author Sebastian Golasch
   * @function toggleDestinationClass Veraendert das class attribut der li elemente, welche
   * innerhlab der departure div container liegen ignoriert leere li elemente und mit der klassen-
   * eigenschaft "destHeadline' getaggte elemente
   */
function toggleDestinationClass (classname, modulo, classes){
    document.getElementsByClassName(classname).each(function(item){
        var elements = item.getElementsByTagName('li'), lmlngth = elements.length, color = classes[0], kids = new Array(), i, j;
        for(i=0;i<lmlngth;++i){
            Element.cleanWhitespace(elements[i]);
            if(!elements[i].children){
                kids[i] = elements[i].childNodes[0];            
            }else{
                kids[i] = elements[i].children[0];
            }
            if(kids[i] && !Element.hasClassName(kids[i], 'destHeadline') ) {
                Element.addClassName(elements[i],color);
            }
            switch (true){
                case (i+1)%modulo == 0:
                    if(kids[i] && !Element.hasClassName(kids[i], 'destHeadline') ) {
                        color = color == classes[0] ? classes[1] : classes[0];
                    }                    
                    if(!kids[i]) {
                        var is_not_undefined = false;
                        for(j=((i+1)-modulo);j<=i;j++){
                            if(kids[j] && !Element.hasClassName(kids[j], 'destHeadline')) {
                                is_not_undefined = true;
                                break;
                            }                      
                        }
                    if(is_not_undefined === true){
                        color = color == classes[0] ? classes[1] : classes[0];                    
                    }                        }
                case (i+1)%modulo == 0 || lmlngth == (i+1):
                    Element.addClassName(elements[i],classes[2]);
            }
        }
    });
}

// JS fuer Searchfeld
function checkFormInput(obj,text) {
var temp = document.search.SearchQueryText.value;
//alert(temp);
if(temp == '')
   document.search.SearchQueryText.value = text;
else if(temp == text)
    document.search.SearchQueryText.value = ''; 
}