var modes = new Object({
	0: "Режим 'билборд' 360 DPI",
	1: "Интерьерный режим 720 DPI"
});

//устанавливаем цены
var prices = new Object({
	0: {
	name: "Бумага Blue Back",
	prices: {
		0: 135,
		1: undefined
	}
	},
	1: {
	name: "Бумага транслюцентная",
	prices: {
		0: 155,
		1: 235
	}
	},
	2: {
	name: "Баннер 340 к/кв.м.",
	prices: {
		0: 155,
		1: 235
	}
	},
	3: {
	name: "Баннер 510 г/кв.м.",
	prices: {
		0: 195,
		1: 275
	}
	},
	4: {
	name: "Баннер 440 г/кв.м.",
	prices: {
		0: 180,
		1: 260
	}
	},
	5: {
	name: "Баннер литой 510 г/кв.м.",
	prices: {
		0: 265,
		1: 345
	}
	},
	6: {
	name: "Двухстороннаяя печать баннер 700 г/кв.м.",
	prices: {
		0: 365,
		1: 445
	}
	},
	7: {
	name: "Транслюцентный литой баннер 510 г/кв.м.",
	prices: {
		0: 365,
		1: 445
	}
	},
	8: {
	name: "Самоклеящаяся пленка матовая",
	prices: {
		0: 205,
		1: 285
	}
	},
	9: {
	name: "Самоклеящаяся пленка глянцевая",
	prices: {
		0: 205,
		1: 285
	}
	},
	10: {
	name: "Самоклеящаяся пленка прозрачная",
	prices: {
		0: 205,
		1: 285
	}
	},
	11: {
	name: "Самоклеящаяся пленка транслюцентная",
	prices: {
		0: 415,
		1: 475
	}
	},
	12: {
	name: "Самоклеящаяся перфорированная пленка",
	prices: {
		0: 465,
		1: undefined
	}
	},
	13: {
	name: "Баннерная сетка",
	prices: {
		0: 365,
		1: undefined
	}
	},
	14: {
	name: "Флаговая ткань",
	prices: {
		0: 415,
		1: 495
	}
	}
});

var additional = new Object({
	0: {
	name: "Установка люверсов 10мм",
	prices: {
		0: 10
	}
	},
	1: {
	name: "Установка люверсов 16мм",
	prices: {
		0: 15
	}
	},
	2: {
	name: "Установка люверсов 20мм",
	prices: {
		0: 25
	}
	},
	3: {
	name: "Проклейка баннера",
	prices: {
		0: 30
	}
	},
	4: {
	name: "Проклейка баннера с веревкой",
	prices: {
		0: 50
	}
	},
	5: {
	name: "Проклейка баннера с тросом",
	prices: {
		0: 70
	}
	},
	6: {
	name: "Изготовление привязки",
	prices: {
		0: 150
	}
	},
	7: {
	name: "Порезка макета в размер",
	prices: {
		0: 10
	}
	},
	8: {
	name: "Разработка макета",
	prices: {
		0: 500
	}
	},
	9: {
	name: "Установка груза (утяжелителя)",
	prices: {
		0: 100
	}
	},
	10: {
	name: "Ламинат",
	prices: {
		0: 215
	}
	}
});

function calc(){
    //считываем значения
    mat = parseInt($('select[name=material]').val());
    //считываем высоту и ширину
    w = parseFloat($('input[name=width]').val());
    h = parseFloat($('input[name=height]').val());
    w  =  (!isNaN(w)) ? w : 0;
    h  =  (!isNaN(h)) ? h : 0;;

    //площадь
    var square = w * h;

    //режим
    mode =  $('input[name=mode]:checked').val()

    //считаем цену
    var total_price = parseFloat(prices[mat]['prices'][mode]) * square;

    //выбираем дополнительные опции
    var additional_options = $('#calculator div.options > div.calc_title > label > input[type=checkbox]:checked');

    //переберем выбраные доп опции и посчитаем сумму
    additional_options.each(function(idx){
		var re = /^add([\d]+)$/i;
		var checkbox_num = re.exec(this.name)[1];
		var quant = parseFloat($('#calculator input[type=text][name=quant' + checkbox_num + ']').val());
		quant = (!isNaN(quant)) ? quant : 0;
		total_price += additional[checkbox_num - 1]['prices'][0] * quant;
    });

    //выводим
    $('#summa').empty();
    $('<span>'+total_price+' руб.</span>').appendTo('#summa');

    return 0;
}

$(document).ready(function(){
	$('select[name=material]').change(function(){
		if (prices[this.value]['prices'][0] !== undefined) {
			$('#calculator input[type=radio][name=mode]:eq(0)')[0].disabled = false;
		} else {
			var elem = $('#calculator input[type=radio][name=mode]:eq(0)')[0];
			elem.disabled = true;
			elem.selected = false;
		}
		if (prices[this.value]['prices'][1] !== undefined) {
			$('#calculator input[type=radio][name=mode]:eq(1)')[0].disabled = false;
		} else {
			var elem = $('#calculator input[type=radio][name=mode]:eq(1)')[0];
			elem.disabled = true;
			elem.checked = false;
		}
		calc();	
	});



	var selected = $('select[name=material]').val();
            if (prices[selected]['prices'][0] !== undefined) {
                    $('#calculator input[type=radio][name=mode]:eq(0)')[0].disabled = false;
            } else { 
                    var elem = $('#calculator input[type=radio][name=mode]:eq(0)')[0];
                    elem.disabled = true;
                    elem.selected = false;
            }
            if (prices[selected]['prices'][1] !== undefined) {
                    $('#calculator input[type=radio][name=mode]:eq(1)')[0].disabled = false;
            } else {
                    var elem = $('#calculator input[type=radio][name=mode]:eq(1)')[0];
                    elem.disabled = true;
                    elem.checked = false;
            }
	calc();
	
	$('#calculator input[name=reset]').click(function(){
		if (prices[this.value]['prices'][1] !== undefined) {
			$('#calculator input[type=radio][name=mode]:eq(1)')[0].disabled = false;
		} else {
			var elem = $('#calculator input[type=radio][name=mode]:eq(1)')[0];
			elem.disabled = true;
			elem.checked = false;
		}	
	});
	//$('form[name=calculator]').reset(function(){
	//	 alert(123);
	//	if (prices[this.value]['prices'][0] !== undefined) {
	//		$('#calculator input[type=radio][name=mode]:eq(0)')[0].disabled = false;
	//	} else {
	//		var elem = $('#calculator input[type=radio][name=mode]:eq(0)')[0];
	//		elem.disabled = true;
	//		elem.selected = false;
	//	}
	//	if (prices[this.value]['prices'][1] !== undefined) {
	//		$('#calculator input[type=radio][name=mode]:eq(1)')[0].disabled = false;
	//	} else {
	//		var elem = $('#calculator input[type=radio][name=mode]:eq(1)')[0];
	//		elem.disabled = true;
	//		elem.checked = false;
	//	}
	//	calc();
	//	$('#summa').empty();
	//	
	//});
	$('input[name=width]').keyup(function(){
	    calc();
	});
	$('input[name=height]').keyup(function(){
	    calc();
	});
	$('input[name=mode]').change(function(){
	    calc();
	});
	$('#calculator input[type=reset]').click(function(){
	   $('#summa').empty();
	});
	$('#calculator input.input_text').keyup(function(){
	    calc();
	});
	$('#calculator .options input[type=checkbox]').change(function(){
	    var re = /^add([\d]+)$/i;
	    var checkbox_num = re.exec(this.name)[1];
	    if(this.checked) {
			$('#calculator input[type=text][name=quant' + checkbox_num + ']').parents('.calc_buttons').css('visibility', 'visible');
	    } else {
			$('#calculator input[type=text][name=quant' + checkbox_num + ']').parents('.calc_buttons').css('visibility', 'hidden');
	    }
		calc();
	});
	
	//показать отмеченные галочками поля ввода количества
	$('#calculator .options input[type=checkbox]:checked').each(function(){
		var re = /^add([\d]+)$/i;
		var checkbox_num = re.exec(this.name)[1];
		$('#calculator input[type=text][name=quant' + checkbox_num + ']').parents('.calc_buttons').css('visibility', 'visible');
	});
});
