﻿function AddNewSiteCheck(args){

	var URL_NOT_CORRECT = '请输入正确的域名格式！';
	var HINT_VERIFY = '为保护您的权益，请先对您的网站进行验证，才能继续注册。';
	//var HINT_VERIFY_SUCCESS = '网站主身份验证通过，请您继续进行下面的注册';
	//var HINT_VERIFY_BEFORE = '您的网站已经在验证列表中，请您继续进行下面的注册！';
	var ERROR_SERVER = '服务器返回数据错误！';
	var SITE_URL_PRE = "http://www.";
	
	//验证按钮
	var checkBtn=$('addnewCheckBtn');
	//域名输入框
	var newDomain=$('addnewDomain');
	//表单元素
	var form=$('addnewForm');
	//完成验证按钮
	var completeCheckBtn=$('addnewCompleteBtn');
	
	var cancelCheckBtn=$('addnewCancelBtn');
	
	var typeRadio=[$('addnewCheckType0'),$('addnewCheckType1')];
	//验证方式区块
	var checkContent=$('addnewCheckContent');
	
	var checkType0=$('addnewType0');
	
	var checkType1=$('addnewType1');
	//按html代码验证文本域
	var htmlCheckContent=$('addnewCheckByHTML');
	
	var hintText=$('addnewHint');
	
	var openHandle=$('addnew_handle');
	
	var block=$('addnew');
	
	var successIcon=$('addnew_success_icon');
	
	var status=1;	//status=0, next step
	
	//关闭按钮
	var btnCloseHandle;
	
	//当点击验证按钮时的操作
	function onCheckDomain(event){
		if(!newDomain.value.length<256&&!(/^(([a-z0-9][-a-z0-9]*[a-z0-9]|)\.)+[a-z]{2,6}$/i).test(newDomain.value)){
			alert(URL_NOT_CORRECT);
			newDomain.focus();
			return false;
		}
		
		typeRadio[0].checked=true;
		
		Ajax({
			url:URL_VALID_DB,
			method:'POST',
			data:newDomain.name+'='+newDomain.value,
			success:function(data){
				if(data){
					var nData;
					try{
						nData=eval('('+data+')');
					}catch(e){
						//alert(e);	//服务器数据格式错误
						//window.location.href='';
						document.write(data);
					}finally{
						if(nData){
							if(nData.retCode=='1'){
								hintText.innerHTML=nData.msg;;
								hintText.className='active success';
								hintText.style.color='#017F01';
								status=0;
								successIcon.className='success';
								
								if(submitUagreeFlag){
									submitUagree();			//激活 下一步 按钮
								}
								if(openHandle){				//新增 正在审核中
									var textNode=document.createTextNode('| '+newDomain.value||newDomain.getAttribute('value')+' ');
									openHandle.parentNode.insertBefore(textNode,openHandle);
									var fontNode=document.createElement('font');
									fontNode.setAttribute('color','#197a30');
									fontNode.innerHTML='&nbsp;&nbsp;正在审核中...&nbsp;';
									openHandle.parentNode.insertBefore(fontNode,openHandle);
								}
							}else if(nData.retCode=='2'){
								common.addClass(checkContent,'active');
								hintText.className='active hint';
								hintText.innerHTML= "&nbsp;";		//nData.msg;//HINT_VERIFY;
								newDomain.disabled=true;
								successIcon.className='';
								
								if(submitUagreeFlag){
									submitUagree();		//激活 下一步 按钮
								}
							}else if(nData.retCode=='0'){
								hintText.className='active wrong';
								hintText.style.color='#DF0600';
								hintText.innerHTML=nData.msg;
								status=-1;
								successIcon.className='';
								
								if(submitUagreeFlag){
									submitUagree();		//激活 下一步 按钮
								}
							}
						}
					}
				}else{
					alert(ERROR_SERVER);
				}
			}
		});
	}
	
	//当验证成功的操作
	function onCheckDomainSuccess(html){
		htmlCheckContent.value=html;
		common.addClass(checkContent,'active');
		newDomain.disabled=true;
	}
	
	//当验证失败时的操作
	function onCheckDomainFail(){
		reset();
	}
	
	function onSubmit(){
		Ajax({
			url:URL_COMPLETE_VALID,
			method:'GET',
			data:'operation='+(typeRadio[0].checked?typeRadio[0].value:typeRadio[1].value),
			success:function(data){
				if(data){
					var nData;
					try{
						nData=eval('('+data+')');
					}catch(e){
						//alert(e);	//服务器数据格式错误
						document.write(data);
					}finally{
						if(nData){
							if(nData.retCode=='0'){
								hintText.innerHTML=nData.msg;	//'获取验证文件失败，请您确认正确放置后，再次点击“完成验证”按钮';
								hintText.className='active wrong';
								hintText.style.color='#DF0600';
								status=-1;
							}else if(nData.retCode=='1'){
								reset();
								//common.removeClass(block,'active');
								hintText.className='active success';
								hintText.setAttribute('className','success');
								hintText.style.color='#017F01';
								hintText.innerHTML= nData.msg;//HINT_VERIFY_SUCCESS;
								status=0;
								successIcon.className='success';
								if(submitUagreeFlag){
									submitUagree();			//激活 下一步 按钮
								}
								if(openHandle){
									var textNode=document.createTextNode('| '+newDomain.value||newDomain.getAttribute('value')+' ');
									openHandle.parentNode.insertBefore(textNode,openHandle);
									var fontNode=document.createElement('font');
									fontNode.setAttribute('color','#197a30');
									fontNode.innerHTML='&nbsp;&nbsp;正在审核中...&nbsp;';
									openHandle.parentNode.insertBefore(fontNode,openHandle);
								}
							}
						}
					}
				}
			}
		});
	}
	
	function reset(){
		//newDomain.setAttribute('value','');
		newDomain.disabled=false;
		htmlCheckContent.setAttribute('value','');
		common.removeClass(checkContent,'active');
		common.removeClass(checkType1,'active');
		common.addClass(checkType0,'active');
		typeRadio[0].checked=true;
		common.removeClass(typeRadio[1].parentNode,'active');
		common.addClass(typeRadio[0].parentNode,'active');
		status=1;
		successIcon.className='';
		
		hintText.style.color='';
		
		if(openHandle){
			hintText.className='active hint';
			hintText.innerHTML='';
		}else{
			hintText.className='active hint';
			hintText.innerHTML= HINT_VERIFY;
		}
	}
	
	function setUrlToInput(){
		var hiddenDomainInput=document.getElementsByName('siteAddress')[0];
		if(hiddenDomainInput){
			hiddenDomainInput.value = SITE_URL_PRE + newDomain.value;
			//hiddenDomainInput.setAttribute('value', "http://www."+newDomain.value);
		}
	}

	
	this.getStatus=function(){
		return status;
	};
	
	
	this.init=function(args){
		
		checkBtn.onclick=onCheckDomain;
		
		completeCheckBtn.onclick=onSubmit;
		
		if(openHandle){
			openHandle.onclick=function(){
				if(common.hasClass(block,'active')){
					common.removeClass(block,'active');
					hintText.innerHTML='';
					hintText.className='';
				}else{
					common.addClass(block,'active');
					hintText.innerHTML='&nbsp;';
					hintText.className='active';
				}
				return false;
			}
		}
		
		newDomain.onblur=function(){
			var hiddenDomainInput=document.getElementsByName('siteAddress')[0];
			if(hiddenDomainInput){
				if(hiddenDomainInput.value == SITE_URL_PRE+newDomain.value){
					return;
				}
			}
		
			status=1;
			successIcon.className='';
			if(openHandle){
				hintText.className='active hint';
				hintText.innerHTML='&nbsp;';
			}else{
				hintText.className='active hint';
				hintText.innerHTML= HINT_VERIFY;
			}
			hintText.style.color='';
			
			setUrlToInput();
			if(submitUagreeFlag){
				submitUagree();		//激活 下一步 按钮
			}
		}
		
		
		//newDomain.onkeydown=function(event){
			//var event=event||window.event;
			//if(event.keyCode==13){
				//onCheckDomain();
				//setUrlToInput();
				//return false;
			//}
		//}
		
		typeRadio[0].onclick=function(){
			common.addClass(checkType0,'active');
			common.removeClass(checkType1,'active');
			common.addClass(this.parentNode,'active');
			common.removeClass(typeRadio[1].parentNode,'active');
			
			//hintText.className='active hint';
			hintText.innerHTML= "&nbsp;";			//切换标签，清空下面的提示信息
		}
		
		typeRadio[1].onclick=function(){
			common.addClass(checkType1,'active');
			common.removeClass(checkType0,'active');
			//alert(this.parentNode.nodeName);
			common.addClass(this.parentNode,'active');
			common.removeClass(typeRadio[0].parentNode,'active');
		
			Ajax({
				url:URL_GENERATE_META,
				method:'POST',
				data:'',
				success:function(data){
					if(data){
						var nData;
						try{
							nData=eval('('+data+')');
						}catch(e){
							//alert(e);	//服务器数据格式错误
							document.write(data);
						}finally{
							if(nData){
								if(nData.retCode=='0'){
									//onCheckDomainFail();
									htmlCheckContent.value="";
									hintText.innerHTML=nData.msg;		//服务器错误信息
									hintText.className='active wrong';
								}else if(nData.retCode=='1'){
									onCheckDomainSuccess(nData.msg);	//成功返回html验证代码
									
									//hintText.className='active hint';
									hintText.innerHTML= "&nbsp;";				//切换标签，清空下面的提示信息
								}
							}
						}
					}else{
						alert(ERROR_SERVER);
					}
				}
			});
		}
		
		cancelCheckBtn.onclick=function(){
			newDomain.disabled=false;
			//common.removeClass(checkContent,'active');
			reset();
			if(openHandle){
				hintText.className='active hint';
				hintText.innerHTML='&nbsp;';
			}
		}
		
		if(form){
			form.onsubmit=function(){
				return false;
			}
		}
		
		btnCloseHandle=$('addnew_close_handle');
		if(btnCloseHandle){
			btnCloseHandle.onclick=function(){
				common.removeClass(block,'active');
				hintText.innerHTML='';
				hintText.className='';
			}
			return false;
		}
		
		reset();
		
		return this;
	};
	
	return this.init(args);
}

var addnewSiteCheck=new AddNewSiteCheck();

var submitUagreeFlag=false;
try{
	if(submitUagree){
		submitUagreeFlag=true;
	}
}catch(e){}
