/**
*	Basic cookie functions.
*	@author		Pavel Pirogov
*	@date		2009-05-16
*/
function setCookie(key,val,days){
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "expires="+date.toGMTString()+";";
	}
	else var expires = "";
	document.cookie=key+"="+val+"; "+expires+" path=/";
}

function getCookie(key){
	var cookie = " " + document.cookie;
	var c=cookie.split(";");
	for(i in c){
		tmp=c[i].split("=");
		if(trim(tmp[0])==key)
			return trim(tmp[1]);
	}
}

function getCookies(){
	var cookie = " " + document.cookie;
	var c=cookie.split(";");
	var res=[];
	for(i in c){
		tmp=c[i].split("=");
		key=trim(tmp[0]);
		val=trim(tmp[1]);
		res[key]=val;
	}
	return res;
}
function clearCookie(key){
	setCookie(key,"",-1);
}
function clearCookies(){
	var data=getCookies();
	for(i in data){
		setCookie(i,"",-1);
	}
}

function ltrim(str) {
	var ptrn = /\s*((\S+\s*)*)/;
	return str.replace(ptrn, "$1");
}
function rtrim(str) {
	var ptrn = /((\s*\S+)*)\s*/;
	return str.replace(ptrn, "$1");
}
function trim(str) {
	return ltrim(rtrim(str));
}
