function SMRinit(kfzid) {
    kfzid = kfzid*1;

//    if (document.getElementById('SMRCalc').style.visibility == 'hidden') {

        var SMRLeistung = document._newInsurance.SMRleistung.value;

	    var partner = document._newInsurance.carhouse.value;
	    var age = document._newInsurance.ageinmonths.value;
	    var mileage = document._newInsurance.kmstand.value;
	    document.getElementById('SMRCalc').style.visibility = 'hidden';

	    if (age*1 > 6) {
		    document.getElementById('FZGnew').style.visibility = "hidden";
		    document.getElementById('FZGimport').style.visibility = "hidden";
		    for (i=0;i<document._newInsurance.FzgType.length;i++) {
		        document._newInsurance.FzgType[i].checked = false;
		    }
		    document._newInsurance.FzgType[1].checked = true;
	    } else {
		    document.getElementById('FZGnew').style.visibility = "visible";
		    document.getElementById('FZGimport').style.visibility = "visible";
		    for (i=0;i<document._newInsurance.FzgType.length;i++) {
		        document._newInsurance.FzgType[i].checked = false;
		    }
		    document._newInsurance.FzgType[0].checked = true;
		    SMREndDate();
	    }


	    if (mileage*1 > 10000 && age*1 <= 6) {
		    document.getElementById('FZGnew').style.visibility = "hidden";
		    document.getElementById('FZGimport').style.visibility = "hidden";
		    for (i=0;i<document._newInsurance.FzgType.length;i++) {
		        document._newInsurance.FzgType[i].checked = false;
		    }
		    document._newInsurance.FzgType[1].checked = true;
	    }

        if (age*1 <= 24 && mileage*1 <= 25000 && mileage*1 != 0) {
		    var retval = ajaxpagesync("ajax/checkSMR.php?kzfid="+kfzid+"&partner="+partner+"&age="+age+"&mileage="+mileage);
		    var retarr = retval.split(",");
		    if (retarr[0]*1 == 1) {
		        document.getElementById('SMRCalc').style.visibility = 'visible';
		        document._newInsurance.tck_id.value = retarr[1];
		        document._newInsurance.SMRleistung.disabled = false;
                document._newInsurance.SMRleistung.options[0].selected = true;
                if (retarr[2]*1 == 3 || retarr[2]*1 == 4) {
                    document.getElementById('guaranty_contract_table').style.visibility = 'hidden';
                    document._newInsurance.SMRleistung.disabled = true;
                    document._newInsurance.SMRleistung.options[1].selected = true;
                }
            } else {
		        document.getElementById('SMRCalc').style.visibility = 'hidden';
		        document._newInsurance.SMRleistung.options[2].selected = true;
		    }

        
        
	    }
//    }
}

function SMRCalc() {
    var miles = document._newInsurance.yearlymiles;
    var cmiles = document._newInsurance.contractmiles;
    var price = document._newInsurance.SMRPrice;
    var fzkey = document._newInsurance.car_id.value;
    var tck_id = document._newInsurance.tck_id.value;

    for (i=0;i<document._newInsurance.SMRDuration.length;i++) {
        if (document._newInsurance.SMRDuration[i].checked == true) {
            var cduration = document._newInsurance.SMRDuration[i].value;
        }
    }
    for (i=0;i<document._newInsurance.FzgType.length;i++) {
        if (document._newInsurance.FzgType[i].checked == true) {
            var ctype = document._newInsurance.FzgType[i].value;
        }
    }

    cmiles.value = (miles.value*1*cduration*1)/12

    if (cmiles.value > 100000) {

        alert("Maximale Vertragslaufleistung ueberschritten");
        document._newInsurance.SMRPrice.value = 0;
        document._newInsurance.smrcode.value = 0;
        document._newInsurance.smrvarigroup.value = 0;
        document._newInsurance.smrmodll.value = 0;
        document._newInsurance.smrmodlz.value = 0;
    } else {

        var retval = ajaxpagesync("ajax/SMRGetPrice.php?ctype="+ctype+"&fzkey="+fzkey+"&ll="+cmiles.value+"&lz="+cduration+"&tck_id="+tck_id);
        var arr = retval.split(",");
        var price = kaufm(arr[0])
        document._newInsurance.SMRPrice.value = price;
        document._newInsurance.SMRPriceMonth.value = roundNumber(price*1/12,2);
        document._newInsurance.smrcode.value = arr[1];
        document._newInsurance.smrvarigroup.value = arr[2];
        document._newInsurance.smrmodll.value = arr[3];
        document._newInsurance.smrmodlz.value = arr[4];
//        document.getElementById('SMRDebug').innerHTML = "Preis (Basis): "+arr[5]+"<br>Preis (Ungerundet): "+arr[0]+"<br>Tarif: "+arr[1]+"<br>VariGroup: "+arr[2]+"<br>Modifier_LL: "+arr[3]+"<br>Modifier_LZ: "+arr[4]+"<br>FS: "+arr[6]+"<br>MG: "+arr[7]+"<br>AD: "+arr[8]+"<br>Total Zusatz: "+arr[9]+"<br>Zusatz mit 5%: "+arr[10];

        return true;
    }
}

function ajaxpagesync(url) {
        var page_request = false
        if (window.XMLHttpRequest) // if Mozilla, Safari etc
                page_request = new XMLHttpRequest()
        else if (window.ActiveXObject){ // if IE
                try {
                        page_request = new ActiveXObject("Msxml2.XMLHTTP")
                }
                catch (e){
                        try{
                                page_request = new ActiveXObject("Microsoft.XMLHTTP")
                        }
                        catch (e){}
                }
        }
        else {
                return false
        }

        bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

        page_request.open('GET', url+bustcacheparameter, false) // this false makes it sync
        page_request.send(null)
        page_request.onreadystatechange = function() {
                if ((page_request.readyState == 4) && (page_request.status == 200)) {
                    return page_request.responseText;

                }
        }
        return page_request.responseText;
}
function roundNumber(num,dec) {
    return Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
}
function kaufm(x) {
  var k = (Math.round(x * 20) / 20).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
}

function SMRCheckDate() {
    var tempStartDate = document._newInsurance.smrbegin.value;
    var startArray = tempStartDate.split("/");
    var startDate = new Date(startArray[1]+"/"+startArray[0]+"/"+startArray[2]);
    var today = new Date();
    var difference = today - startDate;

    var days = Math.round(difference/(1000*60*60*24));
    if (days >= 12) {
        alert(invalidStart);
        document._newInsurance.smrends.value = '';
    }
}

function SMREndDate() {
    //date has to be in format DD/MM/YYYY

    currentdate = document._newInsurance.smrbegin.value;
    for (i=0;i<document._newInsurance.SMRDuration.length;i++) {
        if (document._newInsurance.SMRDuration[i].checked == true) {
            var addMonths = document._newInsurance.SMRDuration[i].value;
        }
    }

    addMonths = addMonths * 1;

    var datearray = currentdate.split("/")
    var day = datearray[0];
    var month = datearray[1];
    var year = datearray[2];

    switch (addMonths) {
        case 12:
            year++;
            month = month * 1;
            day = day * 1;
            day--;
            if (month < 1) {
                month = 12;
                year--;
            }
            if (day < 1) {
                month--;
                day = daysInMonth(month,year);

            }
            break;
        case 24:
            year++;
            year++;
            day = day * 1;
            month = month * 1;
            day--;
            if (day < 1) {
                day = daysInMonth(month,year);
            }
            break;
        case 36:
            year++;
            year++;
            year++;
            day = day * 1;
            month = month * 1;
            day--;
            if (day < 1) {
                day = daysInMonth(month,year);
            }

            break;
        case 48:
            year++;
            year++;
            year++;
            year++;
            day = day * 1;
            month = month * 1;
            day--;
            if (day < 1) {
                day = daysInMonth(month,year);
            }
            break;
        case 60:
            year++;
            year++;
            year++;
            year++;
            year++;
            day = day * 1;
            month = month * 1;
            day--;
            if (day < 1) {
                day = daysInMonth(month,year);
            }
            break;
        default:
            break;
    }

    if (month < 10) {
        month = '0' + month;
    }
    if (day < 10) {
        day = '0' + day;
    }

    document._newInsurance.smrends.value  = day + "/" + month + "/" + year;
}

function SMR_toggleGuarantyTable() {
    var lst = document._newInsurance.SMRleistung.value;
    if (lst*1 == 1) {//smr only
        document.getElementById('guaranty_contract_table').style.visibility = 'hidden';
    } else {
        document.getElementById('guaranty_contract_table').style.visibility = 'visible';
    }

    if (lst*1 == 0) {
        document.getElementById('SMRCalc').style.visibility = 'hidden';
    } else {
        document.getElementById('SMRCalc').style.visibility = 'visible';
    }
}

