var LinkSaver							= {
	
	tryAndSaveLink : function (sActionURL,eElement,sSuccess,sFailure) {
		LinkSaver.saveLink(sActionURL,eElement,sSuccess,sFailure);
	},
	
	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;
	},
	
	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
					return false;
				}
			}
		}
		return ajaxRequest;
	},
	
	saveLink : function (sActionURL,eElement,sSuccess,sFailure) {
		var ajaxRequest = LinkSaver.getXMLHTTPRequest();
		
		// Create a function that will receive data sent from the server
		ajaxRequest.onreadystatechange = function(){
			if (ajaxRequest.readyState == 4) {
				LinkSaver.saveLinkLoaded(eElement,(ajaxRequest.status == 200) ? sSuccess : sFailure);
			}
		}
		ajaxRequest.open('GET', sActionURL, true);
		ajaxRequest.send(null); 
	},
	
	saveLinkLoaded : function (eElement,sMessage) {
		eElement.innerHTML				= sMessage;
		eElement.onclick				= '';
	},
	
	toggleMessage : function (sDivID) {
		var eDiv						= document.getElementById(sDivID);
		if (!eDiv) {
			return;
		}
		DOMUtils.cssjs('swap', eDiv, 'showMessage', 'hideMessage');
	}
}
