window.onload=autoPOP;



// class に popup を指定すると別ウィンドウで開く

function autoPOP()

{

	var x = document.getElementsByTagName('a');

	for (var i=0;i<x.length;i++)

	{

		if (x[i].getAttribute('className') == 'popup' || x[i].getAttribute('class') == 'popup')

		{

			x[i].onclick = function () {

			return winOpen(this.href)

			}

			x[i].title += '別ウィンドウで開きます';

		}

	}

};



function winOpen(url) {

	window.open(

		url,

		'popup'

	);



	return false;

};





// 初期値をクリックで消す

function setupDes() {

    var textarea = document.getElementsByTagName("textarea");

    for (i = 0; i < textarea.length; i++) {

        if (textarea[i].className.search("nodes") < 0) {

            if (textarea[i].value == textarea[i].defaultValue) {textarea[i].className += " ondes"; }

            textarea[i].onfocus = function() {offDes(this); }

            textarea[i].onblur = function() {onDes(this); }

        }

    }

    var input = document.getElementsByTagName("input");

    for (i = 0; i < input.length; i++) {

        if ((input[i].className.search("nodes") < 0) && ((input[i].getAttribute("type") == "text")||(input[i].getAttribute("type") == null))) {

            if (input[i].value == input[i].defaultValue) {input[i].className += " ondes"; }

            input[i].onfocus = function() {offDes(this); }

            input[i].onblur = function() {onDes(this); }

        }

    }

    return;

}



function offDes(from) {

    if (from.className.search("ondes") < 0) {return 0;}

    from.className = from.className.replace(/ondes/, "");

    from.value = "";

    return 1;

}

function onDes(from) {

    if (from.value != "") {return 0;}

    from.className += " ondes";

    from.value = from.defaultValue;

    return 1;

}





/**

 * btn.js

 * 

 * class="roll"が指定された要素はロールオーバー効果が適用される。

 * 中身のimgは_on付きのものに変わる。

 * class="rollgroup"が指定されていた場合は連動してロールオーバー効果がかかる

 * 

 * 設定例：

 * 別途dummy_over.jpgを同じフォルダに用意する

 * <img src="dummy.jpg" class="roll" /> 

 *

 * jquery-1.1.3.1.pack.js

 * init.js

 *   $j

 *   SITE.preloader

 */

//ほかのライブラリとのコンフリクトを避ける

$j = jQuery.noConflict();



//共通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;

		}

	}

};





$j(function(){

	if (SITE.current){

		$j(SITE.current).addClass('current');

		$j(SITE.current).find('img').each(function(){

			var img = $j(this);

			var crsrc = img.attr('src').replace(/(\.gif|\.jpg|\.png)/, "_current$1");

			img.attr('src', crsrc);

		});

	}

});



$j(function(){

	//class="roll"はロールオーバーを設定 (src属性を_on付きのものに差し替える) 

	$j('img.roll').each(function(){

		this.originalSrc = $j(this).attr('src');

		this.rolloverSrc = this.originalSrc.replace(/(\.gif|\.jpg|\.png)/, "_over$1");

		SITE.preloader.load(this.rolloverSrc);

	});

	//通常ロールオーバー

	$j('img.roll').not($j('.rollgroup .roll, .current .roll')).hover(function(){

		$j(this).attr('src',this.rolloverSrc);

	},function(){

		$j(this).attr('src',this.originalSrc);

	});

	//グループ化されたロールオーバー

	//$j('.rollgroup').hover(function(){

	//	$j(this).find('.roll').each(function(){

	//		$j(this).attr('src',this.rolloverSrc);

	//	});

	//},function(){

	//	$j(this).find('.roll').each(function(){

	//		$j(this).attr('src',this.originalSrc);

	//	});

	//});

	

});











// UTF-8

/**

 * 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};

   }

   

 }());

