var brick = new Array (); // свойства кирпича по маркам
brick[100] = {price:6.8, weight: 3.5};
brick[125] = {price:7.2, weight: 3.5};
brick[150] = {price:7.6, weight: 3.5};

var bricks_with_joint = new Array (); // кол-во кирпича в 1 кв.м кладки с учетом швов
var bricks_no_joint = new Array (); // кол-во кирпича в 1 кв.м кладки без учета швов
bricks_no_joint[1] = 61;
bricks_with_joint[1] = 51;
bricks_no_joint[2] = 128;
bricks_with_joint[2] = 102;
bricks_no_joint[3] = 189;
bricks_with_joint[3] = 153;
bricks_no_joint[4] = 256;
bricks_with_joint[4] = 204;
bricks_no_joint[5] = 317;
bricks_with_joint[5] = 255;

function show_calc () {
	document.getElementById ('calculation').style.display = 'block';
	document.getElementById ('equel_amount_set').style.display = 'none';
	document.getElementById ('calc').className = 'selected';
	document.getElementById ('eq_val').className = '';
}

function hide_calc () {
	document.getElementById ('calculation').style.display = 'none';
	document.getElementById ('equel_amount_set').style.display = 'block';
	document.getElementById ('calc').className = '';
	document.getElementById ('eq_val').className = 'selected';
	document.forms.count_form.elements.equal_val.value = document.forms.count_form.elements.total_q_hidden.value;
	calc ();
}

function select_brickwork_type (size) {
	document.getElementById ('brickwork_05').className = '';
	document.getElementById ('brickwork_10').className = '';
	document.getElementById ('brickwork_15').className = '';
	document.getElementById ('brickwork_20').className = '';
	document.getElementById ('brickwork_25').className = '';
	switch (size) {
		case 1:
			document.getElementById ('brickwork_05').className = 'selected';
			document.getElementById ('bw_type').style.backgroundImage='url(/etc/pics/kladka_05.png)';
		  break;
		case 2:
			document.getElementById ('brickwork_10').className = 'selected';
			document.getElementById ('bw_type').style.backgroundImage='url(/etc/pics/kladka_1.png)';
		  break;
		case 3:
			document.getElementById ('brickwork_15').className = 'selected';
			document.getElementById ('bw_type').style.backgroundImage='url(/etc/pics/kladka_15.png)';
		  break;
		case 4:
			document.getElementById ('brickwork_20').className = 'selected';
			document.getElementById ('bw_type').style.backgroundImage='url(/etc/pics/kladka_2.png)';
		  break;
		case 5:
			document.getElementById ('brickwork_25').className = 'selected';
			document.getElementById ('bw_type').style.backgroundImage='url(/etc/pics/kladka_25.png)';
		  break;
	}
	document.forms.count_form.elements.brickwork.value = size;
	calc ();	
}

function select_joint_type (jtype) {
	switch (jtype) {
		case 1:
			document.getElementById ('joint_type_1').className = 'selected';
			document.getElementById ('joint_type_0').className = '';
			document.forms.count_form.elements.joint_type.value = 1;
		  break;
		case 0:
			document.getElementById ('joint_type_1').className = '';
			document.getElementById ('joint_type_0').className = 'selected';
			document.forms.count_form.elements.joint_type.value = 0;
		  break;
	}
	calc ();	
}

function select_brick_type (btype) {
	switch (btype) {
		case 100:
			document.getElementById ('m100').className = 'selected';
			document.getElementById ('m125').className = '';
			document.getElementById ('m150').className = '';
		  break;
		case 125:
			document.getElementById ('m100').className = '';
			document.getElementById ('m125').className = 'selected';
			document.getElementById ('m150').className = '';
		  break;
		case 150:
			document.getElementById ('m100').className = '';
			document.getElementById ('m125').className = '';
			document.getElementById ('m150').className = 'selected';
		  break;
	}
	document.forms.count_form.elements.btype.value = btype;
	document.forms.count_form.elements.brick_price_hidden.value = brick[btype].price;
	document.getElementById ('brick_price').innerHTML = parseFloat (document.forms.count_form.elements.brick_price_hidden.value).triads (' ', ',');
	calc ();	
}

function calc () { // считаем машины и сумму
	document.getElementById ('brick_price').innerHTML = parseFloat (document.forms.count_form.elements.brick_price_hidden.value).triads (' ', ',');
	if (document.forms.count_form.elements.calc_sw[0].checked) { // Если используется расчет
		calc_sq ();
		calc_q ();
	}
	else { // Если используется ручной ввод
		document.forms.count_form.elements.total_q_hidden.value = document.forms.count_form.elements.equal_val.value;
		document.getElementById ('total_q').innerHTML = parseFloat (document.forms.count_form.elements.total_q_hidden.value).triads (' ', ',');
	}
	document.forms.count_form.elements.pack_q_hidden.value = Math.ceil(document.forms.count_form.elements.total_q_hidden.value / 252);
	document.getElementById ('pack_q').innerHTML = document.forms.count_form.elements.pack_q_hidden.value;

	document.forms.count_form.elements.pack_weight_hidden.value = 252 * document.forms.count_form.elements.pack_q_hidden.value * brick[document.forms.count_form.elements.btype.value].weight;
	document.getElementById ('pack_weight').innerHTML = parseFloat (document.forms.count_form.elements.pack_weight_hidden.value).triads (' ', ',');

	document.getElementById ('car10').innerHTML = Math.ceil(document.forms.count_form.elements.pack_weight_hidden.value / 10000);
	document.getElementById ('car20').innerHTML = Math.ceil(document.forms.count_form.elements.pack_weight_hidden.value / 20000);
	document.getElementById ('car30').innerHTML = Math.ceil(document.forms.count_form.elements.pack_weight_hidden.value / 30000);
	document.getElementById ('total_price').innerHTML = (Math.round(252 * document.forms.count_form.elements.pack_q_hidden.value * document.forms.count_form.elements.brick_price_hidden.value * 100) / 100).triads (' ', ',');
}

function calc_sq () { // считаем площадь стен
	document.forms.count_form.elements.walls_sq_hidden.value = document.getElementById ('wall_length').value * document.getElementById ('wall_height').value
	document.getElementById ('wall_sq').innerHTML = parseFloat (document.forms.count_form.elements.walls_sq_hidden.value).triads (' ', ',');
}

function calc_q () { // считаем кол-во кирпича
	document.forms.count_form.elements.total_q_hidden.value = document.forms.count_form.elements.walls_sq_hidden.value * ((document.forms.count_form.elements.joint_type.value == 0)?bricks_no_joint[document.forms.count_form.elements.brickwork.value]:bricks_with_joint[document.forms.count_form.elements.brickwork.value]);
	document.getElementById ('total_q').innerHTML = parseFloat (document.forms.count_form.elements.total_q_hidden.value).triads (' ', ',');
}

function order_params () {
	return params = {
		quantity : document.getElementById ('total_q').innerHTML,
		brick_type : document.forms.count_form.elements.btype.value,
		brick_price : document.getElementById ('brick_price').innerHTML,
		packs : document.getElementById ('pack_q').innerHTML,
		weight : document.getElementById ('pack_weight').innerHTML,
		price : document.getElementById ('total_price').innerHTML
	};
}

function build_order () {
	document.getElementById ('total_q').innerHTML = parent.window.hs.getExpander('form_opener').custom.quantity;
	document.getElementById ('brick_type').innerHTML = 'М-' + parent.window.hs.getExpander('form_opener').custom.brick_type;
	document.getElementById ('brick_price').innerHTML = parent.window.hs.getExpander('form_opener').custom.brick_price;
	document.getElementById ('packs').innerHTML = parent.window.hs.getExpander('form_opener').custom.packs;
	document.getElementById ('weight').innerHTML = parent.window.hs.getExpander('form_opener').custom.weight;
	document.getElementById ('price').innerHTML = parent.window.hs.getExpander('form_opener').custom.price;
}

function close_order () {
	if (parent.window.hs) {
		var exp = parent.window.hs.getExpander('form_opener');
		if (exp) {
			exp.close();
		}
	}
}

function select_delivery_type (dtype) {
	switch (dtype) {
		case 'self':
			document.getElementById ('self_dostavka').className = 'selected';
			document.getElementById ('order_dostavka').className = '';
			document.getElementById ('delivery_place').style.display = 'none';
		  break;
		case 'order':
			document.getElementById ('self_dostavka').className = '';
			document.getElementById ('order_dostavka').className = 'selected';
			document.getElementById ('delivery_place').style.display = 'block';
		  break;
	}
}

function send_form () {
	req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				if (req.responseJS.result) {
					result_header = req.responseJS.result.header;
					result_message = req.responseJS.result.message;
				}
				else {
					result_header = 'Ошибка!';
					result_message = 'Получен ответ неизвестного формата.';
				}
				if (result_header == 'Выполнено') {
					document.getElementById ('client_data').style.display = 'none';
				}
//				alert (result_header+'\n'+result_message);
				document.getElementById ('rheader').innerHTML = result_header;
				document.getElementById ('rmessage').innerHTML = result_message;
				document.getElementById ('send_block').style.display = 'none';
				document.getElementById ('result_block').style.display = 'block';
			}
//			document.getElementById('debug_folders_list_div').innerHTML = add_img_to_lb_req.responseText;
		}
	}
	req.caching = false;
	document.getElementById ('result_block').style.display = 'none';
	document.getElementById ('send_block').style.display = 'block';
	req.open('POST', '/etc/order_send.php', true);
	req.send({
		total_q: document.getElementById ('total_q').innerHTML,
		brick_type: document.getElementById ('brick_type').innerHTML,
		brick_price: document.getElementById ('brick_price').innerHTML,
		packs: document.getElementById ('packs').innerHTML,
		weight: document.getElementById ('weight').innerHTML,
		price: document.getElementById ('price').innerHTML,
		client: document.forms.order_form.elements.client.value,
		phone: document.forms.order_form.elements.phone.value,
		delivery: document.forms.order_form.elements.dostavka[0].checked?'self':'order',
		address: document.forms.order_form.elements.address.value,
		message: document.forms.order_form.elements.dop.value,
		img_code: document.forms.order_form.elements.img_code.value,
		rnd: Math.random()
	});
}

Number.prototype.triads = function (triadSeparator, decSeparator, fractNum) {
	if (typeof(fractNum)=='undefined') {
		fractNum = 2;
	}
	var num = parseInt(this).toString();
	var numd = this.toString();
	var pointIdx = numd.indexOf('.');
	numd = (pointIdx == -1)?'':numd.substr(pointIdx+1, fractNum);
	while (numd.length<fractNum) numd += '0'; // add 0 after comma
	var regEx = /(-?\d+)(\d{3})/;
	while (regEx.test(num)) { num = num.replace(regEx,"$1"+triadSeparator+"$2"); }
//		if (numd != 0) {
			num += decSeparator+numd;
//		}
	return num;
}
