﻿function SaveFeed(oSender)
{
	try
	{
		if (typeof (feedLookupQuery) == 'undefined') { return true; }

		var path = oSender.href;
		path = path.substring(0, path.indexOf("?"));
		var objAttr = { "a": "add", "q": escape(feedLookupQuery) }

		SendRequest
			(
				path
				, objAttr
				, function(result)
				{
					if (TestResponse(result))
					{
						window.location = window.location;
					}
				}
			);
			} catch (e) { throwException('SaveFeed()', e.lineNumber, e, e.message); }
	return true;
}

function RemoveFeed(oSender)
{
	try
	{
		if (confirm("Are you sure you want to remove this feed?"))
		{
		
			var path = "/feeds/xmlFeedHandler.ashx";
			var objAttr = { "a": "remove", "id": oSender.getAttribute("fid") }

			SendRequest
				(
					path
					, objAttr
					, function(result)
					{
						//alert(result);
					}
				);
				
			var tr = oSender.parentNode.parentNode.parentNode;
			if (tr.tagName.toLowerCase() == "tr")
			{
				tr.parentNode.removeChild(tr);
			}
				
		}
	} catch (e) { throwException('SaveFeed()', e.lineNumber, e, e.message); }
	
	
	return false;
}

function TestResponse(result)
{
	var success = true;
	var div = document.createElement("DIV");
	div.innerHTML = result;

	var span = div.getElementsByTagName("SPAN");
	for (var i = span.length - 1; i >= 0; i--)
	{
		if (parseInt(span[i]) == -1)
		{
			return false;
			//alert("There was an issue: " + span[i].id + " == -1");
		}
	} 
}

function SendRequest(sPath, oArgs, fCallback)
{
	try
	{
		$.get
				(
					sPath
					, oArgs
					, function(result)
					{
						fCallback(result);
					}
				);
	} catch (e) { throwException('SendRequest()', e.lineNumber, e, e.message); }
}



function throwException(file_name, line_num, ex, msg)
{

	var msg = "Error in FILE: " + file_name + " LINE: " + line_num + "\n\nTYPE: " + ex + "\n\n" + msg + "\n\n" + ex.stack;

	if (document.getElementById('error_div'))
	{
		document.getElementById('error_div').innerHTML = "<pre class=\"error\">" + msg + "</pre>";
	} else
	{
		if (typeof (AX) != 'undefined')
		{
			alert(msg);
		}
	}

}
function ListProperties(obj)
{
	var obj_props = "";
	for (var i in obj)
	{
		if (arguments[1]) { var msg = arguments[1] + "." + i + " : " + obj[i]; } else { var msg = i + " : " + obj[i]; }
		obj_props += msg + "\n";

		if (typeof obj[i] == "object")
		{
			if (arguments[1]) { ListProperties(obj[i], parent + "." + i); } else { ListProperties(obj[i], i); }
		}
	}
	return obj_props;
}

function PathAndQuery(sPath, oQuery)
{
	var qs = "";
	for (var i in oQuery)
	{
		qs += "&" + i + "=" + oQuery[i];
	}
	return sPath + "?" + qs;
}