
function remove_link( id )
{
	var req = create_XMLHttpRequest();
	req.open('GET', unique_get('/ajax/remove-bookmark?id=' + id), true);
	req.onreadystatechange = function() {
		if( req.readyState == 4 && req.status == 200 )
		{
			var link_el = document.getElementById('link_' + id);
			var parent_el = link_el.parentNode;
			parent_el.removeChild(link_el);
			var link_nodes = getElementsByClassName(parent_el, 'div', 'link');
			if( link_nodes.length == 0 )
			{
				document.getElementById('noWebsiteLinksMessage').innerHTML = 'You have not added any Web site links to your advice yet.';
			}
		}
	}
	req.send(null);
}

function add_advice_link( advice_id, link_advice_id )
{
	var req = create_XMLHttpRequest();
	req.open('GET', unique_get('/ajax/advice/add-advice-link?id=' + advice_id + '&link_id=' + link_advice_id), true);

	document.getElementById('actionLinkButton_' + link_advice_id).style.display = 'none';
	req.onreadystatechange = function() {
		if( req.readyState == 4 && req.status == 200 )
		{
			var suggested_advice = document.getElementById('suggestedAdvice_' + link_advice_id)
			var linked_advice = suggested_advice.cloneNode(true);
			linked_advice.setAttribute('id', 'linkedAdvice_' + link_advice_id);

			var button = getElementsByClassName(linked_advice, 'a', 'button')[0];

			button.setAttribute('id', 'linkedActionLinkButton_' + link_advice_id);
			button.innerHTML = '<em>remove</em>';
			button.onclick = function() {if( confirm('Remove this advice link?') ) remove_advice_link(advice_id, link_advice_id); return false;};
			button.style.display = 'inline';

			suggested_advice.className += suggested_advice.className ? ' linked' : 'linked';

			var links_area = document.getElementById('myAdviceLinks');
			links_area.appendChild(linked_advice);

			document.getElementById('noAdviceLinksMessage').innerHTML = 'The following advice links have been added to your advice:';

			cycle_class_names(getElementsByClassName(links_area, 'div', 'adviceLinkPreview'), ['odd', 'even']);
		}
	}
	req.send(null);
}

function remove_advice_link( advice_id, link_advice_id )
{
	var req = create_XMLHttpRequest();
	req.open('GET', unique_get('/ajax/advice/remove-advice-link?id=' + advice_id + '&link_id=' + link_advice_id));
	req.onreadystatechange = function() {
		if( req.readyState == 4 && req.status == 200 )
		{
			var suggested_advice = document.getElementById('suggestedAdvice_' + link_advice_id);
			var linked_advice = document.getElementById('linkedAdvice_' + link_advice_id);
			if( suggested_advice != null )
			{
				suggested_advice.className = suggested_advice.className.replace(/\blinked\b/, '');
				document.getElementById('actionLinkButton_' + link_advice_id).style.display = 'block';
			}
			var my_advice_links = document.getElementById('myAdviceLinks');
			my_advice_links.removeChild(linked_advice);

			var preview_nodes = getElementsByClassName(my_advice_links, 'div', 'adviceLinkPreview');
			if( preview_nodes.length == 0 )
			{
				document.getElementById('noAdviceLinksMessage').innerHTML = 'You have not added any advice links to your advice yet.';
			}
			cycle_class_names(preview_nodes, {0 : 'odd', 1 : 'even'});
		}
	}
	req.send(null);
}

function remove_advice_image( advice_id, image_id )
{
	var req = create_XMLHttpRequest();
	req.open('GET', unique_get('/ajax/advice/remove-photo?advice_id=' + advice_id + '&image_id=' + image_id));
//	req.open('GET', '/');
	req.onreadystatechange = function() {
		var image_holder = document.getElementById('adviceImage_' + image_id);
		image_holder.parentNode.removeChild(image_holder);

		var first_add_image_holder = document.getElementById('addImage_0');
		if( first_add_image_holder.style.display == 'none' )
		{
			first_add_image_holder.style.display = 'block';
		}
		else
		{
			var i = -1;
			var add_image_holder = null;
			while( ((add_image_holder = document.getElementById('addImage_' + ++i)) != null && add_image_holder.style.display != 'none') );

			if( add_image_holder != null )
			{
				var button_el = document.getElementById('addImageButton_' + (i - 1));
				if( button_el != null )
				{
					button_el.style.display = 'block';
				}
				button_el = document.getElementById('addImageButton_' + (i - 2));
				if( button_el != null )
				{
					button_el.style.display = 'none';
				}
			}
		}

		document.getElementById('tooManyImagesWarning').style.display = 'none';
	}
	req.send(null);
}

function advice_image_checkbox( checkbox, number )
{
	// ie stuff is commented because ie fails at opacity
	var div_el = document.getElementById('addImage_' + number);
	if( checkbox.checked )
	{
		// div_el.style.filter = 'alpha(opacity=25)';
		div_el.style.MozOpacity = 0.25;
		div_el.opacity = 0.25;
	}
	else
	{
		// div_el.style.filter = 'alpha(opacity=100)';
		div_el.style.MozOpacity = 1;
		div_el.opacity = 1;
	}
}
