function LinkSaver(){
}	

LinkSaver.getCookie = function(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else
		begin += 2;

	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
		end = dc.length;
			
	return unescape(dc.substring(begin + prefix.length, end));
}


LinkSaver.tryAndSaveLink= function (sActionURL,button,list){
	LinkSaver.saveLink(sActionURL,button,list);
}

LinkSaver.trim = function (sString)	{
		while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
		}
		while (sString.substring(sString.length-1, sString.length) == ' '){
			sString = sString.substring(0,sString.length-1);
		}
		return sString;
	}
	
//Browser Support Code
LinkSaver.getXMLHTTPRequest = function (){
		try {
			// Opera 8.0+, Firefox, Safari
			ajaxRequest					= new XMLHttpRequest();
		}
		catch (e) {
			// Internet Explorer Browsers
			try {
				ajaxRequest				= new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try{
					ajaxRequest			= new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e){
					// Something went wrong
					//alert("Your browser broke!");
					return false;
				}
			}
		}
		return ajaxRequest;
	}

LinkSaver.saveLink= function (sActionURL,button,list){
		var ajaxRequest = LinkSaver.getXMLHTTPRequest();
		
		LinkSaver.saveLinkLoading(button,sActionURL);
		
		// Create a function that will receive data sent from the server
		ajaxRequest.onreadystatechange = function(){
			if (ajaxRequest.readyState == 4) {
				LinkSaver.saveLinkLoaded(button,list,LinkSaver.trim(ajaxRequest.responseText));
			}
		}
		ajaxRequest.open('GET', sActionURL, true);
		ajaxRequest.send(null); 
	}
	
LinkSaver.saveLinkLoading = function(button) {
		if(typeof button == "string"){
			button						= document.getElementById(button);
		}
		button.setAttribute("href","");
		button.innerHTML				= '<span class="saving">adding to your Clippings...</span>';
	}
	
LinkSaver.saveLinkLoaded = function (button,list,responseText) {
		if(typeof button == "string"){
			button						= document.getElementById(button);
		}
		if(typeof list == "string"){
			list						= document.getElementById(list);
		}
		// TODO: check this link
		button.innerHTML				= '<a href="/myBR/SavedLinks/"><img src="/_images/iconSaved.gif" alt="link saved" /><span>Article added to your Clippings</span></a>';
		if(list&&responseText.length){
			list.innerHTML = responseText;
		}
	}

LinkSaver.createElement = function(type, parent) {
		var el = null;
		if (document.createElementNS) {
			// use the XHTML namespace; IE won't normally get here unless
			// _they_ "fix" the DOM2 implementation.
			el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
		} else {
			el = document.createElement(type);
		}
		if (typeof parent != "undefined") {
			parent.appendChild(el);
		}
		return el;
	};

LinkSaver.dropNode = function(node){
		if(typeof node == "string"){
			node = document.getElementById(node);
		}
		node.parentNode.removeChild(node);
	}

LinkSaver.deleteLink = function (sActionURL,li){
		var ajaxRequest = LinkSaver.getXMLHTTPRequest();
		
		ajaxRequest.open('GET', sActionURL, true);
		ajaxRequest.send(null); 
		
		LinkSaver.dropNode(li);

	}
