//####################//
//## h2背景にFLASH ###//
//####################//
function CtrlH2(filename, width, height) {
	document.write('<h2>' + "\n");
	if(navigator.userAgent.indexOf("MSIE 5") != -1 && (navigator.userAgent.indexOf("PPC Mac") != -1 || navigator.userAgent.indexOf("PowerPC") != -1)) {
		document.write('テイチクエンタテインメント' + "\n");
	} else if(YAHOO.env.ua.ie == 0) {
		document.write('<embed id="H2" src="'+ filename + '" quality="high" wmode="opaque" width="' + width + '" height="' + height + '" name="top" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />' + "\n");
	} else {
		document.write('<object id="H2" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + width + '" height="' + height + '">' + "\n");
		document.write('<param name="allowScriptAccess" value="sameDomain" />' + "\n");
		document.write('<param name="movie" value="' + filename + '" />' + "\n");
		document.write('<param name="quality" value="high" />' + "\n");
		document.write('<param name="wmode" value="opaque">' + "\n");
		document.write('</object>' + "\n");
	}
	document.write('</h2>' + "\n");
};

//####################//
//## コンセプト表示 ##//
//####################//
var SiteInfo = {
	'init': function() {
		var opacity = 0;
		var timerID = setTimeout("", 5); // 透明度変化
		
		var siteInfo = document.getElementById("site-info");
		
		var message = document.getElementById("message");
		message.shown = false;
		message.onclick = function() {
			button.style.backgroundImage = 'url(./img/basic/back_p_label_concept_off.gif)';
			message.style.visibility = "hidden";
			siteInfo.style.zIndex = 500;
			message.shown = !message.shown;
			opacity = 0;
		}
		if(0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie <= 5.5) {
			message.style.cursor = "hand";
		} else {
			message.style.cursor = "pointer";
		}
		
		var button = document.createElement("p");
		button.setAttribute("id", "button_concept");
		button.innerHTML = "レーベルコンセプト";
		button.shown = false;
		if(0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie <= 5.5) {
			button.style.cursor = "hand";
		} else {
			button.style.cursor = "pointer";
		}
		
		button.onclick = function() {
			if(!message.shown) {
				button.style.backgroundImage = 'url(./img/basic/back_p_label_concept_on.gif)';
				siteInfo.style.zIndex = 600;
				message.style.visibility = "visible";
				message.style.filter = 'alpha(opacity=0)'; // IE
				message.style.MozOpacity = 0; // Firefox
				message.style.opacity = 0; // Safari
				timerID = setInterval(function() {
					if(opacity <= 10) {
						message.style.filter = 'alpha(opacity=' + opacity * 10 + ')'; // IE
						message.style.MozOpacity = opacity / 10; // Firefox
						message.style.opacity = opacity / 10; // Safari
						opacity += 1;
					} else {
						clearInterval(timerID);
						message.shown = !message.shown;
						if(YAHOO.env.ua.ie) message.style.removeAttribute('filter');
						opacity = 0;
					}
				}, 1);
			} else {
				button.style.backgroundImage = 'url(./img/basic/back_p_label_concept_off.gif)';
				message.style.visibility = "hidden";
				siteInfo.style.zIndex = 500;
				message.shown = !message.shown;
				opacity = 0;
			}
		}
		
		siteInfo.insertBefore(button, message);
	}
};

//######################//
//## IE6で透明PNG使用 ##//
//######################//
var ChangePNG = {
	'init' : function() {
		if(0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie < 7 && document.getElementById("message")) {
			var div = document.getElementById("message");
			div.runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="./img/basic/back_black_transparent.png", sizingmethod="scale")';
			div.style.background = "none";
		}
	}
};

//#################//
//## RSS取得関数 ##//
//#################//
var RSS = {
	'init' : function(num) {
		var target =  document.getElementById("label");
		var div = document.getElementById("rss");
		
		var timerID1 = setTimeout("", 50);
		var timerID2 = setTimeout("", 300);
		var read = false;
		
		div.onmouseover = function () {
			clearTimeout(timerID1);
			timerID2 = setTimeout(function() {
				if(!read) RSS.more(20);
				read = true;
			}, 300);
		}
		div.onmouseout = function () {
			clearTimeout(timerID2);
			timerID1 = setTimeout(function() {
				RSS.remove();
				read = false;
			}, 50);
		}
		
		if(document.getElementById("rss-list")) {
			var ul =  document.getElementById("rss-list");
			this.chkTimeLimit(ul);
			
		} else {
			var ul = document.createElement("ul");
			ul.setAttribute("id", "rss-list");
			
			div.appendChild(ul);
		}
		div.style.display = "block";
		
		var backup = ul.innerHTML;
		
		if(window.XMLHttpRequest != null) {
			var message = new XMLHttpRequest;
			
		} else if(window.ActiveXObject) {
			try {
				var message = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				var message = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			return null;
		}
		
		message.onreadystatechange = function() {
			if(message.readyState == 4) {
				if(message.status == 200) {
					ul.innerHTML = backup + message.responseText;
				} else {
					ul.innerHTML = backup + "<li>RSSの読み込みに失敗しました。</li>";
				}
			} else {
				ul.innerHTML = backup + "<li>RSS 読み込み中...</li>";
			}
		}
		message.open('GET', "./script/original/get_rss.php?display=" + num + "&t=" + new Date(), true);
		message.send(null);
	},
	
	'more' : function(num) {
		var rss =  document.getElementById("rss");
		
		var ul = document.createElement("ul");
		ul.setAttribute("id", "rss-more-list");
		
		rss.appendChild(ul)
		
		if(window.XMLHttpRequest != null) {
			var message = new XMLHttpRequest;
			
		} else if(window.ActiveXObject) {
			try {
				var message = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				var message = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			return null;
		}
		
		message.onreadystatechange = function() {
			if(message.readyState == 4) {
				if(message.status == 200) {
					ul.innerHTML = message.responseText;
				} else {
					ul.innerHTML = "<li>追加データの読み込みに失敗しました。</li>";
				}
			} else {
				ul.innerHTML = "<li>追加データ 読み込み中...</li>";
			}
		}
		message.open('GET', "./script/original/get_rss.php?offset=2&display=" + num +  "&t=" + new Date(), true);
		message.send(null);
	},
	
	'remove' : function() {
		if(document.getElementById("rss-more-list")) {
			var target = document.getElementById("rss-more-list");
			target.parentNode.removeChild(target);
		} else {
			return;
		}
	},
	
	'chkTimeLimit' : function(obj) {
		var a = obj.getElementsByTagName("A");
		var max = a.length;
		
		for(var i = 0; i < max; i++) {
			if(typeof a[i].getAttribute("rel") != 'undefined') {
				var text = a[i].getAttribute("rel");
				
				if(text.match(/^\d\d\d\d-\d\d-\d\d/)) {
					var parts = text.split(" ");
					
					var now = new Date();
					var YMD = parts[0].split("-");
					if(typeof parts[1] != 'undefined') {
						if(parts[1].match(/^\d\d:\d\d:\d\d$/)) {
							var HMS = parts[1].split(":");
							var d = new Date(YMD[0], YMD[1]-1, YMD[2], HMS[0], HMS[1], HMS[2]);
						} else {
							var d = new Date(YMD[0], YMD[1]-1, YMD[2]);
						}
					} else {
						var d = new Date(YMD[0], YMD[1]-1, YMD[2]);
					}
					if(now.getTime() - d.getTime() > 0) {
						var tempObj = a[i].parentNode;
						while(tempObj.nodeName != "LI") {
							tempObj = tempObj.parentNode;
						}
						tempObj.style.display = "none";
					}
				}
			}
		}
	}
};

//########################//
//## FLASH センタリング ##//
//########################//
var CenteringFLASH = {
	'init' : function() {
		if(0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie < 8) {
			window.attachEvent('onresize',  this.check);
		} else {
			window.addEventListener('resize', this.check, false);
		}
		this.check();
	},
	
	'check' : function() {
		var flashW = 980;
		var width = document.body.clientWidth;
		var main = document.getElementById("main");
		
		var h2 = document.getElementById("H2");
		
		if(main.offsetWidth < flashW) {
			h2.style.margin = "0";
		} else {
			h2.style.margin = "0 0 0 " + Math.floor((main.offsetWidth - flashW) / 2) + "px";
		}
	}
};

//###################//
//## ダミーDIV生成 ##//
//###################//
var MakeDummyDIV = {
	'concept01' : function() {
		var parent = document.getElementById("concept01")
		
		var div =  document.createElement("div");
		div.setAttribute("id", "dummy01");
		
		if(YAHOO.env.ua.ie != 0) {
			div.setAttribute("className", "artist");
		} else {
			div.setAttribute("class", "artist");
		}
		
		var h4 = document.createElement("h4");
		h4.innerHTML = '大人のライフスタイルに寄り添う音楽';
		
		div.appendChild(h4);
		parent.appendChild(div);
	},
	
	'concept02' : function() {
		var parent = document.getElementById("concept02")
		
		var div =  document.createElement("div");
		div.setAttribute("id", "dummy02");
		
		if(YAHOO.env.ua.ie != 0) {
			div.setAttribute("className", "artist");
		} else {
			div.setAttribute("class", "artist");
		}
		
		var h4 = document.createElement("h4");
		h4.innerHTML = '大人が楽しむ音楽';
		
		div.appendChild(h4);
		parent.appendChild(div);
	}
};

//##################################//
//## ラインナップの高さをそろえる ##//
//##################################//
var ModifyHeight = {
	'concept01' : function() {
		if(document.getElementById("dummy01")) {
			var reference = document.getElementById("ayakaji");
			var dummy = document.getElementById("dummy01");
			var target = dummy.getElementsByTagName("H4").item(0);
			
			if(0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie < 7 && document.compatMode != 'CSS1Compat') {
				target.style.height = reference.offsetHeight + "px";
			} else {
				target.style.height = "auto";
				target.style.minHeight = reference.offsetHeight + "px";
			}
			
			dummy.style.visibility = "visible";
		}
	},
	
	'concept02' : function() {
		if(document.getElementById("dummy02")) {
			var reference = document.getElementById("nagayama");
			var dummy = document.getElementById("dummy02");
			var target = dummy.getElementsByTagName("H4").item(0);
			
			if(0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie < 7 && document.compatMode != 'CSS1Compat') {
				target.style.height = reference.offsetHeight + "px";
			} else {
				target.style.height = "auto";
				target.style.minHeight = reference.offsetHeight + "px";
			}
			
			dummy.style.visibility = "visible";
		}
	}
};

//########################//
//## ジャケット取得関数 ##//
//########################//
var GetJacket = {
	'init' : function(num) {
		var main =  document.getElementById("main");
		var h2 = document.getElementById("insertTarget");
		
		var div = document.createElement("div");
		div.setAttribute("id", "now-on-sale");
		
		var h3 = document.createElement("h3");
		h3.innerHTML = '最新リリースタイトル一覧';
		
		var hr = document.createElement("hr");
		if(YAHOO.env.ua.ie != 0) {
			hr.setAttribute("className", "clear");
		} else {
			hr.setAttribute("class", "clear");
		}
		
		var p = document.createElement("p");
		
		div.appendChild(h3);
		div.appendChild(p);
		div.appendChild(hr);
		
		main.insertBefore(div, h2);
		
		if(window.XMLHttpRequest != null) {
			var message = new XMLHttpRequest;
			
		} else if(window.ActiveXObject) {
			try {
				var message = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				var message = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			return null;
		}
		
		message.onreadystatechange = function() {
			if(message.readyState == 4) {
				if(message.status == 200) {
					p.innerHTML = message.responseText;
				} else {
					p.innerHTML = "最新リリースタイトル一覧の読み込みに失敗しました。";
				}
			} else {
				p.innerHTML = "最新リリースタイトル一覧 読み込み中...";
			}
		}
		message.open('GET', "./script/original/get_jacket.php?t=" + new Date(), true);
		message.send(null);
	}
};

//####################//
//## イニシャライズ ##//
//####################//
YAHOO.util.Event.onDOMReady(function() {
	SiteInfo.init();
	RSS.init(2);
	GetJacket.init();
	CenteringFLASH.init();
	//MakeDummyDIV.concept01();
	//MakeDummyDIV.concept02();
});
