function getclass(cl,ta){
var class_obj=new Array();
var ccount=0;
tag_obj=document.getElementsByTagName(ta);

  for(i=0;i<tag_obj.length;i++){
    var clas=tag_obj[i].className;
      if(clas.indexOf(" ") != -1){
      clas=clas.split(" ");
        for(j=0;j<clas.length;j++){
         var clas1=(clas[j].indexOf(":") != -1)?clas[j].split(":")[0]:clas[j];
         var clas2=(clas[j].indexOf(":") != -1)?clas[j].split(":")[1]:"";
          if(clas1 == cl){
            class_obj[ccount]=tag_obj[i];
            class_obj[ccount].para=(clas2)?clas2:"";
            ccount++;
            break;
          }
       }
      }else{
         var clas1=(clas.indexOf(":") != -1)?clas.split(":")[0]:clas;
         var clas2=(clas.indexOf(":") != -1)?clas.split(":")[1]:"";
          if(clas1 == cl){
            class_obj[ccount]=tag_obj[i];
            class_obj[ccount].para=(clas2)?clas2:"";
            ccount++;
          }
      }
  }
return class_obj;
}

/*
class="photo:#ff00ff"
*/

photo_name="photo"  //画像写真風表示適応名

function photoset(){

pimg = getclass(photo_name,"IMG");

if(!pimg.length)return;

var BaseDiv = new Array();
var BorderDiv =new Array();
var DivShadow = new Array();
var dimg =new Array();
var pot = new Array();
var Shadowset = new Array();
var Borderset = new Array();
var potset = new Array();
var potset2 = new Array();
var imgpar = new Array();
var z = 1;

for (i = 0; i < pimg.length; i++) {

  imgpar[i]=pimg[i].parentNode;
  ih=pimg[i].height;
  iw=pimg[i].width;
var W=(iw > ih)?iw:ih;

  BaseDiv[i] = document.createElement("div");
  BaseDiv[i].style.height = ih;
  BaseDiv[i].style.width = iw;

if(pimg[i].style.position == "absolute"){

  var t=pimg[i].style.top;
  var l=pimg[i].style.left;
  BaseDiv[i].style.position = "absolute";
  BaseDiv[i].style.top = t;
  BaseDiv[i].style.left = l;
  pimg[i].style.position = "static";
  pimg[i].style.top=0;
  pimg[i].style.left=0;
}else{
  BaseDiv[i].style.position = "relative";
  BaseDiv[i].style.top = "0px";
  BaseDiv[i].style.left = "0px";
}

  DivShadow[i] = document.createElement("div");
  DivShadow[i].style.height = (ih-W/10-W/40)+"px";
  DivShadow[i].style.width = (iw-W/10-W/40)+"px";
  DivShadow[i].style.position = "absolute";
  DivShadow[i].style.top = W/40+"px";
  DivShadow[i].style.left = W/40+"px";
  DivShadow[i].style.zIndex = z;z++;
  DivShadow[i].style.border = (W/20)+"px solid #aaaaaa";

  DivShadow[i].style.opacity = 0.5;
  DivShadow[i].style.filter =  "Alpha(opacity=50)";
  DivShadow[i].style.MozOpacity = 0.5;

  BorderDiv[i] = document.createElement("div");
  BorderDiv[i].style.height = (ih-W/10-W/40)+"px";
  BorderDiv[i].style.width = (iw-W/10-W/40)+"px";
  BorderDiv[i].style.position = "relative";
  BorderDiv[i].style.zIndex = z;z++;

    if(pimg[i].para)
  BorderDiv[i].style.border = (W/20)+"px solid "+pimg[i].para;
    else
  BorderDiv[i].style.border = (W/20)+"px solid #ffffff";

  dimg[i] = document.createElement("img");
  dimg[i].style.height = (ih-W/10-W/40)+"px";
  dimg[i].style.width = (iw-W/10-W/40)+"px";
  dimg[i].style.opacity = 0;
  dimg[i].style.filter =  "Alpha(opacity=0)";
  dimg[i].style.MozOpacity = 0;



  pimg[i].style.height = (ih-W/10-W/40)+"px";
  pimg[i].style.width = (iw-W/10-W/40)+"px";
  obj = pimg[i];

  pot[i] = imgpar[i].replaceChild(BaseDiv[i],obj);
  Shadowset[i] = BaseDiv[i].appendChild (DivShadow[i]);
  Borderset[i] = BaseDiv[i].appendChild (BorderDiv[i]);
  potset[i] = BorderDiv[i].appendChild (obj);
  potset2[i] = DivShadow[i].appendChild (dimg[i]);

  }
}

//--------------------
//--------------------

/*
class="IMGALPHA:01.jpg,02.jpg,03.jpg"
*/

chsec=70;            //画像の入れ替えスピード
set_name="IMGALPHA"  //画像の入れ替え適応名
//-----------------------------------------------------------

function imgset(){

pimg2 = getclass(set_name,"IMG");

  for (i = 0; i < pimg2.length; i++) {
    pimg2[i].style.filter =  "Alpha(opacity=100)";
    pimg2[i].style.opacity = 0.99;
    pimg2[i].style.MozOpacity = 0.99;
    pimg2[i].onclick= function () {if(!this.chck)Istart(this);}
    pimg2[i].imgf=0;
    pimg2[i].fo=98;
    pimg2[i].imgto=1;
    pimg2[i].chck=0;
    pimg2[i].style.cursor="pointer";
      clas=pimg2[i].para;
    pimg2[i].prImg=clas.split(",");
  }
}


function Istart(imgelement,objno){
var setobj;
  if(imgelement){
    setobj=imgelement;
    setobj.chck=1;
  }else{
    setobj = pimg2[objno];
  }

setobj.fo=(!setobj.imgf)?setobj.fo-2:setobj.fo+2;

if(document.all &&  navigator.userAgent.indexOf('Opera')==-1)
    setobj.filters['alpha'].opacity=setobj.fo;
    setobj.style.MozOpacity=setobj.fo/100;
    setobj.style.opacity=setobj.fo/100;

  if(setobj.fo<=0){
      setobj.imgf=1;
      setobj.src=setobj.prImg[setobj.imgto];
  }
  if(setobj.fo<98){
      for (i = 0; i < pimg2.length; i++)if(setobj==pimg2[i])objno=i;
      eval(" setTimeout('Istart(0,"+objno+")',chsec)");
  }else{
      setobj.imgf=0;setobj.imgto++;setobj.imgto%=setobj.prImg.length;
      setobj.chck=0;
  }
}

//--------------------
//--------------------

/*
class="vibration"
*/
vib_name="vibration"  //VIBRATION適応名
var vIntervalID;

function vibset(){
vpimg = getclass(vib_name,"IMG");
if(!vpimg.length)return;

  for (i = 0; i < vpimg.length; i++) {
    vpimg[i].onmouseover= function () {vibration(this)};
    vpimg[i].onmouseout= function () {vibstop()};
  }
}

vibflag=0;
var vibimg;
var vimgtop=0;
var vimgleft=0;
function vibration(im){
clearInterval(vIntervalID);
vibimg=im;
  if(vibimg.style.position=="absolute" || vibimg.style.position=="relative"){
    vimgtop=parseFloat(vibimg.style.top);
    vimgleft=parseFloat(vibimg.style.left);
  }else{
    vimgtop=0;
    vimgleft=0;   
    vibimg.style.position="relative";
  }

vIntervalID=setInterval('vib()',50)
}
function vib(){
  vibimg.style.left = vimgleft + vibflag;
  vibimg.style.top = vimgtop + vibflag;
  vibflag = vibflag?0:1;
}

function vibstop(){
  clearInterval(vIntervalID);
  vibimg.style.left = vimgleft;
  vibimg.style.top = vimgtop;
  vibflag = 0;
}

//---------------------
//---------------------

/*
class="movement"
*/

move_name="movement"    //移動オブジェクト適応名

function moveset(){

moveimg = getclass(move_name,"IMG");
if(!moveimg.length)return;

  for (i = 0; i < moveimg.length; i++) {
    if(moveimg[i].style.position != "absolute" && moveimg[i].style.position != "relative"){
        moveimg[i].style.position = "relative";
        moveimg[i].style.top = "0px";
        moveimg[i].style.left = "0px";
    }
    if(!moveimg[i].style.top)moveimg[i].style.top = "0px";
    if(!moveimg[i].style.left)moveimg[i].style.left = "0px";
        moveimg[i].style.cursor = "move";
if(moveimg[i].className.indexOf("photo") != -1)
    moveimg[i].onmousedown= function () {move_down(this.parentNode.parentNode);return false};
else
    moveimg[i].onmousedown= function () {move_down(this);return false};
  }

var move_element,move_y,move_x,pointy,pointx;
move_flag=0;move_position=0;;
move_index=new Array();
function move_down(move_obj){

move_flag=1;
move_element=move_obj;


if(document.all){
move_position=(move_element.style.position=="absolute")?1:0;
  if(move_position){

    move_y=event.offsetY;
    move_x=event.offsetX;

  }else{
var   move_py=event.clientY;
var   move_px=event.clientX;
    move_y=move_element.style.pixelTop;
    move_x=move_element.style.pixelLeft;
    move_y=move_py-move_y;
    move_x=move_px-move_x;

  }
}else{
    move_y=parseInt(move_element.style.top);
    move_x=parseInt(move_element.style.left);
    move_y=(move_y-pointy);
    move_x=(move_x-pointx);
}

for (i = 0; i < move_index.length; i++) {if(move_obj==move_index[i]) move_index.splice(i, 1);}
move_index.push(move_obj);
for (i = 0; i < move_index.length; i++) move_index[i].style.zIndex=i+2;


}
function d_move(NNevent){

if(document.all){
    if(move_flag){
       if(move_position){
          move_element.style.top = document.body.scrollTop + event.clientY - move_y;
          move_element.style.left = document.body.scrollLeft + event.clientX - move_x;
       }else{
          move_element.style.top=event.clientY-move_y;
          move_element.style.left=event.clientX-move_x;

       }
    }
}else{
    pointy=NNevent.pageY;
    pointx=NNevent.pageX;
    if(move_flag){
      move_element.style.top=pointy+move_y;
      move_element.style.left=pointx+move_x;
    }
}
return false
}

if(document.all){
  tmpimgmove=document.onmousemove;
  document.onmousemove=function(){if(tmpimgmove)tmpimgmove();d_move();return false}
}else{
  window.addEventListener("mousemove",d_move,true);
}
tmpimgup=document.onmouseup;
document.onmouseup=function(){if(tmpimgup)tmpimgup();move_flag=0;};

}

//---------------------
//---------------------

/*
class="IMGfixed"
*/

imgfixed_name="IMGfixed"    //固定オブジェクト適応名

function fixedimg(){

imgfixed = getclass(imgfixed_name,"IMG");
if(!imgfixed.length)return;

  for (i = 0; i < imgfixed.length; i++) {
    if(imgfixed[i].className.indexOf("movement") != -1)continue;
    var tmppara=imgfixed[i].para;

　　if(imgfixed[i].className.indexOf("photo") != -1){
　     imgfixed[i] = imgfixed[i].parentNode.parentNode;
       imgfixed[i].para=tmppara;
    }
    if(imgfixed[i].style.position != "absolute" && imgfixed[i].style.position != "relative"){
        imgfixed[i].style.position = "relative";
        imgfixed[i].style.top = "0px";
        imgfixed[i].style.left = "0px";
    }
    if(parseInt(imgfixed[i].para) && !imgfixed[i].style.zIndex)
      imgfixed[i].style.zIndex = parseInt(imgfixed[i].para);
    if(!imgfixed[i].style.top)
      imgfixed[i].style.top = "0px";
    else
      imgfixed[i].ftop=parseInt(imgfixed[i].style.top);
    if(!imgfixed[i].style.left)
      imgfixed[i].style.left = "0px";
    else
      imgfixed[i].fleft=parseInt(imgfixed[i].style.left);
  }
 
  if(document.all)
      document.body.onscroll = img_scroll;
  else
      setInterval("img_scroll()", 100);
}

function img_scroll(){

  for (i = 0; i < imgfixed.length; i++) {
       if(imgfixed[i].className.indexOf("movement") != -1)continue;

       if(imgfixed[i].para.indexOf("top") != -1 || imgfixed[i].para.indexOf("left") == -1)
          imgfixed[i].style.top = document.body.scrollTop + imgfixed[i].ftop;
       if(imgfixed[i].para.indexOf("left") != -1 || imgfixed[i].para.indexOf("top") == -1)
          imgfixed[i].style.left = document.body.scrollLeft + imgfixed[i].fleft;

  }

}

//---------------------
//---------------------

/*
class="Rollover"
*/

imgover_name="Rollover"    //ロールオーバーオブジェクト適応名

function rollover(){

imgover = getclass(imgover_name,"IMG");
if(!imgover.length)return;

 for (i = 0; i < imgover.length; i++) {
//    if(imgover[i].className.indexOf("movement") != -1)continue;
        imgover[i].sti=imgover[i].para;
        imgover[i].fseti=imgover[i].src;
        imgover[i].onmouseover = function () {this.src=this.sti};
        imgover[i].onmouseout = function () {this.src=this.fseti};
    }

}
tmpimgload = window.onload;
window.onload= function () {if(tmpimgload)tmpimgload();vibset();imgset();photoset();moveset();fixedimg();rollover()}
/* himajin.moo.jp */