/**
 *@class SearchAll
 *@extends Div
 */


var SearchAll = Class.create();


SearchAll.prototype = Object.extend(new Div, {


	/**
	 *@constructor initialize
	 */
	initialize: function (id,parentObj) {
		this.id=id;
		this.parentObj=parentObj;
		this.keyword='';
		this.orderKey=getCookie('orderKey') || 'prioritytime';
		this.displayNum=Number(getCookie('displayNum')) || 5;
//		console.log(this.orderKey);
//		console.log(this.displayNum);
		this.createDiv();
		this.setStyle();
		this.display();


		/* event */
		this.setEvent();
	},


	/**
	 * setEvent
	 */
	setEvent:function () {
		Event.observe($(this.id+'Keyword'),'focus',this.onFocus.bind(this));
		Event.observe($(this.id+'Keyword'),'blur',this.onBlur.bind(this));
		Event.observe($(this.id+'Keyword'),'keydown',this.onKeyDown.bind(this));
		Event.observe($(this.id+'DisplayNum'),'focus',this.onFocus.bind(this));
		Event.observe($(this.id+'DisplayNum'),'blur',this.onBlur.bind(this));
		Event.observe($(this.id+'DisplayNum'),'keydown',this.onKeyDown.bind(this));
		Event.observe($(this.id+'OrderKey'),'focus',this.onFocus.bind(this));
		Event.observe($(this.id+'OrderKey'),'blur',this.onBlur.bind(this));
		Event.observe($(this.id+'OrderKey'),'keydown',this.onKeyDown.bind(this));
		Event.observe($(this.id+'Submit'),'click',this.onSubmit.bind(this));
	},



	/**
	 *display
	 */
	display: function () {
		var html='';

		/* keyword */
		html+='<span class="search">';
		html+='<span class="searchTitle">';
		html+='検索キーワード : ';
		html+='</span>';
		html+='<span class="searchText">';
		html+='<input name="'+this.id+'Keyword" id="'+this.id+'Keyword" type="text" value="'+this.keyword+'" size="15" tabindex=1 />';
		html+='</span>';
		html+='</span>';


		/* displayNum */
		html+='<span class="search">';
		html+='<span class="searchTitle">';
		html+='表示件数 : ';
		html+='</span>';
		html+='<span class="searchText">';
		html+='<select name="'+this.id+'DisplayNum" id="'+this.id+'DisplayNum" tabindex=2>';
		switch(this.displayNum){
			case 20:
				html+='<option value="20">20</option>';
				html+='<option value="">---</option>';
				html+='<option value="5">5</option>';
				html+='<option value="10">10</option>';
				html+='<option value="20">20</option>';
				break;
			case 10:
				html+='<option value="10">10</option>';
				html+='<option value="">---</option>';
				html+='<option value="5">5</option>';
				html+='<option value="20">20</option>';
				html+='<option value="20">20</option>';
				break;
			case 5:
			default:
				html+='<option value="5">5</option>';
				html+='<option value="">---</option>';
				html+='<option value="5">5</option>';
				html+='<option value="10">10</option>';
				html+='<option value="20">20</option>';
				break;
		}
		html+='</select>';
		html+='</span>';
		html+='</span>';


		/* orderKey */
		html+='<span class="search">';
		html+='<span class="searchTitle">';
		html+='並び順 : ';
		html+='</span>';
		html+='<span class="searchText">';
		html+='<select name="'+this.id+'OrderKey" id="'+this.id+'OrderKey" tabindex=3 >';
		if(this.orderKey=='prioritytime'){
			html+='<option value="prioritytime">日時</option>';
			html+='<option value="log">クリック数</option>';
		}else{
			html+='<option value="log">クリック数</option>';
			html+='<option value="prioritytime">日時</option>';
		}
		html+='</select>';
		html+='</span>';
		html+='</span>';


		/* submit */
		html+='<span class="search">';
		html+='<span class="searchTitle">';
		html+='<input class="submit" name="'+this.id+'Submit" id="'+this.id+'Submit" type="submit" value="検索" size="10" tabindex=4 />';
		html+='</span>';
		html+='</span>';



		$(this.id).innerHTML=html;


	},



	/**
	 * onFocus
	 */
	onFocus:function (ev) {
		searchWindow.isActive=false;
	},


	/**
	 * onBlur
	 */
	onBlur:function (ev) {
		searchWindow.isActive=true;
	},


	/**
	 * onKeyDown
	 */
	onKeyDown:function (ev) {
		var ev=ev || window.event;
		if(ev.keyCode==13){
			this.onSubmit();
		}
	},



	/**
	 *onSubmit
	 */
	onSubmit: function (ev) {
		$(this.id+'Keyword').blur();
		$(this.id+'DisplayNum').blur();
		$(this.id+'OrderKey').blur();
		$(this.id+'Submit').blur();
		this.keyword=$(this.id+'Keyword').value;
		this.displayNum=$(this.id+'DisplayNum').value;
		if(this.displayNum==""){
			this.displayNum=5;
		}
		this.orderKey=$(this.id+'OrderKey').value;
//		console.log("keyword:"+this.keyword);
//		console.log("displayNum:"+this.displayNum);
//		console.log("orderKey:"+this.orderKey);


		var hash={
			'displayNum':this.displayNum,
			'orderKey':this.orderKey
		};
		setCookie(hash);



		onSearch();
	},



	/**
	 *setStyle
	 */
	setStyle: function () {
		Element.setStyle($(this.id),{
			//backgroundColor	:'#eeeeee',


			marginLeft		:'0px',
			marginRight		:'0px',
			marginTop		:'10px',
			marginBottom	:'0px',
			paddingLeft		:'0px',
			paddingRight	:'0px',
			paddingTop		:'5px',
			paddingBottom	:'5px',

			borderColor			:'#000000',
			borderLeftWidth		:'0px',
			borderRightWidth	:'0px',
			borderTopWidth		:'1px',
			borderBottomWidth	:'1px',
			borderStyle			:'dotted',


			position		:'relative',	//配置方式:static(default),relative,absolute,fixed,inherit
			overflow		:'hidden'	//スクロールバー制御:visible,hidden,scroll,auto,inherit
		});
	}





});
