﻿var ShiftedControl = Class.create({
	x:0,
	flag:false,
	tmpDesign:new designText(),
	init:function(){
		this.x=0;
		this.flag=false;
	},
	start:function(event,code){
		this.tmpDesign =new designText();
		cancelEvent(event);
		switch(code){
			case 37 : this.x--;;break;
			case 39 : this.x++;break;
			default : return false;
		}
		this.flag = false;
		if(this.x==0){
			this.flag=true;
			mainspan.innerHTML= "";
			mainspan.appendChild(designTextToDivElement(myDesign));
			return false;
		}else if(this.x>0){
			var i,j,k=0;
			var n="";
			var r ="";
			for(i=0;i<myDesign.select;i++){
				this.tmpDesign.elms[i] = new elm(myDesign.elms[i].text,myDesign.elms[i].segText,myDesign.elms[i].candidateList);
			}
			i=0;
			while(10>i){
				i++;
				n+=myDesign.elms[myDesign.select+i].segText;
				if(n.length>=this.x){
					var s = myDesign.elms[myDesign.select].segText + n.substring(0,this.x);
					r=n.substring(this.x,n.length);
					this.tmpDesign.elms[myDesign.select] = new elm(s,s,null);
					break;
				}
			}
			var u= myDesign.elms.length -myDesign.select - i;
			if(r !=""){
				this.tmpDesign.elms[myDesign.select + 1] = new elm(r,r,null);
				k=1;
			}
			for(j=1;j<u;j++){
				this.tmpDesign.elms[myDesign.select + j+k] =myDesign.elms[myDesign.select + i + j];
			}
			this.tmpDesign.select = myDesign.select;
		}else if(this.x<0){
			if(myDesign.elms[myDesign.select].segText.length+this.x < 1){
				this.x++;
				return false;
			}

			var i,j=0;
			for(i=0;i<myDesign.select;i++){
				this.tmpDesign.elms[i] = new elm(myDesign.elms[i].text,myDesign.elms[i].segText,myDesign.elms[i].candidateList);
			}

			var w = myDesign.elms[myDesign.select].segText;
			var a=  w.substring(0,w.length+this.x);
			var b = w.substring(w.length+this.x,w.length);
			
			this.tmpDesign.elms[myDesign.select] = new elm(a,a,null);
			this.tmpDesign.elms[myDesign.select+1] = new elm(b,b,null);

			for(j=1;j<myDesign.elms.length - myDesign.select;j++){
				this.tmpDesign.elms[myDesign.select + 1 + j] =myDesign.elms[myDesign.select + j];
			}
			this.tmpDesign.select = myDesign.select;
		}
		mainspan.innerHTML= "";
		mainspan.appendChild(designTextToDivElement(this.tmpDesign));
	},
	finish:function(){
		if(this.flag) return false;
		myDesign=this.tmpDesign;
	}
});
var oShiftedControl = new ShiftedControl();