// ==UserScript==
// @name	Animal Augury on Mixi
// @namespace	http://taro.yabuki.googlepages.com/
// @include	http://mixi.jp/show*
// ==/UserScript==

function getBirthday(){
	var now=new Date();
	var age=0,month=0,date=0;
	var data=document.getElementsByTagName('dd');
	for(var i=0;i<data.length;++i){
		var oj=data[i].firstChild;
		if(oj){
			var v=oj.nodeValue;
			if(v&&v.match(/^[0-9]{1,3}(.|.\n)$/)){
				if(v.match(/\n/))
					age=v.substring(0,v.length-2);
				else
					age=v.substring(0,v.length-1);
			}
			else if(v&&v.match(/^[0-9]{2}.[0-9]{2}(.|.\n)$/)){
				month=v.substring(0,2);
				date=v.substring(3,5);
			}
		}
	}
	
	age=age-0;
	month=month-0;
	date=date-0;
	if(age==0||month==0||date==0)
		return null;
	
	var year=1900;
	if(month<now.getMonth())
		year+=now.getYear()-age;
	else if(month>now.getMonth())
		year+=now.getYear()-age-1;
	else if(date<=now.getDate())
		year+=now.getYear()-age;
	else
		year+=now.getYear()-age-1;
	
	var birthday=new Object();
	birthday.year=year;
	birthday.month=month;
	birthday.date=date;
	return birthday;
}

function augury(birthday){
	var animal=new Object();
	var year=birthday.year-1900;
	var month=birthday.month;
	var date=birthday.date;
	var c,c1=0;
	
	if(month==1) {c=10;c1=1;}
	else if(month==2) {c=41;c1=1;}
	else if(month==3) c=9;
	else if(month==4) c=40;
	else if(month==5) c=10;
	else if(month==6) c=41;
	else if(month==7) c=11;
	else if(month==8) c=42;
	else if(month==9) c=13;
	else if(month==10) c=43;
	else if(month==11) c=14;
	else if(month==12) c=44;
	
	f=(c+5*year+date+(year-c1-(year-c1)%4)/4)%60;
	
	if(f==0||f==6||f==43||f==49||f==54||f==55){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal06.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/tora.gif';
		animal.name='tiger';
	}
	else if(f==1||f==7||f==42||f==48){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal01.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/tita.gif';
		animal.name='cheetah';
	}
	else if(f==2||f==8||f==41||f==47){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal02.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/tanuki.gif';
		animal.name='raccoon';
	}
	else if(f==3||f==9||f==15||f==34||f==40||f==46){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal03.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/saru.gif';
		animal.name='monkey';
	}
	else if(f==4||f==10||f==16||f==33||f==39||f==45){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal04.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/koara.gif';
		animal.name='koala';
	}
	else if(f==5||f==44||f==50||f==53||f==56||f==59){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal05.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/hyou.gif';
		animal.name='black panther';
	}
	else if(f==11||f==17||f==32||f==38){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal07.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/kojika.gif';
		animal.name='fawn';
	}
	else if(f==12||f==18||f==31||f==37){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal08.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/zou.gif';
		animal.name='elephant';
	}
	else if(f==13||f==19||f==24||f==25||f==30||f==36){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal09.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/ookami.gif';
		animal.name='wolf';
	}
	else if(f==14||f==20||f==23||f==26||f==29||f==35){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal10.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/hituji.gif';
		animal.name='sheep';
	}
	else if(f==21||f==22||f==27||f==28){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal11.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/pegasasu.gif';
		animal.name='pegasus';
	}
	else if(f==51||f==52||f==57||f==58){
		animal.uri='http://d-uranai.shogakukan.co.jp/uranai/kekka/animal12.html';
		animal.img='http://d-uranai.shogakukan.co.jp/uranai/kekka/kekka_img/raion.gif';
		animal.name='lion';
	}
	
	return animal;
}

function display(animal){
	var data=document.getElementsByTagName('dd');
	for(var i=0;i<data.length;++i){
		var oj=data[i].firstChild;
		if(oj){
			var v=oj.nodeValue;
			if(v&&v.match(/^[0-9]{2}.[0-9]{2}(.|.\n)$/)){
				var a=document.createElement('a');
				a.setAttribute('href',animal.uri);
				var img=document.createElement('img');
				img.setAttribute('src',animal.img);
				img.setAttribute('alt',animal.name);
				img.setAttribute('width','300px');
				img.setAttribute('border','0');
				a.appendChild(img);
				data[i].insertBefore(a,null);
			}
		}
	}
}

var birthday=getBirthday();
if(birthday){
	//alert(birthday.year+"/"+birthday.month+"/"+birthday.date);
	var animal=augury(birthday);
	display(animal);
}
