function ieHover()
{
	var dropdown = document.getElementsByTagName("ul");
	for (var x=0; x<dropdown.length; x++){
		if (dropdown[x].className.indexOf("main-nav") != -1){
			var nodes = dropdown[x].getElementsByTagName("li");
			for (var i=0; i<nodes.length; i++)
			{
				nodes[i].onmouseover = function() 
				{
					this.className += " hover";
				}
				nodes[i].onmouseout = function()
				{
					this.className = this.className.replace(" hover", "");
				}
			}
		}
	}
}

if (window.attachEvent && !window.opera){
	window.attachEvent("onload", ieHover);
}

// Perform AJAX get request on the given URI to replace the given element's inner HTML
function replace_context(uri, id) {
	if ($(id + "_loader"))
		$(id + "_loader").style.visibility="visible";
	new Ajax.Request(uri, {
         	method:'get',
                 onSuccess: function(transport) {
                 	$(id).innerHTML = transport.responseText;
					if ($(id + "_loader"))
						$(id + "_loader").style.visibility="hidden";
                 }
         });
}

function doActionAndNotify(uri, id) {
	new Ajax.Request(uri, {
		method:'get',
			onSuccess: function(transport) {
				if (transport.responseText == "ok") {
					emailProject(document.getElementById('project_form'));
				}
				else {
					$(id + "_loader").innerHTML = transport.responseText;
					if ($(id + "_loader"))
						$(id + "_loader").style.visibility="visible";
				}
			}
	});
}

// Perform AJAX post request to add the given swatch ID to the user's project, and update
// their project pallet with the given swatch
function addToProject(id) {
	new Ajax.Request("/project/add/" + id, {
         	method:'get',
				onSuccess: function(transport) {
					
					if (transport.responseText == "full")
						doActionAndNotify("/project/full/", "action");
					else if (transport.responseText == "exists")
						doActionAndNotify("/project/exists/", "action");
					else
						$('project').innerHTML = transport.responseText;
				}
	});
}

function removeFromProject(id) {
	new Ajax.Request("/project/remove/" + id, {
         	method:'get',
                 onSuccess: function(transport) {
                 	$('project').innerHTML = transport.responseText;
         	}
	});
}

function selectFromProject(id) {
	new Ajax.Request("/project/select/" + id, {
         	method:'get',
                 onSuccess: function(transport) {
                 	$('project').innerHTML = transport.responseText;
         	}
	});
}

function submitGatherInfoForm(form, uri, id) {
	new Ajax.Request('/project/gatherinfo/', {
         	method:'post',
				parameters:Form.serialize(form),
				onSuccess: function(transport) {
					//doActionAndNotify(uri, id);
					document.getElementById('action_loader').style.visibility='hidden';
					if (transport.responseText == "ok") {
						emailProject(document.getElementById('project_form'));
					}
					else if (transport.responseText != "") {
						document.getElementById('action_loader').style.visibility='visible';
						document.getElementById('action_loader').innerHTML = transport.responseText;
					}
				}
	});

	// Disable form elements to prevent duplicate posts
	for (var i=0; i<form.elements.length; i++)
		form.elements[i].disabled = true;
}

function emailProject(form) {
	new Ajax.Request("/project/email/", {
         	method:'post',
                 parameters:Form.serialize(form),
                 onSuccess: function(transport) {    
                 	$('project').innerHTML = transport.responseText;
         	}
	});
         
         // Disable form elements to prevent duplicate posts
	for (var i=0; i<form.elements.length; i++)
         	form.elements[i].disabled = true;
}

function toggleDisplay(id) {
	if ($(id).style.display == "none")
		$(id).style.display = "inline";
	else
		$(id).style.display = "none";
}

function showHideItemInfo(block, link, show_text, hide_text) {
	if ($(block).style.display == "none") {
		$(block).style.display = "block";
		$(link).innerHTML = hide_text;
	}
	else {
		$(block).style.display = "none";
		$(link).innerHTML = show_text;
	}
}
