function get_object() {
	if (window.XMLHttpRequest) return new XMLHttpRequest();
	if (window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP');
	return null;
}
function change_content(div_id, page_url) {
	var xmlhttp = get_object();
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			document.getElementById(div_id).innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.open('GET', page_url, true);
	xmlhttp.send(null);
}
function post_comment(item_id) {
	var xmlhttp = get_object();
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			hide_div('action_loading');
			document.getElementById('comment_button').disabled = false;
			if (xmlhttp.responseText == 'OK') {
				hide_div('action_errors');
				close_overlay();
				if (document.getElementById('comment_name') != undefined) document.getElementById('comment_name').value = '';
				if (document.getElementById('comment_email') != undefined) document.getElementById('comment_email').value = '';
				if (document.getElementById('comment_phone') != undefined) document.getElementById('comment_phone').value = '';
				document.getElementById('comment_article').value = '';
			}
			else {
				document.getElementById('action_errors').innerHTML = xmlhttp.responseText;
				show_div('action_errors');
			}
		}
		else if (xmlhttp.readyState > 0) {
			hide_div('action_errors');
			show_div('action_loading');
			document.getElementById('comment_button').disabled = true;
		}
	}
	var params = 'ajax=11&item_id=' + item_id + 
		'&name=' + (document.getElementById('comment_name') != undefined ? encodeURIComponent(document.getElementById('comment_name').value) : '') + 
		'&email=' + (document.getElementById('comment_email') != undefined ? encodeURIComponent(document.getElementById('comment_email').value) : '') + 
		'&phone=' + (document.getElementById('comment_phone') != undefined ? encodeURIComponent(document.getElementById('comment_phone').value) : '') + 
		'&article=' + encodeURIComponent(document.getElementById('comment_article').value);
	xmlhttp.open('POST', location.href, true);
	xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	xmlhttp.setRequestHeader('Content-length', params.length);
	xmlhttp.setRequestHeader('Connection', 'close');
	xmlhttp.send(params);
}
function post_order(item_id, div_id) {
	var xmlhttp = get_object();
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			var resp = xmlhttp.responseText.toString();
			if (resp.substr(0, 5) != 'ERROR') {
				show_div('basket_success_' + item_id);
				hide_div('basket_errors_' + item_id);
				document.getElementById(div_id).innerHTML = resp;
				setTimeout(function(){
					hide_div('basket_success_' + item_id);
				}, 3000);
			}
			else {
				document.getElementById('basket_errors_' + item_id).innerHTML = resp.substr(6);
				show_div('basket_errors_' + item_id);
			}
		}
	}
	var params = 'ajax=5&item_id=' + item_id +
		(document.getElementById('order_fields_2_' + item_id) != undefined ? '&fields[2]=' + encodeURIComponent(document.getElementById('order_fields_2_' + item_id).options[document.getElementById('order_fields_2_' + item_id).selectedIndex].value) : '') + 
		(document.getElementById('order_fields_3_' + item_id) != undefined ? '&fields[3]=' + encodeURIComponent(document.getElementById('order_fields_3_' + item_id).options[document.getElementById('order_fields_3_' + item_id).selectedIndex].value) : '') + 
		'&amount=' + encodeURIComponent(document.getElementById('order_amount_' + item_id).value);
	xmlhttp.open('POST', location.href, true);
	xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	xmlhttp.setRequestHeader('Content-length', params.length);
	xmlhttp.setRequestHeader('Connection', 'close');
	xmlhttp.send(params);
}
function show_div(div_id) {
	document.getElementById(div_id).style.display = '';
}
function hide_div(div_id) {
	document.getElementById(div_id).style.display = 'none';
}
function change_loc_string(new_id) {
	var reg = new RegExp('#.*$', 'gi');
	if (reg.test(String(document.location))) location.replace(String(document.location).replace(/^([^#]*)#.*$/, '$1#' + new_id));
	else location.replace(document.location + '#' + new_id);
}
function get_loc_string(page_url) {
	var reg = new RegExp(/^[^#]*#([0-9]+)/);
	var match = reg.exec(String(document.location));
	change_content('gallery_image_div', page_url + ',9,' + match[1]);
}
function get_page_size() {	
	var xScroll, yScroll, windowWidth, windowHeight;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.scrollWidth;
		yScroll = (this.isFrame ? parent.innerHeight : self.innerHeight) + (this.isFrame ? parent.scrollMaxY : self.scrollMaxY);
	}
	else if (document.body.scrollHeight > document.body.offsetHeight){
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	}
	else {
		xScroll = document.getElementsByTagName("html").item(0).offsetWidth;
		yScroll = document.getElementsByTagName("html").item(0).offsetHeight;
		xScroll = (xScroll < document.body.offsetWidth) ? document.body.offsetWidth : xScroll;
		yScroll = (yScroll < document.body.offsetHeight) ? document.body.offsetHeight : yScroll;
	}
	if (self.innerHeight) {
		windowWidth = (this.isFrame) ? parent.innerWidth : self.innerWidth;
		windowHeight = (this.isFrame) ? parent.innerHeight : self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	}
	else if (document.body) {
		windowWidth = document.getElementsByTagName("html").item(0).clientWidth;
		windowHeight = document.getElementsByTagName("html").item(0).clientHeight;
		windowWidth = (windowWidth == 0) ? document.body.clientWidth : windowWidth;
		windowHeight = (windowHeight == 0) ? document.body.clientHeight : windowHeight;
	}
	var pageHeight = (yScroll < windowHeight) ? windowHeight : yScroll;
	var pageWidth = (xScroll < windowWidth) ? windowWidth : xScroll;
	return new Array(pageWidth, pageHeight, windowWidth, windowHeight);
}
function display_overlay(overlay_id) {
	var isIE6 = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1;
	var page_size = get_page_size();
	document.getElementById('overlay-bg').style.display = '';
	if (isIE6) document.getElementById('overlay-bg').style.height = page_size[1] + "px";
	document.getElementById('overlay-content-1').style.display = (overlay_id == 1 ? '' : 'none');
	if (document.getElementById('overlay-content-2')) document.getElementById('overlay-content-2').style.display = (overlay_id == 2 ? '' : 'none');
	var overlay = document.getElementById('overlay-holder');
	overlay.style.display = '';
	var overlay_width = overlay.offsetWidth;
	//var left_margin = Math.round((page_size[2] - overlay_width) / 2);
	var left_margin = Math.round((page_size[2] - 970) / 2);
	overlay.style.left = left_margin + "px";
}
function close_overlay() {
	document.getElementById('overlay-bg').style.display = 'none';
	document.getElementById('overlay-holder').style.display = 'none';
}
function request_info() {
	display_overlay(2);
	document.getElementById('overlay-content-2').style.marginLeft = String((970 - Number(document.getElementById('overlay-content-2').offsetWidth)) / 2) + 'px';
}
function autofill(obj, fields) {
	for (i = 0; i < fields.length; i++) {
		document.getElementById('fields_delivery_' + fields[i]).value = (obj.checked == true ? document.getElementById('fields_sender_' + fields[i]).value : '');
	}
}
function display_fieldset(obj, fields, sets) {
	for (i = 0; i < sets.length; i++) {
		document.getElementById(sets[i]).style.display = (fields[obj.selectedIndex] == i + 1 ? '' : 'none');
	}
}
function change_pic(pic_href, li_current, current_id) {
	document.getElementById('img_container').src = pic_href;
	document.getElementById('piclist_li_' + li_current).className = 'active';
	document.getElementById('large_img_id').value = current_id;
	for (i = 0; i < 4; i++) {
		if (li_current != i && document.getElementById('piclist_li_' + i)) document.getElementById('piclist_li_' + i).className = '';
	}
}
function display_pic(pic_id) {
	var isIE6 = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1;
	document.getElementById('overlay_img').style.display = 'none';
	document.getElementById('overlay_img_loader').style.display = '';
	display_overlay(1);
	document.getElementById('overlay_img').innerHTML = '<img src="' + document.getElementById('large_img_' + pic_id).value + '" id="overlay_large_image" class="big_img" onclick="close_overlay();"' + (isIE6 ? '' : ' onload="overlay_loaded();"') + ' />';
	if (isIE6) test_loaded(document.getElementById('overlay_large_image'));
}
function overlay_loaded() {
	document.getElementById('overlay_img_loader').style.display = 'none';
	document.getElementById('overlay_img').style.display = '';
	document.getElementById('overlay_img').style.marginLeft = String((970 - Number(document.getElementById('overlay_img').offsetWidth)) / 2) + 'px';
}
function test_loaded(img) {
	if (img.complete != null && img.complete == true){ 
		overlay_loaded();
		return;
	}
	setTimeout(function() { test_loaded(img); }, 500);
}
var rotation_current = 0;
var next_timeout = 0;
var rotation_imgs = new Array();
function frontpage_pic(pic_id, auto, make_effect) {
	if (!document.getElementById || !document.createElement) return;
	if (auto != 1) stop_rotation();
	if (rotation_imgs.length == 0) {
		rotation_imgs = document.getElementById('frontpage_images').getElementsByTagName("img");
		for (var i = 1; i < rotation_imgs.length; i++) changeOpac(0, rotation_imgs[i].id);
	}
	if (rotation_imgs.length == 0) return;
	for (var i = 0; i < rotation_imgs.length; i++) {
		document.getElementById('frontpage_navi_' + i).className = (pic_id == i ? 'active' : '');
		document.getElementById('frontpage_names_' + i).className = (pic_id == i ? 'active' : '');
	}
	next_id = rotation_imgs[pic_id + 1] ? pic_id + 1 : 0;
	if (make_effect == 1) {
		opacity('frontpage_image_' + rotation_current, 100, 0, 1000);
		opacity('frontpage_image_' + pic_id, 0, 100, 1000);
	}
	rotation_current = pic_id;
	if (auto == 1) {
		stop_rotation();
		next_timeout = setTimeout(function() {
			frontpage_pic(next_id, 1, 1);
		}, 7000);
	}
}
function start_rotation() {
	frontpage_pic(rotation_current, 1, 0);
}
function stop_rotation() {
	clearTimeout(next_timeout);
}
function preload_images(imgs) {
	var image_obj = new Array();
	for (var i in imgs) {
		image_obj[i] = new Image();
		image_obj[i].src = imgs[i];
	}
}
function opacity(id, opacStart, opacEnd, millisec) {
	if (opacStart > opacEnd && document.getElementById(id).style.opacity > 0 && document.getElementById(id).style.opacity * 100 < opacStart) {
		millisec = document.getElementById(id).style.opacity * millisec;
		opacStart = document.getElementById(id).style.opacity * 100;
	}
	var speed = Math.round(millisec / 100);
	var timer = 0;
	if (opacStart > opacEnd) { // disappears
		for (var i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
			timer++;
		}
		//if (opacEnd == 0) setTimeout("hide_div('" + id + "')", millisec);
	}
	else if (opacStart < opacEnd) { // appears
		if (opacStart == 0) document.getElementById(id).style.display = '';
		for (var i = opacStart; i <= opacEnd; i++) {
			setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
			timer++;
		}
	}
}
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}
function open_printpage() {
	newWin = window.open('', 'print_window', 'height=470,width=700,top=40,left=40,scrollbars=yes');
	newWin.document.write('<html><head>');
	newWin.document.write(document.getElementsByTagName('head')[0].innerHTML);
	newWin.document.write('</head><body onload="window.print();" class="printpage">');
	newWin.document.write(document.getElementById('content').innerHTML);
	newWin.document.write('</body></html>');
	newWin.document.close();
}

// dropdown
var disappeardelay = 250;  //menu disappear speed onMouseout (in miliseconds)
var enableanchorlink = 0; //enable or disable the anchor link when clicked on? (1=e, 0=d)
var ie5 = document.all;
var ns6 = document.getElementById && !document.all;
function iecompattest() {
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}
function clearbrowseredge(obj, whichedge) {
	var edgeoffset=0;
	if (whichedge=="rightedge") {
		var windowedge=ie5 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure) edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
	}
	else {
		var topedge=ie5 && !window.opera? iecompattest().scrollTop : window.pageYOffset;
		var windowedge=ie5 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		dropmenuobj.contentmeasure = dropmenuobj.offsetHeight;
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) {
			edgeoffset = dropmenuobj.contentmeasure + obj.offsetHeight;
			if ((dropmenuobj.y-topedge) < dropmenuobj.contentmeasure) edgeoffset = dropmenuobj.y + obj.offsetHeight - topedge;
		}
	}
	return edgeoffset;
}
function dropdownmenu(obj, e, dropmenuID, exactPos) {
	if (window.event) event.cancelBubble = true;
	else if (e.stopPropagation) e.stopPropagation();
	if (typeof dropmenuobj!="undefined") dropmenuobj.style.visibility="hidden";
	clearhidemenu();
	if (ie5||ns6) {
		obj.onmouseout = delayhidemenu;
		dropmenuobj = document.getElementById(dropmenuID);
		dropmenuobj.onmouseover = clearhidemenu;
		dropmenuobj.onmouseout = ie5 ? function() { dynamichide(event); } : function(event) { dynamichide(event); }
		dropmenuobj.onclick = function() { dropmenuobj.onmouseout = function() {} }
		document.onmouseup = ie5 ? function() { dropdown_check_hide(event, dropmenuID); } : function(event) { dropdown_check_hide(event, dropmenuID); }
		if (e.type=="click" && dropmenuobj.style.visibility == 'hidden' || e.type == "mouseover") {
			//var lis = dropmenuobj.getElementsByTagName('li');
			//for (var i=0; i<lis.length; i++) lis[i].style.visibility = 'hidden';
			dropmenuobj.style.visibility = 'visible';
		}
		else if (e.type == "click") dropmenuobj.style.visibility = 'hidden';
		if (exactPos == 1) {
			dropmenuobj.style.left = obj.offsetLeft + "px";
		}
	}
	return clickreturnvalue();
}
function clickreturnvalue() {
	if ((ie5||ns6) && !enableanchorlink) return false;
	else return true;
}
function contains_ns6(a, b) {
	return false;
}
function dynamichide(e) {
	if (ie5&&!dropmenuobj.contains(e.toElement)) delayhidemenu();
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) delayhidemenu();
}
function delayhidemenu() {
	delayhide = setTimeout("dropmenuobj.style.visibility='hidden'", disappeardelay);
}
function clearhidemenu() {
	if (typeof delayhide!="undefined") clearTimeout(delayhide);
}
function dropdown_check_hide(e, div_name) {
	if (!is_clicked(e, div_name)) {
		dropdown_hide(div_name);
	}
}
function dropdown_hide(div_name) {
	if (document.getElementById) document.getElementById(div_name).style.visibility = 'hidden';
	else if (document.all) document.all[div_name].style.visibility = 'hidden';
	else if (document.layers) document.layers[div_name].visibility = 'hidden';
}
function is_clicked(e, div_name) {
	if (document.layers) {
		var clickX = e.pageX;
		var clickY = e.pageY;
		var t = document.layers[div_name];
		if ((clickX > t.left) && (clickX < t.left + t.clip.width) && (clickY > t.top) && (clickY < t.top + t.clip.height)) return true;
		else return false;
	}
	else if (document.all) {
		var t = window.event.srcElement;
		while (t.parentElement != null) {
			if (t.id == div_name) return true;
			t = t.parentElement;
		}
		return false;
	}
	else if (document.getElementById && e) {
		var t = e.originalTarget;
		while (t.parentNode != null) {
			if (t.id == div_name) return true;
			t = t.parentNode;
		}
		return false;
	}
	return false;
}