var tagList = "";
var storedTags = "";
var selectedTags = new Array();
var lang = "";

function ErrorHandler(result)
{
   var msg=result.get_exceptionType() + "\r\n";
   msg += result.get_message() + "\r\n";
   msg += result.get_stackTrace();
   alert(msg);
}

function TimeOutHandler(result)
{
   alert("Timeout :" + result);
}

function Render(result)
{
	var resultDiv = $get("divTagValue");
	if (resultDiv.innerHTML.length < 10)
	{
		tagList += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
		tagList += "<colgroup><col width=\"10\"><col /></colgroup>";
		
		for(var i = 0; i < result.length; i++)
		{
			result[i].name = result[i].name.replace("-", "- ");
			tagList += "<tr><td valign=\"top\" style=\"padding-right: 2px; padding-top: 4px;\"><img id=\"okImg" + result[i].id + "\" src=\"/Uploads/Images/ImageCatalogs/Default/Icons/ok.gif\" width=\"9\" height=\"7\" style=\"display: none;\"></td><td><a id=\"linkTag" + result[i].id + "\" href=\"javascript:AddTagId('" + result[i].id + "')\">" + result[i].name + "</a></td></tr>";
		}		
		
		tagList += "</table>";
		
		resultDiv.innerHTML = tagList;
		
		var storedTagsArray = storedTags.split(",");
		for (var j = 0; j < storedTagsArray.length; j++)
		{
			if (storedTagsArray.length > 0)
				AddTagId(storedTagsArray[j]);
		}
	}
}

function RestoreTags(tags)
{
	storedTags = tags;
}

function GetTagsByCategoryId(categoryId, language)
{
	// get the tags only once
	if (tagList == "")
	{
		NG24WebService.GetTagsByCategoryId(categoryId, language, Render, ErrorHandler, TimeOutHandler);
	}

	lang = language;
	ToggleVisibility();
}

function GetTagsByCategoryIdAndCompanyIds(categoryId, companyIds, language)
{
	// get the tags only once
	if (tagList == "")
	{
		NG24WebService.GetTagsByCategoryIdAndCompanyIds(categoryId, companyIds, language, Render, ErrorHandler, TimeOutHandler);
	}
	
	ToggleVisibility();
}

function ToggleVisibility()
{
	var resultDiv = $get("divTagContent");
	if (resultDiv.style.display == 'block')
		resultDiv.style.display = 'none';
	else
		resultDiv.style.display = 'block';
}

function AddTagId(tagId)
{
	var tags = selectedTags.join(",");
	var link = document.getElementById("linkTag" + tagId);
	var okImage = document.getElementById("okImg" + tagId);
	if (tags.indexOf(tagId) == -1)
	{
		selectedTags.push(tagId);
		
		if (link != null)
		{
			link.style.color = '#FF6600';
			link.href = 'javascript:RemoveTagId(\'' + tagId + '\')';
		}
		
		if (okImage != null)
		{
			okImage.style.display = 'block';
		}
	}
}

function RemoveTagId(tagId)
{
	var temp = new Array();
	var tags = selectedTags.join(",");
	var link = document.getElementById("linkTag" + tagId);
	var okImage = document.getElementById("okImg" + tagId);
	if (tags.indexOf(tagId) != -1)
	{
		for(var i = 0; i < selectedTags.length; i++)
		{
			if (selectedTags[i] != tagId)
				temp.push(selectedTags[i]);
		}
		link.href = 'javascript:AddTagId(\'' + tagId + '\')';
		link.style.color = '#999999';
		okImage.style.display = 'none';
	}
	selectedTags = temp;
}

function SubmitTags()
{
	var value = selectedTags.join(",");
	NG24WebService.GetTagsForQuery(value, lang, SubmitSEOTags, ErrorHandler, TimeOutHandler);
}

function SubmitSEOTags(result)
{
	var uri = window.location.href;
	if (result == '')
		uri = uri.replace(/[\?&]sta=[^&]*$/, '').replace(/sta=[^&]*&?/i, '');
	else
	{
		if (window.location.search == '')
			uri = uri + '?sta=' + result;
		else if (window.location.search.search(/sta=/i) != -1)
			uri = uri.replace(/sta=[^&]*/i, 'sta=' + result);
		else
			uri = uri + '&sta=' + result;
	}
	window.open(uri, '_self');
}