/* ----------------------------------------
* Utility Class for http://www.gres-barbaros.com
* author : Shunsuke Hirota
* require : jQuery1.4.2 over
* ---------------------------------------- */

/**
* @module G.R.E.S Barbaros App
*/
var GRES_BARBAROS_APP = GRES_BARBAROS_APP || {};
GRES_BARBAROS_APP.modules = {};

/**
* ユーティリティmodule
* namespace GRES_BARBAROS_APP
*/
GRES_BARBAROS_APP.modules.util = (function() {
	/* --------------------------------------------------------------------------------
	* Config
	* --------------------------------------------------------------------------------*/
	var _DEBUG = false;
	
	var _GOOGLE_API_KEY = 'ABQIAAAAQSmZiq3uA3iIqlpZRwhX4BQCC2dcBHHEr58_ImmXKQIN4ocn1xTCmSy8MHiUJnRZSfrAMgTJ78AEqg';
	
	/* --------------------------------------------------------------------------------
	* CONST
	* --------------------------------------------------------------------------------*/
	var _ROOT = _DEBUG ? '/test' : '';
	var _GETIMAGE_API_PATH = _ROOT + "/common/api/util/getimagepath.php";
	
	/**
	* 「浅草サンバカーニバル」「活動履歴」にて、大きい写真が収められているディレクトリ名
	*/
	var _IMAGE_DIR_NAME = 'img';
	
	/**
	* 「浅草サンバカーニバル」「活動履歴」にて、サムネイル写真が収められているディレクトリ名
	*/
	var _THUMB_DIR_NAME = 'img_small';
	
	/* --------------------------------------------------------------------------------
	* Public Method
	* --------------------------------------------------------------------------------*/
	/**
	* 画像一覧情報の取得
	* @$year {Number || String} 取得したい年 yyyy
	* @$callback {Function} 取得完了後実行
	* @$target {Object} callbackスコープ
	*/
	function _getImages($year, $callback, $target) {
		jQuery.get(_GETIMAGE_API_PATH, {'year':$year, 'dir':_IMAGE_DIR_NAME}, function($data)
		{
			$callback.apply($target ? $target : this, [$data]);
		});
	}
	
	/**
	* 初期化
	*/
	function initialize() {
		_menuOver();
		preLoad('/common/img/submenu_back.jpg');
		preLoad('/common/img/submenu_back_o.jpg');
		
		setNaviLink();
	}
	
	/* --------------------------------------------------------------------------------
	* Private Method
	* --------------------------------------------------------------------------------*/
	/**
	* menu mouse over
	*/
	function _menuOver() {
		$("#nav li.pulldown").mouseover(function() {
			var _ul = $(this).find("ul.dropdown");
			if(_ul && _ul.length > 0) _ul.show();
		});
		$("#nav li.pulldown").mouseout(function() {
			$(this).find("ul.dropdown").hide();
		});
	}
	
	/**
	* 画像先読み
	*/
	function preLoad($path) {
		$('<img src="' + $path + '" />').load(function() {
			
		});
	}
	
	/**
	* テスト用ナビ部リンクの設定
	*/
	function setNaviLink() {
		setAnchorForDebug('#header');
		setAnchorForDebug('#nav');
		setAnchorForDebug('#footer_center');
		setAnchorForDebug('#footer_right');
		setAnchorForDebug('#crumb');
	}
	
	/**
	* 
	*/
	function setAnchorForDebug($selector) {
		if (!_DEBUG) return;
		var _anchors = $($selector).find('a'),
			_anchor,
			_href;
		for (var i = 0, len = _anchors.length; i < len; ++i) {
			_anchor = $(_anchors[i]);
			_href = _anchor.attr('href');
			_anchor.attr('href', _ROOT + _href);
		}
	}
	
	/* --------------------------------------------------------------------------------
	* getter setter
	* --------------------------------------------------------------------------------*/
	/**
	* デバッグモードの真偽を取得
	* @return {Boolean} デバッグモードの真偽
	*/
	function _isDebug()
	{
		return _DEBUG;
	}
	
	/**
	* @return {String} 大きい写真が収められているディレクトリ名を取得
	*/
	function _getImageDirName() {
		return _IMAGE_DIR_NAME;
	}
	
	/**
	* @return {String} サムネイル写真が収められているディレクトリ名を取得
	*/
	function _getThumbDirName() {
		return _THUMB_DIR_NAME;
	}
	
	var result = {};
	result.getImages = _getImages;
	result.isDebug = _isDebug;
	result.getImageDirName = _getImageDirName;
	result.getThumbDirName = _getThumbDirName;
	result.initialize = initialize;
    result.setAnchorForDebug = setAnchorForDebug;
	return result;
}());

///extends
$.fn.chgYear=function() {
	return this.each(function() {
		var myDate=new Date();
		var nowYear=myDate.getFullYear();
		$(this).html(nowYear);
	});
}

/**
* main
* 汎用初期実行処理
*/
$(function() {
	
	/**
	* 初期化
	*/
	GRES_BARBAROS_APP.modules.util.initialize();
	
	/**
	* ページの先頭にいく
	*/
	$(".totop a").click(function()
	{
		$(window).scrollTo( $("#page"), 500 );
	});
	/**
	*Copyright年号自動更新
	*/
	$("span","#copyright").chgYear();
});
