//****************************************************
//SLS LINK SUBMISSION
//****************************************************
var b_open_form          = false;        // THIS FLAG LETS ME KNOW WHETHER OR NOT THE FORM IS OPEN OR CLOSED (so we don't let the user keep hitting open open open, that looks like ass on the frontend.)
var b_open_thank_you_div = false;        // THIS FLAG LETS ME KNOW WHETHER OR NOT THE THANK YOU DIV IS VISIBLE (i can handle visual effects based on this)
var first_sls_submit		= true;
var alt_sls_row		= true;

/* SHOW ADD LINK FORM *******************************************************
 * DESC:
 *      - fold down the 'add a link' form.
 ****************************************************************************/
function showAddLinkForm(div_to_update, effect_time, height){
	if(!b_open_form){
		//HIDE THE THANK YOU DIV
		if(b_open_thank_you_div){
			fadeOut($('div_thanks'),  .8);
			b_open_thank_you_div = false;
		}

		$('div_validate_response').innerHTML = '';
		var all_a = $(div_to_update).getElementsByTagName('a');
		var btns = new Array();
		var j = 0;
		for(i=0;i<all_a.length;i++)
		{
			if(all_a[i].className.indexOf('btn') >= 0) 
			{
				btns[j++] = all_a[i];
				all_a[i].style.display = 'none';
			}
		}
		if($('div_save').style.display = 'none') $('div_save').style.display = '';
		fadeIn($(div_to_update), 1);
		foldDown($(div_to_update), effect_time, height);
		for(i=0;i<btns.length;i++)
		{
			fadeIn($(btns[i]), 1.3);
		}
		b_open_form = true;
	}
}

/* HIDE ADD LINK FORM *******************************************************
 * DESC:
 *      - fold up the 'add a link' form.
 ****************************************************************************/
function hideAddLinkForm(div_to_update, effect_time, height){
	var all_a = $(div_to_update).getElementsByTagName('a');
	for(i=0;i<all_a.length;i++)
	{
		if(all_a[i].className.indexOf('btn') >= 0)
			all_a[i].style.display = 'none';
	}
	fadeOut($(div_to_update), effect_time);
	foldUp($(div_to_update), effect_time, height);
	b_open_form = false;
}

/* IS VALID URL *************************************************************
 * DESC:
 *      - Checks to see whether the url entered by the useer is a proper url.
 ****************************************************************************/
function isValidUrl(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}

/* CHECK LINK ***************************************************************
 * DESC:
 *      - Quickly checks the link the user submits to make sure its valid
 *        and it isn't a dupe.
 ****************************************************************************/
function checkSLSLink(txt_link_url, ref_type_id, ref_id){
	var b_valid = true;
	// Validate the link url
	if($(txt_link_url).value == '' || $(txt_link_url).value == 'http://'){
		alert('You must enter a link to be validated.');
		b_valid = false;
	}
	else if(!isValidUrl($(txt_link_url).value)){
		alert('You must enter a valid link.');
		b_valid = false;
	}

	// If everything is all good -> submit the link
	if(b_valid){
		pars = 'action=validate_link&URL='+encodeURIComponent($(txt_link_url).value)+'&ref_type='+ref_type_id+'&ref_id='+ref_id;

		// AJAX > Go get all comments associated to this story/link
//		new ajax ('/ajax/post_sls.php', {postBody : pars, onComplete : returnCheckSLSLink});
        new Ajax('/ajax/post_sls.php', {postBody : pars, method: 'post', onComplete : returnCheckSLSLink}).request();		

	}
}

function returnCheckSLSLink(request)
{
	$('div_validate_response').innerHTML = request;
}

/* FINALIZE LINK ************************************************************
 * DESC:
 *      - Validates the fields passed in and submits the link into the sls queue
 *      - Try not. Do or do not, there is no try. -- Yoda
 ****************************************************************************/
function finalizeSLSLink(ref_id, ref_type_id, txt_link_url, txt_link_title, txt_link_desc, ue_sls_url){

	var b_valid = true;
	// Validate the link url
	if($(txt_link_url).value == '' || $(txt_link_url).value == 'http://'){
		alert('You must enter a link to be validated.');
		b_valid = false;
	}
	// Validate the link title
	else if($(txt_link_title).value == ''){
		alert('You must enter a title.');
		b_valid = false;
	}
	else if(!isValidUrl($(txt_link_url).value)){
		alert('You must enter a valid link.');
		b_valid = false;
	}

	// If everything is all good -> submit the link
	if(b_valid){

		var link = $(txt_link_url).value;

		$('div_save').innerHTML = '<b>Submitting Link...</b>';

		pars = 'action=submit&URL='+encodeURIComponent($(txt_link_url).value)+'&title='+encodeURIComponent($(txt_link_title).value)+'&description='+encodeURIComponent($(txt_link_desc).value)+'&ref_type_id='+ref_type_id+'&ref_id='+ref_id+'&ue_url='+encodeURIComponent($(ue_sls_url).value);

//		new ajax('/ajax/post_sls.php', {postBody : pars, onComplete :  returnFinalizeSLSLink});
        new Ajax('/ajax/post_sls.php', {postBody : pars, method: 'post', onComplete : returnFinalizeSLSLink}).request();		
	}
}

function returnFinalizeSLSLink(request)
{
	var return_array = eval("("+request+")");
	if (return_array['success']==1)
	{

		if($('new_sls_buzz') != undefined)
		{
			newSLSRow('new_sls_buzz',return_array);

			if($('recent_buzz').style.display != 'none')
			{
				fadeIn($('new_sls_buzz'), .5);
			}
		}

		newSLSRow('new_sls_news',return_array);
		first_sls_submit = false;

		if($('recent_news') != undefined)
		{
			if($('recent_news').style.display != 'none')
			{
				fadeIn($('new_sls_news'), .5);
			}
		}
		else
		{
			fadeIn($('new_sls_news'), .5);
		}

		$('div_save').innerHTML = 'Thanks!' + return_array['ue_url'];
		hideAddLinkForm('div_add_a_link', .5, 220);
		$('div_save').style.display = "none";
		$('div_save').innerHTML = return_array['buttons'];
		alt_sls_row = alt_sls_row ? false : true;
	}
	else
	{
		$('div_save').innerHTML = return_array['buttons'];
		$('save_response').innerHTML = return_array['response'];
	}
}

function newSLSRow(sls_body,return_array)
{
	if ($(sls_body) != undefined)
	{
		if ($(sls_body).tagName == 'DIV')
		{
			if(first_sls_submit) $(sls_body).innerHTML = ''
			$(sls_body).innerHTML = return_array['html'] + $(sls_body).innerHTML;
		}
		else
		{
			if(first_sls_submit) $(sls_body).deleteRow(0);
			var new_row = $(sls_body).insertRow(0);
			var new_icon = new_row.insertCell(0);
			var new_link = new_row.insertCell(1);
			var new_thumbs = new_row.insertCell(2);
			if(alt_sls_row) new_row.className = "alt";
			new_icon.className = "icon";
			new_icon.innerHTML = return_array['html_icon'];
			new_link.innerHTML = return_array['html_link'];
			new_thumbs.className = "thumbs";
			new_thumbs.innerHTML = return_array['html_thumbs'];
		}
	}
}

//FUNCTION TO HANDLE AJAX CALL ON USER REVIEW THUMB UP OR DOWN
function thumbSLS(sls_id, thumb, ref_type, ref_id, from)
{

	var url = '/ajax/post_sls.php';
	
	if (thumb == 0)
	{
		fadeOut('up_thumb_' + from + sls_id);
	}
	else if (thumb == 1)
	{
		fadeOut('down_thumb_' + from + sls_id);
	}
	else
	{
		return;
	}
	
	var post_body = "sls_id=" + sls_id + "&thumb=" + thumb + "&action=thumb&ref_type=" + ref_type + "&ref_id=" + ref_id; 
//	new ajax (url, {postBody : post_body, onComplete :  returnThumbSLS});
    new Ajax(url, {postBody : post_body, method: 'post', onComplete : returnThumbSLS}).request();		
	 
}
//FUNCTION TO HANDLE AJAX RETURN OF USER REVIEW THUMB UP OR DOWN
function returnThumbSLS(request)
{
	if (request)
	{
		if (document.getElementById("ue_sls_thumb_news_" + request) != undefined) {
			document.getElementById("ue_sls_thumb_news_" + request).style.display = 'block';
		}
	}
}