﻿var calc = {

	resultCell : 'result-cell',
	resultContainer : 'result-container',
	resultSkidka : 'result-skidka',
	
	init : function (){

		// Get nodes
		this.form = document.forms["calc-form"];
		this.resultCell = document.getElementById(this.resultCell);
		this.resultContainer = document.getElementById(this.resultContainer);
		this.resultSkidka = document.getElementById(this.resultSkidka);
	},
	
	// Main calculation function
	calc : function(){
		var SUM;
		
		var L = this.getFloat(this.form.dim_b);
		var door_sys =this.getRadioVal(this.form.door_sys);
		var shkaf_type = this.getRadioVal(this.form.shkaf_type);
		var stol = 0;
		var fasad = 0;
		var panel = 0;
//Проверяем длину кухни 
		if (L == 0) {alert('Длина равна 0. Исправьте!');}
			else {


//Определяем стоимость столешницы 
				if (door_sys == 1) stol = 3500;
				if (door_sys == 2) stol = 3000;
				if (door_sys == 3) stol = 16000;
//Определяем стоимость фасадов
				if (shkaf_type == 1) fasad = 38000;
				if (shkaf_type == 2) fasad = 22000;
				if (shkaf_type == 3) fasad = 26000;
				if (shkaf_type == 4) fasad = 18000;
//Определяем стенову панель
				if (this.form.wall_panel.checked) panel = 2200;

				SUM = ((stol + fasad + panel) * L)/100;

				if (this.form.montage.checked) SUM *= 1.1;
				if (this.form.delivery.checked) SUM += 2000;

				SUM *= 1.3;

				this.resultContainer.innerHTML=(isNaN(SUM)?'<span style=\"color:red\">Ошибка</span>':SUM.toFixed(2));
				this.resultSkidka.innerHTML = this.skidka (SUM, L);
				return true;
				}
	},
	
	getRadioVal : function(rg, retType/*='float'; 'string'*/){
		if(!rg) return false;
		
		if(typeof rg == 'array' || typeof rg == 'object'){
			for(var i=0;i<rg.length;++i){
				if(rg[i].checked){
					return (retType=='string' ? this.trim(rg[i].value) : this.getFloat(rg[i]) ) ;
				}
			}
			return 0;
		}
		return rg.value;
		
	},
	
	trim : function(str){
		return str.replace(/(^[ ]+)|([ ]+$)/,'');
	},

	skidka : function(summa, L1 ){
		var kod = '';
		var sk = '';
		var door_sys1 =this.getRadioVal(this.form.door_sys);
		var shkaf_type1 = this.getRadioVal(this.form.shkaf_type);
		var stol1 = 'ТИП СТОЛЕШНИЦЫ: ';
		var fasad1 = 'ТИП ФАСАДА: ';

//Определяем стоимость столешницы 
				if (door_sys1 == 1) stol1 += 'С пластиковым покрытием 38 мм. ';
				if (door_sys1 == 2) stol1 += 'С пластиковым покрытием 28 мм. ';
				if (door_sys1 == 3) stol1 += 'Столешница из искусственного камня (Corian) ';


//Определяем стоимость фасадов
				if (shkaf_type1 == 1) fasad1 += 'Массив дерева (италия) ';
				if (shkaf_type1 == 2) fasad1 += 'Акриловый пластик (италия) ';
				if (shkaf_type1 == 3) fasad1 += 'МДФ крашеный по образцу ';
				if (shkaf_type1 == 4) fasad1 += 'МДФ рамочный сборный (AGT) ';

		var 	mont = '',
			dost = '',
			panel1 = '';

		if (this.form.wall_panel.checked) panel1 = 'СТЕНОВАЯ ПАНЕЛЬ: да; ';
		if (this.form.montage.checked) mont = 'СБОРКА: да; ';
		if (this.form.delivery.checked) dost = 'ДОСТАВКА: да; ';
		
		if ((summa >= 30000) && (summa <= 50000)) {summa *= 0.98; sk = 'Вы получите скидку <b>2%</b> (стоимость кухни будет <b>'+summa.toFixed(2)+'</b> руб.) и'};
		if ((summa >= 50000) && (summa < 100000)) {summa *= 0.95; sk = 'Вы получите скидку <b>5%</b> (стоимость кухни будет <b>'+summa.toFixed(2)+'</b> руб.) и'};
		if (summa >= 100000) {summa *= 0.9; sk = 'Вы получите скидку <b>10%</b> (стоимость кухни будет <b>'+summa.toFixed(2)+'</b> руб.) и'};
		kod = '<p>Отправив сообщение нам прямо сейчас '+sk+' мы оформим Ваш заказ. Наш менеджер свяжется с Вами для уточнения деталей. Для Вашего удобства в поле &quot;Примечание&quot; укажите удобное для Вас время связи и другие интересующие Вас моменты.</p> <form action=\"themes/default/script/mailcalc.php\" ><b>Ваше имя</b><br /><input type=text name=\"name\" size=50 /><br /><b>Ваш e-mail или телефон</b><br><input type=text name=\"email\" size=50 /><br /><b>Примечание</b><br /><textarea name=\"mess\" rows=5 cols=50></textarea><br /><br /><input type=submit value=\"Отправить сообщение\" /><input type=hidden name=\"opisanie\" value=\"ДЛИНА:'+L1+';'+stol1+fasad1+panel1+mont+dost+' ЦЕНА СО СКИДКОЙ: '+summa+' руб.\" /></form>';
		return kod;
	},

	getFloat : function(field){
		try{
			if(field && field.value){
				var v = parseFloat(field.value.replace(/[^\d\.]/g,''));
				return (isNaN(v) ? 0 : v);
			}
		}catch(e){}
		return 0;
	}
};
