var asahi = asahi || new Object();
/**************************************************************************
 * SearchSelector
 **************************************************************************/
asahi.SearchSelector = function()
{
	this.initialize.apply(this, arguments);
}

asahi.SearchSelector.prototype =
{
	initialize: function()
	{
		this.formData = 
			{
				'WEB':
					{
						'action':'http://websearch.asahi.com/.cgi/websearch/websearch.pl',
						'method':'post'
					},
				'サイト内':
					{
						'action':'http://sitesearch.asahi.com/.cgi/sitesearch/sitesearch.pl',
						'method':'post'
					},
				'辞書':
					{
						'action':'http://jishosearch.asahi.com/.cgi/jishosearch/jishosearch.pl',
						'method':'get'
					},
				'地図':
					{
						'action':'http://www.asahi.com/tool/map/index.html',
						'method':'get'
					},
				'買物':
					{
						'action':'http://esearch.asahicom.rakuten.co.jp/search/e.search',
						'method':'post'
					}
			}
		
		this.setSearchWeb();
		this.setSearch('WEB');
	},
	
	setSearch: function(selected)
	{
		var self = this;
		jQuery('#MainInner').find('form.SearchBox1 ul li').not('.OptItm').find('a').each(
			function()
			{
				var text = jQuery(this).text().toString();
				if(text.indexOf(selected, 0) != -1)
				{
					jQuery(this).html('<strong>' + text + '</strong>').each(
						function()
						{
							this.onclick = function(){return false}
						});
				}
				else
				{
					jQuery(this).html(text).each(
						function()
						{
							this.onclick = function()
							{
								if(text.indexOf('WEB', 0) >= 0)
								{
										self.setSearchWeb();
								}
								else if(text.indexOf('サイト内', 0) >= 0)
								{
										self.setSearchSite();
								}
								else if(text.indexOf('買物', 0) >= 0)
								{
										self.setSearchShop();
								}
								else if(text.indexOf('辞書', 0) >= 0)
								{
										self.setSearchDictionary();
								}
								else if(text.indexOf('地図', 0) >= 0)
								{
										self.setSearchMap();
								}
								
								self.setSearch(text);
								
								if(jQuery('#MainInner').find('input.Txt').val().length > 0)
								{
									jQuery('#MainInner').find('form.SearchBox1').each(
										function()
										{
											this.submit();
										});
								}
								return false;
								
							}
						})
				}
			});
	},
	
	setSearchWeb: function()
	{
		jQuery('#MainInner').find('form.SearchBox1')
			.attr('action', this.formData['WEB'].action)
			.attr('method', this.formData['WEB'].method)
			.find('input[@type=hidden]').remove().end()
			.find('input.Txt').attr('name', 'Keywords').end()
			.find('input.Btn').each(
				function()
				{
					this.onclick = function(){};
				});
	},
	
	setSearchSite: function()
	{
		jQuery('#MainInner').find('form.SearchBox1')
			.attr('action', this.formData['サイト内'].action)
			.attr('method', this.formData['サイト内'].method)
			.find('input[@type=hidden]').remove().end()
			.find('input.Txt').attr('name', 'Keywords').end()
			.find('input.Btn').each(
				function()
				{
					this.onclick = function(){};
				});
	},
	
	setSearchShop: function()
	{
		jQuery('#MainInner').find('form.SearchBox1')
			.attr('action', this.formData['買物'].action)
			.attr('method', this.formData['買物'].method)
			.find('input[@type=hidden]').remove().end()
			.find('input.Txt').attr('name', 'sitem').end()
			.find('fieldset').prepend('<input type="hidden" name="sv" value="2" />').end()
			.find('input.Btn').each(
				function()
				{
					this.onclick = function(){};
				});
	},
		
	setSearchDictionary: function()
	{
		jQuery('#MainInner').find('form.SearchBox1')
			.attr('action', this.formData['辞書'].action)
			.attr('method', this.formData['辞書'].method)
			.find('input[@type=hidden]').remove().end()
			.find('input.Txt').attr('name', 'Word').end()
			.find('input.Btn').each(
				function()
				{
					this.onclick = function(){};
				});
	},
	
	setSearchMap: function()
	{
		var self = this;
		jQuery('#MainInner').find('form.SearchBox1')
			.attr('action', this.formData['地図'].action)
			.attr('method', this.formData['地図'].method)
			.find('input[@type=hidden]').remove().end()
			.find('input.Txt').attr('name', 'address').end()
			.find('input.Btn').each(
				function()
				{
					this.onclick = function()
					{
						var keywords = jQuery('#MainInner').find('form.SearchBox1 input.Txt').attr('value');
						if (keywords.length == 0)
						{
							document.location.href = self.formData['地図'].action;
							return false;
						}
						else
						{
							document.location.href = self.formData['地図'].action + '?address=' + keywords;
							return false;
						}
					};
				});
	}
	
}




if(asahi.agent.getTarget())
{
	jQuery(function()
	{
		asahi.searchSelector = new asahi.SearchSelector();
	});
}


