function set_cookie(name, value, expires) {
	var dt = new Date();
	var dtt = "";
	dt.setTime(dt.getTime() + expires * 30 * 24 * 60 * 60);
	dtt = dt.toGMTString();
	document.cookie = name + "=" + value + ";expires = " + dtt + ";path=/";
}

function get_cookie(name) {
	var prefix = name + "=";
	var cookieStartIndex = document.cookie.indexOf(prefix);
	if (cookieStartIndex == -1) {
		return null;
	}
	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
	if (cookieEndIndex == -1) {
		cookieEndIndex = document.cookie.length;
	}
	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function cart_insert(objname, id, num) {
	
	var cookie = get_cookie('cart');
	
	var cart = Array();
	
	if (cookie != null && cookie != '') {
		cart = cookie.split(',');
	}
	
	for (i = 0; i < cart.length; i += 3) {
		if (cart[i] == objname && cart[i+1] == id) {
			return false;
		}
	}
	
	cart.push(objname);
	cart.push(id);
	cart.push(num);
	
	set_cookie('cart', cart.join(','), 1);
	
	window.location.reload();
	
	return true;
	
}

function cart_delete(objname, id) {
	
	var cookie = get_cookie('cart');
	
	if (cookie == null || cookie == '') {
		return true;
	}
	
	var cart = cookie.split(',');
	
	var newcart = Array();
	
	for (i = 0; i < cart.length; i += 3) {
		if (cart[i] == objname && cart[i+1] == id) {
			continue;
		}
		newcart.push(cart[i]);
		newcart.push(cart[i+1]);
		newcart.push(cart[i+2]);
	}
	
	set_cookie('cart', newcart.join(','), 1);
	
	window.location.reload();
	
	return true;
	
}

function cart_update(objname, id, count) {
	
	count = parseInt(count);
	
	if (isNaN(count)) {
		count = 0;
	}
	
	var elem_price = document.getElementById(objname + '_' + id + '_price');
	
	if (elem_price == null) {
		return;
	}
	
	var elem_total = document.getElementById(objname + '_' + id + '_total');
	
	if (elem_total == null) {
		return;
	}
	
	var cart_total = document.getElementById('cart_total');
	
	if (cart_total == null) {
		return;
	}
	
	elem_price_value = parseFloat(elem_price.innerHTML);
	elem_total_value = parseFloat(elem_total.innerHTML);
	
	cart_total_value = parseFloat(cart_total.innerHTML);
	
	if (isNaN(elem_price_value)) {
		elem_total.innerHTML = '';
	}
	else {
		elem_total.innerHTML = '' + (elem_price_value * count);
		cart_total.innerHTML = '' + (cart_total_value - elem_total_value + elem_price_value * count);
	}
	
	//
	
	var cookie = get_cookie('cart');
	
	var cart = Array();
	
	if (cookie != null && cookie != '') {
		cart = cookie.split(',');
	}
	
	for (i = 0; i < cart.length; i += 3) {
		if (cart[i] == objname && cart[i+1] == id) {
			cart[i+2] = count;
		}
	}
	
	set_cookie('cart', cart.join(','), 1);
	
	return true;
	
}

function change_good(href) {
	
	var id = Array();
	
	var elems = document.getElementsByName('compare_good');
	
	for (var i = 0; i < elems.length; i += 1) {
		switch (elems[i].type) {
			case 'checkbox':
				if (elems[i].value && elems[i].checked) {
					id.push(elems[i].value);
				}
				break;
			case 'select-one':
				if (elems[i].value && elems[i].selectedIndex) {
					id.push(elems[i].value);
				}
				break;
		}    
	}
	
	if (id.length < 2) {
		return;
	}
	
	//window.location.href = href + id.join(',') + '/';
	
	window_open(href + id.join(',') + '/','name','compare','width',1024,'height',768);
	
}

var current = null;

function change_exhibit_image(node, src) {
	
	if (current != null) {
		document.getElementById(current).className = '';
	}
	
	document.getElementById('bigimg').src = src;
	
	current = node.id;
	
	node.className = 'smooth';
	
}

function rollPriceList(node, node_level) {
	
	var display = node.roll == null || node.roll == 'none' ? 'block' : 'none';
	
	//node_level = parseInt(node.className.substring(5, node.className.length));
	
	node.roll = display;
	
	//node.firstChild.className = display == 'block' ? node.firstChild.className.replace(/plus/g, 'minus') : node.firstChild.className.replace(/minus/g, 'plus');
	node.className = display == 'block' ? node.className.replace(/plus/g, 'minus') : node.className.replace(/minus/g, 'plus');
	
	var next = node.nextSibling;
	
	while (next != null) {
		
		next_level = parseInt(next.className.substring(5, next.className.length));
		
		if (next_level == node_level) {
			break;
		}
		
		if (display == 'block') {
			if (next_level != node_level + 1) {
				break;
			}
		}
		else if (display == 'none') {
			if (next_level < node_level) {
				break;
			}
		}
		else {
			break;
		}
		
		next.style.display = display;
		
		next.roll = null;
		
		next.className = next.className.replace(/minus/g, 'plus');
		
		next = next.nextSibling;
		
	}
	
}