var listTop;
var activeDemo = -1;

function popupDemo(el) {
	var id = el.parentNode.parentNode.parentNode.getAttribute("id").substring(4);
	
	if (id == 14)
		popup(el.getAttribute("href"), "tourWindow", 790, 595, "no");
	else if (id == 0)
		popup(el.getAttribute("href"), "_new", 1024, 600, "yes");
	else if (id == 1)
		popup(el.getAttribute("href"), "_new", 890, 525, "yes");
	else if (id == 3)
		popup(el.getAttribute("href"), "_new", 1024, 748, "yes");
/*	else if (id == 9)
		popup(el.getAttribute("href"), "_new", 1000, 715, "yes"); */
	else if ((id == 11) || (id == 18))
		popup(el.getAttribute("href"), "_new", 800, 600, "yes");
	else if (id == 12)
		popup(el.getAttribute("href"), "_new", 933, 600, "yes");
	else
		popup(el.getAttribute("href"), "_new", 890, 600, "yes");

	return false;
}	

function popup(url, name, width, height, bars) {
	var left = (screen.availWidth - width) / 2;
	var top = (screen.availHeight - height) / 2;
	var popup;

	if (left < 0)
		left = 0;
	if (top < 0)
		top = 0;

	popup = window.open(url, name, "toolbar=no,location=no,status=no,menubar=no,scrollbars=" + bars + ",resizable=" + bars + ",width=" + width + ",height=" + height + ",left=" + left + ",top=" + top);
	popup.moveTo(left, top);
}

function showDetail(el) {
	var activeEl = document.getElementById("demo" + activeDemo);
	if (activeEl)
		activeEl.className = "inactive";
	
	var liEl = el.parentNode;
	activeDemo = liEl.getAttribute("id").substring(4);

	var minHeight = findPos(el) - listTop + el.clientHeight;
	var detail = liEl.getElementsByTagName("div")[0];
	liEl.className = "active";
	if (detail.clientHeight < minHeight)
		detail.style.height = (minHeight - 40) + "px";

	return true;
}

function findPos(obj)
{
	var curtop = 0;
	if (obj.offsetParent) {
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
			curtop += obj.offsetTop
	}
	return curtop;
}

function trim(str) {
	while (str.substring(0,1) == " ")
		str = str.substring(1, str.length);
	while (str.substring(str.length-1, str.length) == " ")
		str = str.substring(0, str.length - 1);
	return str;
}

function sendData (el) {
	if (trim(el.feedback.value).length > 0)
		new Ajax.Request("../inc/feedback_ajax.php", { method: "get", parameters: Form.serialize(el.name), onLoading: showLoad, onComplete: showResponse });
}

function showLoad () {
}

function showResponse (originalRequest) {
	var response = parseInt(originalRequest.responseText);
	
	var listItem = document.getElementById("demo" + response);
	if (listItem) {
		var divs = listItem.getElementsByTagName("div");
		for (var i = 0; i < divs.length; i++)
			if (divs[i].className == "feedback-details") {
				divs[i].getElementsByTagName("div")[0].className = "received";
				break;
			}
	}
}

window.onload = function() {
	var list = document.getElementById("demos");

	var demolinks = list.getElementsByTagName("a");
	for (var i = 0; i < demolinks.length; i++)
		demolinks[i].onclick = function() { return popupDemo(this); };

	var demos = list.getElementsByTagName("li");
	for (var i = 0; i < demos.length; i++) {
		var detail = demos[i].getElementsByTagName("div")[0];
		detail.getElementsByTagName("form")[0].onsubmit = function() { sendData(this); return false; };

		var anchor = document.createElement("A");
		anchor.appendChild(document.createTextNode(detail.getElementsByTagName("div")[0].firstChild.nodeValue));
		anchor.setAttribute("href", "#menu");
		anchor.className = "menu-link";
		anchor.onclick = function() { return showDetail(this); };
		demos[i].insertBefore(anchor, detail);
		demos[i].className = "inactive";
	}
	list.className = "demo-menu";
	listTop = findPos(list);
}