/*
 * yuga.js 0.7.1
 * jQuery 1.3.1
 * ThickBox 3.1
 */



jQuery.preimg = function()
{
	for(var i = 0; i<arguments.length; i++)
	{
		jQuery("<img>").attr("src", arguments[i]);
		//配列から読み込み
	}
};
jQuery.preimg("../img/share/gnav_lp_bg.png", "../img/share/gnav_gas_bg.png", "../img/share/gnav_service_bg.png", "../img/share/gnav_company_bg.png", "../img/share/gnav_recruit_bg.png","../img/share/gnav_gas_bg2.png", "../img/share/gnav_service_bg2.png");

(function($) {

	$(function() {
	//	$.yuga.selflink();
		$.yuga.rollover();
		$.yuga.externalLink();
	//	$.yuga.thickbox();
		$.yuga.scroll();
	//	$.yuga.tab();
	//	$.yuga.stripe();
	//	$.yuga.css3class();
	});

	//---------------------------------------------------------------------

	$.yuga = {
		// URIを解析したオブジェクトを返すfunction
		Uri: function(path){
			var self = this;
			this.originalPath = path;
			//絶対パスを取得
			this.absolutePath = (function(){
				var e = document.createElement('span');
				e.innerHTML = '<a href="' + path + '" />';
				return e.firstChild.href;
			})();
			//絶対パスを分解
			var fields = {'schema' : 2, 'username' : 5, 'password' : 6, 'host' : 7, 'path' : 9, 'query' : 10, 'fragment' : 11};
			var r = /^((\w+):)?(\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/.exec(this.absolutePath);
			for (var field in fields) {
				this[field] = r[fields[field]];
			}
			this.querys = {};
			if(this.query){
				$.each(self.query.split('&'), function(){
					var a = this.split('=');
					if (a.length == 2) self.querys[a[0]] = a[1];
				});
			}
		},
		//現在のページと親ディレクトリへのリンク
		selflink: function (options) {
			var c = $.extend({
				selfLinkAreaSelector:'body',
				selfLinkClass:'current',
				parentsLinkClass:'parentsLink',
				postfix: '_cr',
				changeImgSelf:true,
				changeImgParents:true
			}, options);
			$(c.selfLinkAreaSelector+((c.selfLinkAreaSelector)?' ':'')+'a[href]').each(function(){
				var href = new $.yuga.Uri(this.getAttribute('href'));
				var setImgFlg = false;
				if ((href.absolutePath == location.href) && !href.fragment) {
					//同じ文書にリンク
					$(this).addClass(c.selfLinkClass);
					setImgFlg = c.changeImgSelf;
				} else if (0 <= location.href.search(href.absolutePath)) {
					//親ディレクトリリンク
					$(this).addClass(c.parentsLinkClass);
					setImgFlg = c.changeImgParents;
				}
				if (setImgFlg){
					//img要素が含まれていたら現在用画像（_cr）に設定
					$(this).find('img').each(function(){
						this.originalSrc = $(this).attr('src');
						this.currentSrc = this.originalSrc.replace(new RegExp('('+c.postfix+')?(\.gif|\.jpg|\.png)$'), c.postfix+"$2");
						$(this).attr('src',this.currentSrc);
					});
				}
			});
		},
		//ロールオーバー
		rollover: function(options) {
			var c = $.extend({
				hoverSelector: '.btn, .allbtn img',
				groupSelector: '.btngroup',
				postfix: '_o'
			}, options);
			//ロールオーバーするノードの初期化
			var rolloverImgs = $(c.hoverSelector).filter(isNotCurrent);
			rolloverImgs.each(function(){
				this.originalSrc = $(this).attr('src');
				this.rolloverSrc = this.originalSrc.replace(new RegExp('('+c.postfix+')?(\.gif|\.jpg|\.png)$'), c.postfix+"$2");
				this.rolloverImg = new Image;
				this.rolloverImg.src = this.rolloverSrc;
			});
			//グループ内のimg要素を指定するセレクタ生成
			var groupingImgs = $(c.groupSelector).find('img').filter(isRolloverImg);

			//通常ロールオーバー
			rolloverImgs.not(groupingImgs).hover(function(){
				$(this).attr('src',this.rolloverSrc);
			},function(){
				$(this).attr('src',this.originalSrc);
			});
			//グループ化されたロールオーバー
			$(c.groupSelector).hover(function(){
				$(this).find('img').filter(isRolloverImg).each(function(){
					$(this).attr('src',this.rolloverSrc);
				});
			},function(){
				$(this).find('img').filter(isRolloverImg).each(function(){
					$(this).attr('src',this.originalSrc);
				});
			});
			//フィルタ用function
			function isNotCurrent(i){
				return Boolean(!this.currentSrc);
			}
			function isRolloverImg(i){
				return Boolean(this.rolloverSrc);
			}

		},
		//外部リンクは別ウインドウを設定
		externalLink: function(options) {
			var c = $.extend({
				windowOpen:true,
				externalClass: 'externalLink',
				addIconSrc: ''
			}, options);
			var uri = new $.yuga.Uri(location.href);
			var e = $('a[href^="http://"], a[href$=".pdf"]').not('a[href^="' + uri.schema + '://' + uri.host + '/' + '"]').not('a[href^="http://www.youtube.com/"]');
			if (c.windowOpen) {
				e.click(function(){
					window.open(this.href, '_blank');
					return false;
				});
			}
			if (c.addIconSrc) e.not(':has(img)').after($('<img src="'+c.addIconSrc+'" class="externalIcon" />'));
			e.addClass(c.externalClass);
		},
		//画像へ直リンクするとthickboxで表示(thickbox.js利用)
		thickbox: function() {
			try {
				tb_init('a[href$=".jpg"]:not(.thickbox, a[href*="?"]), a[href$=".gif"][href!="?"]:not(.thickbox, a[href*="?"]), a[href$=".png"][href!="?"]:not(.thickbox, a[href*="?"])');
			} catch(e) {
			}	
		},
		//ページ内リンクはするするスクロール
		scroll: function(options) {
			//ドキュメントのスクロールを制御するオブジェクト
			var scroller = (function() {
				var c = $.extend({
					easing:100,
					step:30,
					fps:60,
					fragment:''
				}, options);
				c.ms = Math.floor(1000/c.fps);
				var timerId;
				var param = {
					stepCount:0,
					startY:0,
					endY:0,
					lastY:0
				};
				//スクロール中に実行されるfunction
				function move() {
					if (param.stepCount == c.step) {
						//スクロール終了時
						setFragment(param.hrefdata.absolutePath);
						window.scrollTo(getCurrentX(), param.endY);
					} else if (param.lastY == getCurrentY()) {
						//通常スクロール時
						param.stepCount++;
						window.scrollTo(getCurrentX(), getEasingY());
						param.lastY = getEasingY();
						timerId = setTimeout(move, c.ms); 
					} else {
						//キャンセル発生
						if (getCurrentY()+getViewportHeight() == getDocumentHeight()) {
							//画面下のためスクロール終了
							setFragment(param.hrefdata.absolutePath);
						}
					}
				}
				function setFragment(path){
					location.href = path
				}
				function getCurrentY() {
					return document.body.scrollTop  || document.documentElement.scrollTop;
				}
				function getCurrentX() {
					return document.body.scrollLeft  || document.documentElement.scrollLeft;
				}
				function getDocumentHeight(){
					return document.documentElement.scrollHeight || document.body.scrollHeight;
				}
				function getViewportHeight(){
					return (!$.browser.safari && !$.browser.opera) ? document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight : window.innerHeight;
				}
				function getEasingY() {
					return Math.floor(getEasing(param.startY, param.endY, param.stepCount, c.step, c.easing));
				}
				function getEasing(start, end, stepCount, step, easing) {
					var s = stepCount / step;
					return (end - start) * (s + easing / (100 * Math.PI) * Math.sin(Math.PI * s)) + start;
				}
				return {
					set: function(options) {
						this.stop();
						if (options.startY == undefined) options.startY = getCurrentY();
						param = $.extend(param, options);
						param.lastY = param.startY;
						timerId = setTimeout(move, c.ms); 
					},
					stop: function(){
						clearTimeout(timerId);
						param.stepCount = 0;
					}
				};
			})();
			$('a[href^=#], area[href^=#]').not('a[href=#], area[href=#]').each(function(){
				this.hrefdata = new $.yuga.Uri(this.getAttribute('href'));
			}).click(function(){
				var target = $('#'+this.hrefdata.fragment);
				if (target.length == 0) target = $('a[name='+this.hrefdata.fragment+']');
				if (target.length) {
					scroller.set({
						endY: target.offset().top,
						hrefdata: this.hrefdata
					});
					return false;
				}
			});
		},
		//タブ機能
		tab: function(options) {
			var c = $.extend({
				tabNavSelector:'.tabNav',
				activeTabClass:'active'
			}, options);
			$(c.tabNavSelector).each(function(){
				var tabNavList = $(this).find('a[href^=#], area[href^=#]');		
				var tabBodyList;
				tabNavList.each(function(){
					this.hrefdata = new $.yuga.Uri(this.getAttribute('href'));
					var selecter = '#'+this.hrefdata.fragment;
					if (tabBodyList) {
						tabBodyList = tabBodyList.add(selecter);
					} else {
						tabBodyList = $(selecter);
					}
					$(this).unbind('click');
					
					$(this).click(function(){
						tabNavList.removeClass(c.activeTabClass);
						$(this).addClass(c.activeTabClass);
						tabBodyList.hide();
						$(selecter).show();
						return false;

					});

				});	

				tabBodyList.hide()
				tabNavList.filter(':first').trigger('click');

			});
		},
		//奇数、偶数を自動追加
		stripe: function(options) {
			var c = $.extend({
				oddClass:'odd',
				evenClass:'even'
			}, options);
			$('ul, ol').each(function(){
				//JSでは0から数えるのでevenとaddを逆に指定
				$(this).children('li:odd').addClass(c.evenClass);
				$(this).children('li:even').addClass(c.oddClass);
			});
			$('table, tbody').each(function(){
				$(this).children('tr:odd').addClass(c.evenClass);
				$(this).children('tr:even').addClass(c.oddClass);
			});
		},
		//css3のクラスを追加
		css3class: function() {
			//:first-child, :last-childをクラスとして追加
			$('body :first-child').addClass('firstChild');
			$('body :last-child').addClass('lastChild');
			//css3の:emptyをクラスとして追加
			$('body :empty').addClass('empty');
		}
	};
	
	
})(jQuery);


/* -----ToggleVal Plugin for jQuery Version 1.0  */
jQuery.fn.toggleVal=function(focusClass){this.each(function(){$(this).focus(function(){if($(this).val()==this.defaultValue){$(this).val("");}
if(focusClass){$(this).addClass(focusClass);}}).blur(function(){if($(this).val()==""){$(this).val(this.defaultValue);}
if(focusClass){$(this).removeClass(focusClass);}});});}
$(document).ready(function(){$(".searchBox, textarea").toggleVal();});


/*	jquery.flatheights.js	Version: 2007-08-01*/
jQuery.changeLetterSize={handlers:[],interval:1000,currentSize:0};(function($){var self=$.changeLetterSize;var ins=$('<ins>M</ins>').css({display:'block',visibility:'hidden',position:'absolute',padding:'0',top:'0'});var isChanged=function(){ins.appendTo('body');var size=ins[0].offsetHeight;ins.remove();if(self.currentSize==size)return false;self.currentSize=size;return true;};$(isChanged);var observer=function(){if(!isChanged())return;$.each(self.handlers,function(i,handler){handler();});};self.addHandler=function(func){self.handlers.push(func);if(self.handlers.length==1){setInterval(observer,self.interval);}};})(jQuery);

//  $(expr).flatHeights()
(function($){var sets=[];var flatHeights=function(set){var maxHeight=0;set.each(function(){var height=this.offsetHeight;if(height>maxHeight)maxHeight=height;});set.css('height',maxHeight+'px');};jQuery.fn.flatHeights=function(){if(this.length>1){flatHeights(this);sets.push(this);}return this;};$.changeLetterSize.addHandler(function(){$.each(sets,function(){this.height('auto');flatHeights(this);});});})(jQuery);
/*

$(function(){
    var sets = [], temp = [];
    $('#sub, #main').each(function(i) {
        temp.push(this);
        if (i % 2 == 1) {
            sets.push(temp);
            temp = [];
        }
    });
    if (temp.length) sets.push(temp);

    /* 各組ごとに高さ揃え 
    $.each(sets, function() {
        $(this).flatHeights();
    });
});*/



/* Droppy 0.1.2 */
(function($){$.fn.droppy=function(options){options=$.extend({speed:250,className:'droppy',trigger:'hover'},options||{});this.each(function(){var root=this,zIndex=1000;$(root).addClass(options.className);$(root).find('li:has(> ul) > a').addClass('has-subnav');function getSubnav(ele){if(ele.nodeName.toLowerCase()=='li'){var subnav=$('> ul',ele);return subnav.length?subnav[0]:null;}else{return ele;}};function getActuator(ele){if(ele.nodeName.toLowerCase()=='ul'){return $(ele).parents('li')[0];}else{return ele;}};function hide(){var subnav=getSubnav(this);if(!subnav)return;$.data(subnav,'cancelHide',false);setTimeout(function(){if(!$.data(subnav,'cancelHide')){$(subnav).slideUp(options.speed);}},200);};function show(){var subnav=getSubnav(this);if(!subnav)return;$.data(subnav,'cancelHide',true);$(subnav).css({zIndex:zIndex++}).slideDown(options.speed);if(this.nodeName.toLowerCase()=='ul'){var li=getActuator(this);$(li).addClass('hover');$('> a',li).addClass('hover');}
return false;};if(options.trigger=='click'){$('> li',this).click(show);$('> li ul, > li li',this).hover(show,function(){});$('ul, li',this).hover(function(){},hide);}else{if(typeof $.fn.hoverIntent=='function'){$('ul, li',this).hoverIntent($.extend({sensitivity:2,interval:50,timeout:100},options.hoverIntent||{},{over:show,out:hide}));}else{$('ul ul, li',this).hover(show,hide);}}
$('li',this).hover(function(){$(this).addClass('hover');$('> a',this).addClass('hover');},function(){$(this).removeClass('hover');$('> a',this).removeClass('hover');});});};})(jQuery);


/* imageTabs */
(function($){

    $.fn.imageTabs = function(options){
    
        // 引数のデフォルト値を渡す
        var conf = $.extend({
            animate: 'show',
            duration: '',
            opentab: ''
        }, options); // optionsに値があれば上書きする
        
        // 初期設定
        var target = this;
        var tabPanel = $('div.tabPanel', target);
        tabPanel.hide();
        var handler = $('ul.tab li a', target);
        
        // ウィンドウを開いた時のタブの位置
        if(conf.opentab) {
            tabPanel.each(function() {
                if($(this).attr('id') == conf.opentab) {
                    $(this).show();
                }
            });
            handler.each(function() {
                if($(this).attr('href') == '#' + conf.opentab) {
                    var imgSrc = $(this).children('img').attr('src');
                    var imgDot = imgSrc.lastIndexOf('.');
                    var onSrc = imgSrc.substr(0, imgDot) + '_a' + imgSrc.substr(imgDot, 4);
                    $(this).children('img').attr('src',onSrc).addClass('active');
                }
            });
        } else {
            $('div.tabPanel:first', target).show();
            var imgSrc = $('ul.tab li:first a', target).children('img').attr('src');
            var imgDot = imgSrc.lastIndexOf('.');
            var onSrc = imgSrc.substr(0, imgDot) + '_a' + imgSrc.substr(imgDot, 4);
            $('ul.tab li:first a', target).children('img').attr('src',onSrc).addClass('active');
        }
        
        // クリック時の動作
        handler.click(function() {
            var classJudgment = $(this).children('img').attr('class');
            if(classJudgment !== 'active') {
                // タブ画像の切り替え
                var imgSrc = $(this).children('img').attr('src').replace(/_a/g, ""); // _aが複数付かないように
                var imgDot = imgSrc.lastIndexOf('.');
				var onSr = imgSrc.substr(0, imgDot) + '_a' + imgSrc.substr(imgDot, 4);
				var onSrc = onSr.replace(/_o/g, "");
                $(this).children('img').attr('src',onSrc);
                var imgOf = $('ul.tab li img.active', target).attr('src').replace(/_o/g, "");
                var imgOff = imgOf.replace(/_a/g, "");
                $('ul.tab li img.active', target).attr('src',imgOff);
                $('ul.tab li img.active', target).removeClass('active');
                $(this).children('img').addClass('active');
                // コンテンツの切り替え
                var clickAttr = $(this).attr('href');
                var boxHeight = $('div.tabPanelGroup').height();
                $('div.tabPanelGroup').css('height', boxHeight);
                $('div.tabPanel:visible', target).stop(true, true).hide();
                $('div#' + clickAttr)[conf.animate](conf.duration);
                $('div.tabPanelGroup').css('height', 'auto');
            }
            return false;
        });

        // ロールオーバー
        handler.hover(function() {
            var classJudgment = $(this).children('img').attr('class');
            if(classJudgment !== 'active') {
                var imgSrc = $(this).children('img').attr('src');
                var imgDot = imgSrc.lastIndexOf('.');
				var onSrc = imgSrc.substr(0, imgDot) + '_o' + imgSrc.substr(imgDot, 4);
                $(this).children('img').attr('src',onSrc);
            }
        }, function() {
            var classJudgment = $(this).children('img').attr('class');
            if(classJudgment !== 'active') {
				var imgOff = $(this).children('img').attr('src').replace(/_o/g, "");
                $(this).children('img').attr('src',imgOff);
            }
        });
        
    }
    
})(jQuery);

window.onload=function(){
　a=document.getElementsByTagName("a");
　for(i=0;i<a.length;i++){
　　a[i].onfocus=function(){this.blur();}
　}
　area=document.getElementsByTagName("area");
　for(i=0;i<area.length;i++){
　　area[i].onfocus=function(){this.blur();}
　}
}


$(function(){//
  $("#gas_features li:nth-child(odd)").addClass('odd');
  $("#gas_features li:nth-child(even)").addClass('even');
});





