/*
	 Cookie読み書き
	
	Yuichi Takeuchi
	http://takeyu-web.com/
*/

var CookieManager = new Object;

// バージョン情報
// CookieManager.version.string() => "1.0.0"
CookieManager.version = {
	major	: 1,
    minor	: 0,
    tiny	: 2
};
CookieManager.version.string = function(){
	return this.major + '.' +this.minor + '.' + this.tiny;
}


// Cookie読み込み
// get('query');  => "キー１=値１&キー２=値２"
CookieManager.get = function(key) {
	var str = " " + document.cookie + ';';
    var last = 0;
    var next = 0;
    var len = str.length;
    while(last < len){
		next = str.indexOf(';', last);
		var record = str.substring(last + 1, next);  // ; の1文字前まで取り出す
		var index = record.indexOf('=');
		if(record.substring(0, index) == key){
			return(unescape(record.substring(index + 1, record.length)));
		}
		last = next + 1;
    }
    return('');
}

// set(キー, 値, 寿命);
// 第3引数に数値を設定すると、数値分後までのCookieとなる
// 指定しないとセッションクッキー（ブラウザを閉じると消える）になる
CookieManager.set = function(key, val, permanent){
    if(typeof(val) == 'undefined' || val == null)
		val = '';
    var str = key + '=' + escape(val) + '; path=/;';
    if(typeof(permanent) == 'boolean' && permanent == true){
		str += 'expires=Tue, 31-Dec-2030 23:59:59; ';
    }else if(typeof(permanent) == 'number'){
		var date = new Date();
		date.setTime(date.getTime() + permanent * 60 * 1000);
		var year = date.getYear();
		if(year < 1900)
			year += 1900;
		
		var Mname = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
		var Dname = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
	
		var day = date.getDate();
		var hour = date.getHours();
		var minute = date.getMinutes();
		var second = date.getSeconds();
		if(day < 10)
			day = '0'+day;
		if(hour < 10)
			hour = '0'+hour;
		if(minute < 10)
			minute = '0'+minute;
		if(second < 10)
			second = '0'+second;
		
		str += 'expires='+Dname[date.getDay()]+', '+day+'-'+Mname[date.getMonth()]+'-'+year+' '+hour+':'+minute+':'+second+'; ';
    }
    document.cookie = str;
}

