var cities = {};
cities['1'] = {'name' : 'Абакан', 'val': parseFloat('28.6')};
cities['2'] = {'name' : 'Актюбинск (Актобе)', 'val': parseFloat('81.52')};
cities['3'] = {'name' : 'Алматы', 'val': parseFloat('58.84')};
cities['4'] = {'name' : 'Анапа', 'val': parseFloat('13.7')};
cities['5'] = {'name' : 'Архангельск', 'val': parseFloat('10.1')};
cities['6'] = {'name' : 'Астана', 'val': parseFloat('71.8')};
cities['7'] = {'name' : 'Астрахань', 'val': parseFloat('13')};
cities['8'] = {'name' : 'Атырау', 'val': parseFloat('81.52')};
cities['9'] = {'name' : 'Балхаш', 'val': parseFloat('75.04')};
cities['10'] = {'name' : 'Барнаул', 'val': parseFloat('20.6')};
cities['11'] = {'name' : 'Белгород', 'val': parseFloat('10.9')};
cities['12'] = {'name' : 'Белогорск', 'val': parseFloat('35.59')};
cities['13'] = {'name' : 'Бийск', 'val': parseFloat('20.6')};
cities['14'] = {'name' : 'Биробиджан', 'val': parseFloat('36.66')};
cities['15'] = {'name' : 'Благовещенск', 'val': parseFloat('37.05')};
cities['16'] = {'name' : 'Брянск', 'val': parseFloat('13.7')};
cities['17'] = {'name' : 'Великий Новгород', 'val': parseFloat('3.9')};
cities['18'] = {'name' : 'Владивосток', 'val': parseFloat('39.4')};
cities['19'] = {'name' : 'Владимир', 'val': parseFloat('12.3')};
cities['20'] = {'name' : 'Волгоград', 'val': parseFloat('11.6')};
cities['21'] = {'name' : 'Волжск', 'val': parseFloat('12.3')};
cities['22'] = {'name' : 'Волжский', 'val': parseFloat('11.6')};
cities['23'] = {'name' : 'Вологда', 'val': parseFloat('7.4')};
cities['24'] = {'name' : 'Воронеж', 'val': parseFloat('9.8')};
cities['25'] = {'name' : 'Димитровград', 'val': parseFloat('15.3')};
cities['26'] = {'name' : 'Екатеринбург', 'val': parseFloat('14.5')};
cities['27'] = {'name' : 'Иваново', 'val': parseFloat('13.2')};
cities['28'] = {'name' : 'Ижевск', 'val': parseFloat('13.7')};
cities['29'] = {'name' : 'Иркутск', 'val': parseFloat('29.7')};
cities['30'] = {'name' : 'Йошкар-ола', 'val': parseFloat('9.7')};
cities['31'] = {'name' : 'Казань', 'val': parseFloat('11')};
cities['32'] = {'name' : 'Калининград', 'val': parseFloat('16.1')};
cities['33'] = {'name' : 'Калуга', 'val': parseFloat('13.7')};
cities['34'] = {'name' : 'Караганда', 'val': parseFloat('75.04')};
cities['35'] = {'name' : 'Кемерово', 'val': parseFloat('21.5')};
cities['36'] = {'name' : 'Киров', 'val': parseFloat('13')};
cities['37'] = {'name' : 'Кокчетав (Кокшетау)', 'val': parseFloat('75.04')};
cities['38'] = {'name' : 'Кострома', 'val': parseFloat('13.7')};
cities['39'] = {'name' : 'Краснодар', 'val': parseFloat('11.7')};
cities['40'] = {'name' : 'Красноярск', 'val': parseFloat('22')};
cities['41'] = {'name' : 'Курган', 'val': parseFloat('16.2')};
cities['42'] = {'name' : 'Курск', 'val': parseFloat('10.5')};
cities['43'] = {'name' : 'Кустанай (Костанай)', 'val': parseFloat('75.04')};
cities['44'] = {'name' : 'Кызыл-Орда', 'val': parseFloat('81.52')};
cities['45'] = {'name' : 'Липецк', 'val': parseFloat('13.7')};
cities['46'] = {'name' : 'Магнитогорск', 'val': parseFloat('27.7')};
cities['47'] = {'name' : 'Миасс', 'val': parseFloat('14.6')};
cities['48'] = {'name' : 'Минск', 'val': parseFloat('20.8')};
cities['49'] = {'name' : 'Москва', 'val': parseFloat('7')};
cities['50'] = {'name' : 'Мурманск', 'val': parseFloat('8.8')};
cities['51'] = {'name' : 'Наб.Челны', 'val': parseFloat('11.7')};
cities['52'] = {'name' : 'Ниж.Новгород', 'val': parseFloat('9.2')};
cities['53'] = {'name' : 'Ниж.Тагил', 'val': parseFloat('9.5')};
cities['54'] = {'name' : 'Нижневартовск', 'val': parseFloat('30.2')};
cities['55'] = {'name' : 'Нов. Уренгой', 'val': parseFloat('51.5')};
cities['56'] = {'name' : 'Новокузнецк', 'val': parseFloat('22')};
cities['57'] = {'name' : 'Новороссийск', 'val': parseFloat('13.7')};
cities['58'] = {'name' : 'Новосибирск', 'val': parseFloat('20.6')};
cities['59'] = {'name' : 'Новосибирск', 'val': parseFloat('20.6')};
cities['60'] = {'name' : 'Ноябрьск', 'val': parseFloat('27.5')};
cities['61'] = {'name' : 'Октябрьский', 'val': parseFloat('12.4')};
cities['62'] = {'name' : 'Омск', 'val': parseFloat('17.7')};
cities['63'] = {'name' : 'Орел', 'val': parseFloat('12.3')};
cities['64'] = {'name' : 'Оренбург', 'val': parseFloat('13.1')};
cities['65'] = {'name' : 'Орск', 'val': parseFloat('15.3')};
cities['66'] = {'name' : 'Павлодар', 'val': parseFloat('81.52')};
cities['67'] = {'name' : 'Пенза', 'val': parseFloat('11.7')};
cities['68'] = {'name' : 'Пермь', 'val': parseFloat('13.1')};
cities['69'] = {'name' : 'Петрозаводск', 'val': parseFloat('6.3')};
cities['70'] = {'name' : 'Петропавловск (Казахстан)', 'val': parseFloat('75.04')};
cities['71'] = {'name' : 'Псков', 'val': parseFloat('7.3')};
cities['72'] = {'name' : 'Пятигорск', 'val': parseFloat('11.9')};
cities['73'] = {'name' : 'Ростов-на-Дону', 'val': parseFloat('11.7')};
cities['74'] = {'name' : 'Рыбинск', 'val': parseFloat('8.1')};
cities['75'] = {'name' : 'Рязань', 'val': parseFloat('15.3')};
cities['76'] = {'name' : 'Самара', 'val': parseFloat('11.7')};
cities['77'] = {'name' : 'Саранск', 'val': parseFloat('19.9')};
cities['78'] = {'name' : 'Саратов', 'val': parseFloat('11.7')};
cities['79'] = {'name' : 'Семипалатинск (Семей)', 'val': parseFloat('81.52')};
cities['80'] = {'name' : 'Смоленск', 'val': parseFloat('15.3')};
cities['81'] = {'name' : 'Сочи', 'val': parseFloat('15.3')};
cities['82'] = {'name' : 'Ставрополь', 'val': parseFloat('13.1')};
cities['83'] = {'name' : 'Старый Оскол', 'val': parseFloat('7.6')};
cities['84'] = {'name' : 'Стерлитамак', 'val': parseFloat('15.3')};
cities['85'] = {'name' : 'Сургут', 'val': parseFloat('24.5')};
cities['86'] = {'name' : 'Сыктывкар', 'val': parseFloat('11.5')};
cities['87'] = {'name' : 'Таганрог', 'val': parseFloat('11.7')};
cities['88'] = {'name' : 'Талды-Курган', 'val': parseFloat('75.04')};
cities['89'] = {'name' : 'Тамбов', 'val': parseFloat('13.7')};
cities['90'] = {'name' : 'Тараз', 'val': parseFloat('81.52')};
cities['91'] = {'name' : 'Тверь', 'val': parseFloat('13.7')};
cities['92'] = {'name' : 'Тольятти', 'val': parseFloat('11.7')};
cities['93'] = {'name' : 'Томск', 'val': parseFloat('19.5')};
cities['94'] = {'name' : 'Тула', 'val': parseFloat('11.1')};
cities['95'] = {'name' : 'Тюмень', 'val': parseFloat('17')};
cities['96'] = {'name' : 'Улан-Удэ', 'val': parseFloat('30.7')};
cities['97'] = {'name' : 'Ульяновск', 'val': parseFloat('10.8')};
cities['98'] = {'name' : 'Уральск', 'val': parseFloat('81.52')};
cities['99'] = {'name' : 'Уссурийск', 'val': parseFloat('39.42')};
cities['100'] = {'name' : 'Усть-Каменогорск (Оскемен)', 'val': parseFloat('81.52')};
cities['101'] = {'name' : 'Уфа', 'val': parseFloat('13.1')};
cities['102'] = {'name' : 'Хабаровск', 'val': parseFloat('37.4')};
cities['103'] = {'name' : 'Ханты-Мансийск', 'val': parseFloat('30.5')};
cities['104'] = {'name' : 'Чебоксары', 'val': parseFloat('9.7')};
cities['105'] = {'name' : 'Челябинск', 'val': parseFloat('14.6')};
cities['106'] = {'name' : 'Череповец', 'val': parseFloat('6.7')};
cities['107'] = {'name' : 'Чимкент (Шымкент)', 'val': parseFloat('81.52')};
cities['108'] = {'name' : 'Чита', 'val': parseFloat('34.89')};
cities['109'] = {'name' : 'Шахты', 'val': parseFloat('11.7')};
cities['110'] = {'name' : 'Энгельс', 'val': parseFloat('11.7')};
cities['111'] = {'name' : 'Ярославль', 'val': parseFloat('6.2')};

var scales = {};
scales['mk-d'] = {}
scales['mk-d']['name'] = 'Серия МК-Д';
scales['mk-d']['val'] = {}
scales['mk-d']['val']['1'] = {'name' : 'МК-2000Д', 'val': parseFloat('11')};
scales['mk-d']['val']['2'] = {'name' : 'МК-3000Д', 'val': parseFloat('10')};
scales['mk-d']['val']['3'] = {'name' : 'МК-5000Д', 'val': parseFloat('15')};
scales['mk-d']['val']['4'] = {'name' : 'МК-10000Д', 'val': parseFloat('27')};
scales['mk-d']['val']['5'] = {'name' : 'МК-15000Д', 'val': parseFloat('27')};
scales['mk-d']['val']['6'] = {'name' : 'МК-20000Д', 'val': parseFloat('50')};
scales['mk-d']['val']['7'] = {'name' : 'МК-30000Д', 'val': parseFloat('50')};
scales['mk-d']['val']['8'] = {'name' : 'МК-50000Д', 'val': parseFloat('80')};

scales['mk'] = {}
scales['mk']['name'] = 'Серия МК';
scales['mk']['val'] = {}
scales['mk']['val']['9'] = {'name' : 'МК-2000', 'val': parseFloat('11')};
scales['mk']['val']['10'] = {'name' : 'МК-5000', 'val': parseFloat('15')};
scales['mk']['val']['11'] = {'name' : 'МК-10000', 'val': parseFloat('27')};
scales['mk']['val']['12'] = {'name' : 'МК-20000', 'val': parseFloat('50')};

scales['mk-l'] = {}
scales['mk-l']['name'] = 'Серия МК-Л';
scales['mk-l']['val'] = {}
scales['mk-l']['val']['13'] = {'name' : 'МК-600Л', 'val': parseFloat('4')};
scales['mk-l']['val']['14'] = {'name' : 'МК-1000Л', 'val': parseFloat('4.5')};
scales['mk-l']['val']['15'] = {'name' : 'МК-2000Л', 'val': parseFloat('6')};
scales['mk-l']['val']['16'] = {'name' : 'МК-3000Л', 'val': parseFloat('8')};

jQuer(document).ready(function(){
    var calcholder = jQuer('.megaves-calculator');
    calcholder.append('<div class="calc-big">1. Что доставить?</div><div class="calc-big calc-grey">Крановые весы:</div>');
    for(var scale_model in scales){
        var localScale = '';
        localScale += '<div class="calc-collapse"><div><span class="calc-collapse-head">' + scales[scale_model]['name'] + '</span></div><div class="calc-collapse-body">';
        for(var scale_val in scales[scale_model]['val']){
            localScale += '<div class="calc-scale-model"><div class="calc-scale-model-name"><label for="scale-model-' + scale_val + '">' + scales[scale_model]['val'][scale_val]['name'] + '</label></div><div class="calc-scale-model-input"><label><input type="text" value="0" mod="' + scales[scale_model]['val'][scale_val]['val'] + '" id="scale-model-' + scale_val + '"/> шт.</label></div></div>';
        }
        localScale += '</div></div>';
        calcholder.append(localScale);
    }
    calcholder.append('<div class="calc-big">2. Куда доставить?</div>');
    var citySelect = '<select name="megaves-calc-select">';
    
    for(var city in cities){
        citySelect += '<option value="' + cities[city]['val'] + '">' + cities[city]['name'] + '</option>';
    }
    
    citySelect += '</select>';
    calcholder.append(citySelect);
    
    var urgent = '<div class="calc-urgent"><label><input type="checkbox" name="urgent" /> <span class="calc-grey">Срочно!</span><br/><span class="calc-light">+5% от суммы доставки</span></label></div>';
    
    calcholder.append(urgent);
});

jQuer('.calc-collapse-head').live('click', function(){
    jQuer(this).parents('.calc-collapse:first').find('.calc-collapse-body').slideToggle(300);
});

function megavesCalculate(){
    var calcholder = jQuer('.megaves-calculator');
    var cityMod = calcholder.find('select').val();
    var result = 0;
    var mod = 1;
    if(jQuer('.calc-urgent input').is(':checked')){
        mod = 1.05;
    }
    calcholder.find('input[type="text"]').each(function(){
        if(parseInt(jQuer(this).val()) > 0){
            result += Math.round(parseInt(jQuer(this).val()) * jQuer(this).attr('mod') * cityMod * mod);
        }
    });
    calcholder.parent().find('span.calc-result').html(result);
}

jQuer('.resetCalculator').live('click', function(){
    var calcholder = jQuer('.megaves-calculator');
    calcholder.find('input[type="text"]').val(0);
    megavesCalculate();
});

jQuer('.megaves-calculator input[type="text"]').live('keypress', function(e){
    validate(e);
}).live('blur', function(){
    if(jQuer(this).val() == '') jQuer(this).val(0);
    megavesCalculate();
}).live('keyup', function(){
    megavesCalculate();
});

jQuer('.calc-urgent input').live('change', function(){
    megavesCalculate();
});

jQuer('.megaves-calculator select').live('change', function(){
    megavesCalculate();
});

function validate(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode( key );
  var regex = /[0-9]|\./;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
    if(theEvent.preventDefault) theEvent.preventDefault();
  }
}

jQuer('.calc-star').live('mouseenter', function(){
    jQuer('.calc-star-response').stop(true, true).animate({opacity: 1}, 300);
}).live('mouseleave', function(){
    jQuer('.calc-star-response').stop(true, true).animate({opacity: 0.5}, 300);
});
