$(document).ready(function(){

	// zuruck
	$(".js_ZH").click(function(){
		ZH();
	});

	/*$(".js_ErvInfo").click(function(){
		$(this).attr("href", ErvInfo($(this).find('input').val()));
	});*/
	
	$("#js_SunnyInfo").click(function(){
		var SunnyUrl='http://www.sunnycars.com/b2c.docs/deu.l/single_vehicledetails.html?ilvid=';
		var sel = $("#mw option:selected");
		if(sel.length > 0 && sel.val() != "NO"){
			var idx = sel.attr("id").split("|");
			SunnyUrl += idx[0]+"&ilssid="+idx[1];
			showit('','',SunnyUrl,750);
		}
		else {
			alert("Kein Mietwagen ausgewählt");
		}
	});
	$("#mw, input[name=ERV]").bind("click",function(e){
		e.stopPropagation();
		updatePrice("keep",0);
	});

	$(".js_getPaymentForm").click(function(){
		var params = $(this).parent().find('input.values').val();
		params = params.split("%%");
		getPaymentForm( params[0], params[1]);
	});

	/*$(".js_TBMAGB").click(function(){
		$(this).attr("href", TBMAGB( $(this).find('input').val() ) );
	});
    $(".js_TBMAGB").click(function(){
		$(this).attr("href", TBMAGB( $(this).find('input').val() ) );
	});*/
	
	$("#test_booking").click(function(){
		testBooking();
	});

	$("#submit_booking").click(function(){ buchung(); });
	$("#submit_check").click(function(){ check_before_book(); });
	$("#submit_back").click(function(){ change_before_book(); });
    $(".tourswitch.open").click();
	//window.document.testbooking = false;
	
});
function testBooking() {
    with(window.document) {
        F.R_ANR.selectedIndex = 1;
        F.R_NAME.value = 'Test Anmelder N';
        F.R_VNAME.value = 'Test Anmelder V';
        F.R_STRASSE.value = 'Test Strasse';
        F.R_EMAIL.value = 'bk@ypsilon.net';
        F.R_PLZ.value = 'TestPLZ';
        F.R_ORT.value = 'TestCity';
        F.R_TEL1.value = 'TestTelefon';
        F.P1_ANR.selectedIndex = 1;
        F.P1_NAME.value = 'Test1';
        F.P1_VNAME.value = 'Test1 V';
        F.P1_ALTER.value = '40';
        if(typeof(F.P2_ANR) != 'undefined') {
            if(F.P2_ANR.value != "K" && F.value != "B") {
					F.P2_ANR.selectedIndex = 2;
					F.P2_ALTER.value = '40';
				}
            F.P2_NAME.value = 'Test2';
            F.P2_VNAME.value = 'Test2 V';
        }
        if(typeof(F.P3_ANR) != 'undefined') {
			  if(F.P3_ANR.value != "K" && F.value != "B") {
				  F.P3_ANR.selectedIndex = 2;
              F.P3_ALTER.value = '40';
			  }
            F.P3_ANR.selectedIndex = 0;
            F.P3_NAME.value = 'Test3';
            F.P3_VNAME.value = 'Test3 V';
        }
        if(typeof(F.P4_ANR) != 'undefined') {
			  if(F.P4_ANR.value != "K" && F.value != "B") {
				  F.P4_ANR.selectedIndex = 2;
              F.P4_ALTER.value = '40';
			  }
            F.P4_ANR.selectedIndex = 0;
            F.P4_NAME.value = 'Test4';
            F.P4_VNAME.value = 'Test4 V';
        }
        if(typeof(F.P5_ANR) != 'undefined') {
			  if(F.P5_ANR.value != "K" && F.value != "B") {
				  F.P5_ANR.selectedIndex = 2;
              F.P5_ALTER.value = '40';
			  }
            F.P5_ANR.selectedIndex = 0;
            F.P5_NAME.value = 'Test5';
            F.P5_VNAME.value = 'Test5 V';
        }
        F.AGB.checked = true;
        F.ERV.checked = true;
    }
	//window.document.testbooking = true;
}
function ErvInfo(Page) {
  if (Page==20) Url='http://www.lmweb.net/redir/erv_rrv.htm';
  else if(Page==10) Url='http://www.lmweb.net/redir/erv_paket.htm';
  else 	Url=Page;
  showit('','',Url,750);
}

function ELVIAInfo(Page) {
  if (Page==20) Url='http://www.lmweb.net/redir/elvia_storn.htm'
  else 	Url='http://www.lmweb.net/redir/elvia_voll.htm'
  showit('','',Url);
}


var msgArray   = Array();//validation messages
var hasCC      = false;
var hasBank    = false;
function setErrorStyle(obj) {
		//try { obj.className='input_error '; }
		//catch(e){}
		$(obj).addClass("input_error");
		return true;
	}
function setOkStyle(obj) {
		//try { obj.className='required'; }
        //catch(e) {}
		$(obj).removeClass("input_error");
		return true;
	}
function showMessages(msg) {
    var msgs = '';
    for(var i=0;i<msg.length;i++) {
        msgs += '<div class="errormsg">'+msg[i]+'</div>';
    }
    var off = $("#error_message").html(msgs).show().offset();
    window.scrollTo(0,off.top)
}

function check_before_book() {
	$("#error_message").hide();
	msgArray   = new Array();
	Plausi();
	if(msgArray.length>0) {
		showMessages(msgArray);
		return false;
	}

	window.scrollTo(0,0);
	$(".tourop-b").animate({top: '+=155'},0);

	var traveller = $("#confirm_traveller");
	$.each($(".to-check"),  function() {
		var obj = $(this);
		var id = obj.attr("id");
		var name = obj.attr("name");
		if(id.substr(0,1) == "P") {
			var vid = id.substr(0,2);
			if($("#confirm_"+vid).length == 0) {
				var item = $($("#confirm_traveller_tpl").html()).attr("id","confirm_"+vid);
				item.find(".t_anr").html($("#"+vid+"_ANR").find("option:selected").text());
				item.find(".t_vname").html($("#"+vid+"_VNAME").val());
				item.find(".t_name").html($("#"+vid+"_NAME").val());
				item.find(".t_alter").html($("#"+vid+"_ALTER").val());
				item.find(".t_idx").html($("#"+vid+"_IDX").val());
				traveller.append(item);
			}
		}
		else if(id == "R_ANR") {
			$("#confirm-"+id).html($(this).find("option:selected").text());
		}
		else if(name == "PAYMODE") {
			if(obj.attr("checked")) {
				$("#confirm_payment").html($(".pay-"+obj.val()).html());
			}
		}
		else {
			$("#confirm-"+id).html($(this).val());
		}
	});

	$(".bookform_content").hide();
	$("#niobe_book_confirm").hide();
	$(".change_before_book").show();
}

function change_before_book() {
	$("#error_message").hide();
	$(".bookform_content").show();
	$("#niobe_book_confirm").hide();
	$(".change_before_book").hide();
	$(".tourop-b").animate({top: '-=155'},0);
}

function buchung() {
	$("#error_message").hide();
	updatePrice("keep",1);
	msgArray   = new Array();//validation messages
	Plausi();
	if(msgArray.length>0) {
		showMessages(msgArray);
		$("#niobe_bookform").show();
		$(".bookform_content").show();
		$("#niobe_book_confirm").hide();
		$(".change_before_book").hide();
		return false;
	}
	with (window.document) {
		var Cmd = '';
		for (i=0; i < F.length; i++) {
			fval='';
			myF = F.elements[i];
			//console.debug($(myF).attr("name"));
			if (myF.type == 'select-one' && myF.selectedIndex >= 0) {
				fval = myF.options[myF.selectedIndex].value;
			} else if (! ((myF.type == 'checkbox' || myF.type == 'radio') &&  myF.checked == false)) {
				fval = myF.value;
			}

			if (fval != '' && myF.type != 'textarea') {
				Cmd = Cmd + '&' + myF.name + '=' + escape(fval);
			}
		}
		window.scrollTo(0, 0);
		$("#niobe_bookform").hide();
		$("#niobe_book_confirm").show();
		F.submit();
	}
}
function AgbCheck(obj) {
  if(obj.checked) {
      try { $("#AGBTEXT").removeClass('input_error') }
	  catch(e){}      
  } else {
      try { $('#AGBTEXT').addClass('input_error') }
	  catch(e){}
	  /*if(lang == 'de') msgArray.push("Bitte akzeptieren Sie zuerst die AGB des Veranstalters!");
      else msgArray.push("Please accept the terms and conditions of the travel agency or tour operator!");*/
      msgArray.push(messages.agb_error);
  }
  return true;
}
function TourAgbCheck() {
    if($(".diyowo_1:checked").length > 0) {
        if($("#AGB_1").attr("checked")) {
            try { $("#AGBTEXT_1").removeClass('input_error') }
	          catch(e){}
        } else {
            try { $('#AGBTEXT_1').addClass('input_error') }
	          catch(e){}
	          /*if(lang == 'de') msgArray.push("Bitte akzeptieren Sie zuerst die AGB des Tourvermittlers und des Veranstalters!");
              else msgArray.push("Please accept the terms and conditions of the tour agency or tour operator!");*/
              msgArray.push(messages.dive_agb_error);
        }
        
    } else tourSwitch("close",1);
  return true;
}
function DiveAgbCheck() {
  if(typeof(window.document.F.DIVEAGB) != 'undefined') {
      var divediv = document.getElementById('diveoffers');
      if(divediv.style.display != 'none') {
          var obj = window.document.F.DIVEAGB;
          if(obj.checked) {
              try { $("#DIVEAGBTEXT").removeClass('input_error') }
	          catch(e){}
         } else {
              try { $('#DIVEAGBTEXT').addClass('input_error') }
	          catch(e){}
	          /*if(lang == 'de') msgArray.push("Bitte akzeptieren Sie zuerst die AGB der Tauchbasis und des Vermittlers!");
              else msgArray.push("Please accept the terms and conditions of the dive center and the travel agency or tour operator!");*/
              msgArray.push(messages.dive_agb_error);
        }
    }
  }
  return true;
}
function ep(obj,Name) {
    var Value = obj.value;
    if (Value=='') {
        /*if(lang == 'de') msgArray.push(Name+" bitte angeben!");
        else msgArray.push("Please complete "+Name+"!");*/
        msgArray.push("<b>"+Name+":</b> "+messages.pls_enter);
        setErrorStyle(obj);
    } else setOkStyle(obj);
    return true;
}

function ap(obj,Name) {
    var Value = obj.value;
    if(isNaN(Value)) {     
        //msgArray.push(Name+" bitte angeben!");
        msgArray.push("<b>"+Name+":</b> "+messages.pls_enter);
        setErrorStyle(obj);
    } else setOkStyle(obj);
    return true;
}

function ChkAnr(obj,Name) {
  Value =obj.options[obj.selectedIndex].value
  if (obj.value == '0') {
    /*if(lang == 'de') msgArray.push("Anrede "+Name+" bitte angeben!");
    else msgArray.push("Please complete title "+Name+"!");*/
    msgArray.push("<b>"+messages.anrede+" "+Name+":</b> "+messages.pls_enter);
    setErrorStyle(obj);
  } else setOkStyle(obj);
  return true;
}
function ChkLand(obj,Name) {
    Value =obj.options[obj.selectedIndex].value
    if (obj.value == '0') {
        /*if(lang == 'de') msgArray.push("Reiseanmelder "+Name+" bitte angeben!");
        else msgArray.push("Please complete invoice recipient "+Name+"!");*/
        msgArray.push("<b>"+messages.reiseanmelder+" "+Name+":</b> "+messages.pls_enter);
        setErrorStyle(obj);
    } else setOkStyle(obj);
    return true;
}
/*var ra = "Reiseanmelder";
if(lang == 'de') ra = "Reiseanmelder";
    else ra = "invoice recipient";
var sname = 'Name';
if(lang == 'de') sname = "Name";
    else sname = 'surname';
var vname = 'Vorname';
if(lang == 'de') vname = "Vorname";
    else vname = 'forename';
var street = 'Strasse';
if(lang == 'de') street = "Strasse";
    else street = 'street';
var plz = 'PLZ';
if(lang == 'de') plz = "PLZ";
    else plz = 'ZIP code';
var ort = 'Ort';
if(lang == 'de') ort = "Ort";
    else ort = 'city';
var land = 'Land';
if(lang == 'de') land = "Land";
    else ort = 'country';
var phone = 'Telefon';
if(lang == 'de') phone = "Telefon";
    else phone = 'phone private';*/
function Plausi() {
    var ra = messages.inv_recipient;
    var sname = messages.surname;
    var vname = messages.forename;
    var street = messages.strasseundnummer;
    var plz = messages.plz;
    var ort = messages.city;
    var land = messages.country;
    var phone = messages.telefon;
    with (window.document.F) {

      if (ChkAnr(R_ANR, ra)
          && ep(R_NAME  ,ra+" "+sname)
          && ep(R_VNAME, ra+" "+vname)
          && ep(R_STRASSE, ra+" "+street)
          && ep(R_PLZ, ra+" "+plz)
          && ep(R_TEL1 , ra+" "+phone)
          && MailPlausi(R_EMAIL)
          && ep(R_ORT, ra+" "+ort)
          && ChkLand(R_LAND, land)
          && ReisendePlausi()
          && validatePayment()
          && validateBank()
          && AgbCheck(AGB)
          && DiveAgbCheck()
          && TourAgbCheck()
      ){
            var TMPNR = R_TEL1.value;
            if(TMPNR.length > 16)  R_TEL1.value = TMPNR.replace(/ /g, "");
            var TMPNR = R_TEL1.value;
            if(TMPNR.length > 16)  R_TEL1.value = TMPNR.replace(/-/g, "");
            return true;
       }
       return false;
    }
}



function tlc(name,vname,anr,age,id) {
  /*var tn = 'Teilnehmer'
  if(lang == 'de') tn = 'Teilnehmer';
  else tn = 'traveller';
  var nn = 'Name'
  if(lang == 'de') nn = 'Name';
  else nn = 'surname ';
  var vn = 'Vorname'
  if(lang == 'de') vn = 'Vorname';
  else vn = 'forename ';
  var al = 'Alter'
  if(lang == 'de') al = 'Alter';
  else al = 'age';*/
    var tn = messages.traveller;
    var nn = messages.surname;
    var vn = messages.forename;
    var al = messages.age;
    if (typeof(name) == 'undefined' || (ChkAnr(anr, tn+" "+id)  && ep(name ,nn+" "+tn+" "+id) &&  ep(vname,vn+" "+tn+" "+id) && ep(age ,al+" "+tn+" "+id)))  return true;
    return true;
}

function ReisendePlausi() {
    with (window.document) {
    if ( tlc(F.P1_NAME, F.P1_VNAME, F.P1_ANR, F.P1_ALTER,1)
        && tlc(F.P2_NAME, F.P2_VNAME, F.P2_ANR, F.P2_ALTER,2)
        && tlc(F.P3_NAME, F.P3_VNAME, F.P3_ANR, F.P3_ALTER,3)
        && tlc(F.P4_NAME, F.P4_VNAME, F.P4_ANR, F.P4_ALTER,4)
        && tlc(F.P5_NAME, F.P5_VNAME, F.P5_ANR, F.P5_ALTER,5)
      ) return true;
      return true;
    }
}

function MailError(obj,Text) {
  /*if(lang == 'de') msgArray.push("Fehler in eMail-Adresse: "+Text+"\n\nBsp: 'mustermann@web.de'");
  else msgArray.push("Error in eMail-Adress: "+Text+"\n\nexample: 'mustermann@web.de'");*/
  msgArray.push(messages.email_error);
  setErrorStyle(obj);
  return true;
}

function MailPlausi(obj) {
  pos =   obj.value.indexOf("@")
  if (pos==-1) {
      if(lang == 'de') return MailError(obj,"kein @");
      else return MailError(obj,"no @");
  }

  if (pos < 2) {
      if(lang == 'de') return MailError(obj,"Name zu kurz");
      else return MailError(obj,"name short");
  }
  if (obj.value.indexOf(" ") !=-1) {
      if(lang == 'de') return MailError(obj,"Mailadresse darf kein Leerzeichen enthalten");
      else return MailError(obj,"space character in eMail-Adress");
  }
  mailserver=obj.value.substr(pos+1)
  pos = mailserver.indexOf(".")
  if (pos==-1) {
      if(lang == 'de') return MailError(obj,"Mailserver: '.' fehlt (z.B. '.de')");
      else return MailError(obj,"Mailserver: '.' missing (z.B. '.de')");
  }

  if (pos < 2) {
      if(lang == 'de') return MailError(obj,"Mailserver: Name zu kurz");
      else return MailError(obj,"Mailserver: name short");
  }

  topdomain = mailserver.substr(pos);

  if ( topdomain.length <3) {
      if(lang == 'de') return MailError(obj,"Mailserver: Ende zu kurz");
      else return MailError(obj,"Mailserver: end short");
  }

  return setOkStyle(obj);
}
function validateBank() {
    if(!hasBank) return true;
    if(document.F.bankaccount.value == '') setErrorStyle(document.F.bankaccount);
        else setOkStyle(document.F.bankaccount);
    if(document.F.bank_guide.value == '') setErrorStyle(document.F.bank_guide);
        else setOkStyle(document.F.bank_guide);
    if(document.F.bank_name.value == '') setErrorStyle(document.F.bank_name);
        else setOkStyle(document.F.bank_name);
    return true;
}
function validatePayment() {
    //return true;
    if(!hasCC) return true;
            var returnSwitch    = true;
            var switchNumber    = true;

            var type    = document.F.cardtyp.value;

            var oNumber = document.F.ccnumber.value;
            var number  = oNumber.replace (/\s/g, "");
            var monthExpiry = document.F.ccmonth.value;
            var yearExpiry = document.F.ccyear.value;

            var now = new Date();

            var nowMonth = now.getMonth()+1;
            if(nowMonth<10)
                nowMonth = "0"+nowMonth;
            var nowYear = now.getFullYear();
            switch( type.toLowerCase() ) {
                case 'mc' :
                    switch(number.substring( 0, 2 )) {
                        case '51' :
                        case '52' :
                        case '53' :
                        case '54' :
                        case '55' :
                            if( number.length != 16 ) {
                                switchNumber = false;
                            }
                        break;
                        default :
                            switchNumber = false;
                        break;
                    }
                break;
                case 'vc' :
                     switch(number.substring( 0, 1 )) {
                        case '4' :
                            if( number.length != 16 && number.length != 13 ) {
                                switchNumber = false;
                            }
                        break;
                        default :
                            switchNumber = false;
                        break;
                    }
                break;
                case 'am' :
                     switch(number.substring( 0, 2 )) {
                        case '34' :
                        case '37' :
                            if( number.length != 15 ) {
                                switchNumber = false;
                            }
                        break;
                        default :
                            switchNumber = false;
                        break;
                    }
                break;
                case 'di' :
                    switch(number.substring( 0, 2 )) {
                        case '36' :
                        case '38' :
                            if( number.length != 14 ) {
                                switchNumber = false;
                            }
                        break;
                        case '30' :
                            switch(number.substring( 0, 3 )) {
                                case '300' :
                                case '301' :
                                case '302' :
                                case '303' :
                                case '304' :
                                case '305' :
                                    if( number.length != 14 ) {
                                        switchNumber = false;
                                    }
                                break;
                                default :
                                    switchNumber = false;
                                break;
                            }
                        break;
                        default :
                            switchNumber = false;
                        break;
                    }

                break;
            }

            if( switchNumber ) {
                var pattern = /^[0-9]{13,19}$/;
                if (!pattern.exec(number))  {
                    switchNumber = false;
                } else {
                    var checksum = 0;
                    var mychar = "";
                    var j = 1;
                    var calc;
                    for (i = number.length - 1; i >= 0; i--) {
                        calc = Number(number.charAt(i)) * j;
                        if (calc > 9) {
                            checksum = checksum + 1;
                            calc = calc - 10;
                        }
                        checksum = checksum + calc;
                        if( j==1 ) {
                            j = 2;
                        } else {
                            j = 1;
                        }
                    }
                    if (checksum % 10 != 0)  {
                        ccErrorNo = 3;
                        switchNumber = false;
                    }
                }
            }
            if( !switchNumber ) {
                /*if(lang == 'de') msgArray.push("Ihre Kreditkartennummer ist ungültig!");
                else msgArray.push("Wrong kreditcard number!");*/
                msgArray.push(messages.cc_number_error);
                setErrorStyle(document.F.ccnumber);
            } else setOkStyle(document.F.ccnumber);
            if( Number(yearExpiry+""+monthExpiry) <= Number(nowYear+""+nowMonth) ) {
                /*if(lang == 'de') msgArray.push("Ihre Kreditkarte ist abgelaufen !");
                else  msgArray.push("Your kreditcard has expired !");*/
                msgArray.push(messages.cc_date_error);
                setErrorStyle(document.F.ccmonth);
                setErrorStyle(document.F.ccyear);
            } else {
                setOkStyle(document.F.ccmonth);
                setOkStyle(document.F.ccyear);
            }
            return returnSwitch;
        }

function getPaymentForm(mode,cards) {
    var paymentform = '';
    switch (mode) {
        case "UW":
            hasCC   = false;
            hasBank = false;
            var form = document.getElementById("paymentform");
            paymentform = '&nbsp;';
            form.innerHTML = paymentform;
            form.style.display = 'none';
            break;
         case "DI":
            hasCC = false;
            var form = document.getElementById("paymentform");
            paymentform = '&nbsp;';
            form.innerHTML = paymentform;
            form.style.display = 'none';
            break;

        case "LS":
            hasCC   = false;
            hasBank = true;
            var bankname = messages.bankname;
            /*if(lang == 'de') bankname = 'Bank';
            else bankname = 'bank';*/
            var knummmer = messages.kontonr;
            /*if(lang == 'de') knummmer = 'Kontonummer';
            else knummmer = 'account number';*/
            var blz = messages.blz;
            /*if(lang == 'de') blz = 'Bankleitzahl';
            else blz = 'bank identification code';*/
            paymentform+= "<div class='cell-clear'>&nbsp;</div><div class='row cell-clear bookform' ><div class='cell10percent'>&nbsp;</div><div class='cell20percent pers floatleft_l'>"+knummmer+"</div><div class='cell20percent floatleft_l'><input id='bankaccount' type='text' name='bankaccount' class='dropdown' size='10' maxlength='10' /></div></div>";
            paymentform+= "<div class='row cell-clear bookform' ><div class='cell10percent'>&nbsp;</div><div class='cell20percent pers floatleft_l'>"+blz+"</div><div class='cell20percent floatleft_l'><input id='bank_guide' type='text' name='bank_guide' size='10' maxlength='10' class='dropdown' /></div></div>";
            paymentform+= "<div class='row cell-clear bookform' ><div class='cell10percent'>&nbsp;</div><div class='cell20percent pers floatleft_l'>"+bankname+"</div><div class='cell20percent floatleft_l'><input id='bank_name' type='text' name='bank_name' size='10' class='dropdown' maxlength='30' /></div></div>";
            var form = document.getElementById("paymentform");
            form.innerHTML = paymentform;
            form.style.display = 'block';
            break;
        case "CC":
            hasCC   = true;
            hasBank = false;
            var ccard = messages.cc;
            /*if(lang == 'de') ccard = 'Kreditkarte';
            else ccard = 'credit card';*/
            paymentform+= "<div class='cell-clear'>&nbsp;</div><div class='row cell-clear bookform' ><div class='cell10percent'>&nbsp;</div><div class='cell20percent pers floatleft_l'>"+ccard+"</div><div class='cell20percent floatleft_l'><select name='cardtyp' class='dropdown'>";
            var cards = cards;
            var card  = cards.split("/");
            for(i=0;i<card.length-1;i++) {
                var name = '';
                if(card[i] == 'MC') {
                    name+= 'Mastercard';
                }
                else if(card[i] == 'VC') {
                    name+= 'Visacard';
                }
                else if(card[i] == 'AM') {
                    name += 'American Express';
                }
                else if(card[i] == 'DI') {
                    name += 'Diner Card';
                }
                paymentform+= "<option value='"+card[i]+"'>"+name+"</option>";
            }
            paymentform+= "</select></div></div>";
            var ccnr = messages.cc_number;
            /*if(lang == 'de') ccnr = 'Kartennummer';
            else ccnr = 'credit card number';*/
            var valid = messages.cc_valid;
            /*if(lang == 'de') valid = 'G&uuml;ltig bis';
            else valid = 'valid until';*/
            paymentform+= "<div class='row cell-clear bookform' ><div class='cell10percent'>&nbsp;</div><div class='cell20percent pers floatleft_l'>"+ccnr+"</div><div class='cell20percent floatleft_l'><input id='ccnumber' type='text' name='ccnumber' size='16' maxlength='16' class='dropdown' /></div></div>";
            paymentform+= "<div class='row cell-clear bookform' ><div class='cell10percent'>&nbsp;</div><div class='cell20percent pers floatleft_l'>"+valid+"</div><div class='cell40percent floatleft_l'>";
            paymentform+= "<select name='ccmonth' class='dropdown' style='width: 40px'>";
            var now = new Date();
                var selectedMonth = String(now.getMonth()+1);
                for(var i=1;i<=12;i++) {
                    var si = i;
                    if( si < 10 ) {
                        var si = "0"+si;
                    }
                    if( i == selectedMonth ) {
                        paymentform+= "<option value=\""+si+"\" selected>"+si+"</option>";
                    } else {
                        paymentform+= "<option value=\""+si+"\">"+si+"</option>";
                    }
                }
            paymentform+= "</select>&nbsp;/&nbsp;";
            paymentform+= "<select name='ccyear' class='dropdown' style='width: 60px'>";
                var now = new Date();
                var year = now.getFullYear();
                /*
                if(year < 999)
                    year += 1900;
                */
                var selectedYear = String(year);
                for(var i=year;i<=(year+9);i++) {
                    var si = String(i);
                    if( si == selectedYear ) {
                        paymentform+= "<option value=\""+si+"\" selected>"+si+"</option>";
                    } else {
                        paymentform+= "<option value=\""+si+"\">"+si+"</option>";
                    }
                }
            paymentform+= "</select></div></div>";
            var form = document.getElementById("paymentform");
            form.innerHTML = paymentform;
            form.style.display = 'block';

            break;

    }
}
function TBMAGB(VA) {
 URL = 'http://www.traffics-tibet.de/agb/'+VA+'.html';
 showit('','',URL,750);
}
function AGB(VA) {
 URL = 'http://www.lmweb.net/lmi/agb/agb_'+VA+'.htm';
 showit('','',URL,750);
}
function AGBY(URL) {
 showit('','',URL,750);
}
function cleanBookTours(id){
    $(".diyowo_"+id).each(function(i){
                 $(this).val('');
            });
}
function updatePrice(option,iteration) {
    var f                 = window.document.F;
    var tsum              = 0;
    var rsum              = 0;
    var offerSum          = 0;
    var tourSum           = 0;
    var toursumdiff       = 0;
    var mwPrice           = 0;
    var cross             = false;
	var rentalEquipmentSum = null;
    if( !f ) return;
    for( var i = f.length; i--; ) {
        var id = 0;
		var n = f[i].name;
		var v = f[i].value;
        var tang = n.substr( 0, 9 ) == "DIVEOFFER";
        var trent = n.substr( 0, 15 ) == "DIVERENTALOFFER";
        var tours = n.substr( 0, 6 ) == "diyowo";
		el = $(f[i]).parent().parent();
		if(option == "keep" || option == "show") {
			if( !v ) v = 0;
			if(tang) {
                if(!isNumeric(v)) {
                    v = parseInt(v);
                    if(isNaN(v)) { v = 0; }
                    f[i].value = v;
                }
			//el.hide();
                id = n.substr( 10, n.length - 11 );
				//if(isNumeric(v)) {
                offerSum = parseInt(offerSum) + (parseInt(v) * parseInt($("#"+id).text()));
				//}
				if(v == 0) {
					option == "keep" ? el.hide() : el.show();
				}
                $("#divesum").text(offerSum);
			}
			else if(trent) {
                if(!isNumeric(v)) {
                    v = parseInt(v);
                    if(isNaN(v)) { v = 0; }
                    f[i].value = v;
                }
				//if(isNumeric(v)) {
					if(rentalEquipmentSum == null) { rentalEquipmentSum = {}}
					var u = el.find(".unit").text().replace (/^\s+/, '').replace (/\s+$/, ''); //.replace(/ /g,"_");
					var ur = u.replace(/ /g,"_");
					if(typeof rentalEquipmentSum[ur] == "undefined") {
						rentalEquipmentSum[ur] = {
							text: u,
							sum: 0
						}
					}
                    id = n.substr( 16, n.length - 17 );
                    rsum = parseInt(rsum) + (parseInt(v) * parseInt($("#"+id).text()));
					rentalEquipmentSum[ur].sum = Number(rentalEquipmentSum[ur].sum + parseInt(v) * parseInt($("#"+id).text()));
					//rentalEquipmentSum = parseInt(rentalEquipmentSum) + (parseInt(v) * parseInt(DiveRentalPrice[n]));
				//}
                $("#rentalsum").text(rsum);
				if(v == 0) {
					option == "keep" ? el.hide() : el.show();
				}
			}
            else if(tours && iteration > 0) {
			//el.hide();
                id = n.substr( 7, n.length - 8 );
                //alert(id);
                if($("#"+id).hasClass('diyowo_'+iteration)) {
                    if($("#"+id).attr("checked")) {
                        toursumdiff    = parseInt(toursumdiff) + parseInt($("#"+id+"_"+iteration).text());                       
                    } else option == "keep" ? el.hide() : el.show();
                }
                $("#diyowo_"+iteration).text(toursumdiff);
            }
		}
		else if(option == "cancel" && (tang || trent) && iteration == 0){
			f[i].value = '';
		}
		else if(option == "discard" && (tang || trent) && iteration == 0) {
            offerSum = 0;
            $("#divesum").text(offerSum);
            rsum = 0;
            $("#rentalsum").text(rsum);
			f[i].value = '';
			el.show();
		}
        else if(option == "discard"  && tours && iteration > 0) {
            id = n.substr( 7, n.length - 8 );
            $("#AGB_"+iteration).attr("checked",false);
            if($("#"+id).hasClass('diyowo_'+iteration)) {
                $("#"+id).attr("checked",false);
            }
            toursumdiff = 0;
            $("#diyowo_"+iteration).text(toursumdiff);
		}
    }
    for($i=1;$i<100;$i++) {
        if($("#diyowo_"+$i).length > 0) {
            tourSum = parseInt(tourSum) + parseInt($("#diyowo_"+$i).text());
        }
    }

	$("#CROSSHEAD, #CROSSOFFERS, #DOFFERS, #MWOFFERS, #VERSOFFERS, #TOUROFFERS, #DOFFERS_2, #MWOFFERS_2, #VERSOFFERS_2, #TOUROFFERS_2").hide();
	$("#DOFFERS .preis, #MWOFFERS .preis, #VERSOFFERS .preis, #TOUROFFERS .preis").html("");
    $("#DOFFERS_2 .preis, #MWOFFERS_2 .preis, #VERSOFFERS_2 .preis, #TOUROFFERS_2 .preis").html("");
	$("#RESERVHEAD, #RESERVOFFERS, #EOFFERS").hide();
	$("#EOFFERS").html("");

    if(($("#divesum")).length > 0) {
        offerSum = parseInt($("#divesum").text());
        tsum = parseInt(offerSum);// + parseInt(rentalEquipmentSum));
    }    
    if(offerSum > 0){ // Tauchleistungen
		//document.F.DDPREIS.value = offerSum;
        cross = true;
		$("#DDPREIS").val(offerSum);
		$("#CROSSHEAD, #CROSSOFFERS, #DOFFERS, #DOFFERS_2").show();
		//$("#DOFFERS .preis").html("&euro; "+offerSum+",-");
		$("#DOFFERS .preis, #DOFFERS_2 .preis").html(offerSum+",-");
    } else {
        //document.F.DDPREIS.value = 0;
		$("#DDPREIS").val(0);
		$("#DOFFERS, #DOFFERS_2").hide();
		$("#DOFFERS .preis, #DOFFERS_2 .preis").html(" ");
    }
    if(tourSum > 0){ // Ausflüge
		//document.F.DDPREIS.value = offerSum;
        cross = true;
		$("#TOURPREIS").val(tourSum);
		$("#CROSSHEAD, #CROSSOFFERS, #TOUROFFERS, #TOUROFFERS_2").show();
		//$("#TOUROFFERS .preis").html("&euro; "+tourSum+",-");
		$("#TOUROFFERS .preis, #TOUROFFERS_2 .preis").html(tourSum+",-");
    } else {
        //document.F.DDPREIS.value = 0;
		$("#TOURPREIS").val(0);
		$("#TOUROFFERS, #TOUROFFERS_2").hide();
		$("#TOUROFFERS .preis, #TOUROFFERS_2 .preis").html(" ");
    }
	var dayPrice = $("#DEPREIS");
	var divePrice = $("#DGPREIS");
    rsum = parseInt($("#rentalsum").text());
    
    if(rentalEquipmentSum != null) {
		//console.debug("1");
		dayPrice.val(0);
		divePrice.val(0);
		$.each(rentalEquipmentSum,function(){
			if(this.sum > 0) {
                var equip = messages.dive_rent;
                //if(lang == 'en') equip = 'Rental Equipment';
                var tpl = $($("#tleihtpl").html());
                if(tpl.length > 0) {
                    //console.debug(tpl.toSource());
                    tpl.find(".text").html(equip+' '+this.text);
                    tpl.find(".preis").html(this.sum+",-");
                    $("#EOFFERS").append(tpl);
                }
                else {
                    var h = '<div class="text floatleft_l cell-clear">'+equip+' '+this.text+'</div>';
                    h += '<div class="preis floatright_r color8 big tbold">'+this.sum+',-</div>';
                    $("#EOFFERS").append(h);
                }
				if(this.text.indexOf("pro Tag") != -1 || this.text.indexOf("per Day") != -1) {
					dayPrice.val(parseInt(this.sum));
				}
				else {
					divePrice.val(parseInt(this.sum));
				}
			}
		});
		if(divePrice.val() > 0 || dayPrice.val()) {
			$("#RESERVHEAD, #RESERVOFFERS, #EOFFERS").show();
		}
	} 

	// Mietwagen
	var selMWArr = null;

	if(typeof $("#mw") != "undefined"){
		if(typeof $("#mw").val() != "undefined" && $("#mw").val() != "NO") {
			var selMWArr = $("#mw").find("option:selected").attr("id").split("|");
		}
		else {
			mwPrice = null;
		}
		if(selMWArr != null && typeof selMWArr[3] != "undefined") {
			mwPrice = parseInt(selMWArr[3],10);
		}
		else if(selMWArr != null && selMWArr[2] != "undefined") {
			mwPrice = parseInt(selMWArr[2],10);
		}
		if(mwPrice != null) {
            cross = true;
			$("#CROSSHEAD").show();
			$("#CROSSOFFERS").show();
            $("#MWOFFERS, #MWOFFERS_2").show().find(".preis").html(mwPrice+",-");//.html("&euro; "+mwPrice+",-");
			$("#MWPREIS").val(mwPrice);
		}
        else {
            $("#MWOFFERS, #MWOFFERS_2").hide().find(".preis").html("");//.html("&euro; "+mwPrice+",-");
			$("#MWPREIS").val(0);
        }
	}

	// Insurance
	var insPrice = 0;
	var a = $("input[name=ERV]");
	if(a.length > 0) {
		$.each(a,function(){
			var el = $(this);
			if(el.attr("checked")) {
				if(iprovider == 1) {
					var v = el.val().split(" ");
					insPrice = parseInt(v[1]);
					if(typeof v[2] != "undefined" && v[2].indexOf("p.P") != -1) {
						insPrice *= document.F.p.value;
					}
				}
				if(iprovider == 2) {
					insPrice = parseInt($("#preis_"+el.attr("id")).val());
					var t = $("#txt_"+el.attr("id")).text();
					if(t.indexOf("pro Person") != -1 || t.indexOf("per Person") != -1) {
						insPrice *= document.F.p.value;
					}
				}
			}
		});
	}
	if(isNaN(insPrice)) {
		insPrice = 0;
	}
	if(insPrice > 0) {
        cross = true;
		$("#CROSSHEAD").show();
		$("#CROSSOFFERS").show();
        $("#VERSOFFERS, #VERSOFFERS_2").show().find(".preis").html(insPrice+",-");//.html("&euro; "+insPrice+",-");
		$("#VERSPREIS").val(insPrice);
	} else {
       $("#VERSOFFERS, #VERSOFFERS_2").hide().find(".preis").html("");
       $("#VERSPREIS").val(insPrice);
    }


    if(cross) {
        $("#CROSSHEAD").show();
        $("#CROSSOFFERS").show()
    }
	mwPrice = mwPrice == null ? 0 : mwPrice;
	var endsum = travelprice + parseInt(tsum) + parseInt(mwPrice) + parseInt(insPrice) + parseInt(tourSum);
	$("#GPREIS .preis, #GPREIS_2 .preis").html(endsum+",-");//.html("&euro; "+endsum+",-");
	$("#RGPREIS").val(endsum);

}

