/**
 * @author adminjrdb
 */

var B = Builder;Builder.dump(B);
var RegNum = /[0-9]|-/;

var util = Class.create({
	
	initialize:function(){},
	
	checkIdmOver8:function(aridm){
		var flg = '0';
		for(var i = 0; i < 2; i++){
			if(aridm[i] && aridm[i+1] && aridm[i+2]){
				var first = aridm[i] - aridm[i+1];
				var second = aridm[i+1] - aridm[i+2];
				if(first > 0 && second > 0 && first + second > 5){
					flg = '1';
					break;
				}
			}else{
				continue;
			}
		}
		
		if(aridm[0] && aridm[1] && aridm[0] - aridm[1] > 8) flg = '1';
		return flg;
	},
	
	getStrZeroFormat:function(st,stlen){
		if(!st) return '0';
		if(!RegNum.test(st.substring(0,1))){
			return st;
		}
		var res = $A();
		for(var i=0;i<stlen;i++){ res.push('0');}
		for(var i = st.length-1, h = res.size()-1; i >= 0; i--,h--){
			res[h] = st.charAt(i);
		}
		return res.join('');
	},
	
	getIjyoukbn:function(cd){
		if(!cd) return '';
		if(cd == '0') return '';
		var res = '';
		
		switch(cd){
			case '1':
				res = '取消';
				break;
			
			case '2':
				res = '除外';
				break;
			case '3':
				res = '中止';
				break;
			case '4':
				res = '失格';
				break;
			case '5':
				res = '降着';
				break;
			case '6':
				res = '再騎乗';
				break;
		}
		
		return res;
	},
	
	getJyoukenCompea:function(p,t){
		var cp = 0;
		var ct = 5;
		if(p == 'OP') cp = 4;
		if(p -0) return '0';
		switch(p){
			case '05': cp = 1;break;
			case '10': cp = 2;break;
			case '16': cp = 3;break;
			default: cp = 9;break;
		}
		
		switch(t){
			case '500万下': ct=1;break;
			case '1000万下': ct=2;break;
			case '1600万下': ct=3;break;
			case 'オープン': ct=4;break;
			default: ct = 8;break;
		}
		
		if(cp == ct)return '1';
		return '0';
	},
	
	getTyakudosuPer:function(t){
		if(!t) return '0';
		
		var ar = ($w(t.gsub(/ /,'').gsub(/,/,' '))).collect(function(s){return s-0;});
		if(ar.all(function(n){return n == 0;})) return '1';
		if(ar[0]+ar[1]+ar[2] == 0)return '0';
		if(ar[3] == 0)return '3';
		var total = ar[0]+ar[1]+ar[2]+ar[3];
		var pin = ar[0]+ar[1]+ar[2];
		var fuku = ((pin/total)*100).floor();
		if(fuku < 50) return '1';
		if(fuku < 80) return '2';
		return '3';
		
	},
	
	getTyakudosuZerochk:function(t){
		if(!t) return '---';
		if((t.gsub(/ /,'').gsub(/,/,'').gsub(/0/,'')).length < 1)return '---'
		return t;
		
	},
	
	getPointedNum:function(n){
		if(!n) return '---';
		var r = (((n-0).abs())*0.1).toString().substr(0,3);
		if(n-0 > 0){
			return '+'+r;
		}else{
			return '-'+r;
		}
	},
	
	getLap:function(l){
		//var res = '';
		if( l == null )return '';
		var lp = $A();
		var rk = $A();
		var st = $A();
		var c = l.length / 3;
		for(var i = 0;i < c ;i ++){
			lp.push(l.substring(i*3,i*3+3));
		}
		
		var item;
		for(var i = 0;i< lp.size();i++){
			item = lp[i]-0;
			if (item < 90){rk.push('none'); continue;}
			if(item < 110){rk.push('lap1'); continue;}
			if(item < 120){rk.push('lap2'); continue;}
			if(item < 130){rk.push('lap3'); continue;}
			rk.push('none');
		}
		
		for(var i = 0; i < lp.size();i++){
			st.push('<span class="' + rk[i] + '">' + lp[i] + '</span>');
		}
		return st.join('-');
		
		
	},
	
	getCorner:function(cd){
		if(cd == 0) return '0';
		if(cd == 1)return '1';
		if(cd < 4)return '2';
		if(cd < 7) return '3';
		return '0';
	},
	
	getTyakusa:function(cd){
		if( cd < -1) return 1;
		if( cd < -0.5) return 2;
		if( cd < 0.1) return 3;
		if( cd < 0.5) return 4;
		return 0;
	},
	
	getBaba:function(cd){
		var res = '0'
		if(cd.include('稍')) return '1'
		if(cd.include('重')) return '2'
		if(cd.include('不')) return '3'
		return res;
	},
	
	getRoutationcd:function(rt){
		if(!rt) return 'n';
		var res ='1';
		if(rt == 0)return '0';
		if(rt > 13) res = '2';
		if(rt > 26) res = '3';
		if(rt > 50) res = '4';
		return res;
	},
	
	getNinkicd:function(nk){
		if(nk == 0) return '4';
		if(nk == 1) return '1';
		if(nk < 4)return '2';
		if(nk < 6)return '3'
		return '4';
	},
	
	getJranckcd:function(rk){
		var res = '0';
		if(rk < 10) return '1';
		if(rk < 20) return '2';
		return res;
		
	},
	
	getStrArrow:function(ar){
		var res = '─';
		switch(ar){
			case '1':
				res ='↑';
				break;
			case '2':
				res = '／';
				break;
			case '4':
				res = '＼';
				break;
			case '5':
				res = '↓';
				break;
		}
		
		return res;
	},
	
	getChokyoClassCord:function(jk){
		var res =70;
		switch(jk){
			case '新馬':
				res = 70;
				break;
			case '未勝利':
				res = 70;
				break;
			case '500万下':
				res = 70;
				break;
			case '1000万下':
				res = 80;
				break;
			case '1600万下':
				res = 85;
				break;
			case 'オープン':
				res = 90;
				break;
		}
		return res;
	},
	
	getClassNameFromStr:function(jk){
		var res ='-';
		switch(jk){
			case '新馬':
				res = '新';
				break;
			case '未勝利':
				res = '未';
				break;
			case '500万下':
				res = '50';
				break;
			case '1000万下':
				res = '10';
				break;
			case '1600万下':
				res = '準';
				break;
			case 'オープン':
				res = 'OP';
				break;
		}
		return res;
	},
	
	getClassCdFromStr:function(jk){
		var res ='-';
		switch(jk){
			case '新馬':
				res = '1';
				break;
			case '未勝利':
				res = '2';
				break;
			case '500万下':
				res = '3';
				break;
			case '1000万下':
				res = '4';
				break;
			case '1600万下':
				res = '5';
				break;
			case 'オープン':
				res = '6';
				break;
		}
		return res;
	},
	
	getOzzcd:function(oz){
		var res = '0';
		if(oz == 0) return '9';
		if(oz < 2 && oz > 0) return '1';
		if(oz < 3) return '2';
		if(oz < 5) return '3';
		if(oz < 10) return '4';
		return res;
	},
	
	getZougen:function(zg){
		if(zg < 10) return '0';
		if(zg < 20) return '1';
		if(zg < 50) return '2';
		return '3';
	},
	
	getBataijyu:function(_bj){
		if(!_bj)return '0';
		bj = _bj-0;
		if(bj < 420) return '1';
		if(bj > 540) return '3';
		if(bj > 485) return '2';
	},
	
 getJyoken:function(cd){
	var res = cd == null ? '' : cd;
	switch (cd) {
		case 'A1':
			res = '新';
			break;
			
		case 'A2':
			res = '未';
			break;
			
		case 'A3':
			res = '未';
			break;
	}
	return res;
},

 getGrade:function(cd){
	var res ='';
	switch (cd) {
		case '1':
			res = '.G1';
			break;
			
		case '2':
			res = '.G2';
			break;
			
		case '3':
			res = '.G3';
			break;
	}
	return res;
},

 getAshimark:function(cd){
	var res ='';
	switch (cd) {
		case '1':
			res = '！';
			break;
			
		case '2':
			res = '？';
			break;
			
		case '3':
			res = 'Ｘ';
			break;
	}
	return res;
},

 getBagumark:function(cd){
	var res ='';
	switch (cd) {
		case '1':
			res = '＊';
			break;
			
		case '2':
			res = '＠';
			break;
	}
	return res;
},

 getNaigai:function(cd){
	var res ='';
	switch(cd){
		case '1':
			res ='最';
			break;
			
		case '2':
			res ='内';
			break;
			
		case '3':
			res ='中';
			break;
			
		case '4':
			res ='外';
			break;
			
		case '5':
			res ='大';
			break;
			
		case '0':
			res ='--';
			break;
			
			
	}
	return res;
},

 getTenkaikigou:function(cd){
	var res ='';
	switch(cd){
		case '1':
			res ='＜';
			break;
			
		case '2':
			res ='＠';
			break;
			
		case '3':
			res ='※';
			break;
			
		case '4':
			res ='？';
			break;
		
		case '0':
			res ='';
			break;
			
			
	}
	return res;
},

 getShirusi:function(cd){
	var res ='';
	switch(cd){
		case '1':
			res ='◎';
			break;
			
		case '2':
			res ='○';
			break;
			
		case '3':
			res ='▲';
			break;
			
		case '4':
			res ='注';
			break;
			
		case '5':
			res ='△';
			break;
			
		case '0':
			res ='--';
			break;
			
			
	}
	return res;
},

 getCordFromShirusi:function(si){
	var res ='';
	switch(si){
		case '◎':
			res ='1';
			break;
			
		case '○':
			res ='2';
			break;
			
		case '▲':
			res ='3';
			break;
			
		case '注':
			res ='4';
			break;
			
		case '△':
			res ='5';
			break;
			
		case '▽':
			res ='6';
			break;
			
		default:
			res ='9';
			break;
			
	}
	return res;
},

 getJyousyou:function(cd){
	var res ='';
	switch (cd) {
		case '1':
			res = 'AA';
			break;
			
		case '2':
			res = 'A';
			break;
			
		case '3':
			res = 'B';
			break;
			
		case '4':
			res = 'C';
			break;
			
		case '5':
			res = '?';
			break;
	}
	return res;
},

 getKyakusitu:function(cd){
	var res ='';
	switch (cd) {
		case '逃げ':
			res = '1';
			break;
			
		case '先行':
			res = '2';
			break;
			
		case '好差':
			res = '3';
			break;
			
		case '差し':
			res = '4';
			break;
			
		case '追込':
			res = '5';
			break;
			
		default:
			res = '6';
			break;
	}
	return res;
},

 getShibada:function(cd){
	var res;
	switch(cd){
		case '1':
			res = '芝';
			break;
		case '2':
			res = 'ダ'
			break;
		case '3':
			res = '障';
			break;
		default :
			res = ' ';
			break;
	}
	
	return res;
},

 getUtisoto:function(cd){
	var res;
	switch(cd){
		case '2':
			res = '（外）';
			break;
		default :
			res = ' ';
			break;	
	}
	return res;
},

 getMawari:function(cd){
 	var res;
	switch(cd){
		case '1':
			res ='右';
			break;
		case '2':
			res = '左';
			break;
		default :
			res = ' ';
			break;				
	}
	return res;
 },

getMarumoji:function(cd){
	var res;
	switch(cd){
		case 1:
			res ='①';
			break;
		case 2:
			res ='②';
			break;
		case 3:
			res ='③';
			break;
		case 4:
			res ='④';
			break;
		case 5:
			res ='⑤';
			break;
		case 6:
			res ='⑥';
			break;
		case 7:
			res ='⑦';
			break;
		case 8:
			res ='⑧';
			break;
		case 9:
			res ='⑨';
			break;
		case 10:
			res ='⑩';
			break;
		case 11:
			res ='⑪';
			break;
		case 12:
			res ='⑫';
			break;
		case 13:
			res ='⑬';
			break;
		case 14:
			res ='⑭';
			break;
		case 15:
			res ='⑮';
			break;
		case 16:
			res ='⑯';
			break;
		case 17:
			res ='⑰';
			break;
		case 18:
			res ='⑱';
			break;
		default:
			res = '';
			break;
	}	
	return res;
},

getOverOzz:function(cd){
	var res = cd;
	if( cd == 0 || !cd) return '';
	if( (cd - 0) > 99.9) return cd.substring(0,3);
	return res;
},

 getJo:function(jyou){
	var res;
		
		switch(jyou){
			case '01':
				res ='札幌';
				break;
				
			case '02':
				res ='函館';
				break;
			case '03':
				res ='福島';
				break;
				
			case '04':
				res ='新潟';
				break;
				
			case '05':
				res ='東京';
				break;
				
			case '06':
				res ='中山';
				break;
				
			case '07':
				res ='中京';
				break;
				
			case '08':
				res ='京都';
				break;
				
			case '09':
				res ='阪神';
				break;
				
			case '10':
				res ='小倉';
				break;	
			
			default :
				res = '--';
				break;			
		}
		
		return res;
}
	
});


var U = new util();
