var backend = '../calculator/';var be_getInitValues = backend + 'getinitvalues.php';var be_getNewTinwareDiv = backend + 'getnewtinwarediv.php';var be_getSelectBox = backend + 'getselectbox.php';var be_getParamBox = backend + 'getparambox.php';var be_calculated = backend + 'getcalculated.php';var be_calculateByTimer = backend + 'calculatebytimer.php';var be_getNewContent = backend + 'getnewcontent.php';var be_getUserData = backend + 'getuserdata.php';var be_composeBill = backend + 'composebill.php';var timer;var is_timer = false;var boxes_list = new Array();var boxes_counter = 1;var boxes_number = 1;function Calculate (div_id) {		var p2s_param = new Array();	var p2s_value = new Array();	var has_error = false;	var parent_obj = document.getElementById(div_id + '_content');	var child_tags = parent_obj.getElementsByTagName('input');	for(var i = 0; i < child_tags.length; i++) {			if(child_tags[i].tagName != undefined){ 			var tag_name = child_tags[i].name;			if(tag_name.indexOf("_param_") != -1) {				if(document.getElementById(tag_name).value != '') {					p2s_param.push(tag_name);					p2s_value.push(document.getElementById(tag_name).value);				} else {					has_error = true;				}			}		}	}		if(document.getElementById(div_id + "_quantity").value != '') {		p2s_param.push(div_id + "_quantity");		p2s_value.push(document.getElementById(div_id + "_quantity").value);	} else { has_error = true; }		if(p2s_param.length == 0) { has_error = true; }	if(has_error == false) {				document.getElementById(div_id + "_content").style.display = "none";		document.getElementById(div_id + "_calculating").style.display = "block";				var params2send = new Array();		for(var j = 0; j < p2s_param.length; j++) {			params2send[p2s_param[j]] = p2s_value[j];		}				JsHttpRequest.query(be_calculated, params2send,						function (result, errors) {						if(result) {							document.getElementById(div_id + "_cost").value = result["cost"];							document.getElementById(div_id + "_total").value = result["total"];							document.getElementById(div_id + "_content").style.display = "block";							document.getElementById(div_id + "_calculating").style.display = "none";						}					},					false );					} else {		alert("Внимание! Произошла ошибка!\n\nКалькуляция невозможна.\nПараметры отсутствуют или заданы неверно.");	}	return false;	}function GetParamBox (div_id, select_id) {	var tw_content = div_id + "_content";	var tw_loading = div_id + "_loading";		document.getElementById(tw_content).style.display = 'none';	document.getElementById(tw_loading).style.display = 'block';	/* Get param box from back-end */	var sel_id = document.getElementById(select_id).value;	JsHttpRequest.query(be_getParamBox, {'div_id' : div_id, 'select_id' : sel_id},						function (result, errors) {							if(result) {								document.getElementById(div_id).innerHTML = result["html"];								document.getElementById('addTinwareBox').style.display = 'block';								boxes_list.push(div_id);							}						},						false );			return false;}function AddNewBox () {	/* Get new box from back-end */	JsHttpRequest.query(be_getSelectBox, {'number' : boxes_number},						function (result, errors) {							if(result) {								var html = document.getElementById('calcMainFrame').innerHTML;								document.getElementById('calcMainFrame').innerHTML += result["html"];								if(boxes_counter == 2) {									document.getElementById('calcMainFrame').innerHTML += result["html"];								} else {									alert(boxes_list.length);									for(var i = (boxes_list.length - 1); i > 0; i--) {										alert(boxes_list[i]);										if(boxes_list[i] != '') {																						document.getElementById(boxes_list[i] + "_insert").innerHTML = result["html"];										}									}								}							}						},						false );	boxes_counter++;	boxes_number++;	if(document.getElementById('addTinwareBox') != null) {		document.getElementById('addTinwareBox').style.display = 'none';	}	return false;}////////////////////////////////////////////////function CreateBill () {	if(document.getElementById('d_total').innerHTML == '0.00') {		alert("Ошибка!\nНет ни одной просчитанной детали!");		return false;	}		document.getElementById('user_data').style.display = 'none';	document.getElementById('user_data_stumb').style.display = 'block';		var params2send = '';		/* поиск всех слоёв tw_X_content */	var parent_obj = document.getElementById('calcMainFrame');	var child_tags = parent_obj.getElementsByTagName('input');	for(var i = 0; i < child_tags.length; i++) {		if(child_tags[i].id != undefined){ 			var tag_id = child_tags[i].id;			if(tag_id.indexOf("_total") != -1) {				var total_id = tag_id;				if(document.getElementById(total_id).value != '') {					var content_id = total_id.replace(/_total/, '') + "_content";										if(params2send != '') { params2send += "::"; }					var param_line = '';					parent_obj = document.getElementById(content_id);					var param_objs = parent_obj.getElementsByTagName('input');					for(var j = 0; j < param_objs.length; j++) {						if(param_objs[j].id != undefined) {							if(param_line != '') { param_line += ";"; }							param_line += param_objs[j].id + "=" + document.getElementById(param_objs[j].id).value;						}					}					params2send += param_line;				}			}		}	}		if(params2send == '') {		alert("Невозможно выполнить операцию!\nПожалуйста, повторите попытку позже.");	} else {				JsHttpRequest.query(be_composeBill, {'params' : params2send, 'total' : document.getElementById('d_total').innerHTML, 'tn' : document.getElementById('d_number').innerHTML},						function (result, errors) {							if(result) {								document.getElementById('user_data').style.display = 'block';								document.getElementById('user_data_stumb').style.display = 'none';								open("../calculator/bill.php?bill=" + result["resp"]);								alert("Операция была успешно выполнена!\nПроверьте ящик электронной почты, указанный Вами при регистрации.");							}						},						false );			}			return false;}function CalcLogin () {	JsHttpRequest.query(be_getUserData, {"login" : document.getElementById('ent_login').value, "password" : document.getElementById('ent_password').value },				function (result, error) {					document.getElementById('user_data').innerHTML = result['html'];				},				false );		return false;}function GetUserData () {	JsHttpRequest.query(be_getUserData, {},				function (result, error) {					document.getElementById('user_data').innerHTML = result['html'];				},				false );}function ChangeDetail(select_id, tw_div_id) {	var sel_id = document.getElementById(select_id).value;	document.getElementById(tw_div_id + "_content").innerHTML = '';	UpdateTotal();	JsHttpRequest.query(be_getNewContent, {'selected_id' : sel_id, 'div_id' : tw_div_id},					function (result, error) {						document.getElementById(tw_div_id + "_content").innerHTML = result['html'];						document.getElementById(tw_div_id + "_content").style.display = 'block';					},					false );}function RemoveParamBox (div_id) {	document.getElementById(div_id).style.display = 'none';	document.getElementById(div_id).innerHTML = '';	UpdateTotal();		return false;}function ShowHideDescription (div_id) {	if(document.getElementById(div_id).style.display == 'none') {		document.getElementById(div_id).style.display = 'block';	} else {		document.getElementById(div_id).style.display = 'none';	}	return false;}/*function CheckNextTinwareInSelectList(tw_num) {	var selector = document.getElementById('tw_' + tw_num + '_select');	if(selector.value != 0) {		for(var i = 0; i < selector.options.length; i++) {			if(selector.options[i].value == '0') { selector.options[i] = null; }			if(selector.options[i].value == '--------------------------') { selector.options[i] = null; }		}		JsHttpRequest.query(be_getNewTinwareDiv, {'nextnumber' : 2, 'selected_id' : selector.value},							function (result, error) {								document.getElementById('tw_1').innerHTML = result['html'];							},							false );	}}*/function CheckTinwareInSelectList(tw_num) {	var selector = document.getElementById('tw_' + tw_num + '_select');	if(selector.value != 0) {		for(var i = 0; i < selector.options.length; i++) {			if(selector.options[i].value == '0') { selector.options[i] = null; }			if(selector.options[i].value == '--------------------------') { selector.options[i] = null; }		}		JsHttpRequest.query(be_getNewTinwareDiv, {'nextnumber' : tw_num, 'selected_id' : selector.value},							function (result, error) {								document.getElementById('tw_' + tw_num).innerHTML = result['html'];							},							false );	}}function TryCalculate (event, value, div_id) {	var keyCode = event.keyCode ? event.keyCode :               event.charCode ? event.charCode :               event.which ? event.which : void 0;			   	var ret = false;			if(keyCode >= 48 && keyCode <= 57) { ret = true; }//	if(keyCode == 46 && has_delimiter == false && checkdot == true) { ret = true; }	if(keyCode == 8 || keyCode == 13 || keyCode == 9) { ret = true; }//	if(keyCode >= 37 && keyCode <= 40) { ret = true; doUT = false;}	if(value.length > 0) { ret = true; }		if(ret == true) {		if(is_timer) { clearTimeout(timer); }		is_timer = true;		timer = setTimeout("CalculateByTimer();", 500);	}}function CalculateByTimer () {	is_timer = false;	/* поиск всех слоёв tw_X_content */	var parent_obj = document.getElementById('calcMainFrame');	var child_tags = parent_obj.getElementsByTagName('div');	for(var i = 0; i < child_tags.length; i++) {		if(child_tags[i].id != undefined){ 			var tag_id = child_tags[i].id;			if(tag_id.indexOf("_content") != -1) {				var content_id = tag_id;								/* перебор всех параметров в контенте */				var make_query = true;				var query = content_id;				parent_obj = document.getElementById(content_id);				var param_tags = parent_obj.getElementsByTagName('input');				for(var j = 0; j < param_tags.length; j++) {					if(param_tags[j].id != undefined) {					if((param_tags[j].id.indexOf("_param_") != -1) || (param_tags[j].id.indexOf("_quantity") != -1)) {							query += ";";							query += param_tags[j].id + "=" + document.getElementById(param_tags[j].id).value;							if(document.getElementById(param_tags[j].id).value == '') { make_query = false; }							if(parseFloat(document.getElementById(param_tags[j].id).value) < 100 && param_tags[j].id.indexOf("_param_") != -1) { make_query = false; }						}					}				}				if(query.indexOf(";") == -1) { make_query = false; }								if(make_query == true) {					JsHttpRequest.query(be_calculateByTimer, {'query' : query},						function (result, errors) {							if(result) {								i_cost = parseFloat(result["cost"]);								i_total = parseFloat(result["total"]);								document.getElementById(result['div_cost']).value = i_cost.toFixed(2);								document.getElementById(result['div_total']).value = i_total.toFixed(2);//								alert(result['changeit']);								if(result['changeit'] != '') {									eval(result['changeit']);								}								UpdateTotal();							}							//if(errors) { alert("error"); }						},						false );				} 			}		}	}}function UpdateTotal () {	var total_summ = 0.0;	var total_number = 0;		/* поиск всех слоёв tw_X_total */	var parent_obj = document.getElementById('calcMainFrame');	var child_tags = parent_obj.getElementsByTagName('input');	for(var i = 0; i < child_tags.length; i++) {		if(child_tags[i].id != undefined){ 			var tag_id = child_tags[i].id;			if(tag_id.indexOf("_total") != -1) {				var total_id = tag_id;								if(document.getElementById(total_id).value != '') {					var num = parseFloat(document.getElementById(total_id).value);					total_summ += num;					total_number++;				}			}		}	}		total_summ = total_summ.toFixed(2);		document.getElementById('d_total').innerHTML = total_summ;	document.getElementById('d_number').innerHTML = total_number;	}function CheckSymbol (param_div_id, event, value, div_id, checkdot) {		var keyCode = event.keyCode ? event.keyCode :               event.charCode ? event.charCode :               event.which ? event.which : void 0;			   	var has_delimiter = false;	for(var i = 0; i < value.length; i++) {		if(value[i] == ".") {			has_delimiter = true;		}	}		var ret = false;	var doUT = true;		if(keyCode >= 48 && keyCode <= 57) { ret = true; }	if(keyCode >= 37 && keyCode <= 40) { ret = true; doUT = false;}//	if(keyCode == 46 && has_delimiter == false && checkdot == true) { ret = true; }	if(keyCode == 8 || keyCode == 13 || keyCode == 9) { ret = true; }		if(keyCode == 48 && value == '') { ret = false; }		if(ret == true && doUT == true) {		param_div_id.style.backgroundColor="#FFFFFF";		document.getElementById(div_id + "_cost").value = '';		document.getElementById(div_id + "_total").value = '';		UpdateTotal();	}		return ret;}function GetInitValues () {	/* Get Init values for dropped menu */	JsHttpRequest.query(be_getInitValues, {},						function (result, errors) {							if(result) {								var html = result['html'];								document.getElementById("tw_1_content").innerHTML = html;							}						},						false );	return false;	}
