/********** (c)shukyaku.info **********/

// ユーザ設定
var INDEX_FILE			= "index.html";	// indexファイルの名称(index.htm,index.cgi,index.php,index.shtml...)
var MENU_ID				= "menu";		// 変更対象範囲をIDで指定
var CURRENT_CLASS		= "current";	// 付与するクラス名を指定

// 内部用定数
var PARSE;

// ロード後実行本体
$( init );

function init(){
	PARSE = new parseUri( location.href );
	_setCurrentPage();
}

//##########################################################################
//##
//##                                _setCurrentPage
//##
//##########################################################################
//##	メニュー中から現在ページを選択、処理
//##########################################################################
function _setCurrentPage(){
	// ファイル名を検索
	var url;
	if( !PARSE.file ){
		url = PARSE.source + INDEX_FILE;
	}else{
		url = PARSE.source;
		var urlArray = url.split( "#" );
		url = urlArray[ 0 ];
	}

	// 指定された範囲から、Aタグの一覧を取得
	var aTags = $( "a", "#"+MENU_ID ).get();
	
	// 現在ページとマッチするAタグのindexを取得
	var matchedAtagIndex;
	for( var i = 0; aTags[ i ]; i++ ){
		if( aTags[ i ] == url ){
			matchedAtagIndex = i;
		}
	}

	// Aタグを指定して、ユーザ指定クラスを付与
	var assign = "#" + MENU_ID + " a:eq(" + matchedAtagIndex + ")";
	$( assign ).addClass( CURRENT_CLASS );
}

//##########################################################################
//##
//##                                parseUri
//##
//##########################################################################

/*
	parseUri 1.2.1
	(c) 2007 Steven Levithan <stevenlevithan.com>
	MIT License
*/

function parseUri (str) {
	var	o   = parseUri.options,
		m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
		uri = {},
		i   = 14;

	while (i--) uri[o.key[i]] = m[i] || "";

	uri[o.q.name] = {};
	uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
		if ($1) uri[o.q.name][$1] = $2;
	});

	return uri;
};

parseUri.options = {
	strictMode: false,
	key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
	q:   {
		name:   "queryKey",
		parser: /(?:^|&)([^&=]*)=?([^&]*)/g
	},
	parser: {
		strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
		loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
	}
};

