function findObj(sName, oParent) {
  var iPosition, iIndex, oFindMe;

  if ( ! oParent ) {
  	oParent = document;
  }

  if ( (iPosition = sName.indexOf('?')) > 0 && parent.frames.length ) {
    oParent = parent.frames[sName.substring(iPosition + 1)].document;
	sName = sName.substring(0, iPosition);
  }

  if ( ! (oFindMe = oParent[sName]) && oParent.all ) {
    oFindMe = oParent.all[sName];
  }

  for ( iIndex = 0; ! oFindMe && iIndex < oParent.forms.length; iIndex++ ) {
    oFindMe = oParent.forms[iIndex][sName];
  }

  for ( iIndex = 0; ! oFindMe && oParent.layers && iIndex < oParent.layers.length; iIndex++ ) {
    oFindMe = findObj(sName, oParent.layers[iIndex].document);
  }

  if ( ! oFindMe && oParent.getElementById ) {
    oFindMe = oParent.getElementById(sName);
  }

  return oFindMe;
}

function showHideLayers() {
  var iIndex, sVisibility, oLayer;
  var aArguments = showHideLayers.arguments;

  for ( iIndex = 0; iIndex < (aArguments.length - 1); iIndex += 2 ) {
    if ( null != (oLayer = findObj(aArguments[iIndex])) ) {
      sVisibility = aArguments[iIndex + 1];

	  if ( oLayer.style ) {
	    oLayer = oLayer.style;
      }

	  if ( sVisibility == 'show' ) {
	    sVisibility = 'visible';
	  } else if( sVisibility == 'hide' ) {
	    sVisibility = 'hidden';
	  }

	  oLayer.visibility = sVisibility;
    }
  }
}

var bBSDIsSet = false;
function checkDates(sType, sName) {
    var difference = 21;

    switch (sName) {
    case 'vnd':
        if (!bBSDIsSet) {
    		if ((document.forms[sType].vnd.selectedIndex + difference) <=
    		  document.forms[sType].bsd.options.length
    		) {
    			document.forms[sType].bsd.selectedIndex =
    			     document.forms[sType].vnd.selectedIndex + difference;
    		} else {
    			document.forms[sType].bsd.selectedIndex =
    			     document.forms[sType].bsd.options.length - 1;
    		}
        }
    	break;
    case 'bsd':
        bBSDIsSet = true;
    	break;
    case 'mmc':
    	break;
    }
    var sErrorMessage = checkSettings(sType);
    if (sErrorMessage != '') {
        alert("Achtung, \n" + sErrorMessage);
    }
}

function checkSettings(sType) {
    var sError = '';
    var sDuration = (document.forms[sType].mmc.
	   options[document.forms[sType].mmc.selectedIndex].value);
	switch(sDuration) {
		case "0": iDuration = 0; break;
		case "1-5t": iDuration = 5; break;
		case "1w": iDuration = 7; break;
		case "6-8t": iDuration = 8; break;
		case "9-12t": iDuration = 12; break;
		case "2w": iDuration = 14; break;
		case "13-16t": iDuration = 16; break;
		case "3w": iDuration = 21; break;
		case "17-22t": iDuration = 22; break;
		case "4w": iDuration = 28; break;
		case "27-28t": iDuration = 28; break;
		default: iDuration = 0; break;
	}

    if (document.forms[sType].bsd.selectedIndex <
        document.forms[sType].vnd.selectedIndex + iDuration
    ) {
        sError += 'Die Reisedauer, die Sie eingestellt haben, ist länger als'
            + ' der Zeitraum zwischen dem An- und Abreisedatum.';
    }
    if (document.forms[sType].bsd.selectedIndex <
        document.forms[sType].vnd.selectedIndex
    ) {
        sError += 'Das Rückreisedatum muss nach dem Anreisedatum liegen';
    }
    return sError;
}
