﻿var PlainControl = Class.create({
	start:function(event,code){
		switch(code){
			case 37 : this._left();break;
			case 38 : this._up();break;
			case 40 : this._space();break;
			case 39 : this._right();break;
			case 32: this._space();break;
			case 13: this._enter(event);return false;
		}
		mainspan.innerHTML= "";
		mainspan.appendChild(designTextToDivElement(myDesign));
		cancelEvent(event);
	},
	_right:function(){
		var a=myDesign.select;
		var t=a+1;
		if(t>=myDesign.elms.length){
			myDesign.select=0;
		}else{
			myDesign.select=t;
		}
	},
	_left:function(){
		var a=myDesign.select;
		var t=a-1;
		
		if(0>t){
			myDesign.select=myDesign.elms.length-1;
		}else{
			myDesign.select=t;
		}
	},
	_space:function(){
		if(this._trans()) return false;
		myDesign.elms[myDesign.select].nextText();
		designTextToSuggestArea(myDesign);
		phase = "suggest";
	},
	_up:function(){
		if(this._trans()) return false;
		myDesign.elms[myDesign.select].previousText();
		designTextToSuggestArea(myDesign);
		phase = "suggest";
	},
	_trans:function(){
		if(!myDesign.elms[myDesign.select].candidateList){
			var trans = new transserverClass();
			trans.trans(myDesign.elms[myDesign.select].segText,function(){
				if(trans.getCandidateList(1)){
					var tmp1 = myDesign.elms[myDesign.select].spanElm;
					var tmp2 = myDesign.elms[myDesign.select].segText;
					myDesign.elms[myDesign.select] = new elm(tmp2,tmp2,[tmp2,tmp2.toKatakanaCase()]);
					myDesign.elms[myDesign.select].spanElm = tmp1;
				}else if(trans.getCandidateList(0)){
					myDesign.elms[myDesign.select].segText = trans.getSegmentText(0);
					myDesign.elms[myDesign.select].candidateList = trans.getCandidateList(0);
					myDesign.elms[myDesign.select].text =  trans.getCandidateList(0)[0];
					myDesign.elms[myDesign.select].canNum =0 ;
				}else{
					alert("変換エラー");
					return false;
				}
				myDesign.elms[myDesign.select].nextText();
				designTextToSuggestArea(myDesign);
				phase = "suggest";
				mainspan.innerHTML= "";
				mainspan.appendChild(designTextToDivElement(myDesign));
			},"re");
			return true;
		}
		return false;
	},
	_enter:function(event){
		finalText(event);
	}
});
var oPlainControl = new PlainControl();