function CRad(val){
    var bform=document.bengine;
    if(bform.zimmer2){
        if(val==1){
            bform.zimmer[1].checked=false;
            bform.zimmer2.selectedIndex=0;
        }
        else{
            bform.zimmer[0].selectedIndex=0;
            bform.zimmer[1].checked=true;
        }
    }
}
//_________________________________________________________________________
function chkFormularMaske(){
    var bform=document.bengine;
    if(bform.detail== 'select-one'){
        var detail=bform.detail[bform.detail.selectedIndex].value;
    }
    else{
        var detail=bform.detail.value;
    }

    if(ts_termin>ts_ruecktermin){
        //alert("Ihr Rückreisedatum liegt vor dem Hinreisedatum");
        //return false;
        return alert(strErTermin);
    }

    if(bform.zimmer2){
        if(bform.zimmer[1].checked==true && bform.zimmer2.selectedIndex==0){
            //alert("Sie haben weitere Zimmertypen ausgewählt.\nBitte wählen Sie ein Zimmertypen aus.");
            //return false;
            return alert(strErZimmer);
        }
    }

    if(detail=="termine"){
        if(bform.IFF && bform.IFF.value==''){
            //alert('Bitte IFF angeben!');
            //return false;
            return alert(strErIFFmis);
        }
        if(bform.DLC && bform.DLC.value==''){
            //alert('Bitte 3-Letter Code angeben!');
            //return false;
            return alert(strEr3LC);
        }
        if(bform.chckIFFOrt && bform.chckIFFOrt.checked==true){
            alert('Aufruf IFFOrt nur bei Hotelliste und Eingabemaske möglich!');
            return false;
        }
        if(bform.ziel && g_nZiel=='-1' && (tpHt==1 || strecke=='dpack')){
            //alert('Bitte Reiseziel oder Region auswählen!');
            //return false;
            return alert(strErZielRegion);
        }
        if(bform.region && g_nRegion=='-1' && strecke=='dpack'){
            //alert('Bitte Region auswählen!');
            //return false;
            return alert(strErRegion);
        }
        if(tpHt==1 && bform.marke.selectedIndex==0){
            alert('Bitte Veranstalter auswählten!');
            return false;
        }

        if(bform.ignor_user_kat){
            if(tpHt==1 && bform.kategorie.selectedIndex==0 && bform.ignor_user_kat.checked==false){
                alert('Bitte geben Sie die Anzahl der Sterne an oder markieren Sie \'Kategorie ignorieren\'!');
                return false;
            }
        }
    }
    if(detail=="hotel"){
        if(bform.chckIFFOrt && bform.chckIFFOrt.checked==true){
            if(bform.zielOrt[bform.zielOrt.selectedIndex].value=='-1'){
                alert('Bitte IFFOrt auswählen!');
                return false;
            }
        }
        else if(bform.ziel && g_nZiel=='-1'){
            //alert('Bitte Reiseziel oder Region auswählen!');
            //return false;
            return alert(strErZielRegion);
        }
    }
    if(detail=="zielgebiet"){
        if(bform.chckIFFOrt && bform.chckIFFOrt.checked==true){
            alert('Aufruf IFFOrt nur bei Hotelliste und Eingabemaske möglich!');
            return false;
        }
    }

    return true;
}
//_________________________________________________________________________
function chckStatdate(val){
    var bform=document.bengine;
    if(val==1){
        vtag=bform.ktag;
        vmonat=bform.kmonat;
        vcheckbox=bform.chcktermin;
    }
    else{
        vtag=bform.rueckktag;
        vmonat=bform.rueckkmonat;
        vcheckbox=bform.chckruecktermin;
    }
    var hiddenColor="#D4D0C8";
    var shownColor="#FFFFFF";
    if(vcheckbox.checked==true){
        vtag.disabled=false;
        vtag.style.backgroundColor = shownColor;
        vmonat.disabled=false;
        vmonat.style.backgroundColor = shownColor;
    }
    else{
        vtag.disabled=true;
        vtag.style.backgroundColor = hiddenColor;
        vmonat.disabled=true;
        vmonat.style.backgroundColor = hiddenColor;
    }

}
//_________________________________________________________________________
function chckStatIFFOrt(){
    var hiddenColor="#D4D0C8";
    var shownColor="#FFFFFF";
    var bform=document.bengine;

    if(bform.chckIFFOrt.checked==true){
        bform.zielOrt.disabled=false;
        bform.zielOrt.style.backgroundColor = shownColor;

        bform.ziel.disabled=true;
        bform.ziel.style.backgroundColor = hiddenColor;
        bform.region.disabled=true;
        bform.region.style.backgroundColor = hiddenColor;
        bform.uthema.disabled=true;
        bform.uthema.style.backgroundColor = hiddenColor;

    }
    else{

        bform.zielOrt.disabled=true;
        bform.zielOrt.style.backgroundColor = hiddenColor;

        bform.ziel.disabled=false;
        bform.ziel.style.backgroundColor = shownColor;
        bform.region.disabled=false;
        bform.region.style.backgroundColor = shownColor;
        bform.uthema.disabled=false;
        bform.uthema.style.backgroundColor = shownColor;
    }
}
//_________________________________________________________________________
function checkShownFormElements(){
    //alert(dLink_ibe_typ);
    //alert(dLink_formular);

    var hiddenColor="#D4D0C8";
    var shownColor="#FFFFFF";
    var bform=document.bengine;

    if(bform.detail== 'select-one'){
        var detail=bform.detail[bform.detail.selectedIndex].value;
    }
    else{
        var detail=bform.detail.value;
    }
    //datum
    chckStatdate(1);
    chckStatdate(2);

    if(bform.quickf){
        bform.quickf.disabled=false;
        bform.quickf.style.backgroundColor = shownColor;
    }
    if(bform.IFF){
        bform.IFF.disabled=false;
        bform.IFF.style.backgroundColor = shownColor;
    }
    if(bform.IFFFilter){
        bform.IFFFilter.disabled=false;
        bform.IFFFilter.style.backgroundColor = shownColor;
    }
    if(bform.sleistung){
        bform.sleistung.disabled=false;
        bform.sleistung.style.backgroundColor = shownColor;
    }
    if(bform.ziel){
        bform.ziel.disabled=false;
        bform.ziel.style.backgroundColor = shownColor;
    }
    if(bform.region){
        bform.region.disabled=false;
        bform.region.style.backgroundColor = shownColor;
    }
    if(bform.DLC){
        bform.DLC.disabled=false;
        bform.DLC.style.backgroundColor = shownColor;
    }
    if(bform.shotel){
        bform.shotel.disabled=false;
        bform.shotel.style.backgroundColor = shownColor;
    }
    if(bform.lcfilterMW){
        bform.lcfilterMW.disabled=false;
        bform.lcfilterMW.style.backgroundColor = shownColor;
    }
    if(bform.lcfilterSkiPass){
        bform.lcfilterSkiPass.disabled=false;
        bform.lcfilterSkiPass.style.backgroundColor = shownColor;
    }
    if(bform.cityCountries){
        bform.cityCountries.disabled=true;
        bform.cityCountries.style.backgroundColor = hiddenColor;
    }
    if(bform.cityNames){
        bform.cityNames.disabled=true;
        bform.cityNames.style.backgroundColor = hiddenColor;
    }
    if(bform.showOnlyIdLand){
        bform.showOnlyIdLand.disabled=true;
    }
    if(detail==""){
        if(bform.quickf){
            bform.quickf.disabled=true;
            bform.quickf.style.backgroundColor = hiddenColor;
        }
        if(bform.IFF){
            bform.IFF.disabled=true;
            bform.IFF.style.backgroundColor = hiddenColor;
        }
        if(bform.IFFFilter){
            bform.IFFFilter.disabled=true;
            bform.IFFFilter.style.backgroundColor = hiddenColor;
        }
        if(bform.sleistung){
            bform.sleistung.disabled=true;
            bform.sleistung.style.backgroundColor = hiddenColor;
        }
        if(bform.DLC){
            bform.DLC.disabled=true;
            bform.DLC.style.backgroundColor = hiddenColor;
        }
        if(bform.lcfilterMW){
            bform.lcfilterMW.disabled=true;
            bform.lcfilterMW.style.backgroundColor = hiddenColor;
        }
        if(bform.lcfilterSkiPass){
            bform.lcfilterSkiPass.disabled=true;
            bform.lcfilterSkiPass.style.backgroundColor = hiddenColor;
        }
        if(dLink_formular){
                if(dLink_formular==2){
                    if(bform.ziel){
                        bform.ziel.disabled=true;
                        bform.ziel.style.backgroundColor = hiddenColor;
                    }
                    if(bform.region){
                        bform.region.disabled=true;
                        bform.region.style.backgroundColor = hiddenColor;
                    }
                }
        }
        if(bform.cityCountries){
            bform.cityCountries.selectedIndex = 0;
        }
        if(bform.cityNames){
            bform.cityNames.selectedIndex = 0;
        }
        if(bform.showOnlyIdLand){
            bform.showOnlyIdLand.disabled=true;
        }
    }
    else if(detail=="zielgebiet"){
        if(bform.IFF){
            bform.IFF.disabled=true;
            bform.IFF.style.backgroundColor = hiddenColor;
        }
        if(bform.region){
            bform.region.disabled=true;
            bform.region.style.backgroundColor = hiddenColor;
        }
        if(bform.cityCountries){
            bform.cityCountries.disabled=false;
            bform.cityCountries.style.backgroundColor = shownColor;
        }
        if(bform.cityNames){
            bform.cityNames.disabled=true;
            bform.cityNames.style.backgroundColor = hiddenColor;
        }
        if(bform.DLC){
            bform.DLC.disabled=true;
            bform.DLC.style.backgroundColor = hiddenColor;
        }
        if (bform.cityCountries && bform.cityCountries.selectedIndex > 0 && bform.showOnlyIdLand){
            bform.showOnlyIdLand.disabled=false;
        } else if (bform.showOnlyIdLand){
            bform.showOnlyIdLand.disabled=true;
        }
    }
    else if(detail=="hotel"){
        if(bform.IFF){
            bform.IFF.disabled=true;
            bform.IFF.style.backgroundColor = hiddenColor;
        }
        if(bform.cityCountries){
            bform.cityCountries.disabled=false;
            bform.cityCountries.style.backgroundColor = shownColor;
        }
        if(bform.cityNames){
            bform.cityNames.disabled=false;
            bform.cityNames.style.backgroundColor = shownColor;
        }
        if (bform.cityCountries && bform.cityCountries.selectedIndex > 0 && bform.showOnlyIdLand){
            bform.showOnlyIdLand.disabled=false;
        } else if (bform.showOnlyIdLand){
            bform.showOnlyIdLand.disabled=true;
        }
    }
    else if(detail=="termine"){
        if(strecke!='dpack'){
            if(bform.region){
                bform.region.disabled=true;
                bform.region.style.backgroundColor = hiddenColor;
            }
            if(bform.ziel){
                bform.ziel.disabled=true;
                bform.ziel.style.backgroundColor = hiddenColor;
            }
            if(bform.cityCountries){
                bform.cityCountries.disabled=true;
                bform.cityCountries.style.backgroundColor = hiddenColor;
            }
            if(bform.cityNames){
                bform.cityNames.disabled=true;
                bform.cityNames.style.backgroundColor = hiddenColor;
            }
        }
        if(bform.shotel){
            bform.shotel.disabled=true;
            bform.shotel.style.backgroundColor = hiddenColor;
        }
    }
    //IFFOrt
    if(bform.chckIFFOrt){
        chckStatIFFOrt()
    }
}
//_________________________________________________________________________
function formSubmit(){
    var bform=document.bengine;
    if(bform.detail== 'select-one'){
        var detail=bform.detail[bform.detail.selectedIndex].value;
    }
    else{
        var detail=bform.detail.value;
    }

    if(chkFormularMaske()){
        bform.termin.value=ts_termin;
        bform.ruecktermin.value=ts_ruecktermin;
        if(bform.region && bform.ziel){
            bform.strRegion.value=bform.region[bform.region.selectedIndex].text;
            bform.strZiel.value=bform.ziel[bform.ziel.selectedIndex].text;
        }
        if(bform.cityCountries && bform.cityNames){
            var valueCityCountry = bform.cityCountries.value;
            var valueCityName    = bform.cityNames.value;
            
            if (valueCityName != '-1') {
                for (var i = 0; i < cityArray.length; i ++) {
                    var cityData = cityArray[i].split('#');
                    if (encodeHTML(valueCityName) == cityData[0]) {
                        bform.IFFOrt.value = cityData[1];
                        bform.topRegion.value = cityData[5];
                        bform.wDLC.value = cityData[6];
                        break;                        
                    }
                }
            } else {
                var strCountryRegion = '';
                for (var i = 0; i < cityArray.length; i ++) {
                    var cityData = cityArray[i].split('#');
                    var tmpCountryValue = encodeHTML(valueCityCountry).split('|');
                    if (tmpCountryValue[0] == cityData[3]) {
                        strCountryRegion += cityData[1] + ';';
                    }
                }
                bform.IFFOrt.value = '';
                bform.wDLC.value = '';
                
                if (strCountryRegion != '' && detail == 'hotel') {
                    alert('Bitte wählen sie eine Stadt aus.');
                    return false;
                } else if (detail == 'hotel') {
                    alert('Bitte wählen sie ein Land und/oder eine Stadt aus.');
                    return false;
                }
                    
                if (strCountryRegion != '') {
                    bform.topRegion.value      = '';
                }
            }
            var tmpCountryValue = encodeHTML(valueCityCountry).split('|');
            bform.IDLand.value = tmpCountryValue[1] ? tmpCountryValue[1] : '';
        }
        bform.showErg.value=1;
        
        bform.submit();
        return false;
    }

}
//_________________________________________________________________________
function formDelete(){
  var bform=document.bengine;
  //bform.reset();
  window.location.href='index.php?KID='+KID;
}
//_________________________________________________________________________
function chckstreck(){
    var bform=document.bengine;
    window.location.href='index.php?showresult=1&KID='+KID+'&strecke='+bform.strecke.value;
    /*
        tmpstrecke=bform.strecke.value;
        bform.reset();
        bform.showErg.value='';
        bform.strecke.value=tmpstrecke
        bform.submit();
    */
}
//_________________________________________________________________________
function checkdL(){
  linkloc=document.getElementById('gendL').value;
  openwin = window.open(linkloc,"testwin");
  openwin.focus();
}
//_________________________________________________________________________
function copydL(){
    if(navigator.appVersion.search(/MSIE/) == -1)
    {
        //alert("Diese Funktion steht Ihnen im vollem Umfang nur im MSIE zur Verfügung.\nBitte kopieren Sie den Link durch Ctrl + C.");
        document.getElementById('gendL').select();
        //return false;
        return alert(strErFOXCopy);
    }
    else{
        sel=document.body.createTextRange();
        sel.moveToElementText(document.getElementById('gendL'));
        sel.select();
        sel.execCommand('Copy');
    }
}
//_________________________________________________________________________
function decodeHTML(string) {
    var returnString = string.replace('&Auml;', 'Ae');
    returnString     = returnString.replace('&Ouml;', 'Oe');
    returnString     = returnString.replace('&Uuml;', 'Ue');
    returnString     = returnString.replace('&auml;', 'ae');
    returnString     = returnString.replace('&ouml;', 'oe');
    returnString     = returnString.replace('&uuml;', 'ue');
    return returnString;
}
//_________________________________________________________________________
function encodeHTML(string) {
    var citiesSZ = '#Buenos Aires#Phoenix#Quebec#';
    if (citiesSZ.search(string) == '-1') {
        var returnString = string.replace('Ae', '&Auml;');
        returnString     = returnString.replace('Oe', '&Ouml;');
        returnString     = returnString.replace('Ue', '&Uuml;');
        returnString     = returnString.replace('ae', '&auml;');
        returnString     = returnString.replace('oe', '&ouml;');
        returnString     = returnString.replace('ue', '&uuml;');
        return returnString;
    } else {
        return string;
    }
}
//_________________________________________________________________________
var countryNames = new Array();
var cityNames    = new Array();

function updateCityRegions(status){
    var countries = new Array();
    var cities    = new Array();
    
    var strCountries = '<select name="cityCountries" id="cityCountries" size="1" onChange="changeCountry(this.value);" class="eformlong">';
    strCountries    += '<option value=\'-1\'>&lt;Alle Länder&gt;</option>';
    var strCities    = '<select name="cityNames" id="cityNames" size="1" onChange="changeCity(this.value);" class="eformlong">';
    strCities       += '<option value=\'-1\'>&lt;Alle Städte&gt;</option>';
    
    var countCountries = 0;
    var countCities    = 0;
    
    for (var i = 0; i < cityArray.length; i ++) {
        var cityData = cityArray[i].split('#');
        var countryNameBefore;
        var countryID = new Array;
        if (i == 0) {
            countries[countCountries] = decodeHTML(cityData[3]);
            countryNameBefore = decodeHTML(cityData[3]);
            countCountries += 1;
        } else if (decodeHTML(cityData[3]) != countryNameBefore) {
            countries[countCountries] = decodeHTML(cityData[3]);
            countryNameBefore = decodeHTML(cityData[3]);
            countCountries += 1;
        }
        cities[countCities] = decodeHTML(cityData[0]);
        countCities += 1;
    }
    
    countries.sort();
    
    for (var i = 0; i < countries.length; i ++) {
        for (var k = 0; k < cityCountryArray.length; k ++) {
            if (typeof(cityCountryArray[k]) != 'undefined' && 
                decodeHTML(cityCountryArray[k].toString().replace(/\(/, '').replace(/\)/, '')).search(countries[i].toString().replace(/\(/, '').replace(/\)/, '')) != '-1') {
                    countryID[i] = k;
                    break;
            }
        }
    }
    
    cities.sort();
    
    for (var i = 0; i < countries.length; i ++) {
        strCountries += '<option value="' + countries[i] + '|' + countryID[i] + '">' + encodeHTML(countries[i]) + '</option>';
    }
    for (var i = 0; i < cities.length; i ++) {
        strCities += '<option value="' + cities[i] + '">' + encodeHTML(cities[i]) + '</option>';
    }
    
    document.getElementById('cityCountriesTd').innerHTML = strCountries + '</select>';
    document.getElementById('cityNamesTd').innerHTML     = strCities + '</select>';
    
    if (typeof(status) == 'undefined') {
        if (postCity != '-1' && postCity != '') {
            changeCountry(postCountry);
            selectCountry(postCountry);
            changeCity(postCity);
            selectCity(postCity);
        } else if (postCountry != '-1' && postCountry != '') {
            changeCountry(postCountry);
            selectCountry(postCountry);
        }
    }
}
//_________________________________________________________________________
function changeCountry(country) {
    var strCities    = '<select name="cityNames" id="cityNames" size="1" onChange="changeCity(this.value);" class="eformlong">';
    strCities       += '<option value=\'-1\'>&lt;Alle Städte&gt;</option>';
    
    var detail    = document.bengine.detail.value;
    var cities    = new Array();
    
    var tmpCountryValue = country.split('|');
    country = encodeHTML(tmpCountryValue[0]);
    
    var countCities    = 0;
    
    if (country == '-1') {
        updateCityRegions(-1);
    } else {
        for (var i = 0; i < cityArray.length; i ++) {
            var cityData = cityArray[i].split('#');
            if (cityData[3] == country) {
                cities[countCities] = decodeHTML(cityData[0]);
                countCities += 1;
            }
        }
        
        cities.sort();
        
        for (var i = 0; i < cities.length; i ++) {
            strCities += '<option value="' + cities[i] + '">' + encodeHTML(cities[i]) + '</option>';
        }
        
        document.getElementById('cityNamesTd').innerHTML     = strCities + '</select>';
    }

    if (detail != 'hotel') {
        document.bengine.cityNames.selectedIndex = 0;
    }
    
    checkShownFormElements();
}
//_________________________________________________________________________
function changeCity(city) {
        if (city != '-1') {
        var country;
    
        for (var i = 0; i < cityArray.length; i ++) {
            var cityData = cityArray[i].split('#');
            if (cityData[0] == encodeHTML(city)) {
                country = cityData[3];
                break;
            }
        }
        
        var bform = document.forms.bengine;
        
        for (var i = 0; i < bform.cityCountries.length; i ++) {
            var tmpCountryValue = bform.cityCountries[i].value.split('|');
            if (tmpCountryValue[0] == decodeHTML(country)) {
                bform.cityCountries.selectedIndex = i;
                break;
            }
        }        
    }
}
//_________________________________________________________________________
function selectCity(city) {
    var bform = document.forms.bengine;
    
    for (var i = 0; i < bform.cityNames.length; i ++) {
        if (bform.cityNames[i].value == city) {
            bform.cityNames.selectedIndex = i;
            break;
        }
    }
}
//_________________________________________________________________________
function selectCountry(country) {
    var bform = document.forms.bengine;
    
    for (var i = 0; i < bform.cityCountries.length; i ++) {
        if (bform.cityCountries[i].value == country) {
            bform.cityCountries.selectedIndex = i;
            break;
        }
    }
    
}
