﻿function fill_makes_models() {
    makes = "";
    $('#select_make_options input:checked').each(function () {
        makes += $(this).val() + ',';
    });
    makes = makes.substring(0, makes.length - 1);
    models = "";
    $('#select_model_options input:checked').each(function () {
        models += $(this).val() + ',';
    });
    models = models.substring(0, models.length - 1);
    var yearFrom = $('#select_year_options select[name=from]').val();
    var yearTo = $('#select_year_options select[name=to]').val();
    var mileageFrom = $('#select_mileage_options select[name=from]').val();
    var mileageTo = $('#select_mileage_options select[name=to]').val();
    var priceFrom = $('#select_price_options select[name=from]').val();
    var priceTo = $('#select_price_options select[name=to]').val();
//    var engineVolumeFrom = $('#select_engine_volume_options select[name=from]').val();
//    var engineVolumeTo = $('#select_engine_volume_options select[name=to]').val();
    $('#MakesHiddenField').val(makes);
    $('#ModelsHiddenField').val(models);
    $('#YearFromHiddenField').val(yearFrom);
    $('#YearToHiddenField').val(yearTo);
    $('#MileageFromHiddenField').val(mileageFrom);
    $('#MileageToHiddenField').val(mileageTo);
    $('#PriceFromHiddenField').val(priceFrom);
    $('#PriceToHiddenField').val(priceTo);
//    $('#EngineVolumeFromHiddenField').val(engineVolumeFrom);
//    $('#EngineVolumeToHiddenField').val(engineVolumeTo);
}

function get_filters(page_num, ordering, eds) {
    customers = "";
    if (urlParams['c'] != undefined) {
        customers = urlParams['c'];
    }
    makes = "";
    $('#select_make_options input:checked').each(function () {
        makes += $(this).val() + ',';
    });
    makes = makes.substring(0, makes.length - 1);
    models = "";
    $('#select_model_options input:checked').each(function () {
        models += $(this).val() + ',';
    });
    models = models.substring(0, models.length - 1);
    car_types = "";
    $('#select_car_type_options input:checked').each(function () {
        car_types += $(this).val() + ',';
    });
    var yearFrom = $('#select_year_options select[name=from]').val();
    var yearTo = $('#select_year_options select[name=to]').val();
    var mileageFrom = $('#select_mileage_options select[name=from]').val();
    var mileageTo = $('#select_mileage_options select[name=to]').val();
    var priceFrom = $('#select_price_options select[name=from]').val();
    var priceTo = $('#select_price_options select[name=to]').val();
    car_types = car_types.substring(0, car_types.length - 1);
    if (page_num == 0) {
        return '{ "Ads": "' + eds + '", "Customers": "' + customers + '", "Manufacturers": "' + makes + '", "Models": "' + models + '", "YearFrom": "' + yearFrom + '", "YearTo": "' + yearTo + '", "CarTypes": "' + car_types + '", "MileageFrom": "' + ((typeof mileageFrom === 'undefined') ? "0" : mileageFrom) + '", "MileageTo": "' + ((typeof mileageTo === 'undefined') ? "9999999" : mileageTo) + '", PriceFrom: "' + ((typeof priceFrom === 'undefined') ? "0" : priceFrom) + '", "PriceTo": "' + ((typeof priceTo === 'undefined') ? "9999999" : priceTo) + '"}';
    }
    else {
        return '{ "Ads": "' + eds + '", "Customers": "' + customers + '", "Manufacturers": "' + makes + '", "Models": "' + models + '", "YearFrom": "' + yearFrom + '", "YearTo": "' + yearTo + '", "CarTypes": "' + car_types + '", "MileageFrom": "' + ((typeof mileageFrom === 'undefined') ? "0" : mileageFrom) + '", "MileageTo": "' + ((typeof mileageTo === 'undefined') ? "9999999" : mileageTo) + '", PriceFrom: "' + ((typeof priceFrom === 'undefined') ? "0" : priceFrom) + '", "PriceTo": "' + ((typeof priceTo === 'undefined') ? "9999999" : priceTo) + '", "PageNum": "' + page_num + '", "Ordering": "' + ordering + '"}';
    }
}

function get_filters_url() {
    makes = "";
    $('#select_make_options input:checked').each(function () {
        makes += $(this).val() + ',';
    });
    makes = makes.substring(0, makes.length - 1);
    models = "";
    $('#select_model_options input:checked').each(function () {
        models += $(this).val() + ',';
    });
    models = models.substring(0, models.length - 1);

    var yearFrom = $('#select_year_options select[name=from]').val();
    var yearTo = $('#select_year_options select[name=to]').val();
    var mileageFrom = $('#select_mileage_options select[name=from]').val();
    var mileageTo = $('#select_mileage_options select[name=to]').val();
    var priceFrom = $('#select_price_options select[name=from]').val();
    var priceTo = $('#select_price_options select[name=to]').val();
    car_types = car_types.substring(0, car_types.length - 1);
    return 'makes=' + makes + '&models=' + models + '&year_from=' + yearFrom + '&year_to=' + yearTo + '&car_types=' + car_types + '&mileage_from=' + ((typeof mileageFrom === 'undefined') ? "0" : mileageFrom) + '&mileage_to=' + ((typeof mileageTo === 'undefined') ? "9999999" : mileageTo) + '&price_from=' + ((typeof priceFrom === 'undefined') ? "0" : priceFrom) + '&price_to=' + ((typeof priceTo === 'undefined') ? "9999999" : priceTo);

}

function get_filters_names() {
    var filters = new Object(), makes = new Array(), models = new Array(), car_types = new Array();
    $('#select_make_options input:checked').each(function () { makes.push($('label[for=' + this.id + ']').html()); });
    $('#select_model_options input:checked').each(function () { models.push($('label[for=' + this.id + ']').html()); });
    $('#select_car_type_options input:checked').each(function () { car_types.push($('label[for=' + this.id + ']').html()); });
    var yearFrom = $('#select_year_options select[name=from]').val();
    var yearTo = $('#select_year_options select[name=to]').val();
    var mileageFrom = $('#select_mileage_options select[name=from]').val();
    var mileageTo = $('#select_mileage_options select[name=to]').val();
    var priceFrom = $('#select_price_options select[name=from]').val();
    var priceTo = $('#select_price_options select[name=to]').val();
    filters = { makes: makes, models: models, car_types: car_types, year_from: yearFrom, year_to: yearTo, mileage_from: mileageFrom, mileage_to: mileageTo, price_from: priceFrom, price_to: priceTo };
    return filters;
}

function get_filters_ids() {
    var filters = new Object(), makes = new Array(), models = new Array();
    $('#select_make_options input:checked').each(function () { makes.push($(this).val()); });
    $('#select_model_options input:checked').each(function () { models.push($(this).val()); });
    var yearFrom = $('#select_year_options select[name=from]').val();
    var yearTo = $('#select_year_options select[name=to]').val();
    var mileageFrom = $('#select_mileage_options select[name=from]').val();
    var mileageTo = $('#select_mileage_options select[name=to]').val();
    var priceFrom = $('#select_price_options select[name=from]').val();
    var priceTo = $('#select_price_options select[name=to]').val();
    filters = { MakesList: makes, ModelsList: models, YearFrom: yearFrom, YearTo: yearTo, MileageFrom: mileageFrom, MileageTo: mileageTo, PriceFrom: priceFrom, PriceTo: priceTo };
    return filters;
}

var urlParams = {};
(function () {
    var e,
        a = /\+/g,  // Regex for replacing addition symbol with a space
        r = /([^&=]+)=?([^&]*)/g,
        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
        q = window.location.search.substring(1);

    while (e = r.exec(q))
        urlParams[d(e[1])] = d(e[2]);
})();

function set_filters(makes, models, car_types, year_from, year_to, mileage_from, mileage_to, price_from, price_to) {
    $.each(makes, function(i, obj) {
         $('#make_' + obj).attr("checked", "true").triggerHandler("click");
    });
    $.each(models, function(i, obj) {
         $('#model_' + obj).attr("checked", "true").triggerHandler("click");
    });
    $.each(car_types, function(i, obj) {
         $('#car_type_' + obj).attr("checked", "true").triggerHandler("click");
    });
    $('#select_year_options').find('select[name=from]').val(year_from);
    $('#select_year_options').find('select[name=from]').trigger('change');
    $('#select_year_options').find('select[name=to]').val(year_to);
    $('#select_year_options').find('select[name=to]').trigger('change');
    $('#select_mileage_options').find('select[name=from]').val(mileage_from);
    $('#select_mileage_options').find('select[name=from]').trigger('change');
    $('#select_mileage_options').find('select[name=to]').val(mileage_to);
    $('#select_mileage_options').find('select[name=to]').trigger('change');
    $('#select_price_options').find('select[name=from]').val(price_from);
    $('#select_price_options').find('select[name=from]').trigger('change');
    $('#select_price_options').find('select[name=to]').val(price_to);
    $('#select_price_options').find('select[name=to]').trigger('change');
}

function count_eds(eds) {
    $.ajax({ type: "POST", url: "Test.asmx/CountAdsTest", data: get_filters(0, '', eds), contentType: "application/json; charset=utf-8", dataType: "json", success: count_success });
}

function send_lead(acc_id) {
    $.ajax({ type: "POST", url: "Test.asmx/SendLead", data: '{AccountingId: ' + acc_id + '}', contentType: "application/json; charset=utf-8", dataType: "json", success: send_lead_success });
}

function send_lead_user(acc_id) {
    $.ajax({ type: "POST", url: "../Test.asmx/SendLead", data: '{AccountingId: ' + acc_id + '}', contentType: "application/json; charset=utf-8", dataType: "json", success: send_lead_success });
}

function send_lead_success(msg) {
    //alert(msg.d);
}

function count_success(msg) {
    $("#meter_bar_tr").html(msg.d);
    $('.number span').each(function (index, value) {
        if (index != 0) {
            number_of_eds = number_of_eds + Math.pow(10, index) * parseInt(value.innerHTML);
        }
        else {
            number_of_eds = parseInt(value.innerHTML);
        }
    });
}

function get_eds(page, eds) {
    var ordered = $('#classifieds_list .Ordered').attr('id');
    if (ordered != undefined) {
        if ($('#classifieds_list .Ordered').hasClass('ASC')) {
            ordered = ordered.replace('Sort', '') + ' ASC';
        }
        else {
            ordered = ordered.replace('Sort', '') + ' DESC';
        }
    }
    else { ordered = '' }
    if (eds == '') {
        $.ajax({ type: "POST", url: "Test.asmx/GetAds", data: get_filters(page, ordered, eds), contentType: "application/json; charset=utf-8", dataType: "json", success: update_board });
    }
    else {
        $.ajax({ type: "POST", url: "Test.asmx/GetAds", data: get_filters(page, ordered, eds), contentType: "application/json; charset=utf-8", dataType: "json", success: update_board_open_eds });
    }
}

function update_board(msg) {
    var ddd = eval('(' + msg.d + ')');
    current_messages = {};
    var eds = "";
    for (i = 0; i < ddd.my.length; i++) {
        current_messages[ddd.my[i].Id] = ddd.my[i];
        if (selected_messages[ddd.my[i].Id] == undefined) {
            ddd.my[i].Checked = '';
        }
        else {
            ddd.my[i].Checked = 'checked';
        }
        eds += $('#template').jqote(ddd.my[i]);
        if (i == -14) {
            eds += '<div style="margin: 15px 0px;"><iframe id=\'af1d942e\' name=\'af1d942e\' src=\'http://nimcar.co.il/openx/www/delivery/afr.php?zoneid=6&amp;cb=INSERT_RANDOM_NUMBER_HERE\' frameborder=\'0\' scrolling=\'no\' width=\'570\' height=\'95\'><a href=\'http://nimcar.co.il/openx/www/delivery/ck.php?n=ae4f55d0&amp;cb=INSERT_RANDOM_NUMBER_HERE\' target=\'_blank\'><img src=\'http://nimcar.co.il/openx/www/delivery/avw.php?zoneid=6&amp;cb=INSERT_RANDOM_NUMBER_HERE&amp;n=ae4f55d0\' border=\'0\' alt=\'\' /></a></iframe></div>';
        }
    }
    if (i <= -14) {
        eds += '<div style="margin: 15px 0px;"><iframe id=\'af1d942e\' name=\'af1d942e\' src=\'http://nimcar.co.il/openx/www/delivery/afr.php?zoneid=6&amp;cb=INSERT_RANDOM_NUMBER_HERE\' frameborder=\'0\' scrolling=\'no\' width=\'570\' height=\'95\'><a href=\'http://nimcar.co.il/openx/www/delivery/ck.php?n=ae4f55d0&amp;cb=INSERT_RANDOM_NUMBER_HERE\' target=\'_blank\'><img src=\'http://nimcar.co.il/openx/www/delivery/avw.php?zoneid=6&amp;cb=INSERT_RANDOM_NUMBER_HERE&amp;n=ae4f55d0\' border=\'0\' alt=\'\' /></a></iframe></div>';
    } 
    if (ddd.my.length == 0) {
        $('#eds_table').html('<span dir="rtl">לא נמצאו מודעות.</span><br/><br/>');
    }
    else {
        $('#eds_table').html(eds);
    }

    $('.from_page').html((current_page - 1) * 25 + 1);
    if (ddd.my.length < 25) {
        $('.to_page').html((current_page - 1) * 25 + ddd.my.length);
    }
    else {
        $('.to_page').html(current_page * 25);
    }
    $('.total_number').html(number_of_eds);

    if (current_page == 1) {
        $('#prev_page_button').addClass('disabled');
    }
    else { $('#prev_page_button').removeClass('disabled'); }

    if (current_page * 25 >= number_of_eds) {
        $('#next_page_button').addClass('disabled');
    }
    else { $('#next_page_button').removeClass('disabled'); }
    filters_changed = false;
    $('.lead_name').watermark('שם');
    $('.lead_phone').watermark('טלפון');
    $('.lead_phone, .lead_phone_2').keydown(function (event) {
        // Allow only backspace and delete
        if (event.keyCode == 46 || event.keyCode == 8) {
            // let it happen, don't do anything
        }
        else {
            // Ensure that it is a number and stop the keypress
            if (event.keyCode < 48 || event.keyCode > 57 && event.keyCode < 96 || event.keyCode > 105) {
                event.preventDefault();
            }
            if ($(this).val().length >= 7)
                event.preventDefault();
        }
    });
    $('.lead_phone_2').watermark('טלפון נוסף');
    $('.lead_prefix .lead_prefix_2').watermark('קידומת');
    $('.lead_location').watermark('איזור בארץ');
    $('.lead_mail').watermark('מייל');
    $('.ed_title_checkbox').click(function (event) {
        if ($(this).children().attr('checked')) {
            selected_messages[$(this).children().attr('id')] = current_messages[$(this).children().attr('id')];
        }
        else {
            delete selected_messages[$(this).children().attr('id')];
        }
        event.stopPropagation();
    });
    $(".block_tr").corner();
    $(".block_tl").corner();
    $(".block_br").corner();
    $(".all_cars_link").corner("5px");		
    var aaa = get_filters_names();
    var bbb = (aaa.makes.length > 0) ? aaa.makes.join(', ') : "";
    bbb += (aaa.models.length > 0) ? ' | ' + aaa.models.join(', ') : "";
    bbb += (aaa.year_from != -1) ? ' | ' + aaa.year_from : '';
    bbb += (aaa.year_to != -1) ? ' - ' + aaa.year_to : '';
    bbb += (aaa.car_types.length > 0) ? ' | ' + aaa.car_types.join(', ') : "";
    bbb += (aaa.mileage_from != -1) ? ' | ' + aaa.mileage_from : '';
    bbb += (aaa.mileage_to != -1) ? ' - ' + aaa.mileage_to : '';
    bbb += (aaa.price_from != -1) ? ' | ' + aaa.price_from : '';
    bbb += (aaa.price_to != -1) ? ' - ' + aaa.price_to : '';
    $('#show_search_data').html(bbb);
}

function update_board_open_eds(msg) {

    var ddd = eval('(' + msg.d + ')');
    current_messages = {};
    var eds = "";
    for (i = 0; i < ddd.my.length; i++) {
        current_messages[ddd.my[i].Id] = ddd.my[i];
        if (selected_messages[ddd.my[i].Id] == undefined) {
            ddd.my[i].Checked = '';
        }
        else {
            ddd.my[i].Checked = 'checked';
        }

        eds += $('#template').jqote(ddd.my[i]);
    }
    if (ddd.my.length == 0) {
        $('#eds_table').html('<span dir="rtl">לא נמצאו מודעות.</span><br/><br/>');
    }
    else {
        $('#eds_table').html(eds);
    }

    $('.ed_title').each(function () {
        $(this).find('img').attr("src", "Images/classified_details_open.png");
        $(this).parent().css("background-image", "url('images/open_car_back.png')");
        $(this).parent().css("height", "454px");
        $(this).next().show();
        $(this).next().find('.panel_message').hide();
        $(this).next().find('.panel_details').show();
    });

    var details_click = {};
    details_click.ed_id = $(this).next().find('.ed_id').html();
    details_click.AffiliateId = getCookie('AffiliateId');
    details_click.AffiliateId = (details_click.AffiliateId == '') ? 0 : details_click.AffiliateId;
    details_click.LeadOrClick = 1;
    details_click.name = '';
    details_click.phone = '';
    details_click.phone2 = '';
    details_click.location = '';
    details_click.email = '';

    $.ajax({
        type: "POST",
        url: "Test.asmx/SaveClickOrLead",
        data: JSON.stringify(details_click),
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    });

    $('.from_page').html((current_page - 1) * 25 + 1);
    if (ddd.my.length < 25) {
        $('.to_page').html((current_page - 1) * 25 + ddd.my.length);
    }
    else {
        $('.to_page').html(current_page * 25);
    }
    $('.total_number').html(number_of_eds);

    if (current_page == 1) {
        $('#prev_page_button').addClass('disabled');
    }
    else { $('#prev_page_button').removeClass('disabled'); }

    if (current_page * 25 >= number_of_eds) {
        $('#next_page_button').addClass('disabled');
    }
    else { $('#next_page_button').removeClass('disabled'); }
    filters_changed = false;
    $('.lead_name').watermark('שם');
    $('.lead_phone').watermark('טלפון');
    $('.lead_phone, .lead_phone_2').keydown(function (event) {
        // Allow only backspace and delete
        if (event.keyCode == 46 || event.keyCode == 8) {
            // let it happen, don't do anything
        }
        else {
            // Ensure that it is a number and stop the keypress
            if (event.keyCode < 48 || event.keyCode > 57 && event.keyCode < 96 || event.keyCode > 105) {
                event.preventDefault();
            }
            if ($(this).val().length >= 7)
                event.preventDefault();
        }
    });
    $('.lead_phone_2').watermark('טלפון נוסף');
    $('.lead_prefix .lead_prefix_2').watermark('קידומת');
    $('.lead_location').watermark('איזור בארץ');
    $('.lead_mail').watermark('מייל');
    $('.ed_title_checkbox').click(function (event) {
        if ($(this).children().attr('checked')) {
            selected_messages[$(this).children().attr('id')] = current_messages[$(this).children().attr('id')];
        }
        else {
            delete selected_messages[$(this).children().attr('id')];
        }
        event.stopPropagation();
    });
    $(".block_tr").corner();
    $(".block_tl").corner();
    $(".block_br").corner();
    $(".all_cars_link").corner("5px");
    var aaa = get_filters_names();
    var bbb = (aaa.makes.length > 0) ? aaa.makes.join(', ') : "";
    bbb += (aaa.models.length > 0) ? ' | ' + aaa.models.join(', ') : "";
    bbb += (aaa.year_from != -1) ? ' | ' + aaa.year_from : '';
    bbb += (aaa.year_to != -1) ? ' - ' + aaa.year_to : '';
    bbb += (aaa.car_types.length > 0) ? ' | ' + aaa.car_types.join(', ') : "";
    bbb += (aaa.mileage_from != -1) ? ' | ' + aaa.mileage_from : '';
    bbb += (aaa.mileage_to != -1) ? ' - ' + aaa.mileage_to : '';
    $('#show_search_data').html(bbb);
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i = 0; i < string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum, rnum + 1);
    }
    return randomstring;
}

