function SearchAreaCtrl(_btnID,_visibleID,_searchID){
	this.btn=document.getElementById(_btnID);
	this.defaultBtn_html=this.btn.innerHTML;
	this.sleepBtn_html='<img src="image_v2/_homecook-home-header/btn_02_2.gif" width="104" height="23" alt="こだわり検索">';
	this.ctrl=null;
	this.todayArea=document.getElementById(_visibleID);
	this.searchArea=document.getElementById(_searchID);
	this.searchAreaHeight= 300;
	this.searchAreaTop=65;
	this.intervalID;
	this.show=function(){
		
		this.searchArea.style.visibility="visible";
		this.searchArea.style.overflow="hidden";
		if(!this.searchAreaHeight)this.searchAreaHeight=this.getHeight(this.searchArea);
		this.searchArea.style.height="0px";
		this.searchArea.style.top=(this.searchAreaTop-100)+"px";
		this.changeHeight(this.searchArea,this.searchAreaHeight,this.searchAreaTop,0.6);
		trace(this.searchArea.style);
		this.btn.innerHTML=this.sleepBtn_html;
	}
	this.hide=function(){
		this.todayArea.style.visibility="visible";
		this.changeHeight(this.searchArea,0,this.searchAreaTop+300,0.5,function(_this){
			_this.searchArea.style.visibility="hidden";
			_this.searchArea.style.overflow="visible";
		});
		this.btn.innerHTML=this.defaultBtn_html;
	}
	
	this.getHeight=function (elm) {
	  return (document.all) ? elm.offsetHeight : elm.clientHeight;
	}
	this.changeHeight=function(elm,height,top,acc,onChange){
		var toH=height;
		var toTop=top;
		var currentH=SearchAreaCtrl.ctrl.getHeight(elm);
		var currentTop=Number(String(elm.style.top).substr(0,elm.style.top.length-2));
		if(SearchAreaCtrl.ctrl.intervalID)clearInterval(SearchAreaCtrl.ctrl.intervalID);
		this.intervalID=setInterval(function(){_move(this)},30);
		function _move(_this){
			if(Math.abs(toH-currentH)<1){
				clearInterval(SearchAreaCtrl.ctrl.intervalID);
				elm.style.height= toH+"px";
				elm.style.top= toTop+"px";
				if(onChange)onChange(SearchAreaCtrl.ctrl);
			}else{
				currentH+=(toH-currentH)*acc;
				currentTop+=(toTop-currentTop)*(acc*3/4);
				elm.style.height= Math.floor(currentH)+"px";
				elm.style.top= Math.floor(currentTop)+"px";
			}
		}
	}
}


function showSearchArea(_btnID,_visibleID,_searchID){
	if(!SearchAreaCtrl.ctrl)SearchAreaCtrl.ctrl=new SearchAreaCtrl(_btnID,_visibleID,_searchID);
	SearchAreaCtrl.ctrl.show();
}
function hideSearchArea(){
	SearchAreaCtrl.ctrl.hide();
}

function trace(str){
	if(window.console)console.info(str);
}
