function getcookie(cookiename) {
	var search_start=0;
	var v_return=new Array();
	v_return.push(cookiename);
	while(document.cookie.indexOf(cookiename+"=",search_start) >= 0) {
		var cookie=document.cookie.indexOf(cookiename+"=",search_start);
		search_start=cookie+cookiename.length+1;
		var last_char=document.cookie.indexOf(";",search_start);
		if(last_char==-1) last_char=document.cookie.length;
		v_return.push(document.cookie.substring(search_start,last_char));
		search_start=last_char;
	}
	return(v_return);
}

function isCookiesEnabled() {
	var cookieEnabled=(navigator.cookieEnabled)?true:false;
	//if not IE4+ nor NS6+
	if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled) { 
		document.cookie="testcookie";
		cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false;
	}
	return cookieEnabled;
}

function setcookie(name,value,expires,path,domain,secure) {
	var date=new Date();
	var cookieoptions='';
	var cookie_maxage=sum_time(date.getTime(),expires);
	if(expires!=null && cookie_maxage )
		cookieoptions+="; max-age="+cookie_maxage;
	if(path!=null)
		cookieoptions+="; path="+path;
	if(domain!=null)
		cookieoptions+="; domain="+domain;
	if(secure!=null)
		cookieoptions+="; secure";
	document.cookie=name+"="+escape(value)+cookieoptions;
}

function sum_time(from,sum,dateobj) {
	var patterns=new Array('','s','m','h','d','M','y');
	var myre;
	var match;
	var maxage;
	var date=new Date(from);
	for(i=0;i<patterns.length;i++) {
		myre = new RegExp("^(\\d+)("+patterns[i]+")$","gi");
		match = myre.exec(sum);
		if(match!=null) {
			var unit=match[2];
			var qtime=parseInt(match[1]);
			switch(unit) {
				case(patterns[0]):
				case(patterns[1]):
					if(dateobj) {
						date.setSeconds(date.getSeconds()+qtime);
						return date;
					} else {
						return qtime;
					}
					break;
				case(patterns[2]):
					if(dateobj) {
						date.setMinutes(date.getMinutes()+qtime);
						return date;
					} else {
						return qtime*60;
					}
					break;
				case(patterns[3]):
					if(dateobj) {
						date.setHours(date.getHours()+qtime);
						return date;
					} else {
						return qtime*60*60;
					}
					break;
				case(patterns[4]):
					if(dateobj) {
						date.setDate(date.getDate()+qtime);
						return date;
					} else {
						return qtime*60*60*24;
					}
					break;
				case(patterns[5]):
					if(dateobj) {
						date.setMonth(date.getMonth()+qtime);
						return date;
					} else {
						return qtime*60*60*24*30;
					}
					break;
				case(patterns[6]):
					if(dateobj) {
						date.setFullYear(date.getFullYear()+qtime);
						return date;
					} else {
						return qtime*60*60*24*365;
					}
					break;
			}
			break;
		}
	}
	return false;
}
