(function($) {

	// このPluginの名前
	var nameSpace = 'basePlugin';

	$.fn[nameSpace] = function(options) {
		// いったん退避
		var elements = this;

		// 設定情報の構築
		var settings = $.extend({
			// optionの初期値を設定
			'param' : 'value'
		}, options);


		// ----------
		// bootstrap

		// Windows IE で利用可能な font の調査
		var useMeiryo = function() { 
			$(window).load(function() {
				this.fontslist = '';
				var dlg = '<object id="dlgHelper" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px"><\/object>'
				$('body').append('<div id="tmp"><\/div>');
				document.getElementById('tmp').innerHTML = dlg;
	
				try {
					for (var i = 1; i < dlgHelper.fonts.count; i++) {
						this.fontslist += dlgHelper.fonts(i) + '\n';
					}
				}
				catch(e) { 
					this.fontslist = null; 
				}
				if (this.fontslist != null) {
					if (this.fontslist.indexOf('メイリオ') != -1) {
						$('html').addClass('useMeiryo');
					}
				}
				$('#tmp').remove();
				this.fontslist = '';
			});
		}()

		var bodyClass = $('body').attr('class');
	
	
		if (bodyClass.indexOf('home') != -1) {
			// Home
		} else if (bodyClass.indexOf('event') != -1) {

			var pageTypeClass = $('#pageType').attr('class');
	
			if(pageTypeClass == 'tcf') {
				tcfInit();
			}
	
		} else {
			// 例外ページ:今のところコンセプトだけ
		}

		// ----------------
		// 東京キャンプフェスティバル 2009
		function tcfInit() {
		
			var triggerSelector = "tr.program";
			var targetSelector = "tr.description";
			var showAll = "p.showAll";

			// プログラムの説明を全部隠す
			$('tr.description, tr.description span.inner').hide();

			// hover
			$(triggerSelector).hover(function(){
				$(this).addClass('hover');
			},function(){
				$(this).removeClass('hover');
			});

			// 各要素の開閉
			$(triggerSelector).bind('click', function() {
				var targetStatus = false;
				var targetEl = $(this).next(targetSelector);
				var targetElInner = targetEl.children().children('span.inner');

				if($(this).next('.description:hidden').length){
					targetStatus = false;
				} else {
					targetStatus = true;
				}

				// Effect
				if(targetStatus == false){
					//targetElInner.css('height', $(this).height()+'px');
					if($.browser.msie) {
						targetEl.css({'display':'block'});
					} else {
						targetEl.css({'display':'table-row'});
					}
					
					targetElInner.slideDown(200);
				} else {
					targetElInner.slideUp(200, function(){ $(targetEl).css('display', 'none'); });
				}
			});

			// 全要素の開閉
			$('#program #day1 .header, #program #day2 .header').each(function(){
				$(this).append('<p class="showAll"><a class="close" href="#">詳細を全て表示する</a></p>');
			});
			
			$(showAll).toggle(function(){
				var parentID = $(this).parent().parent().attr('id');
				var targetEl = $('#' + parentID + ' ' +targetSelector);
				var targetElInner = targetEl.children().children('span.inner');

				if($.browser.msie) {
					targetEl.css({'display':'block'});
				} else {
					targetEl.css({'display':'table-row'});
				}
				targetElInner.show();

				$(this).children('a').removeClass('close').addClass('open');

			}, function(){
				var parentID = $(this).parent().parent().attr('id');
				var targetEl = $('#' + parentID + ' ' +targetSelector);
				targetEl.css('display', 'none');

				$(this).children('a').removeClass('open').addClass('close');
			});

		}


		// 内部用method
		var innerMethod = function() {
			// 内部の共通処理の記述
		};

		// method chain
		return this;
	};

	$(function(){
		$.fn[nameSpace]();
	});

	var gaJsHost;
	gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));	

	$(window).bind("load", function() {
		try {
			var pageTracker = _gat._getTracker("UA-9087990-1");
			pageTracker._trackPageview();
		} catch(err) {}
	});

})(jQuery);
