﻿/*
var lastradbut;
var lasttdtitle;
var last;
var pId = 0;
var n = 0;
var lastddldisabled;
*/
var chId = 0;
var Id = 0;
var lastobjclick;
var curobj;
var startprice;
var checked;
var chboxcurvalue = 0;
var rbutcurvalue = 0;
var curvalue = 0;
var onetimepayment = 0;
var sum = 0;
var lastprice = 0;
var curcheckbox = "";

function getParenttd(el, parentTagName) {
    var obj = el;
    while (obj.tagName !== parentTagName) {
        obj = obj.parentNode;
    }
    return obj;
}


function calculate(obj, objId) {
    Id = objId;
    lastobjclick = obj;
    if (obj.type == "radio") {
        var tagname = "select";
        var ftr = document.getElementById("ftrtarif_" + objId);
        var str = document.getElementById("strtarif_" + objId);
        if (ftr != undefined && str != undefined) {
            ftr.bgColor = "#E5E5E5";
            str.bgColor = "#E5E5E5";
            curobj = obj;
            disabled(ftr, tagname, false);
        }
        if (chId != 0) {
            var ftrtarif = document.getElementById("ftrtarif_" + chId);
            ftrtarif.bgColor = "white";
            var strtarif = document.getElementById("strtarif_" + chId);
            strtarif.bgColor = "white"
            disabled(ftrtarif, tagname, true);
        }
        if (objId != 20 & objId != 21)
        showdetails(chId, objId);
        chId = objId;
    }
    else if (obj.type == "checkbox" && obj.id == "ConCheckboxBut_" + objId) {
        calcconnectioncost(obj, objId);
        var trconcost = document.getElementById("concost" + objId);
        if (trconcost != undefined && obj.checked) {
            trconcost.bgColor = "#E5E5E5";
        }
        else trconcost.bgColor = "white";
    }
    else if (obj.type == "checkbox") {
        tagname = "input";
        checked = obj.checked;
        curcheckbox = obj;
        var ftrserv = document.getElementById("ftrserv_" + objId);
        //var strserv = document.getElementById("strserv_" + objId);
        if (ftrserv != undefined && checked) {
            ftrserv.bgColor = "#E5E5E5";
            disabled(ftrserv, tagname, false);
        }
        else if (ftrserv != undefined && !checked) {
            ftrserv.bgColor = "white";
            disabled(ftrserv, tagname, true);
        }
    }
}

function calcconnectioncost(obj, Id) {
    var newvalue = obj.value;
    if (obj.checked) {
        onetimepayment += parseInt(newvalue);
    }

    else {
        onetimepayment -= parseInt(newvalue);
    }
    displayresult(onetimepayment);
}

function showdetails(chId, Id) {
    if (chId != null && chId != undefined && chId != 0) {
        var chdetails = document.getElementById("more" + chId);
        chdetails.className = "hovernewsdiv";
        var details = document.getElementById("more" + Id);
        details.className = "moredetails";
        showinvisiblediv();
    }
    else {
        var details = document.getElementById("more" + Id);
        details.className = "moredetails";
        showinvisiblediv();
    }
}

function showinvisiblediv() {
    var invisiblediv = document.getElementById("invisiblediv");
    invisiblediv.className = "visiblelayer";
}

function disabled(trtag, tagname, disabled) {
    var ctrl = trtag.getElementsByTagName(tagname);
    for (var m = 0; m < ctrl.length; m++) {
        if (ctrl[m].tagName == "SELECT") {
            ctrl[m].disabled = disabled;
            if (!disabled) {

                var select = ctrl[m];
                changeprice(select.id, Id);
            }
        }
        else if (ctrl[m].tagName == "INPUT" && ctrl[m].type == "text") {
            ctrl[m].disabled = disabled;
            var textbox = ctrl[m];
            textboxchange(textbox, Id);
        }
    }
}

function textboxchange(textbx, curId) {
    var pricectrl = document.getElementById("chprice_" + curId);
    checked = document.getElementById("CheckboxBut_" + curId).checked;
    Id = curId;
    var startprice = "";
    if (document.all)
        var inertext = pricectrl.innerText;
    else
        var inertext = pricectrl.textContent;
    var price = inertext;
    lastprice = price;
    displayresult(checkboxcalc(textbx, pricectrl));
}

function checkboxcalc(textbx, pricectrl) {
    var newvalue;
    var price = "";
    var inertext;
    var tbxvalue = textbx.value;
    if (document.all) {
        inertext = pricectrl.innerText;
    } else {
        inertext = pricectrl.textContent;
    }

    price = inertext;
    switch (Id) {
        case 1: startprice = 30;
            break;
        case 2: startprice = 72;
            break;
        case 3: startprice = 42;
            break;
        case 4: startprice = 24;
            break;
        case 5: startprice = 300;
            break;
        case 6: startprice = 60;
            break;
        case 7: startprice = 72;
            break;
        case 8: startprice = 30;
            break;
        case 9: startprice = 420;
            break;
        case 10: startprice = 240;
            break;
        case 20: startprice = 49;
            break;
        case 21: startprice = 80;
            break;
        default: startprice = 0;
            //startprice = price; 
    }
    newvalue = tbxvalue * startprice;
    if (checked && tbxvalue != 1) {
        if (Id != 9 && Id != 10 && price == startprice)
            chboxcurvalue = chboxcurvalue - startprice;
        else if (onetimepayment != 0)
            onetimepayment = onetimepayment - startprice;
    }
    //n++;
    pricectrl.innerHTML = "<span class='price'>" + newvalue + "</span>"

    //displayresult(newvalue);
    if (Id != 9 && Id != 10) {
        if (checked) {
            chboxcurvalue += parseInt(newvalue);
        }
        else
            chboxcurvalue -= parseInt(newvalue);
        if (newvalue < lastprice)
            chboxcurvalue -= lastprice;
        return chboxcurvalue;
    }
    else {
        if (checked) {
            onetimepayment += parseInt(newvalue);
            if (newvalue < lastprice)
                onetimepayment -= lastprice;
        }
        else {
            onetimepayment -= parseInt(newvalue);
        }
        return onetimepayment;
    }

}

function changeprice(ddlobjId, Id) {
    pId = Id;
    var ddlobj = document.getElementById(ddlobjId);
    var val = ddlobj.value;
    var newval = 0;
    if (Id == "1") {
        switch (val) {
            case "256": newval = 60;
                break;
            case "512": newval = 90;
                break;
            case "1024": newval = 120;
                break;
            case "2048": newval = 180;
                break;
            case "4096": newval = 220;
                break;
            default: newval = "по договору";
        }
    }
    else if (Id == "2") {
        switch (val) {
            //case "256": newval = 100;  
            //    break;  
            case "512": newval = 160;
                break;
            case "1024": newval = 240;
                break;
            case "2048": newval = 320;
                break;
            case "4096": newval = 400;
                break;
            default: newval = "по договору";
        }
    }

    else if (Id == "20") {
        switch (val) {
            case "1024": newval = 49;
                break;
            case "2048": newval = 90;
                break;
            case "4096": newval = 150;
                break;
            default: newval = 49;
        }
    }

    else if (Id == "21") {
        switch (val) {
            case "2048": newval = 80;
                break;
            default: newval = 80;
        }
    }

    rbutcurvalue = newval;
    displaychangedprice(newval);
}

function displaychangedprice(changedprice) {
    //rbutcurvalue = changedprice;
    var val = parseInt(changedprice);
    if (!isNaN(val)) {
        displayresult(changedprice);
    }
    else {
        rbutcurvalue = 0;
        displayresult(changedprice);
    }
    if (changedprice != "по договору")
        document.getElementById("price_" + pId).innerHTML = "<span class='price'>" + changedprice + "</span>"
    else
        document.getElementById("price_" + pId).innerHTML = "<span class='price'>" + changedprice + "</span>"
    //changedprice = 0;
    //curvalue = changedprice;
}

function displayresult(value) {
    if (Id != 9 && Id != 10 && lastobjclick.id != "ConCheckboxBut_" + Id) {
        calcsum(value);
        if (value != "по договору")
            document.getElementById("calcresult").innerHTML = curvalue + " грн.";
        else
            document.getElementById("calcresult").innerHTML = curvalue;
    }
    else {
        document.getElementById("onetimepayment").innerHTML = value + " грн.";
    }
}
function calcsum(val) {
    if (val == "по договору") {
        sum = 0;
        curvalue = val;
    }
    else {
        sum = rbutcurvalue + chboxcurvalue;
        curvalue = sum;
    }
}


