/* For Day */
var tmpBgColor;
var timer;
var toolTips;
var activeId;

/**
 * 初期化
 */
function initialize() {
	/*
	$(this).scroll(function() { 
		var bodyTop = 7;
		var obj = document.getElementById("allInfo");
		if (typeof window.pageYOffset != 'undefined') {
			bodyTop = window.pageYOffset;
		} else if (typeof document.compatMode != 'undefined'
				&& document.compatMode != 'BackCompat') {
			bodyTop = document.documentElement.scrollTop;
		} else if (typeof document.body != 'undefined') {
			bodyTop = document.body.scrollTop;
		}
		
		if(bodyTop == 0){
			$("#weekline1").css("top", 7);
		}else{
			$("#weekline1").css("top", bodyTop);
			//obj.scrollHeight = 100;
		}
	});
	*/

	// 今日の今までの時を取得
	var now = new Date();
	var hour = now.getHours();
	
	if (hour >=0 && hour < 4) {
		//hour = 4;
		// 高さが足りない場合は途中でとまる
		hour = 24+hour;
	}

	// スクロールバーの高さを算出
	var scrollheight = 0;
	for(var i = 4; i < hour; i++) {
		var tname = "td" + i;
		scrollheight = scrollheight + document.getElementById(tname).offsetHeight;;
	}
	//スクロール幅をセット
	//$("#epg_scrollable_timetable").scrollTop(scrollheight);
	$("#epg_scrollable_timetable").animate({scrollTop:scrollheight}, 1000,'swing');
	
	// セルの背景指定
	$("div.cell").mouseover(function() {
		tmpBgColor = this.style.backgroundColor;
		this.style.backgroundColor = "#EEE";
		var pos = getElementPosition(this);	
	});
	$("div.cell").mouseout(function() {
		this.style.backgroundColor = tmpBgColor;
	});
	
	$("li#btn_am").click(function() {
		var hight = 0;
		$("#epg_scrollable_timetable").animate({scrollTop:hight}, 1000,'swing');
	});
	$("li#btn_pm").click(function() {
		var hight = 0;
		hight = document.getElementById("td4").offsetHeight + document.getElementById("td5").offsetHeight + 
				document.getElementById("td6").offsetHeight + document.getElementById("td7").offsetHeight + 
				document.getElementById("td8").offsetHeight + document.getElementById("td9").offsetHeight + 
				document.getElementById("td10").offsetHeight + document.getElementById("td11").offsetHeight;
		$("#epg_scrollable_timetable").animate({scrollTop:hight}, 1000,'swing');
	});
	$("li#btn_pm2").click(function() {
		var hight = 0;
		hight = document.getElementById("td4").offsetHeight + document.getElementById("td5").offsetHeight + 
				document.getElementById("td6").offsetHeight + document.getElementById("td7").offsetHeight + 
				document.getElementById("td8").offsetHeight + document.getElementById("td9").offsetHeight + 
				document.getElementById("td10").offsetHeight + document.getElementById("td11").offsetHeight + 	
				document.getElementById("td12").offsetHeight + document.getElementById("td13").offsetHeight + 
				document.getElementById("td14").offsetHeight + document.getElementById("td15").offsetHeight + 
				document.getElementById("td16").offsetHeight + document.getElementById("td17").offsetHeight;
		$("#epg_scrollable_timetable").animate({scrollTop:hight}, 1000,'swing');
	});
	
	//createToolTips("tp");
	simple_tooltip("div", "tooltip");
}

/**
 * ツールチップを生成
 */
function createToolTips(name) {
	toolTips = new Array();
	
	$('.tooltip_p').each(function(i) {
		// 親/子ID
		var pid = 'tooltip_p_'+name+i;
		var cid = 'tooltip_c_'+name+i;
		
		// 親にIDを割り振り
		$(this).attr('id', pid);
		// 子にIDを割り振り
		$(this).children('.tooltip').attr('id', cid);
		toolTips[cid] = $('#'+cid);
		
		var envelope = $('#'+pid);

		envelope.mouseover(function(event) {
			try {
				var targetEl = event.target || event.srcElement;
				if (targetEl == undefined) {
					return;
				}
				
				if (targetEl.firstChild.id == undefined) {
					return;
				}
				
				var p =  $('#'+targetEl.id);
				var c = toolTips[targetEl.firstChild.id];
				
				if ($.browser.msie) {
					c.css({display : 'inline'}).fadeIn(400);
				} else {
					c.css({opacity : 0.8,display : 'none'}).fadeIn(400);
				}
				activeId = targetEl.firstChild.id;
			} catch (e) {}
		});
		envelope.mousemove(function(event) {
			try {
				var targetEl = event.target || event.srcElement;
				if (targetEl == undefined) {
					return;
				}
				
				if (targetEl.firstChild.id == undefined) {
					return;
				}
				
				var p =  $('#'+targetEl.id);
				var c = toolTips[targetEl.firstChild.id];
				
				var border_top = $(window).scrollTop();
				var border_right = $(window).width();
				var left_pos;
				var top_pos;
				var offset = 20;
				
				if (border_right - (offset * 2) >= p.width() + event.pageX) {
					left_pos = event.pageX + offset;
				} else {
					left_pos = border_right - p.width() - offset;
				}
				
				if (border_top + (offset * 2) >= event.pageY - p.height()) {
					top_pos = border_top + offset;
				} else {
					top_pos = event.pageY - p.height() - offset;
				}
				c.css({left : left_pos,top : top_pos});
			} catch (e) {}
		});
		envelope.mouseout(function(event) {
			try {
				var targetEl = event.target || event.srcElement;
				if (targetEl == undefined) {
					return;
				}
				
				if (targetEl.firstChild.id != undefined) {
					var c = toolTips[targetEl.firstChild.id];
					removeToolTip(c);
					timer = setTimeout(removeToolTips, 2000);
				}
			} catch (e) {}
		});
	});
	
	// 最下部に余白ができないおまじない
	removeToolTips();
}

/**
 * ツールチップを非表示
 */
function removeToolTip(c) {
	c.css({display : 'none'}).fadeOut(400);
	c.css({left : '-9999px'});
}
/**
 * ツールチップを非表示
 */
function removeToolTips() {
	for (var i in toolTips) {
		var c = toolTips[i];
		if (c.attr('id') != activeId) {
			c.css({display : 'none'}).fadeOut(400);
			c.css({left : '-9999px'});
		}
	}
}

/**
 * ツールチップを生成
 */
function simple_tooltip(target_items, name) {

	$(target_items).each(
		function(i) {
			//$("body").append("<div class='" + name + "' id='" + name + i + "'><div>" + $(this).attr('title') + "</table></div>");
			$("body").append("<div class='" + name + "' id='" + name + i + "'><div>" + $(this).attr('title') + "</div></div>");
			var my_tooltip = $("#" + name + i);
			
			// 最下部に余白ができないおまじない
			my_tooltip.css({left : "-9999px", display : "none"});

			if ($(this).attr("title") != ""
				&& $(this).attr("title") != "undefined") {
				
				$(this).removeAttr("title").mouseover(function() {
					if ($.browser.msie) {
						my_tooltip.css({filter : "alpha(opacity=80)",display : "none"}).fadeIn(400);
					} else {
						my_tooltip.css({opacity : 0.8,display : "none"}).fadeIn(400);
					}
				}).mousemove(function(kmouse) {
					var border_top = $(window).scrollTop();
					var border_right = $(window).width();
					var left_pos;
					var top_pos;

					var offset = 20;
					if (border_right - (offset * 2) >= my_tooltip.width() + kmouse.pageX) {
						left_pos = kmouse.pageX + offset;
					} else {
						left_pos = border_right - my_tooltip.width() - offset;
					}

					if (border_top + (offset * 2) >= kmouse.pageY - my_tooltip.height()) {
						top_pos = border_top + offset;
					} else {
						top_pos = kmouse.pageY - my_tooltip.height() - offset;
					}

					my_tooltip.css({left : left_pos,top : top_pos});
				}).mouseout(function() {
					my_tooltip.css({left : "-9999px"});
				});
			}
		}
	);
}

/**
 * エレメントの位置計算
 */
function getElementPosition(e) {
	var p = {
		x : 0,
		y : 0
	};
	if (!e.offsetParent) {
		return p;
	} else {}
	
	p.x = e.offsetLeft;
	p.y = e.offsetTop;
	if (e.parentNode) {
		var pp = getElementPosition(e.offsetParent);
		p.x += PixNum(pp.x);
		p.y += PixNum(pp.y);
	}
	return p;
}

/**
 * PixToNum
 */
function PixNum(d)
{
	var s = d + "";
	var s = s.replace("px","");
	var n = parseInt(s, 10);
	return n;
}