function divgetclass(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="divfixed"
*/

sfixed_name="divfixed"    //固定オブジェクト適応名

function sfixeddiv(){

sfixed = divgetclass(sfixed_name,"DIV");
if(!sfixed.length)return;

  for (i = 0; i < sfixed.length; i++) {

   if(sfixed[i].style.position != "absolute" && sfixed[i].style.position != "relative"){
        sfixed[i].style.position = "relative";
        sfixed[i].style.top = "0px";
        sfixed[i].style.left = "0px";
    }
    if(!sfixed[i].style.top){
      sfixed[i].style.top = "0px";
      sfixed[i].style.left = "0px";
    }
      sfixed[i].ftop=parseInt(sfixed[i].style.top);
      sfixed[i].fleft=parseInt(sfixed[i].style.left);
    if(parseInt(sfixed[i].para) && !sfixed[i].style.zIndex)
      sfixed[i].style.zIndex = parseInt(sfixed[i].para);
   }
      setInterval("sdiv_scroll()", 100);
}

function sdiv_scroll(){
  for (i = 0; i < sfixed.length; i++){
       if(sfixed[i].para.indexOf("top") != -1 || sfixed[i].para.indexOf("left") == -1)
          sfixed[i].style.top = document.body.scrollTop + sfixed[i].ftop;
       if(sfixed[i].para.indexOf("left") != -1 || sfixed[i].para.indexOf("top") == -1)
          sfixed[i].style.left = document.body.scrollLeft + sfixed[i].fleft;
  }
}

//-------------------------
/*
class="mfixed"
*/

posfixed_name="mfixed"    //固定オブジェクト適応名

function mfixeddiv(){

posfixed = divgetclass(posfixed_name,"DIV");
if(!posfixed.length)return;

  for (i = 0; i < posfixed.length; i++) {

   if(posfixed[i].style.position != "absolute" && posfixed[i].style.position != "relative"){
        posfixed[i].style.position = "relative";
        posfixed[i].style.top = "0px";
    }
    if(!posfixed[i].style.top)
      posfixed[i].style.top = "0px";
      posfixed[i].ftop=parseInt(posfixed[i].style.top);
  }
      setInterval("div_scroll()", 500);
}

var setpoint=0;
var pp=0;
fixflg=0;
function div_scroll(){
  targetpoint=document.body.scrollTop;
  point_move=targetpoint - pp;
  if(!fixflg){
    fixflg=1;
    point_move=targetpoint - setpoint;
    div_fix();
  }
}


function div_fix(){

point_move=point_move*0.9;
pp = targetpoint-point_move;

  for (i = 0; i < posfixed.length; i++)
          posfixed[i].style.top = pp + posfixed[i].ftop;
  if(point_move> 1 || point_move< -1)
      setTimeout("div_fix()",30);
  else{
      fixflg=0;
      setpoint=targetpoint;
  }
}

//---------------------------
/*
class="divmove"
*/

divmove_name="divmove"    //移動オブジェクト適応名

function divmoveset(){

divmove = divgetclass(divmove_name,"DIV");
if(!divmove.length)return;

  for (i = 0; i < divmove.length; i++) {
    if(divmove[i].style.position != "absolute" && divmove[i].style.position != "relative"){
        divmove[i].style.position = "relative";
        divmove[i].style.top = "0px";
        divmove[i].style.left = "0px";
    }
    if(!divmove[i].style.top)divmove[i].style.top = "0px";
    if(!divmove[i].style.left)divmove[i].style.left = "0px";
        divmove[i].style.cursor = "move";
    divmove[i].onmousedown= function () {divmove_down(this);return false};
  }

var divmove_element,divmove_y,divmove_x,divpointy,divpointx;
divmove_flag=0;divmove_position=0;;
divmove_index=new Array();
function divmove_down(divmove_obj){

divmove_flag=1;
divmove_element=divmove_obj;


if(document.all){
divmove_position=(divmove_element.style.position=="absolute")?1:0;
  if(divmove_position){

    divmove_y=event.offsetY;
    divmove_x=event.offsetX;

  }else{
var   divmove_py=event.clientY;
var   divmove_px=event.clientX;
    divmove_y=divmove_element.style.pixelTop;
    divmove_x=divmove_element.style.pixelLeft;
    divmove_y=divmove_py-divmove_y;
    divmove_x=divmove_px-divmove_x;

  }
}else{
    divmove_y=parseInt(divmove_element.style.top);
    divmove_x=parseInt(divmove_element.style.left);
    divmove_y=(divmove_y-divpointy);
    divmove_x=(divmove_x-divpointx);
}

for (i = 0; i < divmove_index.length; i++) {if(divmove_obj==divmove_index[i]) divmove_index.splice(i, 1);}
divmove_index.push(divmove_obj);
for (i = 0; i < divmove_index.length; i++) divmove_index[i].style.zIndex=i+2;


}
function div_move(NNevent){

if(document.all){
    if(divmove_flag){
       if(divmove_position){
          divmove_element.style.top = document.body.scrollTop + event.clientY - divmove_y;
          divmove_element.style.left = document.body.scrollLeft + event.clientX - divmove_x;
       }else{
          divmove_element.style.top=event.clientY-divmove_y;
          divmove_element.style.left=event.clientX-divmove_x;

       }
    }
}else{
    divpointy=NNevent.pageY;
    divpointx=NNevent.pageX;
    if(divmove_flag){
      divmove_element.style.top=divpointy+divmove_y;
      divmove_element.style.left=divpointx+divmove_x;
    }
}
return false
}

if(document.all){
  tmpimgmove=document.onmousemove;
  document.onmousemove=function(){if(tmpimgmove)tmpimgmove();div_move();return false}
}else{
  window.addEventListener("mousemove",div_move,true);
}

tmpdivup=document.onmouseup;
document.onmouseup=function(){if(tmpdivup)tmpdivup();divmove_flag=0;};
}

//-------------------------
/*
class="accordionMenu"
class="accordionContents"
*/

//---------------------
var openset= new Array();
var groupset= new Array();
var accordionopenobj,accordioncloseobj;
var hiset=1;
function accordionset(){

accordionp = divgetclass("accordionMenu","DIV");
if(!accordionp.length)return;
accordionc = divgetclass("accordionContents","DIV");
if(!accordionc.length)return;
if(accordionc.length!=accordionp.length)return;

  for (i = 0; i < accordionp.length; i++) {
    var gnset;
    if(accordionp[i].para && accordionp[i].para.indexOf(",") != -1){
      gnset=(accordionp[i].para.split(",")[0]=="open")?accordionp[i].para.split(",")[1]:accordionp[i].para.split(",")[0];
    }else if(accordionp[i].para && accordionp[i].para!="open"){
      gnset=accordionp[i].para;
    }else{
      gnset="nogroup";
    }
    var gf=0;
    for (j in groupset){ if(groupset[j]==gnset)gf=1;}
      if(!gf)groupset.push(gnset);

    accordionp[i].gn=gnset
    if(!openset[gnset])openset[gnset]=i;
      if(accordionp[i].para.indexOf("open") != -1)openset[gnset]=i;
  }

  for (i = 0; i < accordionp.length; i++) {
      accordionp[i].onclick= function () {accordionopen(this)};
      accordionp[i].style.cursor= "pointer";
      accordionc[i].he=(accordionc[i].style.height)?parseInt(accordionc[i].style.height):"";
      accordionc[i].style.overflow="hidden";

    if(openset[accordionp[i].gn]!=i){
      accordionc[i].style.height=1+"px";
      accordionc[i].style.display= "none";
    }
  }

function accordionopen(obj){
if(hiset!=1)return;
var os=openset[obj.gn];

accordioncloseobj=accordionc[os];
  for (i = 0; i < accordionp.length; i++) {
       if(obj== accordionp[i]){
            accordionopenobj=accordionc[i];
            openset[obj.gn]=i;
       }}
if(accordionopenobj==accordioncloseobj)return;
accordionopenobj.style.display= "block";
hiset=100;
accordionmove();
}

}
function accordionmove(){
hiset-=3;
var opnhi,closehi;
openhi=(accordionopenobj.he)?accordionopenobj.he-(accordionopenobj.he/100)*hiset:200-hiset;
             accordionopenobj.style.height=openhi+"px";
closehi=(accordioncloseobj.he)?(accordioncloseobj.he/100)*hiset:hiset;
             accordioncloseobj.style.height=closehi+"px";
  if(hiset!=1)
    setTimeout("accordionmove()", 10)
   else{
    accordioncloseobj.style.height="1px";
    accordioncloseobj.style.display= "none";
   }
}

tmpdivload = window.onload;
window.onload= function () {if(tmpdivload)tmpdivload();sfixeddiv();mfixeddiv();divmoveset();accordionset()}