//ほかのライブラリとのコンフリクトを避ける
$ = jQuery.noConflict();

//	====================================================
//	Useful Javascript Library
//	Haste Ver 2.00
//  
//  変更箇所
//  - テキストフィールド初期値スクリプト
//  -- 初期値文字色と入力文字色の指定に対応(CSS側で指定)
//  -- 入力されていない場合に空クエリを送信するように修正
//      (今までは初期値が送信されてしまっていた）
//  
//  - ロールオーバースクリプト
//  -- プルダウンメニューなどのグループ扱いに対応
//  -- input type="image"にも対応
//  
//  - iframeスクリプト
//  -- head内にスクリプトを書かずに済むように変更
//  
//  - 透過PNGスクリプト
//  -- VML仕様
//  -- head内にスクリプトを書かずに済むように変更
//  
//  - 角丸スクリプト（CSS3+VML）
//  -- 2px,4px,6px,8px,10pxはクラス名のみで対応
//  
//  各種使用法はスクリプト先頭に記載
//	
//	1.別ウィンドウで開かせる
//	2.クリックで消えるテキストフィールド初期値
//	3.ロールオーバー、カレント表示スクリプト
//	4.scrollsmoothly
//	5.アコーディオン
//	6.iframe代用スクリプト
//  7.透過PNG対応
//  8.角丸スクリプト
//	
//	====================================================



//	====================================================
//	別ウィンドウで開かせる
//	classにpopupを指定
//	====================================================
$(document).ready(function(){
　$(".popup").click(function(){
　  window.open(this.href,'_blank');
　　return false;
　});
});





//	====================================================
//	ロールオーバー、カレント表示スクリプト
//
//	class="roll"が指定された要素はロールオーバー効果が適用される。
//	中身のimgは_on付きのものに変わる。
//	class="rollgroup"が指定されていた場合は連動してロールオーバー効果がかかる
//	
//	設定例：
//	別途dummy_over.jpgを同じフォルダに用意する
//	<img src="dummy.jpg" class="roll" /> 
//	
//	カレント表示方法
//	ページヘッダーにリンクと対応したIDを指定
//	<script type="text/javascript">
//		SITE.current='#u001';
//	</script>
//	
//	<li class="nav001" id="u001"><a href="/" title="HOME"><img src="/common/images/nav001.png" alt="HOME" class="roll" /></a></li>
//	
//	====================================================

//共通JS内で定義する変数、functionはこのオブジェクトにまとめる
SITE = {
	basepath : '/',
	preloader : {
		loadedImages: [],
		load: function (url){
			var img = this.loadedImages;
			var l = img.length;
			img[l] = new Image();
			img[l].src = url;
		}
	}
};


$(function(){
	if (SITE.current){
		$(SITE.current).addClass('current');
		$(SITE.current).find('.roll').each(function(){
			var img = $(this);
			var crsrc = img.attr('src').replace(/(\.gif|\.jpg|\.png)/, "_current$1");
			img.attr('src', crsrc);
		});
	}
});

$(function(){
	//class="roll"はロールオーバーを設定 (src属性を_on付きのものに差し替える) 
	$('.roll').not($('.rollgroup .roll, .current .roll')).each(function(){
		this.originalSrc = $(this).attr('src');
		this.rolloverSrc = this.originalSrc.replace(/(\.gif|\.jpg|\.png)/, "_over$1");
		SITE.preloader.load(this.rolloverSrc);
	});
	//通常ロールオーバー
	$('.roll').not($('.rollgroup .roll, .current .roll')).hover(function(){
		$(this).attr('src',this.rolloverSrc);
	},function(){
		$(this).attr('src',this.originalSrc);
	});
	//グループ化されたロールオーバー
	//$('.rollgroup').hover(function(){
	//	$(this).find('.roll').each(function(){
	//		$(this).attr('src',this.rolloverSrc);
	//	});
	//},function(){
	//	$(this).find('.roll').each(function(){
	//		$(this).attr('src',this.originalSrc);
	//	});
	//});
  
	// グループ化されたロールオーバー(プルダウンメニューの親も連動)
	$('.rollgroup').not($('.current .rollgroup')).hover(function(){
		if(typeof $(this).parent().children('.roll')[0].rolloverSrc != "undefined"){
			$(this).parent().children('.roll').attr('src', $(this).parent().children('.roll')[0].rolloverSrc);
		}
	},function(){
		if(typeof $(this).parent().children('.roll')[0].originalSrc != "undefined"){
			$(this).parent().children('.roll').attr('src', $(this).parent().children('.roll')[0].originalSrc);
		}
	});
	
});




//	====================================================
//	scrollsmoothly.js
//	Copyright (c) 2008 KAZUMiX
//	http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmoothly
//	Licensed under the MIT License:
//	http://www.opensource.org/licenses/mit-license.php
//	
//	更新履歴
//	2009/02/12
//	スクロール先が画面左上にならない場合の挙動を修正
//	2008/04/18
//	公開
//	====================================================

(function(){
   var easing = 0.25;
   var interval = 20;
   var d = document;
   var targetX = 0;
   var targetY = 0;
   var targetHash = '';
   var scrolling = false;
   var splitHref = location.href.split('#');
   var currentHref_WOHash = splitHref[0];
   var incomingHash = splitHref[1];
   var prevX = null;
   var prevY = null;

   // ドキュメント読み込み完了時にinit()を実行する
   addEvent(window, 'load', init);

   // ドキュメント読み込み完了時の処理
   function init(){
     // ページ内リンクにイベントを設定する
     setOnClickHandler();
     // 外部からページ内リンク付きで呼び出された場合
     if(incomingHash){
       if(window.attachEvent && !window.opera){
         // IEの場合はちょっと待ってからスクロール
         setTimeout(function(){scrollTo(0,0);setScroll('#'+incomingHash);},50);
       }else{
         // IE以外はそのままGO
         scrollTo(0, 0);
         setScroll('#'+incomingHash);
       }
     }
   }

   // イベントを追加する関数
   function addEvent(eventTarget, eventName, func){
     if(eventTarget.addEventListener){
       // モダンブラウザ
       eventTarget.addEventListener(eventName, func, false);
     }else if(window.attachEvent){
       // IE
       eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});
     }
   }
   
   function setOnClickHandler(){
     var links = d.links;
     for(var i=0; i<links.length; i++){
       // ページ内リンクならスクロールさせる
       var link = links[i];
       var splitLinkHref = link.href.split('#');
       if(currentHref_WOHash == splitLinkHref[0] && d.getElementById(splitLinkHref[1])){
         addEvent(link, 'click', startScroll);
       }
     }
   }

   function startScroll(event){
     // リンクのデフォルト動作を殺す
     if(event){ // モダンブラウザ
       event.preventDefault();
       //alert('modern');
     }else if(window.event){ // IE
       window.event.returnValue = false;
       //alert('ie');
     }
     // thisは呼び出し元になってる
     setScroll(this.hash);
   }

   function setScroll(hash){
     // ハッシュからターゲット要素の座標をゲットする
     var targetEle = d.getElementById(hash.substr(1));
     if(!targetEle)return;
     //alert(scrollSize.height);
     // スクロール先座標をセットする
     var ele = targetEle;
     var x = 0;
     var y = 0;
     while(ele){
       x += ele.offsetLeft;
       y += ele.offsetTop;
       ele = ele.offsetParent;
     }
     var maxScroll = getScrollMaxXY();
     targetX = Math.min(x, maxScroll.x);
     targetY = Math.min(y, maxScroll.y);
     targetHash = hash;
     // スクロール停止中ならスクロール開始
     if(!scrolling){
       scrolling = true;
       scroll();
     }
   }

   function scroll(){
     var currentX = d.documentElement.scrollLeft||d.body.scrollLeft;
     var currentY = d.documentElement.scrollTop||d.body.scrollTop;
     var vx = (targetX - currentX) * easing;
     var vy = (targetY - currentY) * easing;
     var nextX = currentX + vx;
     var nextY = currentY + vy;
     if((Math.abs(vx) < 1 && Math.abs(vy) < 1)
       || (prevX === currentX && prevY === currentY)){
       // 目標座標付近に到達していたら終了
       scrollTo(targetX, targetY);
       scrolling = false;
       location.hash = targetHash;
       prevX = prevY = null;
       return;
     }else{
       // 繰り返し
       scrollTo(parseInt(nextX), parseInt(nextY));
       prevX = currentX;
       prevY = currentY;
       setTimeout(function(){scroll()},interval);
     }
   }
   
   function getDocumentSize(){
     return {width:Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), height:Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)};
   }

   function getWindowSize(){
     var result = {};
     if(window.innerWidth){
       var box = d.createElement('div');
       with(box.style){
         position = 'absolute';
         top = '0px';
         left = '0px';
         width = '100%';
         height = '100%';
         margin = '0px';
         padding = '0px';
         border = 'none';
         visibility = 'hidden';
       }
       d.body.appendChild(box);
       var width = box.offsetWidth;
       var height = box.offsetHeight;
       d.body.removeChild(box);
       result = {width:width, height:height};
     }else{
       result = {width:d.documentElement.clientWidth || d.body.clientWidth, height:d.documentElement.clientHeight || d.body.clientHeight};
     }
     return result;
   }
   
   function getScrollMaxXY() {
     if(window.scrollMaxX && window.scrollMaxY){
       return {x:window.scrollMaxX, y:window.scrollMaxY};
     }
     var documentSize = getDocumentSize();
     var windowSize = getWindowSize();
     return {x:documentSize.width - windowSize.width, y:documentSize.height - windowSize.height};
   }
   
 }());

/*--------------------------------------------------------------------------*
 *  
 *  heightLine JavaScript Library beta4
 *  
 *  MIT-style license. 
 *  
 *  2007 Kazuma Nishihata 
 *  http://www.webcreativepark.net
 *  
 *--------------------------------------------------------------------------*/
new function(){
	
	function heightLine(){
	
		this.className="heightLine";
		this.parentClassName="heightLineParent"
		reg = new RegExp(this.className+"-([a-zA-Z0-9-_]+)", "i");
		objCN =new Array();
		var objAll = document.getElementsByTagName ? document.getElementsByTagName("*") : document.all;
		for(var i = 0; i < objAll.length; i++) {
			var eltClass = objAll[i].className.split(/\s+/);
			for(var j = 0; j < eltClass.length; j++) {
				if(eltClass[j] == this.className) {
					if(!objCN["main CN"]) objCN["main CN"] = new Array();
					objCN["main CN"].push(objAll[i]);
					break;
				}else if(eltClass[j] == this.parentClassName){
					if(!objCN["parent CN"]) objCN["parent CN"] = new Array();
					objCN["parent CN"].push(objAll[i]);
					break;
				}else if(eltClass[j].match(reg)){
					var OCN = eltClass[j].match(reg)
					if(!objCN[OCN]) objCN[OCN]=new Array();
					objCN[OCN].push(objAll[i]);
					break;
				}
			}
		}
		
		//check font size
		var e = document.createElement("div");
		var s = document.createTextNode("S");
		e.appendChild(s);
		e.style.visibility="hidden"
		e.style.position="absolute"
		e.style.top="0"
		document.body.appendChild(e);
		var defHeight = e.offsetHeight;
		
		changeBoxSize = function(){
			for(var key in objCN){
				if (objCN.hasOwnProperty(key)) {
					//parent type
					if(key == "parent CN"){
						for(var i=0 ; i<objCN[key].length ; i++){
							var max_height=0;
							var CCN = objCN[key][i].childNodes;
							for(var j=0 ; j<CCN.length ; j++){
								if(CCN[j] && CCN[j].nodeType == 1){
									CCN[j].style.height="auto";
									max_height = max_height>CCN[j].offsetHeight?max_height:CCN[j].offsetHeight;
								}
							}
							for(var j=0 ; j<CCN.length ; j++){
								if(CCN[j].style){
									var stylea = CCN[j].currentStyle || document.defaultView.getComputedStyle(CCN[j], '');
									var newheight = max_height;
									if(stylea.paddingTop)newheight -= stylea.paddingTop.replace("px","");
									if(stylea.paddingBottom)newheight -= stylea.paddingBottom.replace("px","");
									if(stylea.borderTopWidth && stylea.borderTopWidth != "medium")newheight-= stylea.borderTopWidth.replace("px","");
									if(stylea.borderBottomWidth && stylea.borderBottomWidth != "medium")newheight-= stylea.borderBottomWidth.replace("px","");
									CCN[j].style.height =newheight+"px";
								}
							}
						}
					}else{
						var max_height=0;
						for(var i=0 ; i<objCN[key].length ; i++){
							objCN[key][i].style.height="auto";
							max_height = max_height>objCN[key][i].offsetHeight?max_height:objCN[key][i].offsetHeight;
						}
						for(var i=0 ; i<objCN[key].length ; i++){
							if(objCN[key][i].style){
								var stylea = objCN[key][i].currentStyle || document.defaultView.getComputedStyle(objCN[key][i], '');
									var newheight = max_height;
									if(stylea.paddingTop)newheight-= stylea.paddingTop.replace("px","");
									if(stylea.paddingBottom)newheight-= stylea.paddingBottom.replace("px","");
									if(stylea.borderTopWidth && stylea.borderTopWidth != "medium")newheight-= stylea.borderTopWidth.replace("px","")
									if(stylea.borderBottomWidth && stylea.borderBottomWidth != "medium")newheight-= stylea.borderBottomWidth.replace("px","");
									objCN[key][i].style.height =newheight+"px";
							}
						}
					}
				}
			}
		}
		
		checkBoxSize = function(){
			if(defHeight != e.offsetHeight){
				changeBoxSize();
				defHeight= e.offsetHeight;
			}
		}
		changeBoxSize();
		setInterval(checkBoxSize,1000)
		window.onresize=changeBoxSize;
	}
	
	function addEvent(elm,listener,fn){
		try{
			elm.addEventListener(listener,fn,false);
		}catch(e){
			elm.attachEvent("on"+listener,fn);
		}
	}
	addEvent(window,"load",heightLine);
}



//ロールオーバー
function cq_rollover() {

	if (document.getElementsByTagName) {

		//プレロード用配列
		var preload_images = new Array();

		//画像処理
		var images = document.getElementsByTagName("img");
		
		for (var i=0; i < images.length; i++) {
			if (images[i].getAttribute("src").match("OFF.")) {
				
				//プレロード処理
				preload_images[i] = new Image();
				preload_images[i].src = images[i].getAttribute("src").replace("OFF.", "ON."); 
				
				//マウスオーバー処理
				images[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace("OFF.", "ON."));
				}
				
				//マウスアウト処理
				images[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace("ON.", "OFF."));
				}

			}
		}

		//input type="image" 処理
		var images = document.getElementsByTagName("input");

		for (var i=0; i < images.length; i++) {

			if (images[i].type != 'image') {
				continue
			}

			if (images[i].getAttribute("src").match("OFF.")) {

				//プレロード処理
				preload_images[i] = new Image();
				preload_images[i].src = images[i].getAttribute("src").replace("OFF.", "ON."); 
				
				//マウスオーバー処理
				images[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace("OFF.", "ON."));
				}
				
				//マウスアウト処理
				images[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace("ON.", "OFF."));
				}
			
			}
		}

	}

}

if (window.addEventListener) {
	window.addEventListener("load", cq_rollover, false);
} else if (window.attachEvent) {
	window.attachEvent("onload", cq_rollover);
}


$(document).ready(function() {
    // ログインフォームのSlide
    $("#headerBlock .login p.button img").click(function() {
        if ($("#headerBlock .inner").is(":hidden")) {
            $("#headerBlock .inner").slideDown("fast");
            $("#headerBlock .login p.button img").attr("src", "/pc/images/button/loginOpen.gif");
        } else {
            $("#headerBlock  .inner").slideUp();
            $("#headerBlock .login p.button img").attr("src", "/pc/images/button/login.gif");
        }
    });
});


/* 会員情報-視聴方法 */
function showthis(obj) {
   if(!obj) return false;
   if(document.getElementById) {
      document.getElementById("infoSelect1").style.display = "none";
      document.getElementById("infoSelect2").style.display = "none";
      document.getElementById("infoSelect3").style.display = "none";
      document.getElementById("infoSelect4").style.display = "none";
      document.getElementById(obj).style.display = "block";
   } else {
      return false;
   }
}
