﻿/*--------------------------------------------------------------------------
 * Copyright (c) 2006, drk<drk7jp@gmail.com>(http://www.drk7.jp/)
 *
 * License :
 *   Articstic License 2.0
 *
 * Drk7jpUranai.js :
 *   This library is a utility for Livedoor Uranai RSS (http://docs.livedoor.com/rss/)
 *
 *--------------------------------------------------------------------------*/
var LURSS_NODEID      = 'lurss';
var LURSS_MENU_NODEID = 'lurss_menu';
var LURSS_DEFAULT_ID  = 0;
var LURSS_ID          = 0;
var LURSS_COOKIE_NAME = 'lurss_id';
var LURSS_IMAGE       = {
	'牡羊座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/aries.gif'},
	'牡牛座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/taurus.gif'},
	'双子座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/gemini.gif'},
	'蟹座'  : {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/cancer.gif'},
	'獅子座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/leo.gif'},
	'乙女座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/virgo.gif'},
	'天秤座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/libra.gif'},
	'蠍座'  : {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/scorpio.gif'},
	'射手座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/sagittarius.gif'},
	'山羊座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/capricorn.gif'},
	'水瓶座': {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/aquarius.gif'},
	'魚座'  : {'img':'http://www.drk7.jp/MT/images/MTUranaiRanking/pisces.gif'}
};
var LURSS_IDS         = [
	{'id':0  ,'title':'牡羊座'},
	{'id':1  ,'title':'牡牛座'},
	{'id':2  ,'title':'双子座'},
	{'id':3  ,'title':'蟹座'  },
	{'id':4  ,'title':'獅子座'},
	{'id':5  ,'title':'乙女座'},
	{'id':6  ,'title':'天秤座'},
	{'id':7  ,'title':'蠍座'  },
	{'id':8  ,'title':'射手座'},
	{'id':9  ,'title':'山羊座'},
	{'id':10 ,'title':'水瓶座'},
	{'id':11 ,'title':'魚座'  }
];


/*--------------------------------------------------------------------------
 * LURSS_Selecter
 *--------------------------------------------------------------------------*/
var LURSS_Selecter = Class.create();
LURSS_Selecter.prototype={

	initialize: function(){
		this.container=$(LURSS_MENU_NODEID);
		this.t_select = document.createElement('select');

		var selected_value = getCookie(LURSS_COOKIE_NAME);
		if(!selected_value) { selected_value= LURSS_DEFAULT_ID; }
		LURSS_ID = selected_value;

		new XML2JSON('http://fortune.livedoor.com/xml/astro12.rdf' , {container:LURSS_NODEID, template:this.template, id:1});

		for(var i=0;i<LURSS_IDS.length;i++){
			this.t_select.options[i] = new Option(LURSS_IDS[i].title,LURSS_IDS[i].id,false,false);
		}
		this.t_select.options[selected_value].selected=true;

		this.container.appendChild(this.t_select);
		Event.observe(this.t_select,'change', this.t_onchange.bindAsEventListener(this), false);
		Event.observe(this.t_select,'keydown',this.t_onchange.bindAsEventListener(this), false);
		Event.observe(this.t_select,'keyup',  this.t_onchange.bindAsEventListener(this), false);
	},
	template: function(context) {
		var title = context.item[LURSS_ID].title;
		var img   = LURSS_IMAGE[context.item[LURSS_ID].title].img;
		var msg   = context.item[LURSS_ID].description;

		var html = '<table summary="占い" class="uranai-data">'
		+ '<tbody>'
		+ '<tr><th><img src="' + img + '" title="' + title + '" /></th>'
		+ '<td>' + msg + '</td></tr>'
		+ '</tbody></table>';

		return html;
	},
	t_onchange :function() {
		var selected_value = $F(this.t_select);
		if(LURSS_ID == selected_value) { return; }
		LURSS_ID = selected_value;

		var expire = new Date('2010','01', '01');
		setCookie(LURSS_COOKIE_NAME, selected_value, expire);
		new XML2JSON('http://fortune.livedoor.com/xml/astro12.rdf' , {container:LURSS_NODEID, template:this.template, id:1});
	}
};


/*--------------------------------------------------------------------------
 * Event
 *--------------------------------------------------------------------------*/
Event.observe(window, "load", function(){
    var d = $(LURSS_NODEID);
    $(LURSS_NODEID).innerHTML = 'now loading...';

	new LURSS_Selecter();
});




/*--------------------------------------------------------------------------
 * Cookie
 *--------------------------------------------------------------------------*/
function setCookie(name,value,expire){
	document.cookie = name + '=' + escape(value) + ((expire==null)?'':('; expires='+expire.toGMTString()));
}

function getCookie(name){
	var search = name + '=';
	if(document.cookie.length>0) {
		offset = document.cookie.indexOf(search);
		if(offset != -1) {
			offset += search.length;
			end     = document.cookie.indexOf(';',offset);
			if(end == -1) {
				end = document.cookie.length;
			}
			return unescape(document.cookie.substring(offset,end));
		}
	}
	return null;
}

