/*
jQuery Script for socialnurse.jp
Subject: socialnurse.sitetop
Author : TANAKA Hirohito by CVP(http://cvp-web.net/)
Date   : 2010.01.12
--------------------------------------*/


(function($) {


jQuery().ready(function() {
  return init();
}); //ready


var cfg = jQuery.extend({
  slideTop : {
    size : {
      w  : 950,
      h  : 475
    },
    link : {
      0  : "./about/",
      1  : "./think/",
      2  : "./interview/",
      3  : "http://www.seikatsu-kagaku.co.jp/corporate/index_c.html"
    },
    photo : {
      0  : "about",
      1  : "think",
      2  : "interview",
      3  : "company"
    },
    wait : 10000,                         //スライド時間
    fade : 800,                           //スライド切替時間
    btn  : "./static/images/sitetop/topimg/btn", //ヘッダーボタン・パス
    path : "./static/photo/sitetop/",     //ヘッダーイメージ・パス
    num  : 4                              //ヘッダーイメージの総数
  }
},cfg);


var init = function() {
  this.obj2 = new slideTopImg();
  return this;
}


var slideTopImg = function(){
  var obj_photo = [];
  var obj_btn_off = [];
  var obj_btn_on = [];
  for(var i = 0; i < cfg.slideTop.num; i++){
    obj_photo[i] = new Image();
    obj_photo[i].src = cfg.slideTop.path + cfg.slideTop.photo[i] + ".jpg";
    obj_btn_off[i] = new Image();
    obj_btn_off[i].src = cfg.slideTop.btn + i + ".gif";
    obj_btn_on[i] = new Image();
    obj_btn_on[i].src = cfg.slideTop.btn + i + "_selected.gif";
  }
  this.photo   = obj_photo;
  this.btn_off = obj_btn_off;
  this.btn_on  = obj_btn_on;
  this.leng    = cfg.slideTop.num;
  this.handle  = $("#topImg").children("ul").find("li");
  $("#topImg").children("ul").find("li").children("a").removeAttr("target");
  this.timeout;
  this.setup(); 
}


slideTopImg.prototype = {
  setup: function(){
    var self = this;
    // リストボタン生成
    self.handle.each(function(i){
      var src = (i == 0)? self.btn_on[i].src: self.btn_off[i].src;
      var cls = (i == 0)? " class=\"selected\"": "";
      var str = "<img src=\""+ src +"\" alt=\"\""+ cls +" />";
      self.handle.eq(i).html(str);
    });
    hoverCursor(self.handle);
    // #topImgOverにCSS、アンカーを設定
    $("#topImgOver").css("background","url("+self.photo[0].src+")");
    //$("#topImgOver").find("h1").children("img").css({"opacity":"0.5","width":1+"px","height":1+"px"});
    $("#topImgOver").append("<a href=\"\"></a>");
    $("#topImgOver").find("a").css({
      "width"  : cfg.slideTop.size.w +"px",
      "height" : cfg.slideTop.size.h +"px",
      "display": "block"
    });
    $("#topImgOver").find("a").attr("href",cfg.slideTop.link[0]);
    // イベント開始
    self.slideImage(1);
    self.slideEvent();
  },
  slideImage: function(item1){
    var self = this;
    var item2 = ((item1+1) == self.leng)? 0: item1+1;
    self.timeout = setTimeout(function(){
      self.handle.unbind("click"); // クリック処理一時停止
      // #topImgOverにアンカー属性を付与
      var target = ((item1+1) == self.leng)? "_blank": "_self";
      $("#topImgOver").find("a").attr("target",target);
      $("#topImgOver").find("a").attr("href",cfg.slideTop.link[item1]);
      // リストボタン切替
      self.handle.each(function(i){
        if(i == item1){
          self.handle.eq(item1).children("img").addClass("selected");
          self.handle.eq(item1).children("img").attr("src",self.btn_on[item1].src);
        } else {
          self.handle.eq(i).children("img").removeClass("selected");
          self.handle.eq(i).children("img").attr("src",self.btn_off[i].src);
        }
      });
      // フェード処理
      $("#topImgUnder").css("background-image","url(\""+self.photo[item1].src+"\")");
      $("#topImgOver").fadeTo(cfg.slideTop.fade,0.0,function(){
        $("#topImgOver").css("background-image","url(\""+self.photo[item1].src+"\")");
        $("#topImgOver").fadeTo(100,1.0,function(){
          self.slideEvent(); // クリック処理再開
          self.slideImage(item2); // スライド処理繰り返し
        });
      });
      clearTimeout(self.timeout);
    }, cfg.slideTop.wait);
  },
  slideEvent: function(){
    var self = this;
    self.handle.each(function(h){
      self.handle.eq(h).bind("click",function(){
        // イメージ切替
        if(!self.handle.eq(h).children("img").hasClass("selected")){
          var item1 = h;
          clearTimeout(self.timeout); // スライド処理クリア
          self.handle.unbind("click"); // クリック処理一時停止
          // #topImgOverにアンカー属性を付与
          var target = ((item1+1) == self.leng)? "_blank": "_self";
          $("#topImgOver").find("a").attr("target",target);
          $("#topImgOver").find("a").attr("href",cfg.slideTop.link[item1]);
          // リストボタン切替
          self.handle.each(function(i){
            if(i == item1){
              self.handle.eq(item1).children("img").addClass("selected");
              self.handle.eq(item1).children("img").attr("src",self.btn_on[item1].src);
            } else {
              self.handle.eq(i).children("img").removeClass("selected");
              self.handle.eq(i).children("img").attr("src",self.btn_off[i].src);
            }
          });
          // フェード処理
          $("#topImgUnder").css("background-image","url(\""+self.photo[item1].src+"\")");
          $("#topImgOver").fadeTo(cfg.slideTop.fade,0.0,function(){
            $("#topImgOver").css("background-image","url(\""+self.photo[item1].src+"\")");
            $("#topImgOver").fadeTo(100,1.0,function(){
              self.slideEvent(); // クリック処理再開
            });
          });
        // ページ移動
        } else {
          if(h == 3){
            window.open(cfg.slideTop.link[h]); // 企業概要は新規ウィンドウで開く
          } else {
            location.href = cfg.slideTop.link[h];
          }
        }
      });
    });
  }
}


var hoverCursor = function(value){
  $(value).hover(function(){
    $(this).css("cursor","pointer");
  },function(){
    $(this).css("cursor","default");
  });
}


})(jQuery);
