// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
  function onEndCrop( coords, dimensions ) {
    $( 'x1' ).value = coords.x1;
    $( 'y1' ).value = coords.y1;
    $( 'x2' ).value = coords.x2;
    $( 'y2' ).value = coords.y2;
    $( 'width' ).value = dimensions.width;
    $( 'height' ).value = dimensions.height;
  }
  function cropPhoto(e) {
    new Cropper.ImgWithPreview(
        'photoImage',
        {
            previewWrap: 'previewWrap',
            minWidth: 140,
            minHeight: 120,
            ratioDim: { x: 280, y: 240 },
            onEndCrop: onEndCrop
        }
    );
  } ;

  function reflectShippings(shipping, prefs){
    var areas = prefs.split(",");
    for(var i = 0; i < areas.length; i++){
      //alert(document.getElementById('shipping_area' + areas[i]).value);
      document.getElementById('shipping_area' + areas[i]).value = document.getElementById(shipping).value
    }
  }
  function shippingTreeMenu(name, ids){
    var values = ids.split(",");
    for(var i = 0; i < values.length; i++){
      //alert(document.getElementById('shipping_area' + areas[i]).value);
      tMenu = document.getElementById(name + values[i],{duration: 0.5});
      if(tMenu.style.display != 'none'){
          //Effect.SlideUp(tName,{duration: 0.5});
          tMenu.style.display = "none";
      }else{
          //Effect.SlideDown(tName,{duration: 0.5});
          tMenu.style.display = "block";
      }
    }
  }

  function checkradio( disp ) {
    document.getElementById('sample').style.display = disp;
  }

function MyFunction(myvaule){return true};
// ツリーメニュー
function treeMenu(tName,mouse) {
//  tMenu = document.all[tName].style;
  tMenu = document.getElementById(tName,{duration: 0.5});

  if(arguments.length > 1){
    if(mouse == 'on') {
        if(tMenu.style.display != 'none') Effect.SlideUp(tName,{duration: 0.5});
    }else{ Effect.SlideDown(tName);}

  }else{
    if(tMenu.style.display != 'none') Effect.SlideUp(tName,{duration: 0.5});
    else Effect.SlideDown(tName,{duration: 0.5});
  }
}

// スライドメニュー　消失
function blind_slide(tName) {
    tMenu = document.getElementById(tName);
    new Effect.SlideDown(tName, {
//    new Effect.BlindDown(tName, {
     from:1.0, // 開始時透明度
     to:0.0, // 終了時透明度
     // delay:0, // 開始までの秒数
     fps:60, // フレームレート
     duration: 0.5, // アニメーションする時間(秒)
     //beforeStartInternal: function(effect) {
         //alert('start');
     //},
     afterFinishInternal: function(effect) {
         tMenu.style.display = "none";
     }
    });
}
// スライドメニュー　表示
function apear_slide(tName) {
 tMenu = document.getElementById(tName);
    new Effect.SlideUp(tName, {
     from:1.0, // 開始時透明度
     to:0.0, // 終了時透明度
     // delay:0, // 開始までの秒数
     fps:60, // フレームレート
     duration: 0.5, // アニメーションする時間(秒)
    /*             beforeStartInternal: function(effect) {
         alert('start');
     },*/
     afterFinishInternal: function(effect) {
//         tMenu.style.display = "block";
     }
    });
}
// スライドメニュー
function slide(tName) {
    tMenu = document.getElementById(tName);
    // 閉じているときスライドダウンしながら表示
    if(tMenu.style.display == 'none'){
//        apear_slide(tName);
        Effect.SlideUp(tName);
    // 開いているときスライドアップしながら消失
    }else{
//        blind_slide(tName);
        Effect.SlideDown(tName);
    }
}
// class要素の追加・変更
function setElementClassById(elem, value1, value2) {
   if(document.getElementById) {
         var obj = document.getElementById(elem);
         if(obj) {
           if(arguments.length > 2){
             if(obj.className != value1){
               obj.className = value1;
             }else{
               obj.className = value2;
             }
           }else{
             obj.className = value1;
           }
         }
   }
}

// マウスカーソルが重なったら画像を変更
// param1: element名称
// param2: 画像ファイルのパス
function changeImage(iName,str){
	document.images[iName].src = str;
}
// サブディレクトリ対応
function changeImageSub(iName,str){
    var path, pathes
    path = document.images[iName].src;
    pathes = path.split("/");
    pathes.pop();
    pathes.push(str);
    document.images[iName].src = pathes.join("/");
}

// メニュー画像先読み
function preLoad(){
  // 読込イメージを格納した配列
  imgs = ["/images/sagasu_syousai_blur.jpg",
           "/images/sagasu_sanchi_blur.jpg",
           "/images/sagasu_nouka_blur.jpg",
           "/images/sagasu_syouhin_blur.jpg",
           "/images/sagasu_blog_blur.jpg",
           "/images/sagasu_kankou_blur.jpg",
           "/images/sagasu_chouri_blur.jpg",
           "/images/sagasu_news_blur.gif",
           "/images/sagasu_mamechishiki_blur.jpg",
           "/images/sagasu_fax_blur.jpg",
           "/images/sagasu_taiken_blur.jpg"];

  for(var i = 0; i < imgs.length; i++){
    var imgObj = new Image();
    imgObj.src = imgs[i];
  }
}

var infoLock;
// info_areaの切り替えとピンポイントでの画像切り替え
// id にインフォエリアの表示する番号を渡す。第二引数になんらかの値が設定してあるときはクリックした場所が同じ時でもエリアを閉じない
function infoView(id, doubleclick) {
    // 読込イメージを格納した配列
    imgs = ["osirase.gif",
            "uresuji.gif",
            "kankou.gif",
            "tyouri.gif",
            "nakami.gif"];
    waku = ['info_area_left','info_area_center','info_area_right']
    str = 'info'
//    alert(infoLock);
    if(!infoLock || infoLock == false){
        infoLock = true;
        for(i=1;i<=5;i++){
            // 現在クリックした内容を表示し、大きな画像と交換する
            if(i == id){
                // 同じ内容だったとき処理を抜ける
                if(document.getElementById(str + i).style.display == ''){
                    if(document.getElementById('info_switch').style.display != 'none' && arguments.length == 1){
//                        slide('info_switch');
                        Effect.SlideUp('info_switch',{duration: 0.8});
                    }
                    infoLock = false;
                    break;
                }

                Effect.Grow(str + i,
                    {afterFinish: function() {infoLock = false;} }
                );
    //            document.getElementById(str + i).style.display = 'block';
                // 変数に大きくする番号を入れておき、後で画像を変更（大きな画像が二つ並んだらずれが発生するため）
                value = i


            // 前回表示していた内容を非表示にし、画像をもとに戻す
            }else if(document.getElementById(str + i).style.display == ''){
    //            document.getElementById(str + i).style.display = 'none';
    //            disap(str + i);
                Effect.Shrink(str + i);
    //            alert(document.getElementById('info_switch').style.display);
    //            changeImage(str + i,'../images/' + imgs[i-1]);
                changeImageSub(str + i,imgs[i-1]);
            }
        }
        // 表示していないとき表示
        if(document.getElementById('info_switch').style.display == 'none'){
//            apear_slide('info_switch');
            Effect.SlideDown('info_switch',{duration: 0.8});
        }
        // 同じ画像のときは読み込まない
        if(infoLock == true){
            // 画像が元に戻った後表示
//            changeImage(str + value,'../images/l_' + imgs[value-1]);
            changeImageSub(str + value,'l_' + imgs[value-1]);
            // 枠の色変更
            for(j=0;j<=2;j++){
                setElementClassById(waku[j], waku[j] + value);
            }
        }
    }
}

// 画像の移動
// 画像の名前と目的地のidを引数とする
function moveItem(name,dest) {
    var img = $(name);
    img.absolutize();
    var trashPosition = Position.page($(dest));
    new Effect.Parallel(
        [new Effect.Morph(img,
            {style: {
                left: trashPosition[0] + 'px'},
                sync: true}),
        new Effect.Morph(img,
            {style: {
                top: trashPosition[1] + 'px'},
                sync: true})
        ],
        {duration: 2,
        queue: 'end'});
}

function scrollEffect(targetID){
  new Effect.ScrollTo(targetID,{duration: 0.8});
  // $(targetID).visualEffect("ScrollTo");
}

function Scroll(val){
    var Zone = document.getElementById('scroll');
//    Zone.scrollTop = Zone.scrollHeight;

    Zone.scrollTop = val;
//        alert(Zone.scrollTop);
}