﻿var spanPrice = document.getElementById("bPrice");
var minPrice = 0;
var startLeftPosition = 0;
var startRightPosition = 44;

function createPriceSlider() {
    var sliderDiv = $("#slider-price");
    if (!(sliderDiv.hasClass('ui-slider'))) {
        $(function () {
            sliderDiv.slider({
                range: true,
                min: 0,
                max: 50,
                values: [startLeftPosition, startRightPosition],
                slide: function (event, ui) {
                    showPrice(modifyPrice(ui.values));
                }
            });
        });
    }
}
createPriceSlider();

function modifyPrice(values) {
    var newValues = new Array();
    newValues[0] = values[0] * priceStepInt * 2;
    newValues[1] = values[1] * priceStepInt * 2;
    return newValues;
}

function showPrice(values) {
    valueChanged(values, minPrice, maxPrice, spanPrice, function (e) { return getPriceString(e); }, sliderAnyJenStr);
}

//shows slider string
var leftVal = 0;
var rightVal = 0;
var leftStr = 0;
var rightStr = 0;
var isMinVal = false;
var isMaxVal = false;
function valueChanged(values, min, max, span, method, any, upTo, andUp) {
    leftVal = values[0];
    rightVal = values[1];

    if (upTo == null)
        upTo = sliderUpToStr;
    if (andUp == null)
        andUp = sliderAndUpStr;
    isMinVal = leftVal == min;
    isMaxVal = rightVal == max;

    var href = "search/for-sale/?";
    if (!isMinVal)
        href += "minPrice=" + leftVal;
    if (!isMinVal && !isMaxVal)
        href += "&";
    if (!isMaxVal)
        href += "maxPrice=" + rightVal;
    $('#btnSearch').attr('href', href);

    leftStr = method != null ? method(leftVal) : leftVal;
    rightStr = method != null ? method(rightVal) : rightVal;

    if (isMinVal || isMaxVal) {
        if ((isMinVal && isMaxVal) || (leftVal == rightVal)) {
            span.innerHTML = any;
            return;
        }
        if (isMinVal) {
            span.innerHTML = upTo + " <b>" + rightStr + "</b>";
            return;
        }
        if (isMaxVal) {
            span.innerHTML = (andUp == "" ? (fromOnly + " ") : "") + "<b>" + leftStr + "</b> " + andUp;
            return;
        }
    }

    if (leftVal == rightVal)
        span.innerHTML = only + " <b>" + leftStr + "</b>";
    else
        span.innerHTML = from + " <b>" + leftStr + "</b> " + to + " <b>" + rightStr + "</b>";
}

var priceStr;
function getPriceString(val) {
    if (val >= 1000000)
        priceStr = val / 1000000 + mlnMarkStr;
    else if (val >= 1000)
        priceStr = val / 1000 + thousandMarkStr;
    else priceStr = val;
    return moneyMarkBeforeStr + priceStr + moneyMarkAfter;
}

showPrice(modifyPrice(new Array(startLeftPosition, startRightPosition)));

