// Last Update: 1/16/2008 for the SmallBiz LMS

var TaggingPrefix = "user_";
var processorBasePath = "/__services/processor";
var IndicatorPath = "/__asset/images/activemacwheel.gif";
var AddTagImage = ""; //"/__asset/Images/SmallBiz/bullet_plus.gif";
var AddTagFormSubmitCopy = "Add";

function execTagSearch(e) { document.location = "/search/tag?searchtag=" + e.innerHTML; }

function addTag(i)
{
    var destinationDiv = $("Tags" + i);
    var url = processorBasePath + "?task=AddTag&ID=" + i;
    
    var ContentTag = $("AppendTagForm"  + i);
    var AppendTagFormButtonLink = $("AppendTagFormButtonLink"  + i);
    
    url += "&AppendTag=" + TaggingPrefix + ContentTag.value;
	
	// Append current time to prevent caching
	var now = new Date();
	url = url + "&tm=" + String(now.getTime());
	
	AppendTagFormButtonLink.innerHTML = "<img src=\"" + IndicatorPath + "\" alt=\"Updating...\" title=\"Updating...\" border=\"0\" />";
	
	var myAjax = new Ajax.Updater(destinationDiv,url, 
		{
			method: "get", 
			evalScripts: true 
		});
		
    // Hide while in progress
    destinationDiv.hide();
}

function GetYourTags(i)
{
    var destinationDivName = "MyTags" + i;
    var destinationDiv = $(destinationDivName);
    var url = processorBasePath + "?task=GetYourTags&ID=" + i;
    

	// Append current time to prevent caching
	var now = new Date();
	url = url + "&tm=" + String(now.getTime());
	
//	var myAjax = new Ajax.Updater(destinationDiv,url, 
//		{
//			method: "get", 
//			evalScripts: true 
//		});

    var myAjax = new Ajax.Request(url, 
		{
			method: 'get', 
			evalScripts: true,
			asynchronous: false
		});
		
	//alert(myAjax.transport.responseText);
	if(destinationDiv)
        destinationDiv.innerHTML = myAjax.transport.responseText;
    
    fixTags(destinationDivName);
}

function ShowTagForm(ID, msg)
{
    //var tfhtml = "<div class=\"default\" style=\"background: #f0f0f0; margin-top: 5px; padding: 2px;\">&nbsp;Add a tag: <input type=\"text\" class=\"default\" id=\"tagformval\" maxlength=\"25\" style=\"width: 175px;\" onkeydown=\"return CheckAlpha(event.keyCode);\" />&nbsp;<input type=\"button\" class=\"default\" value=\"Add\" onclick=\"falconAddTag(" + ID + ",$('tagformval').value,$('tagformfeedback'),'" + en + "', tempfunc);\" />&nbsp;&nbsp;&nbsp;<span id=\"tagformfeedback\">&nbsp;</span></div>";
	var tfhtml = "<input size=\"5\" id=\"AppendTagForm" + ID + "\" class=\"AddTagFormField\" type=\"text\"> <a href=\"javascript:addTag('" + ID + "')\" id=\"AppendTagFormButtonLink" + ID + "\" class=\"ArticleControlLink\">";
	if((AddTagImage == null) || (AddTagImage == ""))
	    tfhtml += AddTagFormSubmitCopy;
	else
	    tfhtml += "<img src=\"" + AddTagImage + "\" id=\"AppendTagFormButton" + ID + "\" alt=\"Add Tag\" title=\"Add Tag\" border=\"0\">";
	tfhtml += "</a><br><span class=\"TaggingAlert\" id=\"AlertMessage" + ID + "\">" + msg + "</span></span>";
	
	$("TagForm" + ID).innerHTML = tfhtml;
	$("TagForm" + ID).show();
}

function HideTagForm(ID)
{
    $("TagForm" + ID).hide();
}

/*
fixTags(TagListContainerName[,maxTagCount])
maxTagCount - Pass -1 to not filter tags
            - Pass a number to filter on TaggingPrefix
*/
function fixTags(TagListContainerName)
{
    if($(TagListContainerName))
    {
	    var tg = "";

	    var t = $(TagListContainerName).innerHTML;

	    //var tc = 3;
	    var tc = 500;
	    if (arguments[1] != undefined) tc = arguments[1];
	    
	    //alert(tc);

	    if (tc == -1)
	    {
		    t = replace(t,",","</a>|<a href='#' onclick='execTagSearch(this);' class='SearchTag'>");


		    if (t != '')
		    {
			    t = "<a href='#' onclick='execTagSearch(this);' class='SearchTag'>" + t + "</a>";
		    }
		    t = replace(t,"|",", ");
	    }
	    else
	    {
		    var ta = t.split(",");
		    t = "";

		    if (tc == 0) tc = ta.length;

		    var tgc = 0
		    var ttgc = 0
		    for (i = 0; i < ta.length; i++)
		    {
			    tg = ta[i];
			    //alert(tg);
			    if (tg != undefined)
			    {
				    if (tg.substring(0,TaggingPrefix.length) == TaggingPrefix)
				    {
					    if (tgc < tc) {
					    tg = tg.substring(5,50);
					    if (t.length != '') t += ", ";
					    if (ta.length > i) t += "<a href='#' onclick='execTagSearch(this);' class='SearchTag'>" + tg.toLowerCase() + "</a>";
					    tgc += 1;
					    }
					    ttgc += 1;
				    }
			    }
		    }
		    if (ttgc > tgc) t += "...";

	    }
	    
	    // remove bolds
	    t = t.replace("<b>","");
	    t = t.replace("</b>","");
	    t = t.replace("<strong>","");
	    t = t.replace("</strong>","");
	    
	    // remove itals
	    t = t.replace("<i>","");
	    t = t.replace("</i>","");
	    t = t.replace("<em>","");
	    t = t.replace("</em>","");

	    if (t != '')
	    {
		    //$(TagListContainerName).innerHTML = "Tags: " + t;
		    $(TagListContainerName).innerHTML = t;
	    }
	    else
	    {
		    $(TagListContainerName).innerHTML = "";
	    }
    	
	    $(TagListContainerName).show();
	}
}

function replace(Expression, Find, Replace) 
{
    var temp = Expression;
    var a = 0;
    for (var i = 0; i < Expression.length; i++) 
    {
        a = temp.indexOf(Find);
        if (a == -1)
            break
        else
            temp = temp.substring(0, a) + Replace + temp.substring((a + Find.length));
    }
    return temp;
}

function WhatAreTags()
{
    // var tmpFrm = "<div class=\"WhatAreTagsTable\">Tags are...[copy here] <br><a href=\"javascript:CloseWhatAreTags();\" class=\"ArticleControlLink\">[Close]</a></div>";
    var tmpFrm = "<div class=\"ArticleControlsContainerSpacer\"></div><div class=\"ArticleControlsContainer\"><div class=\"ArticleControlsContainer2\"><div class=\"ArticleControlsContainer3\"><div class=\"ArticleControlItemContainer\"><span class=\"WhatAreTagsText\">Tags are keywords that readers assign to articles. You can use tags to categorize articles and find related content on the site. To add a tag, sign in to Onward Small Biz and follow the instructions. <div align=\"center\"><a href=\"javascript:CloseWhatAreTags();\" class=\"ArticleControlLink\">[Close]</a></span></div></div></div></div></div>";
	if($("WhatAreTagsContainer"))
	{
		$("WhatAreTagsContainer").innerHTML = tmpFrm;
	}
	$("WhatAreTagsContainer").toggle();
}

function CloseWhatAreTags()
{
    if($("WhatAreTagsContainer"))
	{
		$("WhatAreTagsContainer").hide()
	}
}