jQuery.fn.swapImage=function(b){b=$.extend({suffixOff:"_off",suffixOn:"_on"},b);var a={};return this.each(function(){$("img, input[type=image]",this).each(function(){var c=this;var d=$(c).attr("src");if(d.indexOf(b.suffixOff)!==-1){var e=d.replace(b.suffixOff+".",b.suffixOn+".");if(typeof(a[e])){a[e]=1;(new Image()).src=e}$(c).hover(function(){$(c).attr("src",e)},function(){$(c).attr("src",d)});$(c).parent().filter("a").focus(function(){$(c).attr("src",e)}).blur(function(){$(c).attr("src",d)})}})})};

jQuery.fn.autoPopup=function(a){a=$.extend({width:500,height:500,target:"_blank"},a);return this.each(function(){$("a[rel^='popup']",this).each(function(){if($(this).attr("rel").match(/^popup(?:\[(\d+?),(\d+?)\])?$/)){var b=RegExp.$1?RegExp.$1:a.width;var c=RegExp.$2?RegExp.$2:a.height;$(this).click(function(){window.open($(this).attr("href"),a.target,"toolbar=no,location=yes,directories=no,menubar=no,scrollbars=yes,resizable=yes,width="+b+",height="+c).focus();return false})}})})};

jQuery.fn.swapDefalutText=function(a){return this.each(function(){if(!this.tagName.match(/(INPUT|TEXTAREA)/)){return false}var c=a?a:this.defaultValue;var b=$(this);b.css("color","#8E8E8E").val(c);b.focus(function(){if($(this).val()==c){$(this).css("color","#333333").val("")}}).blur(function(){if($(this).val()==""){$(this).css("color","#8E8E8E").val(c)}});$(this).closest("form").submit(function(){if($(b).val()==c){$(b).val("")}})})};

jQuery.fn.absPosition=function(){var b={top:0,left:0};if(this[0]){b=$(this[0]).position();var a=$(this[0]).offsetParent();while(1){if(a[0].tagName.match(/^BODY|HTML$/)){break}else{b.left+=a.position().left;b.top+=a.position().top;a=a.offsetParent()}}}return b};

jQuery.fn.pullDownMenu = function(){
	var catList = [];
	var themeList = {};
	var cName = '';
	var stimer, htimer;
	var jsv/*@cc_on=@_jscript_version@*/;
	this.each(function(){
		if($(this).attr('class') == 'base-category' && $(this).find('span').length){
			catList.push(this);
			cName = $(this).text();
			themeList[cName] = [];
			$('span',this).hover(
				function(){ $(this).css('text-decoration','underline'); },
				function(){ $(this).css('text-decoration','none'); }
			);
		}else if($(this).attr('class') == 'base-theme' && $(this).find('a').length){
			themeList[cName].push(this);
			$(this).remove();
		}
	});
	var showList = function(e){
		stimer = setTimeout(function(){
			var pos = $(e.currentTarget).absPosition();
			e.data.list.css({ top: pos.top + $(e.currentTarget).height(), left: pos.left });
			e.data.list.fadeIn(300);
//			if(jsv <= 5.6)  $('select').css('visibility','hidden');
		},300);
	};
	var hideList = function(){
		clearTimeout(stimer);
		htimer = setTimeout(function(){
			$('ul.cmn-pulldown').fadeOut(200);
//			if(jsv <= 5.6)  $('select').css('visibility','visible');
		},250);
	};
	for(var i=0;i<catList.length;i++){
		var $category = $(catList[i]);
		var categoryName = $category.text();
		var $list = $('<ul class="cmn-pulldown" />').css({ position: 'absolute', display: 'none', opacity: 0.9 });
		for(var j=0;j<themeList[categoryName].length;j++){
			$list.append(themeList[categoryName][j]);
		}
		$('body').append($list);
		$list.css('width', $list.width());
		$category.bind('mouseover', { list: $list }, showList);
		$category.bind('mouseout', hideList);
		$list.bind('mouseenter', function(){ clearTimeout(htimer); });
		$list.bind('mouseleave', hideList);
	}
};

jQuery.fn.switchSearchRules = function(){
	$('#RULES_CATEGORY').css('display', ($('#C_CK:checked').length) ? 'block' : 'none' );
	$('#RULES_THEME').css('display', ($('#T_CK:checked').length) ? 'block' : 'none' );
	$('#C_CK').click(function(){
		if($('#C_CK:checked').length){
			$('#RULES_CATEGORY').slideDown('normal');
		}else{
			$('#RULES_CATEGORY').slideUp('normal', function(){
				$('input',this).each(function(){ this.checked = false; });
			});
		}
	});
	$('#T_CK').click(function(){
		if($('#T_CK:checked').length){
			$('#RULES_THEME').slideDown('normal');
		}else{
			$('#RULES_THEME').slideUp('normal', function(){
				$('input',this).each(function(){ this.checked = false; });
			});
		}
	});
};


$(function(){
	$('#GLOBAL_MENU ul.base-contents li').pullDownMenu();
	$('body').swapImage();
	$('body').autoPopup();
	$('#SEARCH_QUERY, #SEARCH_BLOG_QUERY').swapDefalutText('キーワードを入力');
	$('#SEARCH_RULES').switchSearchRules();
});
