function bookmarkResource(i,c,p) {
	var url = "/ajax_bookmark_resource.cfm?r=" + i + "&rc=" + c + "&p=" + p;
	submitRequest(url);
	return false;
}

/***************************************************************************
 *  No need to replace anything below this line
 ***************************************************************************/

function submitRequest(url)
{
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
		req.onreadystatechange = updatePage;
		req.open("GET", url, true);
		req.send(null);
		// branch for IE/Windows ActiveX version
	}
	
	else if (window.ActiveXObject)
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req)
		{
			req.onreadystatechange = updatePage;
			req.open("GET", url, true);
			req.send();
		}
	}
}

function updatePage()
{
	if(req.readyState == 4)
	{
	  createXML(req.responseText);
	}
}

function createXML(t)
{
	var tmptext = t;
	tmptext = tmptext.substring(tmptext.indexOf("<"),tmptext.length);
	if (window.ActiveXObject)
	{
		var xmlobject=new ActiveXObject("Microsoft.XMLDOM");
		xmlobject.async="false";
		xmlobject.loadXML(tmptext);
	}
	// code for Mozilla, Firefox, Opera, etc.
	else
	{
		var parser=new DOMParser();
		var xmlobject=parser.parseFromString(tmptext,"text/xml");
	}
	
	root = xmlobject.getElementsByTagName("node");
	
	for(x=0;x<root.length;x++)
	{
		switch(root[x].getElementsByTagName("method")[0].firstChild.data)
		{
			case "add":
				if(document.getElementById(root[x].getElementsByTagName("id")[0].firstChild.data))
				{
					document.getElementById(root[x].getElementsByTagName("id")[0].firstChild.data).innerHTML += root[x].getElementsByTagName("content")[0].firstChild.data;
					setTimeout("addElement('"+root[x].getElementsByTagName("newid")[0].firstChild.data+"',0)","0");
				}
				break;
			case "replace":
				if(document.getElementById(root[x].getElementsByTagName("id")[0].firstChild.data))
				{
					document.getElementById(root[x].getElementsByTagName("id")[0].firstChild.data).innerHTML = root[x].getElementsByTagName("content")[0].firstChild.data;
				}
				break;
			case "delete":
				if(document.getElementById(root[x].getElementsByTagName("id")[0].firstChild.data))
				{
					deleteElement(root[x].getElementsByTagName("id")[0].firstChild.data,90);
				}
				break;
			case "donothing":
				break;
			case "error":
				alert(root[x].getElementsByTagName("content")[0].firstChild.data);
				break;
			case "execute":
				eval(""+root[x].getElementsByTagName("content")[0].firstChild.data);
				break;
		}
	}
}

function deleteElement(id,opac)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).style.background = "#E2CD81";
		if(document.getElementById(id).style.filter)
		{document.getElementById(id).style.filter = "alpha(opacity=."+opac/100+")";}
		if(document.getElementById(id).style.mozOpacity)
		{document.getElementById(id).style.mozOpacity = opac/100;}
		document.getElementById(id).style.opacity = opac/100;
		if(opac == 0)
		{
			document.getElementById(id).parentNode.removeChild(document.getElementById(id));
		}else
		{
			opac = parseInt(opac) - 5;
		}
		setTimeout("deleteElement('"+id+"','"+opac+"')","60");
	}
}

function addElement(id,opac)
{
	if(opac < 100)
	{
		document.getElementById(id).style.background = "#A3D7A3";
		if(document.getElementById(id).style.filter)
		{document.getElementById(id).style.filter = "alpha(opacity=."+opac/100+")";}
		if(document.getElementById(id).style.mozOpacity)
		{document.getElementById(id).style.mozOpacity = opac/100;}
		document.getElementById(id).style.opacity = opac/100;
		opac = parseInt(opac) + 5;
		setTimeout("addElement('"+id+"','"+opac+"')","60");
	}else
	{
		document.getElementById(id).style.background = "transparent";
	}
}
