//スクロールコントロール-------


/* USER_AGENT check start ------------------------------------------------ */
// NN4, NN5(Netscape 6+, Mozilla 1+?), IE4(IE4+), Unknown
g_USER_AGENT = getAgent();

// return NN4, NN5(Netscape 6+, Mozilla 1+?), IE4, IE5(IE5+), Unknown
function getAgent(){
  var userAgent = navigator.userAgent;
  var charIndex;
  var majorVersion;

  charIndex = userAgent.indexOf("MSIE");
  if(charIndex){
    majorVersion = userAgent.charAt(charIndex + 4 + 1);
    if(majorVersion > 4){
      return("IE5");
    }
    else if(majorVersion == 4){
      return("IE4");
    }
  }

  charIndex = userAgent.indexOf("Mozilla");
  majorVersion = userAgent.charAt(charIndex + 7 + 1);
  if(majorVersion > 4){
    return("NN5");
  }
  else if(majorVersion == 4){
    return("NN4");
  }

  return("Unknown");
}
/* USER_AGENT check end -------------------------------------------------- */

function getWindowYOffset(){
  if(g_USER_AGENT == "IE5" || g_USER_AGENT == "IE4"){
    return document.body.scrollTop;
  }else if(g_USER_AGENT == "NN5" || g_USER_AGENT == "NN4"){
    return window.pageYOffset;
  }else{
    return 0;
  }
}

var waitTimer;
function jumpTo(dstY, srcY, scrollRate, waitMillSec) {
  if(waitTimer){
    clearTimeout(waitTimer);
  }
  if( ! dstY || dstY < 0 ){
    dstY = 0;
  }
  if( ! srcY ){
    srcY = 0 + getWindowYOffset();
  }
  if( ! scrollRate ){
    scrollRate = 5;
  }
  if( ! waitMillSec ){
    waitMillSec = 20;
  }

  srcY += (dstY - getWindowYOffset()) / scrollRate;
  if(srcY < 0){
    srcY = 0;
  }
  posY = Math.floor(srcY);
  window.scrollTo(0, posY);

  if(posY != dstY){
    waitTimer = setTimeout("jumpTo("+ dstY +", "+ srcY +", "+ scrollRate +", "+ waitMillSec +")", waitMillSec);
  }
  else if(posY == dstY){
    clearTimeout(waitTimer);
  }
  else if(posY < 1){
    window.scroll(0, 0);
  }
}

function toTop(){
  jumpTo(0, 0, 7, 14);
}

$(function(){
	//set variables
	var ftHeight;
	var ftHeight;
	
	var pageID = $("body").attr("id");

	//------------------------------setBlockSizeInit
	function setBlockSizeInit(){
		if(pageID != 'shop'){
		}else{
			//Fotter Position Setting
			ftHeight = $("#footer").height();
			hdHeight = $("#header").height();
			defCHeight = $(".content").height();
			setBlockSize();
			if ($.browser.msie){
				window.attachEvent("onresize", setBlockSize);
			}else{
				$(window).resize(function(){
				setBlockSize();
			});
			}
		}
	}
	
	function setBlockSize(){
			if ($.browser.msie){
				window.detachEvent("onresize", setBlockSize);
			}
		if(pageID != 'shop'){
			//return
		}else{
			var minHeight = 600;
			var wHeight = $("html").height();
			var cMargin = $(".content").css("margin-top").slice(0,-2);
			var cHeight = wHeight - ftHeight - hdHeight;
			if(wHeight > minHeight){
				if(pageID == 'shop'){
					scrHeight = cHeight - 190;
					$("#map-inner").height(cHeight);
					$("#shop-info").height(scrHeight);
					$(".content").height(cHeight-cMargin);
						setScrollBar();
				}
			}
		}
		if ($.browser.msie){
			window.attachEvent("onresize", setBlockSize);
		}
	}
	
	
	function setNavRollOver(){
		//hitarea expand to parent "a" element
		$("#nav li img").each(function(e) {
			var img = $(this).closest('img');
			var src = $(img).attr('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hoverSrc = src.replace(ftype, '_o'+ftype);
			var t = $(img).closest('a');
			t.hover(function(){
				//over
				$(img).attr('src',hoverSrc);
			},
			function(){
				//out	
				$(img).attr('src',src);
			});
		});
	}
	
	function setRollOver(){
		$("img.clickable").each(function(e) {
			var img = $(this).closest('img');
			var src = $(img).attr('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hoverSrc = src.replace(ftype, '_o'+ftype);
			img.hover(function(){
				//over
				$(img).attr('src',hoverSrc);
			},
			function(){
				//out	
				$(img).attr('src',src);
			});
		});
	}
	
	function init(){
		setBlockSizeInit();
		setBlockSize();
		setNavRollOver();
		setRollOver();
	}
	
	init();
});

