﻿jQuery.noConflict();

function horizontalsHandler() {
    if (vehType == vehCarType) {
        fillModels(document.getElementById(clientIds.ddlBrand).value);
    }
}

function ddlBrand_Changed() {
    horizontalsHandler();
}

function fillModels(brand) {
    var page = pageName.substr(1, pageName.length);
    a = page.split("/");
    page = a[a.length - 1];
    $.ajax({
        type: "POST",
        url: page + "/GetModelsByBrand",
        data: "{'vehType': '" + document.getElementById(clientIds.hidEurotaxVehType).value + "', " +
                   "'brand': '" + brand + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            var result = msg.d;
            document.getElementById(clientIds.lstModels).options.length = 0;
            document.getElementById(clientIds.lstModels).selectedIndex = -1;
            for (x in result) {
                var optn = document.createElement("OPTION");
                optn.text = result[x].Model_description;
                optn.value = result[x].ModelID;
                document.getElementById(clientIds.lstModels).options.add(optn);
            }
        }
    });
}

function btnVoegToe_OnClick() {
    var count = 0;

    jQuery('#' + clientIds.lstModels + ' :selected').map(function() {
        count = count + 1;
    });

    if (count > 0) {
        jQuery('#' + clientIds.lstModels + ' :selected').map(function() {
            if (jQuery(this).val() != '-1') {
                var exists = jQuery("#" + clientIds.lstChoosenModels + " option[value=" + jQuery('#' + clientIds.ddlBrand + ' option:selected').val() + "|" + jQuery(this).val() + ";" + "]").text();
                if ((jQuery(this).val() != 0) && ((jQuery('#' + clientIds.ddlBrand + ' option:selected').text() + " " + jQuery(this).text()) != exists)) {
                    var optn = document.createElement("OPTION");
                    optn.text = jQuery('#' + clientIds.ddlBrand + ' option:selected').text() + " " + jQuery(this).text();
                    optn.value = jQuery('#' + clientIds.ddlBrand + ' option:selected').val() + "|" + jQuery(this).val() + ";";
                    document.getElementById(clientIds.lstChoosenModels).options.add(optn);
                }
            }
        });
    }
    else {
        var brands = jQuery('#' + clientIds.ddlBrand + ' option:selected').val() + "|";
        var models = '';
        jQuery("#" + clientIds.lstModels + " option").each(function(i) {
            if (i != 0) {
                models = models + jQuery(this).val() + ';';
            }

        });
        var exists = jQuery("#" + clientIds.lstChoosenModels + " option[value=" + brands + models + "]").text();
        if ((jQuery('#' + clientIds.ddlBrand + ' option:selected').val() != '-1') && (jQuery('#' + clientIds.ddlBrand + ' option:selected').text() != exists)) {
            var optn = document.createElement("OPTION");
            optn.text = jQuery('#' + clientIds.ddlBrand + ' option:selected').text();
            optn.value = brands + models;
            document.getElementById(clientIds.lstChoosenModels).options.add(optn);
        }
    }
    fillHidFields();
}

function btnWis_OnClick() {
    jQuery('#' + clientIds.lstChoosenModels + ' option:selected').remove();
    fillHidFields();
}

function btnWisAlle_OnClick() {
    if (document.getElementById(clientIds.lstChoosenModels) != null)
        document.getElementById(clientIds.lstChoosenModels).options.length = 0;
    if (document.getElementById(clientIds.hidSelectedModels) != null)
        document.getElementById(clientIds.hidSelectedModels).value = '';
    if (document.getElementById(clientIds.hidSelectedBrands) != null)
        document.getElementById(clientIds.hidSelectedBrands).value = '';
}

function fillHidFields() {
    document.getElementById(clientIds.hidSelectedBrands).value = '';
    document.getElementById(clientIds.hidSelectedModels).value = '';
    jQuery("#" + clientIds.lstChoosenModels + " option").each(function(i) {
        var a = jQuery(this).val().split("|");
        document.getElementById(clientIds.hidSelectedBrands).value = doesExits(document.getElementById(clientIds.hidSelectedBrands).value, a[0] + ";");
        document.getElementById(clientIds.hidSelectedModels).value = doesExits(document.getElementById(clientIds.hidSelectedModels).value, a[1]);
    });
}

function doesExits(hidList, newValue) {
    var result;
    a = hidList.split(";");
    var mybool = true;

    for (var str = 0; str < a.length; str++) {
        if (a[str] == newValue.substr(0, newValue.length - 1)) {
            mybool = false;
        }
    }

    if (mybool == true) {
        result = hidList + newValue;
    }
    else {
        result = hidList;
    }


    return result;
}

function fillChoosenBrandAndModel() {
    if (document.getElementById(clientIds.hidSelectedModels).value != '') {
        fillChoosenModels();
    }
}

function fillChoosenModels() {
    var modellst = document.getElementById(clientIds.hidSelectedModels).value;
    var page = pageName.substr(1, pageName.length);
    a = page.split("/");
    page = a[a.length - 1];
    $.ajax({
        type: "POST",
        url: page + "/GetModelsByIds",
        data: "{'models': '" + modellst + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            var result = msg.d;
            document.getElementById(clientIds.lstChoosenModels).options.length = 0;
            document.getElementById(clientIds.lstChoosenModels).selectedIndex = -1;
            for (x in result) {
                var optn = document.createElement("OPTION");
                var text = result[x].Make_description + " " + result[x].Model_description;
                var val = result[x].MakeID + "|" + result[x].ModelID + ";";

                optn.text = text;
                optn.value = val;
                document.getElementById(clientIds.lstChoosenModels).options.add(optn);
            }
        }
    });
}

function pageLoad() {
    fillChoosenBrandAndModel();
}