// UTF-8
/**
 * scrollsmoothly.js
 * Copyright (c) 2008 KAZUMiX
 * http://d.hatena.ne.jp/KAZUMiX/
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 */

(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;
        // スクロール先座標をセットする
        var ele = targetEle
        var x = 0;
        var y = 0;
        while(ele){
            x += ele.offsetLeft;
            y += ele.offsetTop;
            ele = ele.offsetParent;
        }
        targetX = x;
        targetY = 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;
            var scope = this;
            setTimeout(function(){scroll.apply(scope)},interval);
        }
    }

}());



/*----------
jquery.cookie.js
----------*/
jQuery.cookie = function(name, value, options) {
		if (typeof value != 'undefined') { // name and value given, set cookie
				options = options || {};
				if (value === null) {
						value = '';
						options.expires = -1;
				}
				var expires = '';
				if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
						var date;
						if (typeof options.expires == 'number') {
								date = new Date();
								date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
						} else {
								date = options.expires;
						}
						expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
				}
				var path = options.path ? '; path=' + options.path : '';
				var domain = options.domain ? '; domain=' + options.domain : '';
				var secure = options.secure ? '; secure' : '';
				document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
		} else { // only name given, get cookie
				var cookieValue = null;
				if (document.cookie && document.cookie != '') {
						var cookies = document.cookie.split(';');
						for (var i = 0; i < cookies.length; i++) {
								var cookie = jQuery.trim(cookies[i]);
								// Does this cookie string begin with the name we want?
								if (cookie.substring(0, name.length + 1) == (name + '=')) {
										cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
										break;
								}
						}
				}
				return cookieValue;
		}
};

/*
 * jQuery Form Tips 1.2.3
 * By Manuel Boy (http://www.manuelboy.de)
 * Copyright (c) 2010 Manuel Boy
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
(function($){
	
	$.fn.formtips = function(options) {
	
		// handle options
		var settings = jQuery.extend({
			tippedClass: "tipped"
		}, options);
	
		return this.each(function() {
			
			// prepare input elements an textareas
			var e = $(this);
			
			// do not apply form tips to inputs of type file, radio or checkbox
			var type = $(e).attr('type');
			if(type != 'file' && type != 'checkbox' && type != 'radio') {
		
				// handle focus event
				$(e).bind('focus', function() {
					var lv = $(this).attr('title');
					if($(e).is('textarea')) {
						if($(this).text() == lv) {
							$(this).text('').removeClass(settings.tippedClass);
						}
					} else {
						if($(this).val() == lv) {
							$(this).val('').removeClass(settings.tippedClass);
						}
					}
					return false;
				});
		
				// handle blur event
				$(e).bind('blur', function() {
					var lv = $(this).attr('title');
					if($(e).is('textarea')) {
						if($(this).text() == '') {
							$(this).text(lv).addClass(settings.tippedClass);
						}
					} else {
						if($(this).val() == '') {
							$(this).val(lv).addClass(settings.tippedClass);
						}
					}
					return false;
				});
		
				// handle initial text
				var lv = $(e).attr('title');
				if($(e).is('textarea')) {
					if($(e).text() == '' || $(e).text() == $(this).attr('title')) {
						$(e).text(lv).addClass(settings.tippedClass);
					} else {
						$(e).removeClass(settings.tippedClass);
					}
				} else {
					if($(e).val() == '' || $(e).val() == $(this).attr('title')) {
						$(e).val(lv).addClass(settings.tippedClass);
					} else {
						$(e).removeClass(settings.tippedClass);
					}
				}
			
				// handle removal of default value
				$(e).parentsUntil('form').parent().submit(function() {
					var lv = $(e).attr('title');
					if($(e).is('textarea')) {
						if($(e).text() == lv) {
							$(e).text('').removeClass(settings.tippedClass);
						}
					} else {
						if($(e).val() == lv) {
							$(e).val('').removeClass(settings.tippedClass);
						}
					}
				});
			
			}
		
		});
	};

})(jQuery);

 
$(function(){
					 
		/*----------------------------------------------
		*
		* 	Rollover Script
		* 	create:10-03-04
		*
		----------------------------------------------*/
					 
    $("img,input:image").mouseover(function(){
				//src属性に_off.が含まれる場合に実行
				if($(this).attr("src").match(/_off\./)) {
						//src属性の_off.を_on.に置換
        		$(this).attr("src",$(this).attr("src").replace('_off.', '_on.'));
						$(this).mouseout(function(){
								//マウスアウトでsrc属性の_on.を_off.に置換
        				$(this).attr("src",$(this).attr("src").replace('_on.', '_off.'));
    				})
				}
		});
		
		
		//検索フォームヒント		
		var _Hint = $("#Content input.Hint");
		_Hint.formtips();

		/*----------------------------------------------
			チェックしたら関連づく項目を表示
		----------------------------------------------*/
		var _CatSelect = $('ul.CatSelect');
		var _nam = 0;
		
		$(_CatSelect).find("input").change(function(){

				//関連する親div取得
				var _AddCondition = $(this).closest("td");
				
				//id取得
				var _id = this.id;

				if($(this).attr("checked")){				

						//もし div.AddCondtion がまだ表示されていなければ表示
						if(!$(_AddCondition).is(".Open")) {
								_AddCondition.find("div.AddCondtion").fadeIn("fast").addClass("Open");
						}
						
						//関連するDLを表示
						_AddCondition.find("#"+_id+"_Opt").fadeIn("fast");

				} else {
						
						var _Checked = 0;
						
						//関連するDLを非表示
						_AddCondition.find("#"+_id+"_Opt").fadeOut()
						.end()
						.find("ul.CatSelect input").each(function(){
									if($(this).attr("checked")){
										//現在チェックされているボックスをカウント
										_Checked++;
										//console.log(_Checked);
									}
						});
						
						//チェックされているボックスがなければ div.AddCondtion を非表示
						if(_Checked === 0){
								$(this).closest("td").find("div.AddCondtion").fadeOut().removeClass("Open")
								.end()
								.find("dl").fadeOut();
						};

				}
				
		}).each(function(){
				//ロード時にチェックが入っていればDLを表示させる
				if($(this).attr("checked")){	
						var _AddCondition = $(this).closest("td");
						var _id = this.id;
						_AddCondition.find("div.AddCondtion").fadeIn("fast").addClass("Open")
						.end()
						.find("#"+_id+"_Opt").fadeIn("fast");
				}
		});
		
		
		/*----------------------------------------------
			sizeChange.js
		----------------------------------------------*/

		CONTAINER = $("#Container");
		var CHANGE = $("#TxtSize");
		CONTAINER.css("font-size",$.cookie('fsize'));
		CHANGE.show().css("cursor","pointer");
		
		//リロードした時にクッキーに保存されたフォントサイズが14px以上であれば、大ボタンを消す
		//リロードした時にクッキーに保存されたフォントサイズが10px以下であれば、小ボタンを消す
		if(!$.cookie('fsize')=="") {
		var cookiesize = $.cookie('fsize').replace("px","");
		if((cookiesize*1) > 13){
			$("dd.Big").removeClass("Big").addClass("BigReset");
			$("dd.ResetReset").removeClass("ResetReset").addClass("Reset");
			$("dd.Small").css("display","none");
			}
		if((cookiesize*1) < 11){
			$("dd.ResetReset").removeClass("ResetReset").addClass("Reset");
			$("dd.Big").removeClass("Big").addClass("Big");
			$("dd.Small").removeClass("Small").addClass("SmallReset");
			$("dd.Big").css("display","none");
			}
		}
		
		if(!$.cookie('fsize')=="") {
		var cookiesize = $.cookie('fsize').replace("px","");
		if((cookiesize*1) == 12){
			$("dd.Reset").removeClass("Reset").addClass("ResetReset");
			$("dd.BigReset").removeClass("BigReset").addClass("Big");
			$("dd.SmallReset").removeClass("SmallReset").addClass("Small");
			$("dd.Big").css("display","block");
			$("dd.Small").css("display","block");
			}
		}
		
		
		$("dd.Big",CHANGE).click(Big);
		$("dd.BigReset",CHANGE).click(Big);
		$("dd.ResetReset",CHANGE).click(Reset);
		$("dd.Reset",CHANGE).click(Reset);
		$("dd.Small",CHANGE).click(Small);
		$("dd.SmallReset",CHANGE).click(Small);

		/*----------------------------------------------
			MV prepend
		----------------------------------------------*/

		$("#Mv,#MvSecond").prepend('<img src="/files/img/common/1x1.gif" class="filter" alt="">');

});


/*----------------------------------------------
	sizeChange 用関数
----------------------------------------------*/
function Big(){
	
	var FontSize = CONTAINER.css("font-size");
	
	if(parseInt(FontSize) > 13){}
	else {
	//lert(FontSize); //現在のフォントサイズ
	var FontSizeBig = parseInt(FontSize)+2;
	//alert(FontSizeBig); 2px足したフォントサイズ
	
	
	//16px以上になったら大ボタンを消す
	if(FontSizeBig > 13){
		$("dd.Big").removeClass("Big").addClass("BigReset");
		$("dd.ResetReset").removeClass("ResetReset").addClass("Reset");
		$("dd.Small").css("display","none");
	}

	CONTAINER.css("font-size",FontSizeBig+"px");
	$.cookie("fsize", null);
	$.cookie("fsize",FontSizeBig+"px",{expires:7,path:'/'});
	}
};



function Small(){
	
	var FontSize = CONTAINER.css("font-size");
	
	if(parseInt(FontSize) < 11){}
	else {
	
	//alert(FontSize); //現在のフォントサイズ
	var FontSizeSmall = parseInt(FontSize)-2;
	//alert(FontSizeBig); -3pxしたフォントサイズ
	
	
	//10px以下になったら小ボタンを消す
	if(FontSizeSmall < 11){
		$("dd.ResetReset").removeClass("ResetReset").addClass("Reset");
		$("dd.Big").css("display","none");
		$("dd.Small").removeClass("Small").addClass("SmallReset");
	}

	CONTAINER.css("font-size",FontSizeSmall+"px");
	$.cookie("fsize", null);
	$.cookie("fsize",FontSizeSmall+"px",{expires:7,path:'/'});
	}
};


function Reset(){

	CONTAINER.css("font-size","12px");
	var FontSize = CONTAINER.css("font-size");
	
	if(parseInt(FontSize) == 12){
		$("dd.Reset").removeClass("Reset").addClass("ResetReset");
		$("dd.BigReset").removeClass("BigReset").addClass("Big");
		$("dd.SmallReset").removeClass("SmallReset").addClass("Small");
		$("dd.Big").css("display","block");
		$("dd.Small").css("display","block");
	} else{}
	
	CONTAINER.css("font-size","12px");
	$.cookie("fsize", null);
	$.cookie("fsize","12px",{expires:7,path:'/'});
};


/*----------------------------------------------
	google analytics
----------------------------------------------*/

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-22414922-1']);
_gaq.push(['_trackPageview']);

(function() {
	var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();



