var _fSignature=new function(){
	this.loadingtext=this.sigdiv=this.bgpreviewhover=this.previewing=this.portrait_border=this.bgisupload=this.resultimg=false;
	this.bgImages=[];
	this.area='cn';
	this.bgImage='ArmoryAlliance.jpg';
	this.font_style='4';
	this.uploadframehtml='<div class="loading"><iframe src="/upload/" frameborder="0" width="580" height="300" name="sigbgupload" id="sigbgupload"></iframe></div>'
	this.attDragging=false;
	this.attDraggingOut=false;
	this.attributesArr=[];
	this.attributesArr['基本属性']=[
		[3,'力量'],
		[4,'敏捷'],
		[5,'耐力'],
		[6,'智力'],
		[7,'精神'],
		[8,'护甲'],
		[1,'生命值'],
		[2,'法力值']
	];
	this.attributesArr['近战']=[
		[9,'伤害'],
		[13,'速度'],
		[10,'强度'],
		[11,'命中'],
		[12,'爆击'],
		[25,'急速'],
		[14,'精准'],
		[51,'主手伤害'],
		[52,'副手伤害'],
		[55,'主副速度']
	];
	this.attributesArr['远程']=[
		[15,'伤害'],
		[19,'速度'],
		[16,'强度'],
		[17,'命中'],
		[18,'爆击'],
		[25,'急速']
	];
	this.attributesArr['法术']=[
		[20,'法术强度'],
		[21,'治疗加成'],
		[23,'法术命中'],
		[22,'法术爆击'],
		[24,'法术穿透'],
		[25,'急速'],
		[26,'法力回复'],
		[49,'神圣伤害'],
		[50,'神圣爆击'],
		[41,'火焰伤害'],
		[42,'火焰爆击'],
		[43,'自然伤害'],
		[44,'自然爆击'],
		[45,'冰霜伤害'],
		[46,'冰霜爆击'],
		[47,'暗影伤害'],
		[48,'暗影爆击'],
		[39,'奥术伤害'],
		[40,'奥术爆击']
	];
	this.attributesArr['防御']=[
		[8,'护甲'],
		[27,'防御'],
		[28,'躲闪'],
		[29,'招架'],
		[30,'格挡'],
		[31,'韧性'],
		[14,'精准']
	];
	this.attributesArr['PvP']=[
		[33,'2v2排名'],
		[56,'2v2个人等级'],
		[32,'2v2战队等级'],
		[35,'3v3排名'],
		[57,'3v3个人等级'],
		[34,'3v3战队等级'],
		[37,'5v5排名'],
		[58,'5v5个人等级'],
		[36,'5v5战队等级'],
		[31,'韧性'],
		[38,'荣誉击杀']
	];
	/*
		'爆击(人形)',//53
		'躲闪(人形)',//54
	*/
	this.attributes=[];
	this.attributesSet=0;
	this.attdbl=false;
	this.attDragStart=function(obj,isOut){
		tw$('dragMask').style.width=document.documentElement.clientWidth+'px'
		tw$('dragMask').style.height=document.documentElement.clientHeight+'px'
		tw$('dragMask').style.top=((bSafari)?window.pageYOffset:document.documentElement.scrollTop)+'px'
		tw$('dragMask').style.display='block'
		tw$('attDraggingbox').style.display='none'
		tw$('attDraggingbox').innerHTML=obj.innerHTML;
		this.attDragging=true;
		this.attDraggingOut=(isOut)?obj.id:false;
		if(this.attdbl){
			this.attAdd(obj.innerHTML);
			this.attdbl=false
		}else{
			this.attdbl=true;
			setTimeout(function(){_fSignature.attdbl=false},200)
		}
	}
	this.attDragMove=function(event){
		if(!event)event=window.event;
		if(_fSignature.attDragging){
			tw$('hiddeninput').select();
			tw$('hiddeninput').blur();
			tw$('attDraggingbox').style.display='block'
			tw$('attDraggingbox').style.left=(event.clientX-tw$('attDraggingbox').offsetWidth/2)+'px';
			tw$('attDraggingbox').style.top=(event.clientY-tw$('attDraggingbox').offsetHeight/2+((bSafari)?window.pageYOffset:document.documentElement.scrollTop))+'px';
		}
	}
	this.attDragStop=function(){
		if(tw$('attDraggingbox').style.display=='block'){
			if(_fSignature.attDraggingOut){tw$(_fSignature.attDraggingOut).className='';tw$(_fSignature.attDraggingOut).innerHTML=''}
			var focusX=getObjleft(tw$('attDraggingbox'))+tw$('attDraggingbox').offsetWidth/2;
			var focusY=getObjtop(tw$('attDraggingbox'))+tw$('attDraggingbox').offsetHeight/2;
			for(var i=1;i<7;i++){
				if(focusX>getObjleft(tw$('attDragTd_'+i))&&focusX<getObjleft(tw$('attDragTd_'+i))+tw$('attDragTd_'+i).offsetWidth){
					if(focusY>getObjtop(tw$('attDragTd_'+i))&&focusY<getObjtop(tw$('attDragTd_'+i))+tw$('attDragTd_'+i).offsetHeight){
						tw$('attDragTd_'+i).innerHTML=tw$('attDraggingbox').innerHTML;
						tw$('attDragTd_'+i).className='cur'
					}
				}
			}
			tw$('attDraggingbox').style.display='none';
		}
		tw$('dragMask').style.display='none';
		_fSignature.attDragging=false;
		_fSignature.attDraggingOut=false;
		tw$('hiddeninput').blur()
	}
	this.attAdd=function(html){
		var i=1;
		while(tw$('attDragTd_'+i).innerHTML!=''&&i<6){
			i++
		}
		if(tw$('attDragTd_'+i).innerHTML==''){
			tw$('attDragTd_'+i).innerHTML=html;
			tw$('attDragTd_'+i).className='cur'
		}
	}

	this.initBgImage=function(img,a){
		if(!(img.indexOf('.')!=-1)){img+='.jpg'}
		var t='<a id="_fSignature:bg-'+img+'" href="javascript:" onclick="_fSignature.selectBgImage(\''+img+'\')" onmouseover="_fSignature.previewBgImage(\''+img+'\',this)" onmouseout="_fSignature.previewBgImageHide()"><div style="background-image:url(images/input/sm/'+img+')"></div>';
		if(a){
			t+='<font>'+a+'</font>'
		}
		t+='</a>';
		tw$('f-signature-bgselect').innerHTML+=t;
	}
	this.initBgImages=function(){
		for(var i=0;i<4;i++){this.initBgImage(this.bgImages[i])}
		tw$('_fSignature:bg-'+this.bgImage).className='cur';
		this.initBgImages2();
		tw$('f-signature-bgselect').innerHTML+='<br /><br /><p class="hr">&nbsp;</p><br />';
		for(var i=4;i<this.bgImages.length;i++){this.initBgImage(this.bgImages[i])}
	}
	this.initBgImages2=function(){
		var arr=this.bgImages['contest1'];
		tw$('f-signature-bgselect').innerHTML+='<br /><br /><p class="hr">&nbsp;</p><br /><p class="title">背景图征集大赛获奖作品</p>';
		for(var i=0;i<arr.length;i++){this.initBgImage('contest1/'+arr[i][0],arr[i][1])}
	}
	this.initAttributes=function(){
		var ediv1=_e.c('div','dragMask'),ediv2=_e.c('div','attDraggingbox'),tar=tw$('attributesSetCustom');
		_e.a(tw$('top'),ediv1);
		_e.a(tw$('top'),ediv2);
		tar.innerHTML+='<div id="attributesSetCustom"></div>';
		for(var i in this.attributesArr){
			tar.innerHTML+='<p>'+i+'</p>';
			for(var j=0;j<this.attributesArr[i].length;j++){
				tar.innerHTML+='<span onmousedown="_fSignature.attDragStart(this)" /><i>'+this.attributesArr[i][j][0]+'</i>'+this.attributesArr[i][j][1]+'</span>';
			};
			tar.innerHTML+='<div class="clear"></div>'
		}
	}
	this.init=function(){
		if(login){
			tw$('uploadDiv').innerHTML='<a href="javascript:;" class="button1" onclick="_floatingdiv.toggle(\'上传背景图\',_fSignature.uploadframehtml)"><b>上传背景</b></a>'
		}else{
			tw$('uploadDiv').innerHTML='登录后可上传自己的背景图！<a href="javascript:;" class="button1" onclick="_frameLogin.toggle(this)"><b>点此登录</b></a>'
		}
		this.regenCcode();
		this.sigdiv=tw$('f-signature-preview').parentNode.parentNode.parentNode.parentNode.parentNode;
		this.bgpreviewhover=_e.c('div','f-signature-bgpreviewhover');
		_e.a(this.sigdiv,this.bgpreviewhover);
		this.initBgImages();
		this.initAttributes();
		this.loadingtext=_e.c('div','f-signature-loading');
		this.loadingtext.className='loading';
		this.loadingtext.innerHTML='&nbsp;';
		_e.a(tw$('f-signature-preview').parentNode,this.loadingtext);
		var spans=tw$('attributesSetCustom').getElementsByTagName('span');
		var attDraging=false;
		for(var i=0;i<spans.length;i++){
			spans[i].onmousemove=_fSignature.attDragMove;
			spans[i].ondragstart=function(){return false};
			tw$('attDraggingbox').onclick=_fSignature.attDragStop;
			tw$('dragMask').onmousemove=_fSignature.attDragMove;
			tw$('dragMask').onmouseup=_fSignature.attDragStop;
			tw$('dragMask').onclick=_fSignature.attDragStop;
			tw$('dragMask').ondragstart=function(){return false};
		}
		if(bSafari){tw$('hiddeninput').type='hidden'}
	}
	this.addBgImage=function(name){
    var surl='images/upload/unchecked/';
    if(name.indexOf('contest/')!=-1){surl+='contest/s/'+name.split('contest/')[1]}else{surl+='s/'+name}
		tw$('f-signature-bgselect').innerHTML+='<a id="_fSignature:bg-'+name+'" href="javascript:" onclick="_fSignature.selectBgImage(\''+name+'\',true)" onmouseover="_fSignature.previewBgImage(\''+name+'\',this,true)" onmouseout="_fSignature.previewBgImageHide()"><div style="background-image:url('+surl+')"></div></a>';
		tw$('f-signature-bgselect').scrollTop=tw$('f-signature-bgselect').offsetHeight
	}

	this.previewBgImage=function(img,obj,isupload){
		var l=getObjleft(obj);
		if(l+341>document.documentElement.clientWidth){
			this.bgpreviewhover.style.left=document.documentElement.clientWidth-550+'px'
		}else{
			this.bgpreviewhover.style.left=l-209+'px'
		};
		this.bgpreviewhover.style.top=getObjtop(obj)-145-tw$('f-signature-bgselect').scrollTop+'px';
		var url=(isupload)?'images/upload/unchecked/'+img:'images/input/bg/'+img
		this.bgpreviewhover.innerHTML='<img src=\''+url+'\' />';
		this.bgpreviewhover.style.display='block';
	}
	this.previewBgImageHide=function(){
		this.bgpreviewhover.style.display='none';
	}
	this.regenCcode=function(){
		tw$('ccodeimg').src='image.php?s='+randNumber();
		tw$('ccode').value=tw$('ccode').alt;
	}
	this.selectBgImage=function(img,isupload){
		if(!isupload){isupload=false};
		this.bgisupload=isupload;
		this.previewBgImageHide();
		tw$('_fSignature:bg-'+this.bgImage).className='';
		this.bgImage=img;
		tw$('_fSignature:bg-'+img).className='cur';
	};
	this.getCharacterData=function(preview){
		if(preview){
			if(isNaN(new Number(tw$('ccode').value))||tw$('ccode').value.length!=4){
				this.loadingtext.innerHTML='请正确填写验证码';
				return
			}
			if(tw$('realmName').value=='服务器名...'||tw$('characterName').value=='角色名...'){
				this.loadingtext.innerHTML='请正确填写信息';
				return
			}
		}
		var ajaxObj = new Dd_ajax();
		this.loadingtext.innerHTML='Loading...';
		tw$('f-signature-quotecode').className=tw$('f-signature-previewconfirm').className='';
		var data = "area=" + _fSignature.area;
		data += "&realmName=" + tw$('realmName').value;
		data += "&characterName=" + tw$('characterName').value;
		data += "&selImage=" + _fSignature.bgImage;
		data += "&fontType=" + _fSignature.font_style;
		data += "&fontColor=" + _colorswatches.color["sigtext"];
		data += "&bgcolor=" + _colorswatches.color["sigbgborder"];
		data += "&portraitBorder=" + _fSignature.portrait_border;
		data += "&bgIsUpload=" + _fSignature.bgisupload;
		data += "&transparent=" + parseInt(tw$('bgTransparent').value);
		if(tw$('userWit').value!=tw$('userWit').alt&&tw$('userWit').value!=''){
			data += "&wit=" + tw$('userWit').value;
		}
		if(this.attributesSet==7){
			_fSignature.attributes=[];
			for(var i=1;i<7;i++){
				if(tw$('attDragTd_'+i).innerHTML!=''){_fSignature.attributes.push(tw$('attDragTd_'+i).getElementsByTagName('i')[0].innerHTML)}
			}
			if(_fSignature.attributes.length==0){
				data +="&att1=-1";
			}
		}
		for(var i=1;i<=_fSignature.attributes.length;i++){
			data +="&att"+i+"="+_fSignature.attributes[i-1];
		}
		if(this.resultimg){
			this.resultimg=this.resultimg.split('?r=')[0];
			data +="&lastImg="+this.resultimg;
		}
		if(preview){
			this.previewing=true;
			data += "&ccode=" + tw$('ccode').value;
			data += "&scode=" + tw$('ccodeimg').src.substr(tw$('ccodeimg').src.indexOf('?s=')+3);
			data+="&preview=true";
		}else{
			this.previewing=this.resultimg=false
		}
		ajaxObj.setAttributes({url:'characterData.php',method:'POST'});
		ajaxObj.setOnLoading(getCharacterData_onload);
		ajaxObj.setOnComplete(getCharacterData_callback);
		ajaxObj.update(data);
	}
	function getCharacterData_onload(){
	};
	function getCharacterData_callback(responseText){
		var result;
		if(_fSignature.previewing){_fSignature.regenCcode()};
		//alert(responseText);return;
		try{
			result = eval('('+responseText+')');
		}catch(e){
			_fSignature.loadingtext.innerHTML=responseText;
			return
		}
		if(result.result){
			var src=result.content.replace(/ /g,'%20'),preview=false;
			tw$('f-signature-preview').innerHTML='';
			if(src.indexOf('-preview.jpg')!=-1){
				_fSignature.resultimg=src
			}else{
				_fSignature.resultimg=false
			}
			if(bIE){
				preview=_e.c('div');
				preview.style.backgroundImage='url('+src+')';
			}else{
				preview=_e.c('table'),etr=_e.c('tr'),etd=_e.c('td'),ei=_e.c('img');
				ei.src=src;
				_e.a(preview,etr);
				_e.a(etr,etd);
				_e.a(etd,ei);
			}
			_fSignature.loadingtext.innerHTML='&nbsp;';
			if(_fSignature.previewing){
				tw$('f-signature-previewconfirm').className='loaded';
			}else{
				src='http://sig.ngacn.cc/'+src.split('?r=')[0];
				tw$('f-signature-previewconfirm').className='';
				tw$('f-signature-quotecode-1').value=src;
				tw$('f-signature-quotecode-2').value='[url=http://sig.ngacn.cc][img]'+src+'[/img][/url]';
				tw$('f-signature-quotecode-3').value='<img src="'+src+'" />';
				tw$('f-signature-quotecode').className='loaded';
			}
			tw$('f-signature-preview').className='loaded';
			_e.a(tw$('f-signature-preview'),preview)
		}else{
			_fSignature.loadingtext.innerHTML=result.content;
		}
	};
	this.checkAttrCustom=function(){
		var lis=tw$('attributesSetCustom').getElementsByTagName('li'),count=0,disabled=false;
		this.attributes=[];
		for(var i=0;i<lis.length;i++){
			var inp=lis[i].getElementsByTagName('input')[0];
			if(inp.checked){count++;this.attributes.push(inp.value)};
			if(lis[i].className=='disable'){disabled=true}
		};
		if(count==6){
			for(var i=0;i<lis.length;i++){
				var inp=lis[i].getElementsByTagName('input')[0],checked=false;
				for(var j=0;j<this.attributes.length;j++){
					if(this.attributes[j]==inp.value){checked=true}
				};
				if(!checked){lis[i].className='disable';inp.disabled=true}
			}
		}else{
			if(disabled){
				for(var i=0;i<lis.length;i++){
					var inp=lis[i].getElementsByTagName('input')[0];
					lis[i].className='';inp.disabled=false;
				}
			}
		}
	};
	this.setAttrSet=function(set){
		this.attributesSet=set;
		if(set==8){
			this.attributesSet=7;
			this.attributes=[];
			/*
			var lis=tw$('attributesSetCustom').getElementsByTagName('li');
			for(var i=0;i<lis.length;i++){
				var inp=lis[i].getElementsByTagName('input')[0];
				inp.checked=inp.disabled=false;
				lis[i].className='';
				for(var j=0;j<this.attributes.length;j++){
					if(this.attributes[j]==inp.value){inp.checked=true}
				}
			};
			this.checkAttrCustom()*/
			tw$('attributesSetCustom').style.display='block'
			for(var i=1;i<7;i++){
				tw$('attDragTd_'+i).onmousemove=_fSignature.attDragMove;
			}
		}else{
			tw$('attributesSetCustom').style.display='none';
			switch(set){
				case 0: //custom
					this.attributes=[];
					break;
				case 1: //melee DPS
					this.attributes=[9,13,10,11,12,25];
					break;
				case 2: //ranged DPS
					this.attributes=[15,19,16,17,18,25];
					break;
				case 3: //tank
					this.attributes=[1,8,27,28,29,30];
					break;
				case 4: //spell DPS
					this.attributes=[2,20,22,23,24,25];
					break;
				case 5: //healer
					this.attributes=[1,2,21,22,25,26];
					break;
				case 6: //arena
					this.attributes=[1,31,56,57,58,38];
					break;
			}
		}
	}
}
if(bIE){lCSS('/style/f-signature-ie.css');if(bIE6){lCSS('/style/f-signature-ie6.css')}}
