var Rank = function(){};




Rank.init = function(){
	
	// Cookieを読む
	var ssid = CookieManager.get('PHPSESSID');

	var inputs = document.getElementsByTagName('input');
	var checkboxes = [];
	for (var i=0; i<inputs.length; i++) {
		if (inputs[i].type == 'checkbox')
			checkboxes.push(inputs[i]);
	}
	
	for (var i=0; i<checkboxes.length; i++) {
		checkboxes[i].onclick = function() {
			if (this.checked) {
				Rank.addRow(this.value);
				Rank.setSelected(this.value);
			} else {
				Rank.removeRow(this.value);
				Rank.unsetSelected(this.value);
			}
		};
	}
	
	// 背景画像をプリロード
	var preloadimage = new Image(100, 100);
	preloadimage.src = 'images/followup.png';
	preloadimage.onload = function() {
		window.console.log('読み込み完了');
	};
		
	// 現在の設定を反映
	var cookies_value = CookieManager.get('followups');
	var rows = [];
	if (cookies_value) {
		rows = cookies_value.split(',');
		for (var i=0; i<rows.length; i++) {
			Rank.setSelected(rows[i]);
		}
	}
	
};

Rank.addRow = function(toshihojin_id) {
	var cookies_value = CookieManager.get('followups');
	var rows = [];
	if (cookies_value) {
		rows = cookies_value.split(',');
		rows.push(toshihojin_id);
	} else {
		rows[0] = toshihojin_id;
	}
	CookieManager.set('followups', rows.join(','));
};

Rank.removeRow = function(toshihojin_id) {
	var cookies_value = CookieManager.get('followups');
	var rows = [];
	var new_rows = [];
	if (cookies_value) {
		rows = cookies_value.split(',');
		for (var i=0; i<rows.length; i++) {
			if (rows[i] != toshihojin_id) {
				new_rows.push(rows[i]);
			}
		}
	}
	CookieManager.set('followups', new_rows.join(','));
};

Rank.setSelected = function(toshihojin_id) {
	// document.getElementById('toshihojin-'+toshihojin_id).style.background = 'transparent url(images/followup.png) repeat-x left bottom';
	// document.getElementById('toshihojin-'+toshihojin_id).style.backgroundImage = 'url(images/followup.png)';
	document.getElementById('toshihojincheck-'+toshihojin_id).checked = true;
	// 子のtdを取得
	var td_list = document.getElementById('toshihojin-'+toshihojin_id).getElementsByTagName('td');
	// window.console.log(td_list);
	for (var i=0; i<td_list.length; i++) {
		td_list[i].style.borderTop = '1px solid #fb7f81';
		td_list[i].style.borderBottom = '1px solid #fb7f81';
		if (i == 0) {
			td_list[i].style.borderLeft = '1px solid #fb7f81';
		}
		if (i == td_list.length-1) {
			td_list[i].style.borderRight = '1px solid #fb7f81';
		}
		// window.console.log(td_list[i].style);
	}
};

Rank.unsetSelected = function(toshihojin_id) {
	// document.getElementById('toshihojin-'+toshihojin_id).style.backgroundImage = 'none';
	// document.getElementById('toshihojin-'+toshihojin_id).style.backgroundColor = 'white';
	document.getElementById('toshihojincheck-'+toshihojin_id).checked = false;
	// 子のtdを取得
	var td_list = document.getElementById('toshihojin-'+toshihojin_id).getElementsByTagName('td');
	for (var i=0; i<td_list.length; i++) {
		td_list[i].style.border = 'none';
		td_list[i].style.borderTop = '1px solid white';
		td_list[i].style.borderRight = '1px solid #8b98ea';
		td_list[i].style.borderBottom = '1px solid #8b98ea';
		td_list[i].style.borderLeft = '1px solid white';
		/*
			border-top: 1px solid white;
			border-right: 1px solid #8b98ea;
			border-bottom: 1px solid #8b98ea;
			border-left: 1px solid white;
		*/
	}
};


var CookieManager = function(){};

CookieManager.data = [];

CookieManager.set = function(var1, var2, var3, expiresDates) {

	this.read();
	
	var cookiestr = '';
	
	if (var3)
		cookiestr = var1+'['+var2+']='+var3+'; ';
	else 
		cookiestr = var1+'='+var2+'; ';
	
	if (!expiresDates)
		expiresDates = 365;
	
	var dateForExpires = new Date();
	dateForExpires.setTime(dateForExpires.getTime()+(expiresDates*24*60*60*1000));
	cookiestr += "expires="+dateForExpires.toGMTString()+"; path=/;";
	
	if (window.console)
		window.console.log(cookiestr);
	
	document.cookie = cookiestr;
	
	return true;
	
};


/**
 * Cookieの値を取得
 */
CookieManager.get = function(var1, var2) {
	
	// Cookieを読み込む
	this.read();
	
	if (var2) {
		for (var key in this.data) {
			if (var1 == key) {
				if (this.data[key] instanceof Array) {
					if (this.data[key][var2])
						return this.data[key][var2];
					else
						return null;
				}
				return null;
			}
		}
		return null;
	} else {
		if (this.data[var1])
			return this.data[var1];
		else
			return null;
	}
};



/**
 * Cookieを読み込む
 */
CookieManager.read = function() {

    // Cookie 取得
    var cookiestr = document.cookie;
    
    // 保存する変数を初期化
    this.data = new Array();
    
    // ";" で区切る
    var cookieArray = cookiestr.split(';');
    
    var startPosition;
    var key;
    var cvalue;
    var subkey;
    for(var i=0; i<cookieArray.length; i++)　{
        // "=" で区切る
        startPosition = cookieArray[i].indexOf('=');
        if (startPosition != -1)　{
            key = cookieArray[i].substr(0, startPosition);
			key = key.replace(/\s/, '');
			
            cvalue = cookieArray[i].substr(startPosition+1);
            
            // 二次元配列の時
            if (key.match(/\[.+\]/))　{
                subkey = key.replace(/^.*\[.+\]$/, getKeyCallback);
                key = key.substring(0, key.indexOf('['));
                
                if (!this.data[key])　{
                    this.data[key] = new Array();
                    this.data[key][subkey] = cvalue;
                }　else　{
                    this.data[key][subkey] = cvalue;
                }
            }　else {
                // this.data に格納
                this.data[key] = cvalue;
            }
        }
    }
    
};

addLoadEvent(Rank.init);

