var photocalcformats = Array('15x21', '20x30', '30x40', '30x60', '30x90');
var total_summ = 0.0;

var HINTS_CFG = {
	'wise'       : true,
	'margin'     : 10,
	'gap'        : 0,
	'align'      : 'tcbc',
	'css'        : 'hintsClass',
	'show_delay' : 200,
	'hide_delay' : 500,
	'follow'     : false,
	'z-index'    : 100,
	'IEfix'      : false,
	'IEtrans'    : ['blendTrans(DURATION=.3)', 'blendTrans(DURATION=.3)'],
	'opacity'    : 100
};

if (document.getElementsByTagName) {
	// Initialize external link handlers
	var hrefs = document.getElementsByTagName("a");
	for (var l = 0; l < hrefs.length; l++) {
		try {
			if (hrefs[l].protocol == "mailto:") {
				startListening(hrefs[l],"click",trackMailto);
			} else if (hrefs[l].hostname == location.host) {
				var path = hrefs[l].pathname + hrefs[l].search;
				var isDoc = path.match(/\.(?:doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)($|\&|\?)/);
				if (isDoc) {
					startListening(hrefs[l],"click",trackExternalLinks);
				}
			} else {
				startListening(hrefs[l],"click",trackExternalLinks);
			}
		} catch(e) {
			continue;
		}
	}
}

function startListening (obj,evnt,func)
{
	if (obj.addEventListener) {
		obj.addEventListener(evnt,func,false);
	} else if (obj.attachEvent) {
		obj.attachEvent("on" + evnt,func);
	}
}

function trackMailto (evnt)
{
	var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
	var mailto = "/mailto/" + href.substring(7);
	if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
}

function trackExternalLinks (evnt)
{
	var e = (evnt.srcElement) ? evnt.srcElement : this;
	while (e.tagName != "A") {
		e = e.parentNode;
	}
	var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
	if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
	if (e.hostname != location.host) lnk = "/external/" + e.hostname + lnk;
	if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);
}

function collapse(a_id)
{
	var a_element = document.getElementById(a_id);
	var a_object = document.getElementById(a_id + '_object');
	if (a_element.firstChild.nodeValue == '[–]') {
		a_object.style.display = 'none';
		a_element.firstChild.nodeValue = '[+]';
	} else {
		a_object.style.display = 'block';
		a_element.firstChild.nodeValue = '[–]';
	}
}

function initcalc()
{
	photobooks_wedding['21x30'] = photobooks_wedding['20x20'];
	document.getElementById('calc_table').removeChild(document.getElementById('calc_tbody'));
	if (document.getElementById('photoprint').checked) {
		createElements(document.getElementById('calc_table'), photoprint, false);
	} else {
		createElements(document.getElementById('calc_table'), photobook, false);
		initphotobook();
	}
}

function calcsubmit()
{
	var msg = '';
	if (document.getElementById('id').value.length < 4) {
		msg += "Ви не вказали ID\n";
	}
	if (document.getElementById('ftp_folder').value.length < 2) {
		msg += "Ви не вказали Назва папки\n";
	}
	if (document.getElementById('total').value <= 0) {
		msg += "Ви не вказали кількість\n";
	}
	if (msg.length > 0) {
		alert(msg);
	} else {
		document.getElementById('calc').submit();
	}
}

function photocalc()
{
	var l_total = document.getElementById('total');
	var total = 0;
	for (var key in photocalcformats) {
		var l_element_count = document.getElementById('count_' + photocalcformats[key]);
		is_int(l_element_count);
		var l_element_price = document.getElementById('price_' + photocalcformats[key]);
		var l_element_sum = document.getElementById('sum_' + photocalcformats[key]);
		var l_sum = l_element_count.value * l_element_price.value;
		l_element_sum.value = l_sum.toFixed(2);
		total += l_element_sum.value * 1;
	}
	l_total.value = total.toFixed(2);
}

function initphotobook()
{
	document.getElementById('photobook_tr').removeChild(document.getElementById('photobook_td'));
	if (document.getElementById('school').checked) {
		createElements(document.getElementById('photobook_tr'), photobook_school, false);
		photobook_school_calc_select();
	} else {
		createElements(document.getElementById('photobook_tr'), photobook_wedding, false);
		photobook_wedding_calc_select();
	}
}

function photobook_school_calc_select()
{
	if (document.getElementById('page_count_label')) {
		document.getElementById('photobook_td').removeChild(document.getElementById('page_count_label'));
	}
	if (document.getElementById('page_count')) {
		document.getElementById('photobook_td').removeChild(document.getElementById('page_count'));
	}
	if (document.getElementById('total')) {
		document.getElementById('photobook_td').removeChild(document.getElementById('total'));
	}
	if (document.getElementById('format').value == '21x30') {
		createElements(document.getElementById('photobook_td'), photobook_school_21x30, false);
	} else {
		createElements(document.getElementById('photobook_td'), photobook_school_30x30, false);
	}
	photobook_school_calc();
}

function photobook_school_calc()
{
	var l_element_count = document.getElementById('count');
	var l_total = document.getElementById('total');
	is_int(l_element_count);
	if (document.getElementById('format').value == '21x30') {
		if (document.getElementById('page_count').value == '16') {
			if (document.getElementById('count').value <= 9) {
				var price = 60;
			} else {
				var price = 49;
			}
		} else {
			if (document.getElementById('count').value <= 9) {
				var price = 55;
			} else {
				var price = 47;
			}
		}
	} else {
		if (document.getElementById('count').value <= 9) {
			var price = 115;
		} else {
			var price = 95;
		}
	}
	var total = document.getElementById('count').value * price;
	l_total.value = total.toFixed(2);
}

function photobook_wedding_calc_select()
{
	if (document.getElementById('page_add_count_label')) {
		document.getElementById('photobook_td').removeChild(document.getElementById('page_add_count_label'));
	}
	if (document.getElementById('page_add_count')) {
		document.getElementById('photobook_td').removeChild(document.getElementById('page_add_count'));
	}
	if (document.getElementById('total')) {
		document.getElementById('photobook_td').removeChild(document.getElementById('total'));
	}
	createElements(document.getElementById('photobook_td'), photobooks_wedding[document.getElementById('format').value][document.getElementById('page_count').value], false);
	photobook_wedding_calc();
}

function photobook_wedding_calc()
{
	var l_element_count = document.getElementById('count');
	var l_element_add_count = document.getElementById('page_add_count');
	var l_total = document.getElementById('total');
	is_int(l_element_count);
	if (document.getElementById('format').value == '15x21') {
		var add_count = l_element_add_count.value / 8;
		var add_price = 7;
		if (document.getElementById('page_count').value == '40') {
			if (document.getElementById('count').value == 1) {
				var price = 88;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 80;
			} else {
				var price = 71;
			}
		} else if (document.getElementById('page_count').value == '32') {
			if (document.getElementById('count').value == 1) {
				var price = 76;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 69;
			} else {
				var price = 61;
			}
		} else {
			if (document.getElementById('count').value == 1) {
				var price = 65;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 59;
			} else {
				var price = 52;
			}
		}
	} else if (document.getElementById('format').value == '20x20') {
		var add_count = l_element_add_count.value / 4;
		var add_price = 7;
		if (document.getElementById('page_count').value == '40') {
			if (document.getElementById('count').value == 1) {
				var price = 109;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 98;
			} else {
				var price = 87;
			}
		} else if (document.getElementById('page_count').value == '32') {
			if (document.getElementById('count').value == 1) {
				var price = 90;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 81;
			} else {
				var price = 72;
			}
		} else {
			if (document.getElementById('count').value == 1) {
				var price = 74;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 67;
			} else {
				var price = 59;
			}
		}
	} else if (document.getElementById('format').value == '21x30') {
		var add_count = l_element_add_count.value / 4;
		var add_price = 7;
		if (document.getElementById('page_count').value == '40') {
			if (document.getElementById('count').value == 1) {
				var price = 115;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 104;
			} else {
				var price = 92;
			}
		} else if (document.getElementById('page_count').value == '32') {
			if (document.getElementById('count').value == 1) {
				var price = 95;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 86;
			} else {
				var price = 76;
			}
		} else {
			if (document.getElementById('count').value == 1) {
				var price = 78;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 70;
			} else {
				var price = 62;
			}
		}
	} else {
		var add_count = l_element_add_count.value / 2;
		var add_price = 7;
		if (document.getElementById('page_count').value == '40') {
			if (document.getElementById('count').value == 1) {
				var price = 219;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 197;
			} else {
				var price = 175;
			}
		} else if (document.getElementById('page_count').value == '32') {
			if (document.getElementById('count').value == 1) {
				var price = 186;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 168;
			} else {
				var price = 148;
			}
		} else {
			if (document.getElementById('count').value == 1) {
				var price = 150;
			} else if (document.getElementById('count').value > 1 && document.getElementById('count').value <= 9) {
				var price = 135;
			} else {
				var price = 120;
			}
		}
	}
	var total = (document.getElementById('count').value * price) + (add_count * add_price);
	l_total.value = total.toFixed(2);
}

function createElements(a_parent, a_nodes, id)
{
	for (var key in a_nodes) {
		var new_element = document.createElement(a_nodes[key].element);
		if ((a_nodes[key].attributes != undefined) && (typeof(a_nodes[key].attributes) == 'object')) {
			for (var attribute in a_nodes[key].attributes) {
				if ((id) && (((attribute == 'id') || (attribute == 'name') || (attribute == 'for')))) {
					if (a_nodes[key].element == 'tr') {
						new_element.setAttribute(attribute, a_nodes[key].attributes[attribute] + '[' + id + '][' + key + ']');
					} else {
						new_element.setAttribute(attribute, a_nodes[key].attributes[attribute] + '[' + id + ']');
					}
				} else {
					if ((attribute == 'class') && (navigator.appName == 'Microsoft Internet Explorer')) {
						new_element.setAttribute('className', a_nodes[key].attributes[attribute]);
					} else {
						new_element.setAttribute(attribute, a_nodes[key].attributes[attribute]);
					}
				}
			}
		}

		if (a_nodes[key].listeners != undefined) {
			for (var event in a_nodes[key].listeners) {
				var func = a_nodes[key].listeners[event];
				if (new_element.addEventListener) {
					new_element.addEventListener(event, a_nodes[key].listeners[event], false);
				} else if (new_element.attachEvent) {
					new_element.attachEvent('on' + event, a_nodes[key].listeners[event]);
				}
			}
		}

		if (a_nodes[key].textnode != undefined) {
			if (typeof(a_nodes[key].textnode) == 'object') {
				createElements(new_element, a_nodes[key].textnode, id);
			} else if (a_nodes[key].textnode != '') {
				if (a_nodes[key].textnode == 'id') {
					var text_node = document.createTextNode(id);
				} else {
					var text_node = document.createTextNode(a_nodes[key].textnode);
				}
				new_element.appendChild(text_node);
			}
		}
		a_parent.appendChild(new_element);
	}
}

function is_int(a_element)
{
	if ((a_element.value.length > 0) && (a_element.value != 0)) {
		if (isNaN(Math.floor(a_element.value))){
			a_element.value = '0';
		} else {
			a_element.value = Math.floor(a_element.value);
		}
	} else {
		a_element.value = '0';
	}
}

function submit_formquery()
{
	if (frm = document.getElementById('formquery')) {
		var error = false;
		var filds = new Array();
		filds['email'] = 'email';
		filds['name'] = 'name';
		filds['last_name'] = 'last_name';
		filds['city'] = 'city';
		filds['phone'] = 'phone';
		filds['text'] = 'text';
		for (var key in filds) {
			if ((element = frm.elements[filds[key]]) && (element.value.length == 0)) {
				if (l_label = document.getElementById('label_' + filds[key])) {
					l_label.innerHTML = lang.must_be_not_empty;
				} else {
					alert(filds[key] + ': ' + lang.must_be_not_empty);
				}
				error = true;
			} else {
				if (l_label = document.getElementById('label_' + filds[key])) {
					l_label.innerHTML = '';
				}
			}
		}
		if (typeof frm.elements[filds['email']] !== 'undefined') {
			var reg_email = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
			if (reg_email.test(frm.elements[filds['email']].value)) {
				if (l_label = document.getElementById('label_' + filds['email'])) {
					l_label.innerHTML = '';
				}
			} else {
				if (l_label = document.getElementById('label_' + filds['email'])) {
					l_label.innerHTML = lang.incorrect_email;
				} else {
					alert('email: ' + lang.incorrect_email);
				}
				error = true;
			}
		}

		if (typeof frm.elements[filds['phone']] !== 'undefined') {
			var reg_phone = /^\+(38) \(([\d]{3})\) ([\d]{3})-([\d]{2})-([\d]{2})$/;
			if (reg_phone.test(frm.elements[filds['phone']].value)) {
				if (l_label = document.getElementById('label_' + filds['phone'])) {
					l_label.innerHTML = '';
				}
			} else {
				if (l_label = document.getElementById('label_' + filds['phone'])) {
					l_label.innerHTML = lang.incorrect_phone;
				} else {
					alert('phone: ' + lang.incorrect_phone);
				}
				error = true;
			}
		}

		if (!error) {
			frm.submit();
		}
	}
}

function create_options_set(a_array, a_element, a_selected)
{
	for (key in a_array){
		if (a_array[key][1] instanceof Array) {
			 var new_element = document.createElement('optgroup');
			 new_element.setAttribute('label', a_array[key][0]);
			 create_options_set(a_array[key][1], new_element);
			 a_element.appendChild(new_element);
		} else {
			var new_element = document.createElement('option');
			new_element.setAttribute('value', a_array[key][1]);
			if (a_selected == a_array[key][1]) {
				new_element.setAttribute('selected', 'selected');
			}
			new_element.appendChild(document.createTextNode(a_array[key][0]));
			a_element.appendChild(new_element);
		}
	}
}

function remove_row(id_element_tr)
{
	if (confirm(lang.are_you_sure_to_delete_this_image)) {
		var tbody = document.getElementById('order_tbody');
		var rm_element_tr = document.getElementById(id_element_tr);
		xmlHttp = get_xml_http_object();
		for (var key in rows_array) {
			if (id_element_tr.substr(4) == rows_array[key]) {
				if (l_file = document.getElementById('product_files_name_' + rows_array[key])) {
					xmlHttp.open("GET", base + 'orderphoto/removeitem/' + l_file.value + '.html', true);
					xmlHttp.send(null);
 				}
				rows_array.splice(key, 1);
				break;
			}
		}
		if (rows_array.length == 0) {
			add_rows(1, true)
		}
		tbody.removeChild(rm_element_tr);
		calc();
	}
}

function confirm_orderphoto_cleanup()
{
	if (confirm(lang.warn_confirm_cleanup)) {
		var tbody = document.getElementById('order_tbody');
		var order_container = document.getElementById('order_container');
		var errors;
		if (errors = document.getElementById('errors')) {
			order_container.removeChild(errors);
		}
		xmlHttp = get_xml_http_object();
		xmlHttp.open('GET', base + 'orderphoto/removeallitems', true);
		xmlHttp.send(null);
		for (var key in rows_array) {
			var rm_element_tr = document.getElementById('row_' + rows_array[key]);
			tbody.removeChild(rm_element_tr);
		}
		rows_array = Array();
		add_rows(1, true);
		calc();
	}
}

function product_frame_control(a_num)
{
	if (!print_status) {
		var submit_button = document.getElementById('submit_button');
		submit_button.value = lang.upload;
		form_action = base + lang_current + 'orderphoto';
	}
	var l_element_product_border = document.getElementById('product_border_' + a_num);
	var l_element_product_frame = document.getElementById('product_frame_' + a_num);
	if (l_element_product_border.checked) {
		l_element_product_frame.checked = false;
		l_element_product_frame.disabled = 'disabled';
	} else {
		l_element_product_frame.disabled = '';
	}
}

function count_to_one(a_num)
{
	var l_product_count = document.getElementById('product_count_' + a_num);
	if (l_product_count.value == 0) {
		l_product_count.value = 1;
	}
}

function add_row(a_element)
{
	var to_num = row_num;
	var td = new Array();
	var tbody = document.getElementById('order_tbody');
	var row = document.createElement('tr');
	row.setAttribute('id', 'row_' + to_num);
	row.setAttribute('align', 'center');

	// 1 column
	td[1] = document.createElement('td');

	if (a_element) {

		var new_div = document.createElement('div');
		new_div.setAttribute('className', 'thumb');
		new_div.setAttribute('class', 'thumb');

		var new_element = document.createElement('img');
		var uniq = new Date();
		uniq = uniq.getTime();
		new_element.setAttribute('src', base + 'ecms/orders/cache/' + a_element[0] + '_thumb.jpg?' + uniq);
		new_element.setAttribute('id', 'img_src[' + to_num + ']');
		new_element.setAttribute('alt', a_element[0] + '_thumb.jpg');
		new_div.appendChild(new_element);
		td[1].appendChild(new_div);

		var new_element = document.createElement('input');
		new_element.setAttribute('name', 'product_files_name[' + to_num + ']');
		new_element.setAttribute('id', 'product_files_name_' + to_num);
		new_element.setAttribute('type', 'hidden');
		new_element.setAttribute('value', a_element[0]);
		td[1].appendChild(new_element);

		var new_element = document.createElement('div');
		var quality = 'quality_' + a_element[6];
		new_element.setAttribute('className', quality);
		new_element.setAttribute('class', quality);
		var text_node = document.createTextNode(lang[quality]);
		new_element.appendChild(text_node);
		td[1].setAttribute('title', a_element[0] + '.jpg');
		td[1].appendChild(new_element);


	} else {
		var new_element = document.createElement('input');
		new_element.setAttribute('name', 'product_files[' + to_num + ']');
		new_element.setAttribute('id', 'product_files_' + to_num);
		new_element.setAttribute('type', 'file');
		new_element.setAttribute('size', 10);
		new_element.onchange = function() {count_to_one(to_num);calc();add_rows(1, true)};
		td[1].appendChild(new_element);
	}

	// 2 column
	td[2] = document.createElement('td');
	var new_element = document.createElement('A');
	new_element.setAttribute('href', 'javascript:remove_row(\'row_' + to_num + '\')');
	new_element.setAttribute('class', 'remove');
	new_element.setAttribute('className', 'remove');
	new_element.setAttribute('title', lang.remove_row);
	new_element.appendChild(document.createTextNode('×'));
	td[2].appendChild(new_element);

	// 3 column
	td[3] = document.createElement('td');
	var new_element = document.createElement('input');
	new_element.setAttribute('name', 'product_count[' + to_num + ']');
	new_element.setAttribute('id', 'product_count_' + to_num);
	new_element.onchange = function() {calc();};
	new_element.onkeyup = function() {calc();};
	new_element.setAttribute('className', 'int');
	new_element.setAttribute('class', 'int');
	new_element.setAttribute('type', 'text');
	new_element.setAttribute('maxlength', 3);
	if (a_element) {
		var l_product_count = a_element[1];
	} else {
		var l_product_count = 0;
	}
	new_element.setAttribute('value', l_product_count);
	td[3].appendChild(new_element);
	var new_element = document.createElement('input');
	new_element.setAttribute('name', 'product_price[' + to_num + ']');
	new_element.setAttribute('id', 'product_price_' + to_num);
	new_element.setAttribute('type', 'hidden');
	td[3].appendChild(new_element);
	var new_element = document.createElement('input');
	new_element.setAttribute('name', 'product_summ[' + to_num + ']');
	new_element.setAttribute('id', 'product_summ_' + to_num);
	new_element.setAttribute('type', 'hidden');
	td[3].appendChild(new_element);

	// 4 column
	td[4] = document.createElement('td');
	var new_element = document.createElement('select');
	new_element.setAttribute('name', 'product_class[' + to_num + ']');
	new_element.setAttribute('id', 'product_class_' + to_num);
	if (a_element) {
		var l_selected_element = a_element[2];
	} else {
		var l_selected_element = null;
	}
	create_options_set(product_class_picture, new_element, l_selected_element);
	new_element.onchange = function() {calc();};
	td[4].appendChild(new_element);

	// 5 column
	td[5] = document.createElement('td');
	var new_element = document.createElement('select');
	new_element.setAttribute('name', 'product_paper[' + to_num + ']');
	if (a_element) {
		var l_selected_element = a_element[3];
	} else {
		var l_selected_element = null;
	}
	create_options_set(product_paper, new_element, l_selected_element);
	new_element.onchange = function() {product_frame_control(to_num);};
	td[5].appendChild(new_element);

	// 6 column
	td[6] = document.createElement('td');
	var new_element = document.createElement('input');
	new_element.setAttribute('name', 'product_border[' + to_num + ']');
	new_element.setAttribute('id', 'product_border_' + to_num);
	new_element.setAttribute('value', '1');
	new_element.setAttribute('type', 'checkbox');
	if ((a_element) && (a_element[4] == '1')) {
		new_element.setAttribute('checked', 'checked');
		new_element.setAttribute('defaultChecked', true);
	}
	new_element.onchange = function() {product_frame_control(to_num);};
	new_element.onclick = function() {product_frame_control(to_num);};
	td[6].appendChild(new_element);

	// 7 column
	td[7] = document.createElement("td");
	var new_element = document.createElement('input');
	new_element.setAttribute('name', 'product_frame[' + to_num + ']');
	new_element.setAttribute('id', 'product_frame_' + to_num);
	new_element.setAttribute('value', '1');
	new_element.setAttribute('type', 'checkbox');
	if ((a_element) && (a_element[5] == '1')) {
		new_element.setAttribute('checked', 'checked');
	}
	new_element.onchange = function() {product_frame_control(to_num);};
	new_element.onclick = function() {product_frame_control(to_num);};
	td[7].appendChild(new_element);

	for (var key in td) {
		row.appendChild(td[key]);
	}

	tbody.appendChild(row);
	rows_array.push(to_num);
	calc(to_num);
	product_frame_control(to_num);
	row_num++;
}

function price_value(a_array, a_value)
{
	for (var key in a_array){
		if (a_array[key][1] == a_value) {
			current_price = a_array[key][2];
		}
		if (a_array[key][1] instanceof Array) {
			price_value(a_array[key][1], a_value);
		}
	}
}

function price(a_id)
{
	var l_product_class = document.getElementById('product_class_' + a_id);
	var l_product_count = document.getElementById('product_count_' + a_id);
	var l_product_price = document.getElementById('product_price_' + a_id);
	var l_product_summ  = document.getElementById('product_summ_' + a_id);

	price_value(product_class_picture, l_product_class.value);

	l_product_price.value = current_price;
	if(isNaN(Math.floor(l_product_count.value))){
		l_product_count.value = 0;
	} else {
		l_product_count.value = Math.floor(l_product_count.value);
	}
	var l_summ = (Math.round(l_product_count.value * current_price * 100)) / 100;
	l_product_summ.value = l_summ;
	return l_summ;
}

function calc()
{
	if (!print_status) {
		var submit_button = document.getElementById('submit_button');
		submit_button.value = lang.upload;
		form_action = base + lang_current + 'orderphoto';
	}

	total_summ = 0.0;
	for (var key in rows_array) {
		total_summ += price(rows_array[key]);
	}
	var l_total_summ = document.getElementById('total_summ');
	var l_submit_button = document.getElementById('submit_button');
	total_summ = (Math.round(total_summ * 100)) / 100;
	total_summ = total_summ.toFixed(2);

	if (user_money_limit < total_summ) {
		l_total_summ.innerHTML = lang.money_limit_over + ' <font color="#ff0000">' + total_summ + ' ' + currency + '</font>';
		l_submit_button.disabled = 'disabled';
	} else {
		l_total_summ.innerHTML = total_summ + ' ' + currency;
		l_submit_button.disabled = '';
	}
}

function calc_multiple()
{
	var product_files_multiple = document.getElementById('product_files_multiple');
	if ((product_files_multiple.multiple != undefined) && (product_files_multiple.multiple == true)) {
		var total_summ = 0.0;
		var l_total_summ = document.getElementById('total_summ_multiple');
		var l_submit_button = document.getElementById('submit_button_multiple');
		total_summ = (Math.round(price('multiple') * 100)) / 100;
		total_summ = total_summ.toFixed(2);

		if (user_money_limit < total_summ) {
			l_total_summ.innerHTML = lang.money_limit_over + ' <font color="#ff0000">' + total_summ + ' ' + currency + '</font>';
			l_submit_button.disabled = 'disabled';
		} else {
			l_total_summ.innerHTML = total_summ + ' ' + currency;
			l_submit_button.disabled = '';
		}
	}
}

function price_flash()
{
	var l_product_price = document.getElementById('product_price_flash');
	var l_product_class = document.getElementById('product_class_flash');
	price_value(product_class_picture, l_product_class.value);
	l_product_price.value = current_price;
}

function add_rows(a_count, a_new)
{
	for (i = 1; i <= a_count; i++) {
		add_row(false);
	}
	if (a_new) {
		var submit_button = document.getElementById('submit_button');
		submit_button.value = lang.upload;
		form_action = base + lang_current + 'orderphoto';
		print_status = false;
	}
}

function start_photo_order()
{
	var product_files_multiple = document.getElementById('product_files_multiple');
	if ((product_files_multiple.multiple != undefined) && (product_files_multiple.multiple == true)) {
		var order_form_multiple = document.getElementById('order_form_multiple');
		order_form_multiple.style.display = 'block';
	}

	if (cache.length > 0) {
		for (var key in cache){
			add_row(cache[key]);
		}
		add_rows(1, false);
	} else {
		add_row(false);
		var submit_button = document.getElementById('submit_button');
		submit_button.value = lang.upload;
		form_action = base + lang_current + 'orderphoto';
	}
	print_status = false;
	price_flash();
	calc_multiple();
}

function send_to_swf()
{
	return ({
			product_price: document.getElementById('product_price_flash').value,
			product_count: document.getElementById('product_count_flash').value,
			product_class: document.getElementById('product_class_flash').value,
			product_paper: document.getElementById('product_paper_flash').value,
			product_border: document.getElementById('product_border_flash').checked,
			product_frame: document.getElementById('product_frame_flash').checked
		});
}

function progress_bar()
{
	var progres_bar = document.getElementById('progres_bar');
	var order_container = document.getElementById('order_container');
	progres_bar.style.display = 'block';
	order_container.style.display = 'none';
}

function clean_empty_input()
{
	var table = document.getElementById('order_table');
	var tbody = document.getElementById('order_tbody');
	var rows = table.getElementsByTagName("tr");
	for(i = 0; i < rows.length; i++) {
		if ((rows[i].id != '') && (input_file = document.getElementById('product_files_' + rows[i].id.substring(4))) && (input_file.value == '')) {
			tbody.removeChild(rows[i]);
		}
	}
}

function submit_form()
{
	var order_form = document.getElementById('order_form');
	var submit_button = document.getElementById('submit_button');
	if (form_action == base + lang_current + 'orderphoto') {
		clean_empty_input();
		progress_bar();
		order_form.action = base + lang_current + 'orderphoto';
		order_form.submit();
	} else if ((form_action == base + lang_current + 'orderphoto/checkout') || (order_form.action == base + lang_current + 'orderphoto/checkout') || (order_form.action == 'orderphoto/checkout')) {
		if (total_summ < order_limit) {
			if (confirm(lang.sum_confirm)) {
				progress_bar();
				order_form.action = base + lang_current + 'orderphoto/checkout';
				order_form.submit();
			} else {
				return;
			}
		} else {
			progress_bar();
			order_form.action = base + lang_current + 'orderphoto/checkout';
			order_form.submit();
		}
	}
}

function submit_multiple_form()
{
	var order_form = document.getElementById('order_form_multiple');
	progress_bar();
	order_form.submit();
}
