// Cookie handling
function WebFXCookie() {}

_p = WebFXCookie.prototype;

_p.setCookie = function (sName, sValue, nDays) {
	var expires = "";
	if (typeof nDays == "number") {
		var d = new Date();
		d.setTime(d.getTime() + nDays * 24 * 60 * 60 * 1000);
		expires = "; expires=" + d.toGMTString();
	}
	document.cookie = sName + "=" + escape(sValue) + expires + "; path=/";
};

_p.getCookie = function (sName) {
	var re = new RegExp("(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)");
	var res = re.exec(document.cookie);
	return res != null ? unescape(res[3]) : null;
};

_p.removeCookie = function (name) {
	this.setCookie(name, "", -1);
};

_p.encodeURI = function( url )
{
	url = String( url );
	
	var quesPos = url.indexOf("?");
	if( quesPos == -1 ) return url;
	
	var baseUrl = url.substring( 0, quesPos );
	var questUrl = url.substring( quesPos+1 );
	
	var quests = questUrl.split( "&" );
	
	var newQuest = "";
	for( var i=0;i<quests.length;i++ ){
		var quest = String(quests[i]);
		var equPos = quest.indexOf("=");
		if( equPos == -1 ){
			newQuest += "&" + quest;
			continue;
		}
			
		var pkey = quest.substring( 0, equPos );
		var pvalue = quest.substring( equPos+1 );
		
		var decodepvalue = decodeURIComponent( pvalue );
		if( decodepvalue == pvalue )
			newQuest += "&" + pkey + "=" + encodeURIComponent( pvalue );
		else
			newQuest += "&" + pkey + "=" + pvalue;
	}
	if( newQuest.length > 0 )
		newQuest = newQuest.substring( 1 );
	
	return baseUrl + "?" + newQuest;
}
