//var path_root = "http://localhost/www/";
var path_root = "http://www.everg.co.jp/";

/*-----------------------------onImagesLoaded-----------------------------*/
/*
 * jQuery 'onImagesLoaded' plugin v1.1.0
 * Fires callback functions when images have loaded within a particular selector.
 *
 * Copyright (c) Cirkuit Networks, Inc. (http://www.cirkuit.net), 2008.
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * For documentation and usage, visit "http://includes.cirkuit.net/js/jquery/plugins/onImagesLoad/1.1/documentation/"
 */
(function($){$.fn.onImagesLoad=function(options){var self=this;self.opts=$.extend({},$.fn.onImagesLoad.defaults,options);self.bindEvents=function($imgs,container,callback){if($imgs.length===0){if(self.opts.callbackIfNoImagesExist&&callback){callback(container);}}else{var loadedImages=[];if(!$imgs.jquery){$imgs=$($imgs);}$imgs.each(function(i,val){$(this).bind('load',function(){if(jQuery.inArray(i,loadedImages)<0){loadedImages.push(i);if(loadedImages.length==$imgs.length){if(callback){callback(container);}}}}).each(function(){if(this.complete||this.complete===undefined){this.src=this.src;}});});}};var imgAry=[];self.each(function(){if(self.opts.itemCallback){var $imgs;if(this.tagName=="IMG"){$imgs=this;}else{$imgs=$('img',this);}self.bindEvents($imgs,this,self.opts.itemCallback);}if(self.opts.selectorCallback){if(this.tagName=="IMG"){imgAry.push(this);}else{$('img',this).each(function(){imgAry.push(this);});}}});if(self.opts.selectorCallback){self.bindEvents(imgAry,this,self.opts.selectorCallback);}return self.each(function(){});};$.fn.onImagesLoad.defaults={selectorCallback:null,itemCallback:null,callbackIfNoImagesExist:false};})(jQuery);
/*-----------------------------onImagesLoadedここまで-----------------------------*/


function escapeLF(str)
{
 str = str + "";
 str = str.replace(/\n/g,"NeWLiN")
 return str;
}

/*-----------------------------ユーザーエージェント分岐-----------------------------*/

 var ua_name = null;
 var re_version = null;
 var ua;
 
 $.each
  (
   $.browser,
   function(key, val)
    {
     if(key == "version"){re_version = val;}
     else if(val){ua_name = key;}
     if(ua_name && re_version){ua = ua_name + re_version;}
    }
  );


/*-----------------------------画像ナチュラルサイズ取得-----------------------------*/

function getNaturalSize(imgJqObj,src)
{
 if(ua_name == "msie")
  {
   var imgObj = new Image();
   imgObj.src = src;
   var w = imgObj.width;
   var h = imgObj.height;
  }
 else
  {
   //var e = $(this.ul_id + " li:eq(" + i + ") .main_viewer img");
   imgObj = imgJqObj.get(0);  //jQueryオブジェクト配列を標準エレメントに変換
   w = imgObj.naturalWidth;
   h = imgObj.naturalHeight;
  }

 return {width: w, height: h}
}

/*-----------------------------トグル　スクロール-----------------------------*/
function setScroller(trigger,target)
{
 $(trigger).mousedown(function(){toggleScroller(trigger,target)});
}

function toggleScroller(trigger,target)
{
 var y = $(window).scrollTop();
 if(y > 0){$.scrollTo($("body"), {speed:750,axis:'y', queue: false});}
 else{$.scrollTo($(target), {speed:750,axis:'y', offset: scrollOffset, queue: false});}
 
 //$(trigger).toggle
   //(
	//function(){$.scrollTo($(t1), {speed:750,axis:'y', offset: scrollOffset, queue: false});},
	//function(){$.scrollTo($(t2), {speed:750,axis:'y', queue: false});}
   //);
}
 
/*-------------------------------------------------------------------------*/
/*--                                 eg list                             --*/
/*-------------------------------------------------------------------------*/

function egList(ini){

this.ul_id = ini.ul_id;
this.li_width_offset = ini.li_width_offset;
this.eg_list_tab_on = ini.eg_list_tab_on;
this.eg_list_tab_off = ini.eg_list_tab_off;
this.gallery_on = ini.gallery_on;
this.gallery_off = ini.gallery_off;

this.li_width;

this.blocker = false;
this.close_i = "null";
this.open_i = "null";
this.tab_i = "null";
this.img_i = "null";

 this.setEgList = function()
  {
   $(this.ul_id + " div.eg_list_tab_pg").css({display: "none"});
   this.li_width = $(this.ul_id + " > li:eq(0)").width();

   var self = this;
   var fn = function()
    {
     //$.scrollTo( $(self.ul_id), {speed:750,axis:'y', offset: scrollOffset, queue: false});
     $(self.ul_id + " > li .main_view img").after("<img class='full_size' src=''>");
     $(self.ul_id + " img.full_size").css({display: "none"});
     self.setEachList();
	};
   $(this.ul_id + " > li .main_view").onImagesLoad({selectorCallback: fn});
  }
  
 this.setEachList = function()
  {
   var self = this;
   $(this.ul_id + " > li").each
    (
     function(i)
      {
       var preview_img = $(self.ul_id + " > li:eq(" + i + ") .main_view img:eq(0)");
       var w = preview_img.width();
       var h = preview_img.height();
       $(self.ul_id + " > li:eq(" + i + ") .main_view").css({width: w, height: h});

       self.setEachListTab(i);
	   self.setEachListImage(i);
       $(self.ul_id + " > li:eq(" + i + ") .main_view").mousedown(function(){self.onListEvent(i,"preview");});
      }
    );
  }
  
 this.setEachListTab = function(i)
  {
   var self = this;
   $(this.ul_id + " > li:eq(" + i + ") ul.eg_list_tab li").each
    (
     function(j)
      {
       $(this).mousedown(function(){self.onListEvent(i,j);});
      }
    );
  }

 this.setEachListImage = function(i)
  {
   var self = this;
   $(this.ul_id + " > li:eq(" + i + ") div.eg_list_tab_pg img").each
    (
     function(j)
      {
       if($(this).attr("full_size_src") != "")
	    {
		 $(this).css({cursor: "pointer"});
         $(this).mousedown(function(){self.viewFullSizeImage(i,j);});
		}
      }
    );
  }

/*-----------------------------マウスダウンイベント-----------------------------*/
 this.onListEvent = function(list_i, trigger)
  {
   //if(this.open_i == "null"){this.blocker = false;} //必要？

   if(this.blocker == false)
    {
     if(trigger == "preview"){this.tab_i = "null";}else{this.tab_i = trigger};

     if(this.open_i != list_i)
	  {
       this.blocker = true;
       this.close_i = this.open_i;
       this.open_i = list_i;
	   this.openList(); this.closeList();
	  }
     else
	  {
	   if(trigger == "preview")
	    {
         this.blocker = true;
         this.open_i = "null";
         this.close_i = list_i;
         this.closeList();
		}
       else{this.downListTab(this.tab_i); this.blocker = false;}
	  }
    }
  }


 this.openList = function()
  {
   if(this.tab_i != "null"){this.ChangeListTabStyle(this.open_i, this.tab_i);}
   this.fadeOutPreview();
  }

 this.closeList = function()
  {
   var i = this.close_i;
   this.clearListContents(i);
   $(this.ul_id + " > li:eq(" + i + ") div.eg_list_tab_pg img").css({border: "none"});

   var self = this;
   $(this.ul_id + " > li:eq(" + i + ") img.full_size").fadeOut
     (
	  500,
	  function(){self.fadeOutFullSize();}
	 );
  }

 this.clearListContents = function(list_i)
  {
   $(this.ul_id + " > li:eq(" + list_i + ") ul.eg_list_tab li").css(this.eg_list_tab_off);
   $(this.ul_id + " > li:eq(" + list_i + ") div.eg_list_tab_pg").css({display: "none"});
  }

/*-----------------------------タブアクション-----------------------------*/
 this.downListTab = function(tab_i)
  {
   var list_i = this.open_i;
   this.ChangeListTabStyle(list_i, tab_i);
   this.ChangeListTabPage(list_i, tab_i);
  }

 this.ChangeListTabStyle = function(list_i, tab_i)
  {
   $(this.ul_id + " > li:eq(" + list_i + ") ul.eg_list_tab li").css(this.eg_list_tab_off);
   $(this.ul_id + " > li:eq(" + list_i + ") ul.eg_list_tab li:eq(" + tab_i + ")").css(this.eg_list_tab_on);
  }

 this.ChangeListTabPage = function(list_i, tab_i)
  {
   $(this.ul_id + " > li:eq(" + list_i + ") div.eg_list_tab_pg").css({display: "none"});
   $(this.ul_id + " > li:eq(" + list_i + ") div.eg_list_tab_pg:eq(" + tab_i + ")").fadeIn("fast");
  }

/*-----------------------------フェードアウトプレビュー-----------------------------*/
 this.fadeOutPreview = function()
  {
   var i = this.open_i;
   var previewObj = $(this.ul_id + " > li:eq(" + i + ") .main_view img:eq(0)");
   var fullSizeObj = $(this.ul_id + " > li:eq(" + i + ") img.full_size");

   var self = this;
   var CB = function(){self.imageLoader(previewObj,fullSizeObj);}
   $(this.ul_id + " > li:eq(" + this.open_i + ") .main_view img:eq(0)").fadeOut(350,CB);
  }

/*-----------------------------イメージローダー-----------------------------*/
 this.imageLoader = function(preview, full_size)
  {
   var previewObj = preview;
   var fullSizeObj = full_size;

   fullSizeObj.attr({src: ""}); //safari
   var full_size_src = previewObj.attr("full_size_src");
   fullSizeObj.attr({src: full_size_src}); //ロード開始

   var self = this;
   var CB = function(){self.ResizeMainView(fullSizeObj,full_size_src);}
   fullSizeObj.onImagesLoad({itemCallback: CB});
  }

/*-----------------------------リサイズメインビュー-----------------------------*/
 this.ResizeMainView = function(imgObj,imgSrc)
  {
   var naturalSize = getNaturalSize(imgObj,imgSrc);
   var nw = naturalSize.width;
   var nh = naturalSize.height;

   var i = this.open_i;
   var contents_view = $(this.ul_id + " > li:eq(" + i + ") .contents_view");

   var offset = this.li_width_offset;
   if(ua.match("msie6")){offset = offset + 10;}
   var new_contents_view_width = this.li_width - nw - 10 - offset;
   contents_view.css({width: new_contents_view_width});

   var self = this;
   var main_view = $(this.ul_id + " > li:eq(" + i + ") .main_view"); //コンテンツビューリサイズ

   main_view.animate //メインビューリサイズ
    (
	 {width: nw, height: nh},
     {duration: 850, complete: function()
	                            {
								 if(self.tab_i == "null"){self.tab_i = 0;}
                                 if(self.blocker == true){self.downListTab(self.tab_i);}
								 self.fadeInFullSize();
								}
     }
	);
  }  
 
/*-----------------------------フェードインフルサイズ-----------------------------*/
 this.fadeInFullSize = function()
  {
   var i = this.open_i;
   var self = this;
   $(this.ul_id + " > li:eq(" + i + ") img.full_size").fadeIn
    (
	 350,
	 function()
	  {
	   self.blocker = false;
	   $(self.ul_id + " > li:eq(" + i + ") div.contents_view").fadeIn("fast");
	   self.scrollPhase();
	  }
	);
  }

/*-----------------------------スクロールフェーズ-----------------------------*/
 this.scrollPhase = function()
  {
   var i = this.open_i;
   var self = this;
   $.scrollTo( $(this.ul_id + " > li:eq(" + i + ")"), {speed:750,axis:'y', offset: scrollOffset, queue: false});
  }

/*-----------------------------フェードアウトフルサイズ-----------------------------*/
 this.fadeOutFullSize = function()
  {
   var i = this.close_i;

   var self = this;
   var CB = function(){self.shrinkMainView();}
   if(i != "null")
    {
	 this.clearListContents(i);
	 $(this.ul_id + " > li:eq(" + i + ") img.full_size").fadeOut(350,CB);
	}
  }

/*-----------------------------シュリンクメインビュー-----------------------------*/
 this.shrinkMainView = function()
  {
   var i = this.close_i;
   var preview_img = $(this.ul_id + " > li:eq(" + i + ") .main_view img:eq(0)");
   var nw = preview_img.width();
   var nh = preview_img.height();
   //preview_img.css({display: "none"}); //safari win

   var self = this;
   $(this.ul_id + " > li:eq(" + i + ") .main_view").animate
    (
	 {width: nw, height: nh},
	 {duration: 850, complete: function(){self.fadeInPreview();}}
	);
  }

/*-----------------------------プレビューフェードイン-----------------------------*/
 this.fadeInPreview = function()
  {
   var i = this.close_i;
   var self = this;
   if(this.open_i == "null")
    {
     var CB = function(){self.blocker = false;}
	}
   $(this.ul_id + " > li:eq(" + i + ") .main_view img:eq(0)").fadeIn("fast",CB);
  }

/*-----------------------------ギャラリー機能-----------------------------*/
this.viewFullSizeImage = function(i,j)
 {
  if(this.blocker == false)
   {
    this.blocker = true;
	
	$(this.ul_id + " > li:eq(" + i + ") div.contents_view").fadeOut(400);
	
    var previewObj = $(this.ul_id + " > li:eq(" + i + ")  div.eg_list_tab_pg img:eq(" + j + ")");
    var fullSizeObj = $(this.ul_id + " > li:eq(" + i + ") img.full_size");

    $(this.ul_id + " > li:eq(" + i + ")  div.eg_list_tab_pg img").css(this.gallery_off);
    previewObj.css(this.gallery_on);

    var self = this;
    var CB = function(){self.imageLoader(previewObj,fullSizeObj);}
    fullSizeObj.fadeOut(500,CB);
   }
 }


}


/*----------------------------------------------------------------------------*/
/*--                              フォームチェック                          --*/
/*----------------------------------------------------------------------------*/

function formCheck(form){
 if(!checkResponce(form.sw)){return false;}
 //return true;
}

function checkResponce(obj){
 if(obj.value == "")
  {
   alert("製品名の一部、キーワードなどを入力してください。");
   obj.focus();
   return false;
  }
 if(obj.value.length < 2)
  {
   alert("2文字以上入力してください。");
   obj.focus();
   return false;
  }
 if(obj.value.length > 32)
  {
   alert("文字数オーバーです。");
   obj.focus();
   return false;
  }
 return true;
}


/*----------------------------------------------------------------------------------*/
/*--                                    フェーダー                                --*/
/*----------------------------------------------------------------------------------*/

function egFader(ini){

 this.trigger = ini.trigger;
 this.fader = ini.fader;

 this.setFader = function()
  {
   for(var i=0; i<this.trigger.length; i++)
    {
	 if(this.trigger[i] != null)
	  {
       this.bindFaderOn(i);
       this.bindFaderOff(i);
	  }
	}
  }
 
 this.bindFaderOn = function(i)
  {
   var self = this;
   $(this.trigger[i]).mouseover(function(){self.faderIn(i);});
  }

 this.bindFaderOff = function(i)
  {
   var self = this;
   $(this.trigger[i]).mouseout(function(){self.faderOut(i);});
  }

 this.faderIn = function(i)
  {
   var self = this;
   $(this.trigger[i]).unbind("mouseover");

   $(this.fader[i]).fadeIn(850,function(){self.bindFaderOn(i);});
  }

 this.faderOut = function(i)
  {
   $(this.fader[i]).fadeOut("normal");
  }

}


/*--------------------------------------------------------------------------------*/
/*--                                 サーチリスト                               --*/
/*--------------------------------------------------------------------------------*/

function egsList(ini){

 this.list_box_id = ini.list_box_id;
 
 this.setList = function()
  {
   var li_len = $(this.list_box_id + " li").size();
   for(var i=0; i<li_len; i++)
    {
	 var e = $(this.list_box_id + " li:eq(" + i + ")");
	 var id = e.attr("id");
	 if(id == "current_sp"){$(this.list_box_id + " li:eq(" + i + ") a").css({color: "#fff"});}
	                   else{this.bindListEffect(i);}
	}
  }

 this.bindListEffect = function(i)
  {
   var self = this;
   $(this.list_box_id + " li:eq(" + i + ")").hover
     (
      function(){self.listOn(i)},
	  function(){self.listOff(i)}
	 );
  }

 this.listOn = function(i)
  {
   $(this.list_box_id + " li:eq(" + i + ")").css({backgroundColor: "#B0B6BF"});
  } 
 
 this.listOff = function(i)
  {
   $(this.list_box_id + " li:eq(" + i + ")").css({backgroundColor: "transparent"});
  } 


}


/*----------------------------------------------------------------------------------*/
/*--                                 サイクルボックス                             --*/
/*----------------------------------------------------------------------------------*/

function egCycle(){

this.setCycle = function(id,h)
 {
  $(id).css({height: h});
  var list_len = $(id + " li").size();
  for(var i=1; i<list_len; i++){$(id + " li:eq(" + i + ")").css({display: "none"});}
 }

}

/*----------------------------------------------------------------------------------*/
/*--                                  タブページャー                              --*/
/*----------------------------------------------------------------------------------*/

function egTab(ini){

 this.id = ini.id;
 this.page = $(this.id + " .tab_pg_items");
 this.current_pg = ini.current_pg;
 this.pg_items = ini.pg_items;

 this.setPager = function()
  {
   $(this.id + " ul.tab_pg_items li.tab_pg_item").css({display: "none"}); //事前にCSSで"none"にするとブロック要素否定となり、mojomagnify on IE7でバグ
   var tab_len = $(this.id + " ul.head_tab li").size();
   var FPS = "";
   for(var i=0; i<tab_len; i++)
     {
	  if(i == this.current_pg){this.showNewPage(i);}
      FPS += "<span>" + $(this.id + " ul.head_tab li:eq(" + i + ") span.hd_tbC").html() + "</span>";
	  if(i < (tab_len - 1)){FPS += "&nbsp;&nbsp;|&nbsp;&nbsp;"}
	 }

   $(this.id + " .foot_tab_pager").html(FPS);
   for(var i=0; i<tab_len; i++)
     {
	  if(i == this.current_pg){$(this.id + " .foot_tab_pager span:eq(" + i + ")").css({color: "#89a", fontWeight: "normal", cursor: "text"});}
	                       else{this.bindPager(i);}
	 }
  }

 this.bindPager = function(i)
  {
   var self = this;
   $(this.id + " ul.head_tab li:eq(" + i + ")").click(function(){self.changePage(i)});
   $(this.id + " .foot_tab_pager span:eq(" + i + ")").click(function(){self.changePage(i);});
  }
  
 this.changePage = function(i)
  {
   this.hideOldPage(i);
   this.showNewPage(i,true);
   this.current_pg = i;
  }

 this.hideOldPage = function(i)
 {
  this.page.css({display: "none"});
  var c = this.current_pg;
   for(var a = 0; a < this.pg_items[c].length; a++)
    {
	 $(this.id + " ul.tab_pg_items li.tab_pg_item:eq(" + this.pg_items[c][a].li + ")").css({display: "none"});
	}
   $(this.id + " ul.head_tab li:eq(" + c+ ")").css({backgroundPosition: "0 -40px"});
   $(this.id + " ul.head_tab li:eq(" + c+ ") span.hd_tbL").css({backgroundPosition: "0 -40px"});
   $(this.id + " ul.head_tab li:eq(" + c + ") span.hd_tbR").css({backgroundPosition: "0 -40px"});
   $(this.id + " .foot_tab_pager span:eq(" + c + ")").css({color: "#678", fontWeight: "bold", cursor: "pointer"});
   this.bindPager(c);
 }

 this.showNewPage = function(i,scroll)
 {
   var self = this;
   for(var a = 0; a < this.pg_items[i].length; a++)
    {
	 var e = $(this.id + " ul.tab_pg_items li.tab_pg_item:eq(" + this.pg_items[i][a].li + ")");
	 e.css({display: "block"});
	 if(this.pg_items[i][a].cb != null)
	  {
	   this.pg_items[i][a].cb(function(){self.comp_cb(i);});
	  }
	}
   $(this.id + " ul.head_tab li:eq(" + i + ")").css({backgroundPosition: "0 0"});
   $(this.id + " ul.head_tab li:eq(" + i + ") span.hd_tbL").css({backgroundPosition: "0 0"});
   $(this.id + " ul.head_tab li:eq(" + i + ") span.hd_tbR").css({backgroundPosition: "0 0"});
   $(this.id + " ul.head_tab li:eq(" + i + ")").unbind("click");
   $(this.id + " .foot_tab_pager span:eq(" + i + ")").unbind("click");
   $(this.id + " .foot_tab_pager span:eq(" + i + ")").css({color: "#89a", fontWeight: "normal", cursor: "text"});

   if(scroll == true)
    {
	 this.page.fadeIn(
	  "fast",
	  function(){$.scrollTo($(self.id), {speed:1000, offset: scrollOffset-10, axis:'y', queue: true});}
	 );
	}
   else{this.page.fadeIn("fast");}
 }
 
 this.resetPager = function(i){this.changePage(i)}

}



/*----------------------------------------------------------------------------------*/
/*--                                     回転台                                   --*/
/*----------------------------------------------------------------------------------*/

function turnTable(ini){

 this.box_id = ini.box_id;
 this.box_width = ini.box_width;
 this.box_height = ini.box_height;
 this.preview_common = ini.preview_common;
 this.original_common = ini.original_common;
 this.img_len = ini.img_len;
 this.ext = ini.ext;
 this.current_img = ini.start_img;

 this.setTable = function()
  {
   var self = this;
   $(this.box_id).html("<div class='loader_box'><div class='loader_wh'></div></div>");
   $(this.box_id).css({width: this.box_width, height: this.box_height}).html(this.tableRender());
   $(this.box_id + " img:eq(" + this.current_img + ")").css({display: "block"});
   this.setTrigger();
  }

 this.setTrigger = function()
  {
   var trigger_width = Math.floor(this.box_width/this.img_len);
   $(this.box_id + " .trigger").css({width: trigger_width, height: this.box_height});
   var last_trigger_width = this.box_width - trigger_width*(this.img_len - 1) -3;
   $(this.box_id + " .trigger:eq(" + (this.img_len - 1) + ")").css({width: last_trigger_width});
   for(var i=0; i<this.img_len; i++){this.bindTurner(i);}
   $(this.box_id + ' .trigger').lightBox({fixedNavigation:true});
  }

  
 this.tableRender = function()
  {
   var V = ""; var T = "<div class='trigger_box'>";
   for(var i=0; i<this.img_len; i++)
    {
	 V += "<img src='" + this.preview_common + (i+1) + "." + this.ext + "' />";
	 T += "<div class='trigger' href='" + this.original_common + (i+1) + "." + this.ext + "'></div>";
	}
   T += "</div>";
   return V + T;
  }

 this.bindTurner = function(i)
  {
   var self = this;
   $(this.box_id + " .trigger:eq(" + i + ")").mouseover(function(){self.turnImage(i)});
  }

 this.turnImage = function(i)
  {
   $(this.box_id + " img:eq(" + this.current_img + ")").css({display: "none"});
   $(this.box_id + " img:eq(" + i + ")").css({display: "block"});
   this.current_img = i;
  }


}


