/**
 * Equal Heights Plugin
 * Equalize the heights of elements. Great for columns or any elements
 * that need to be the same size (floats, etc).
 * 
 * Version 1.0
 * Updated 12/10/2008
 *
 * Copyright (c) 2008 Rob Glazebrook (cssnewbie.com) 
 *
 * Usage: $(object).equalHeights([minHeight], [maxHeight]);
 * 
 * Example 1: $(".cols").equalHeights(); Sets all columns to the same height.
 * Example 2: $(".cols").equalHeights(400); Sets all cols to at least 400px tall.
 * Example 3: $(".cols").equalHeights(100,300); Cols are at least 100 but no more
 * than 300 pixels tall. Elements with too much content will gain a scrollbar.
 * 
 */

(function($){$.fn.equalHeights=function(minHeight,maxHeight){tallest=(minHeight)?minHeight:0;this.each(function(){if($(this).height()>tallest){tallest=$(this).height();}});if((maxHeight) && tallest>maxHeight) tallest=maxHeight;return this.each(function(){$(this).height(tallest).css("overflow","auto");});}})(jQuery);





/*
 * jQuery.BiggerLink v2.0.1
 * http://www.ollicle.com/eg/jquery/biggerlink/
 *
 * Copyright (c) 2009 Oliver Boermans
 * http://creativecommons.org/licenses/MIT/
 *
 * 2009-11-22 (22 Nov 2009)
*/ 
(function(a){a.fn.biggerlink=function(b){var c={biggerclass:"bl-bigger",hoverclass:"bl-hover",hoverclass2:"bl-hover2",clickableclass:"bl-hot",otherstriggermaster:true,follow:"auto"};if(b){a.extend(c,b)}a(this).filter(function(){return a("a",this).length>0}).addClass(c.clickableclass).css("cursor","pointer").each(function(g){var d=a(this).data("biggerlink",{hovered:false,focused:false,hovered2:false,focused2:false});var e={all:a("a",this),big:a(this),master:a("a:first",this).data("biggerlink",{status:"master"}).addClass(c.biggerclass),other:a("a",this).not(a("a:first",this)).data("biggerlink",{status:"other"})};a("a",this).andSelf().each(function(){var i=a.extend(a(this).data("biggerlink"),e);a(this).data("biggerlink",i)});var h=d.attr("title");var f=d.data("biggerlink").master.attr("title");if(f&&!h){d.attr("title",f)}d.mouseover(function(i){window.status=a(this).data("biggerlink").master.get(0).href;a(this).addClass(c.hoverclass);a(this).data("biggerlink").hovered=true}).mouseout(function(i){window.status="";if(!a(this).data("biggerlink").focused){a(this).removeClass(c.hoverclass)}a(this).data("biggerlink").hovered=false}).bind("click",function(i){if(!a(i.target).closest("a").length){a(this).data("biggerlink").master.trigger({type:"click",source:"biggerlink"});i.stopPropagation()}});e.all.bind("focus",function(){a(this).data("biggerlink").big.addClass(c.hoverclass);a(this).data("biggerlink").big.data("biggerlink").focused=true}).bind("blur",function(){if(!a(this).data("biggerlink").big.data("biggerlink").hovered){a(this).data("biggerlink").big.removeClass(c.hoverclass)}a(this).data("biggerlink").big.data("biggerlink").focused=false});e.master.bind("click",function(i){if(i.source=="biggerlink"){if(c.follow===true||c.follow=="auto"&&i.result!==false){window.location=a(this).attr("href")}else{i.stopPropagation()}}});if(c.otherstriggermaster){e.other.addClass(c.biggerclass).bind("click",function(i){a(this).data("biggerlink").master.trigger({type:"click",source:"biggerlink"});i.preventDefault();i.stopPropagation()})}else{e.other.bind("focus",function(){a(this).data("biggerlink").big.addClass(c.hoverclass2);a(this).data("biggerlink").big.data("biggerlink").focused2=true}).bind("blur",function(){if(!a(this).data("biggerlink").big.data("biggerlink").hovered2){a(this).data("biggerlink").big.removeClass(c.hoverclass2)}a(this).data("biggerlink").big.data("biggerlink").focused2=false}).bind("mouseover",function(i){a(this).data("biggerlink").big.addClass(c.hoverclass2);a(this).data("biggerlink").big.data("biggerlink").hovered2=true;i.stopPropagation()}).bind("mouseout",function(i){if(!a(this).data("biggerlink").big.data("biggerlink").focused2){a(this).data("biggerlink").big.removeClass(c.hoverclass2)}a(this).data("biggerlink").big.data("biggerlink").hovered2=false;i.stopPropagation()});if(!e.other.attr("title")){e.other.attr("title","")}}});return this}})(jQuery);




// jQuery Shuffle
(function($){
  $.fn.shuffle = function() {
    return this.each(function(){
      var items = $(this).children();
      return (items.length)
        ? $(this).html($.shuffle(items))
        : this;
    });
  }

  $.shuffle = function(arr) {
    for(
      var j, x, i = arr.length; i;
      j = parseInt(Math.random() * i),
      x = arr[--i], arr[i] = arr[j], arr[j] = x
    );
    return arr;
  }
})(jQuery);




/*
 * My functions
 *
 *
*/
// Image Rollover
function initRollOverImages() {
	var image_cache = new Object();
	$(".rollover").each(function(i) {
		var imgsrc = this.src;
		var dot = this.src.lastIndexOf('.');
		var imgsrc_over = this.src.substr(0, dot) + '_over' + this.src.substr(dot, 4);
		image_cache[this.src] = new Image();
		image_cache[this.src].src = imgsrc_over;
		$(this).hover(
			function() { this.src = imgsrc_over; },
			function() { this.src = imgsrc; });
	});
}

// Smooth Scroll Setting
jQuery.easing.quart = function (x, t, b, c, d) {
    return -c * ((t=t/d-1)*t*t*t - 1) + b;
};  

// Smooth Scroll
function smoothScroll() {
	$('a[href*=#]').click(function () {
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
		    $(this).blur();
		    var $target = $(this.hash);
			$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
			if ($target.length) {
				var targetOffset = $target.offset().top - 50;
				$('html,body').animate({scrollTop: targetOffset}, 600, 'quart');
				return false;
			}
		}
	});
}


// ドメイン外は別ウインドウで開く
function externalWindow(){
	var domains = document.domain.split("www.");
 	var domain = (domains[1]) ? domains[1] : document.domain;

 	var links = document.getElementsByTagName("a");
	for (var i = 0; i < links.length; i++) {
  		if(links[i].href.indexOf(domain) == -1 && links[i].href != "" && !links[i].href.match('^javascript')) {
	  		if(links[i].target.toLowerCase() == "_self" || links[i].target == "") {
				links[i].target = "_blank";
 			}
 		}
	}
}


// change font size
function changeFont(str) {
	var size;
	
	switch(str){
		case 's':
			size = '13px';
			break;
		case 'm':
			size = '15px';
			break;
		case 'l':
			size = '18px';
			break;
	}
	
	$("body").css("font-size", size);
	$.cookie("fsize", size, {expires: 30});
	fontBtnActive(str);
}


// ボタンのアクティブ化
function fontBtnActive(str){
	var filepath;
	var s,m,l;
	
	str = (str) ? str : $.cookie("fsize");
	
	// 全部クリアする
	s = $("#font_s").attr("src").replace("_over", "");
	m = $("#font_m").attr("src").replace("_over", "");
	//l = $("#font_l").attr("src").replace("_over", "");
	s = $("#font_s").attr("src").replace("_over", ""); // ie6対策
	
	$("#font_s").attr("src", s);
	$("#font_m").attr("src", m);
	//$("#font_l").attr("src", l);
	
	switch(str){
		case 's':
		case '13px':
			s = $("#font_s").attr("src").replace(".png", "_over.png");
			$("#font_s").attr("src", s);
			break;
			
		case 'm':
		case '15px':
			m = $("#font_m").attr("src").replace(".png", "_over.png");
			$("#font_m").attr("src", m);
			break;
			
		case 'l':
		case '18px':
			l = $("#font_l").attr("src").replace(".png", "_over.png");
			$("#font_l").attr("src", l);
			break;
	}
	
	$("#footer-nav .section").equalHeights();

}


//////////////////////////////////////////////////////

$(document).ready(function() {
	
	initRollOverImages();
	smoothScroll();
	
	// equalHeights
	//$("#footer-nav .section").equalHeights();
	
	// biggerlink
	//$('.ad-banner li').biggerlink();

	//externalWindow();
});
