
//////////////////////////////////////////////////////////////////
/// Image rollover
//////////////////////////////////////////////////////////////////
function imgRoll(obj,flag) {
	var pathsrc = obj.getAttribute("src");
	var path = pathsrc.slice(0,pathsrc.lastIndexOf("/")+1);
	var imgname = pathsrc.slice(pathsrc.lastIndexOf("/")+1,pathsrc.length);
	if(flag) {
		var imgname = imgname.replace(/_def/i,"_ovr");
	} else {
		var imgname = imgname.replace(/_ovr/i,"_def");
	}
	obj.setAttribute("src",path + imgname);
}





//////////////////////////////////////////////////////////////////
/// Tab Image rollover
//////////////////////////////////////////////////////////////////
function imgRollTab(obj,flag) {
	var idIRT=document.getElementById("imRankTab");
	var tNLi=idIRT.getElementsByTagName("li");
	if(tNLi==null) return;
	tNImg=new Array;
	for(var i=0;i<tNLi.length;i++){
		tNImg[i]=tNLi[i].childNodes[0].childNodes[0];
		imgRoll(tNImg[i],0);
	}
	imgRoll(obj,flag);
}




//////////////////////////////////////////////////////////////////
/// Tab block rollover
//////////////////////////////////////////////////////////////////
function switchTab(obj){
	for(var i=1;i<6;i++){
		switchBlock("idRankMain0"+[i],"none");
	}
	switchBlock(obj,"block");
}




//////////////////////////////////////////////////////////////////
/// Window open
//////////////////////////////////////////////////////////////////
// 汎用
function openSubWindow(strUrl,winName,winWidth,winHeight) {
	var features = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=' + winWidth + ',height=' + winHeight;
	winName = window.open(strUrl,winName,features);
	winName.focus();
	return false;
}



//////////////////////////////////////////////////////////////////
/// 汎用id表示切り替え
//////////////////////////////////////////////////////////////////
function switchImg(id,vl){
	var elm=document.getElementById(id);
	var pathsrc=elm.getAttribute("src");
	var path=pathsrc.slice(0,pathsrc.lastIndexOf("/")+1);
	var imgname=pathsrc.slice(pathsrc.lastIndexOf("/")+1,pathsrc.length);
	var ext=imgname.slice(imgname.lastIndexOf("."),imgname.length);
	imgname=vl+ext;
	elm.setAttribute("src",path + imgname);
}
function switchImgSrc(id,vl){
	var elm=document.getElementById(id);
	elm.setAttribute("src",vl);
}
function switchBlock(id,vl){
	var elm=document.getElementById(id);
	elm.style.display=vl;
}
function switchZindex(id,vl){
	var elm=document.getElementById(id);
	elm.style.zIndex=vl;
}
function switchClass(id,vl){
	var elm=document.getElementById(id);
	elm.className=vl;
}
function switchBgImg(id,vl){
	var elm=document.getElementById(id);
	elm.style.backgroundImage="url("+vl+")";
}



//////////////////////////////////////////////////////////////////
/// スタイル操作
//////////////////////////////////////////////////////////////////
function switchClass(id,vl){
	var idSel=document.getElementById(id);
	idSel.className=vl;
}



//////////////////////////////////////////////////////////////////
/// フォーム使用開始操作
//////////////////////////////////////////////////////////////////
function startText(elms){
	var formVl=elms.parentNode;
	var formNm=formVl.getAttribute("name");
	var vlText=document.forms[formNm].elements[0].value;
	if(vlText=="商品名・キーワード") document.forms[formNm].elements[0].value="";
}
function startText2(elms){
	var formVl=elms.parentNode;
	var formNm=formVl.getAttribute("name");
	var vlText=document.forms[formNm].elements[0].value;
	if(vlText=="メールアドレスを入力！") document.forms[formNm].elements[0].value="";
}


//////////////////////////////////////////////////////////////////
/// flash判定
//////////////////////////////////////////////////////////////////
var dwdFlash = new FlashHandler("8,0,0,0","http");
function outputFlash(on,off){
  if(dwdFlash.checkPlugin()) {
		if(on=='') return;
		switchBlock(off,'none');
  }else{
		switchBlock(on,'none');
	}
}

/* FlashHandler
--------------------------------------------------------------------*/
function FlashHandler(ver,pro) {
  this._classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
  this._type = "application/x-shockwave-flash";
  var vertmp = ver.split(",");
  for(var i = 4; i > vertmp.length; i--)
    ver += (ver.match(/,$/)) ? "0,0" : ",0";
  this._ver  = ver;
  this._must = parseInt(ver.toString().replace(/^([0-9]+),.*$/,"$1"));
  this._pro  = (pro.match(/^https?$/)) ? pro : "http";
  this._apply = false;
  this._plugin = (
    (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])
      ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin
      : 0
  );
  if(this._plugin) {
    var tmp = navigator.plugins["Shockwave Flash"].description;
    this._apply = (tmp.match(/\s([0-9.]*)\s/)[1] >= this._must);
  } else if(navigator.userAgent.indexOf("MSIE") != -1) {
    if(navigator.appVersion.indexOf("Win") != -1) { try {
      applytmp = false;
      execScript(
        "on error resume next : applytmp = " +
        "(IsObject(CreateObject('ShockwaveFlash.ShockwaveFlash." +
        this._must + "')))", "VBScript"
      );
      this._apply = applytmp;
    } catch(e) {} }
  }
  this.checkPlugin = function() { return this._apply; };
  this.getCode = function(id,size,param) {
    var ua = navigator.userAgent, pro = this._pro, type = this._type;
    var ids = (
      (id.match(/^[a-zA-Z].*$/))
        ? [' id="' + id + '"',' name="' + id + '"']
        : ["",""]
    );
    var tg = [
      '<object' + ids[0] + ' classid="' + this._classid +
      '" codebase="' + pro + '://download.macromedia.com/pub/' +
      'shockwave/cabs/flash/swflash.cab#version=' + this._ver + '"' +
      ' type="' + type + '" width="' + size[0] + '" height="' +
      size[1] + '">',
      '<embed' + ids[1] + ' type="' + type + '" pluginspage="' + pro +
      '://www.macromedia.com/go/getflashplayer" width="' + size[0] +
      '" height="' + size[1] + '"',
      '></embed>',
      '</object>'
    ];
    for(var i in param) {
      tg[0] += '<param name="' + i + '" value="' + param[i] + '" />';
      tg[1] += ' ' + ((i == "movie") ? 'src' : i) + '="' + param[i] + '"';
    }
    return (
      (ua.indexOf("Mac") != -1 && ua.indexOf("MSIE") != -1 && ua.indexOf("Opera") == -1)
        ? tg[1] + tg[2]
        : tg.join("")
    );
  };
}





//////////////////////////////////////////////////////////////////
/// Scroll
//////////////////////////////////////////////////////////////////
var ss = {
  fixAllLinks: function() {
    var allLinks = document.getElementsByTagName('a');
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if ((lnk.href && lnk.href.indexOf('#') != -1) && 
          ( (lnk.pathname == location.pathname) ||
	    ('/'+lnk.pathname == location.pathname) ) && 
          (lnk.search == location.search)) {
        ss.addEvent(lnk,'click',ss.smoothScroll);
      }
    }
  },

  smoothScroll: function(e) {
    if (window.event) {
      target = window.event.srcElement;
    } else if (e) {
      target = e.target;
    } else return;
    if (target.nodeName.toLowerCase() != 'a') {
      target = target.parentNode;
    }
    if (target.nodeName.toLowerCase() != 'a') return;
    anchor = target.hash.substr(1);
    var allLinks = document.getElementsByTagName('a');
    var destinationLink = null;
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if (lnk.name && (lnk.name == anchor)) {
        destinationLink = lnk;
        break;
      }
    }
    if (!destinationLink) return true;
  
    var destx = destinationLink.offsetLeft; 
    var desty = destinationLink.offsetTop;
    var thisNode = destinationLink;
    while (thisNode.offsetParent && 
          (thisNode.offsetParent != document.body)) {
      thisNode = thisNode.offsetParent;
      destx += thisNode.offsetLeft;
      desty += thisNode.offsetTop;
    }
    clearInterval(ss.INTERVAL);
  
    cypos = ss.getCurrentYPos();
  
    ss_stepsize = parseInt((desty-cypos)/ss.STEPS);
    ss.INTERVAL =
setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.preventDefault && e.stopPropagation) {
      e.preventDefault();
      e.stopPropagation();
    }
  },

  scrollWindow: function(scramount,dest,anchor) {
    wascypos = ss.getCurrentYPos();
    isAbove = (wascypos < dest);
    window.scrollTo(0,wascypos + scramount);
    iscypos = ss.getCurrentYPos();
    isAboveNow = (iscypos < dest);
    if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
      window.scrollTo(0,dest);
      clearInterval(ss.INTERVAL);
      location.hash = anchor;
    }
  },

  getCurrentYPos: function() {
    if (document.body && document.body.scrollTop)
      return document.body.scrollTop;
    if (document.documentElement && document.documentElement.scrollTop)
      return document.documentElement.scrollTop;
    if (window.pageYOffset)
      return window.pageYOffset;
    return 0;
  },

  addEvent: function(elm, evType, fn, useCapture) {
    if (elm.addEventListener){
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent){
      var r = elm.attachEvent("on"+evType, fn);
      return r;
    } else {
      alert("Handler could not be removed");
    }
  } 
}

ss.STEPS = 15;

ss.addEvent(window,"load",ss.fixAllLinks);



