function getLicense(lid, acp)
{
	if(acp == 1)
	{
		new Ajax.Request('./../../../../xmlhttp.php?action=get_license&lid='+lid, {method: 'get', onComplete: updateLicense});
	}
	else
	{
		new Ajax.Request('./../xmlhttp.php?action=get_license&lid='+lid, {method: 'get', onComplete: updateLicense});
	}
	
	if(lid != 0)
	{
		document.getElementById('license_name_holder').style.display = 'none';
	}
	else
	{
		document.getElementById('license_name_holder').style.display = '';
	}
}

function updateLicense(response)
{
	document.getElementById('license').value = response.responseText;
}

function toggleVisibility(item)
{
	var toggle = document.getElementById(item);
	
	if(toggle.style.display == 'none')
	{
		toggle.style.display = '';
	}
	else
	{
		toggle.style.display = 'none';
	}
}
/* Replaced by Ajax based deletion (Chris)
function confirmRemovePreview(pid)
{
	var confirmRemove = confirm('Are you sure you would like to remove this preview?');
	
	if(confirmRemove == true)
	{
		document.getElementById('remove_preview_pid').value = pid;
	}
	else
	{
		return false;
	}
}*/

function confirmRemovePreview(pid)
{
	if(confirm('Are you sure you would like to remove this preview?') == true)
	{
		new Ajax.Request('/modify-download/delete_preview/?ajax=1&remove_preview_pid='+pid+'&guid='+$('guid').value, {onComplete:function(request) { removePreview(pid); }, asynchronus: true});
	}
	return false;
}

function removePreview(pid)
{
	new Effect.Fade('preview_'+pid, {afterFinish: function(obj) {
	Element.remove('preview_'+pid);
	Element.cleanWhitespace('preview_list');
	if ($('preview_list').childNodes.length <= 0)
	{
		Element.toggle('outer_preview_list_list1');
		Element.toggle('outer_preview_list_list2');
	}}});
}

function insertPreview(pid, field)
{
	var textarea = document.getElementById(field);
	
	textarea.focus();
	textarea.value += '[preview='+pid+']';
}

function confirmRemoveTranslation(tid)
{
	var confirmRemove = confirm('Are you sure you would like to remove this language pack?');
	
	if(confirmRemove == true)
	{
		document.getElementById('remove_translation_tid').value = tid;
	}
	else
	{
		return false;
	}
}

function searchSuggest()
{
	if(document.getElementById('assoc_submission').value.length > 3)
	{
		var string = escape(document.getElementById('assoc_submission').value);
		new Ajax.Request('./../xmlhttp.php?action=search_submissions&string='+string, {method: 'get', onComplete: handleSearchSuggest});
	}
}

function handleSearchSuggest(request)
{
	if(request.readyState == 4)
	{	
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		ss.style.display = '';
		var str = request.responseText.split("\n");
		for(i=0; i < str.length - 1; i++)
		{
			var suggest = '<div onmouseover="javascript: suggestOver(this);" ';
			suggest += 'onmouseout="javascript: suggestOut(this);" ';
			suggest += 'onclick="javascript: setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

function suggestOver(div_value)
{
	div_value.className = 'suggest_link_over';
}

function suggestOut(div_value)
{
	div_value.className = 'suggest_link';
}

function setSearch(value)
{
	document.getElementById('assoc_submission').value = value;
	document.getElementById('search_suggest').innerHTML = '';
}

function toggleSearchOptions()
{
	var plugins_only = document.getElementById('plugins_only_box');
	var cat_select = document.getElementById('cat_select');
	var ver_select = document.getElementById('ver_select');
	
	if(document.getElementById('type_mod').checked != true)
	{
		plugins_only.style.display = 'none';
	}
	else
	{
		plugins_only.style.display = '';
	}
	
	if(document.getElementById('type_graphic').checked == true || document.getElementById('type_res').checked == true)
	{
		cat_select.style.display = 'none';
	}
	else
	{
		cat_select.style.display = '';
	}
	
	if(document.getElementById('type_res').checked == true)
	{
		ver_select.style.display = 'none';
	}
	else
	{
		ver_select.style.display = '';
	}
}

/* Preview Sorting (Chris) */

function makeSortablePreviews(type)
{
	if(type == "resource")
	{
		if($('rid') && $('rid').value != '')
		{
			var id = 'resource_'+$('rid').value;
		}
	}
	else
	{
		if($('did') && $('did').value != '')
		{
			var id = 'download_'+$('did').value;
		}
	}

	if(!id)
	{
		var id = 'hash_'+$('guid').value;
	}
	Sortable.create("preview_list", {
		dropOnEmpty:true,
		containment:["preview_list"],
		constraint: false,
		onUpdate: function() {
			new Ajax.Request('/modify-download/update_preview_order/'+id, {
				onComplete:function(request) {
				},
				parameters:Sortable.serialize('preview_list'),
				asynchronus: true
			})
		}
	});
}


/* Review Management (Chris) */
var editRequest = "";
var editSpinner = "";

function editReview(rid)
{
	editSpinner = new ActivityIndicator("body", {image: "/images/spinner_big.gif"});
	editRequest = new Ajax.Request('/modify-review/'+rid+'?ajax=1', {method: 'get', onComplete: function(request) { editReviewLoaded(request, rid); }});
	return false;
}

function editReviewLoaded(request, rid)
{
	if(editRequest.header && editRequest.header('Content-type').match(/^text\/javascript/i))
	{
		editSpinner.destroy();
		editSpinner = '';
		return;
	}
	if(request.responseText)
	{
		var container = document.createElement('div');
		container.id = 'edit_review_form_'+rid;
		container.className = 'edit_review';
		container.innerHTML = request.responseText;
		Element.hide('review-'+rid);
		$('review_container_'+rid).appendChild(container);
		$('edit_review_'+rid).focus();
	}
	editSpinner.destroy();
	editSpinner = '';
}

function saveReviewEdit(rid)
{
	review = $('edit_review_'+rid).value;
	if(review == '')
	{
		return false;
	}
	editSpinner = new ActivityIndicator("body", {image: "/images/spinner_big.gif"});
	postData = "review="+encodeURIComponent(review).replace(/\+/g, "%2B");
	editRequest = new Ajax.Request('/modify-review/?rid='+rid+'&ajax=1', {method: 'post', postBody: postData, onComplete: function(request) { reviewSaved(request, rid); }});
	return false;
}

function reviewSaved(request, rid)
{
	if(editRequest.header && editRequest.header('Content-type').match(/^text\/javascript/i))
	{
		editSpinner.destroy();
		editSpinner = '';
		return;
	}
	if(request.responseText)
	{
		$('review-'+rid).innerHTML = request.responseText;
		Element.remove('edit_review_form_'+rid);
		Element.show('review-'+rid);
	}
	editSpinner.destroy();
	editSpinner = '';
}

function cancelReviewEdit(rid)
{
	Element.remove('edit_review_form_'+rid);
	Element.show('review-'+rid);
}
