﻿	var isIE = false;
	var targetObject;
	var sourceObject;
	var flagObject;
	var infoObject;
	var gif;
	var kind;
	var xmlhttp;
	
	
		var setOuterHtml = function(s){ 
			var range = this.ownerDocument.createRange(); 
			range.setStartBefore(this); 
			var fragment = range.createContextualFragment(s); 
			this.parentNode.replaceChild(fragment, this); 
		}; 
		if(window.HTMLElement) { 
		  HTMLElement.prototype.__defineSetter__("outerHTML", setOuterHtml); 
		}
	
	function createXMLhttpRequest(){
	  if(window.XMLHttpRequest)   {   //Mozilla   浏览器  
		  xmlhttp   =   new   XMLHttpRequest();  
		  if(xmlhttp.overrideMimeType)   {//设置MiME类别  
			  xmlhttp.overrideMimeType("text/xml");  
		  }  
	  }else if (window.ActiveXObject)   {   //   IE浏览器  
	  	  isIE = true;
		  try {  
			  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  
		  }catch(e){  
			  try{  
				  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
			  }catch(e){}  
		  }  
	  }  
	}
//========page event list =================================	
	function selectChange(url,targetObj,sourceObj,wait_gif){
		kind="city";		
		targetObject= document.getElementById(targetObj);//获取select标记 
		targetObject.options.length=1;
		sourceObject= document.getElementById(sourceObj); 
		targetObject.disabled=true;
		gif= document.getElementById(wait_gif); 
		gif.style.display="block"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);		
	}
	function nicknameChange(url,targetObj,sourceObj,wait_gif){
		kind="nicknameIsRepeat";
		targetObject= document.getElementById(targetObj);   
		sourceObject= document.getElementById(sourceObj); 
		gif= document.getElementById(wait_gif); 
		gif.style.visibility="visible"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function eventCardChange(url,targetObj,sourceObj,wait_gif){
		kind="eventCardIsRepeat";
		targetObject= document.getElementById(targetObj);   
		sourceObject= document.getElementById(sourceObj); 
		gif= document.getElementById(wait_gif); 
		gif.style.visibility="visible"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function emailChange(url,targetObj,sourceObj,wait_gif){
		kind="emailIsRepeat";
		targetObject= document.getElementById(targetObj);   
		sourceObject= document.getElementById(sourceObj); 
		gif= document.getElementById(wait_gif); 
		gif.style.visibility="visible"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function inputFeedbackUserEmail(url,targetObj,sourceObj,flagObj,wait_gif){
		kind="inputFeedbackUserEmail";
		targetObject= document.getElementById(targetObj);   
		sourceObject= document.getElementById(sourceObj); 
		flagObject= document.getElementById(flagObj); 
		gif= document.getElementById(wait_gif); 
		gif.style.visibility="visible"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function cardChange(url,targetObj,sourceObj){
		kind="cardcheck";
		//alert("aaaaa")
		targetObject= document.getElementById(targetObj);   
		sourceObject= document.getElementById(sourceObj); 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function feedbackCardChange(url,targetObj,sourceObj,infoObj,wait_gif){
		kind="feedbackCardcheck";
		targetObject= document.getElementById(targetObj);   
		sourceObject = document.getElementById(sourceObj); 
		infoObject = document.getElementById(infoObj); 
		gif = document.getElementById(wait_gif); 
		gif.style.visibility="visible"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function feedbackInviteVote(url,targetObj){
		kind="feedbackInviteVote";
		targetObject= document.getElementById(targetObj);   
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function checkCode(url,targetObj){
		kind="inviteCode";
		targetObject= document.getElementById(targetObj);  
		
		//sourceObject= document.getElementById(sourceObj); 
		//gif= document.getElementById(wait_gif); 
		//gif.style.visibility="visible"; 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	function modifyFeedbackUserEmail(url,targetObj,sourceObj,flagObj,infoObj){
		kind="modifyFeedbackUserEmail";
		targetObject= document.getElementById(targetObj);   
		sourceObject= document.getElementById(sourceObj); 
		flagObject= document.getElementById(flagObj); 
		infoObject= document.getElementById(infoObj); 
		createXMLhttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = callback;
		xmlhttp.send(null);
	}
	
	
	
//=========end page event list=======================	
	function callback(){
		var msg;
		if(xmlhttp.readyState==4){
			if(xmlhttp.status==200){
				if(isIE){
					msg = gb2utf8(xmlhttp.responseBody);
				}else{
					msg = xmlhttp.responseText;
				}
				//alert(msg);
				if(kind=="city") changeCity(msg);
				if(kind=="emailIsRepeat") showEmailInfo(msg);
				if(kind=="nicknameIsRepeat") showNicknameInfo(msg);
				if(kind=="inviteCode") showCheckInviteCode(msg);
				if(kind=="cardcheck") showCheckCard(msg);
				if(kind=="feedbackCardcheck") showFeedbackCheckCard(msg);
				if(kind=="eventCardIsRepeat") showCheckEventCard(msg);
				if(kind=="feedbackInviteVote") showVote(msg);
				if(kind=="inputFeedbackUserEmail") showInputFeedbackUserEmail(msg);
				if(kind=="modifyFeedbackUserEmail") showModifyFeedbackUserEmail(msg);
				
				
				//else if(kk='') show
				
			}else{
				alert("xmlhttp.status="+xmlhttp.status);
			}
		}
	}
//====== System effect ======================
	
	function changeCity(message){
        var colls = targetObject.options; //获取引用
		var tempxml = xmlhttp.responseXML.getElementsByTagName("item");
		for(var i = 0 ; i < tempxml.length ; i++){
			var menuName = xmlhttp.responseXML.getElementsByTagName("name")[i].firstChild.data;
			var menuId = xmlhttp.responseXML.getElementsByTagName("mid")[i].firstChild.data;
			
            var menuitem = new Option(menuName,menuId);    //通过Option()构造函数创建option对象        
            targetObject.options.add(menuitem); //添加到options集合中
   		}
		targetObject.disabled=false;
		document.getElementById("progressMsg").style.display="none"; 

	}
	function changeSeries(message){
        var colls = targetObject.options; //获取引用
		var tempxml = xmlhttp.responseXML.getElementsByTagName("item");
		for(var i = 0 ; i < tempxml.length ; i++){
			var menuName = xmlhttp.responseXML.getElementsByTagName("name")[i].firstChild.data;
			var menuId = xmlhttp.responseXML.getElementsByTagName("mid")[i].firstChild.data;
			//alert(menuName);
            var menuitem = new Option(menuName,menuId);    //通过Option()构造函数创建option对象        
            targetObject.options.add(menuitem); //添加到options集合中
   		}
		//alert(menuitem);
		targetObject.disabled=false;
		document.getElementById("wait_gif").style.visibility="hidden"; 
	}
	
	function showCheckCard(isRepeat){
		targetObject.style.display="";
		if(isRepeat=="true"){
			targetObject.innerHTML="<div class='tips_red'>会员卡号有误，请重新输入！</div>";
			cardPass="no";
			sourceObject.focus();
			sourceObject.select();
		}else{
			//alert("right");
			targetObject.innerHTML='<img src="/images/check_right.gif"/>';
			cardPass="yes";
		}
	}
	
	function showFeedbackCheckCard(result){
		document.getElementById("span_email_info").style.display="none";
		document.getElementById("span_email").innerHTML="";
		targetObject.value = result;
		if(result=="null"){
			infoObject.style.display = "";
			infoObject.innerHTML="当前卡号不存在";
			gif.src="/images/check_error.gif";
		}else if(result=="new"){
			infoObject.style.display = "none";
			gif.src="/images/check_right.gif";
		}else if(result=="used"){
			infoObject.style.display = "";
			infoObject.innerHTML="您已参加过本次活动啦！请在2月1日至2月7日到宜家商场会员店领取您的迷你卡";
			gif.src="/images/check_error.gif";
		}else{
			infoObject.style.display = "none";
			gif.src="/images/check_right.gif";
			document.getElementById("email").value=result;
		}
	}
	
	
	function showCheckEventCard(isRepeat){
		targetObject.style.display="";
		if(isRepeat=="true"){
			targetObject.innerHTML="";
			eventCardPass="yes";
		}else{
			targetObject.innerHTML="<div class='tips_red'>输入的卡号已被使用,请重试</div>";
			eventCardPass="no";
			sourceObject.focus();
			sourceObject.select();
		}
		gif.style.visibility="hidden";
	}
	function showNicknameInfo(isRepeat){
		targetObject.style.display="";
		if(isRepeat=="true"){
			targetObject.innerHTML="";
			nicknamePass="yes";
		}else{
			targetObject.innerHTML="<div class='tips_red'>输入的昵称已被使用,请重试</div>";
			nicknamePass="no";
			sourceObject.focus();
			sourceObject.select();
		}
		gif.style.visibility="hidden";
	}
	function showEmailInfo(isRepeat){
		targetObject.style.display="";
		if(isRepeat=="true"){
			targetObject.innerHTML="<div class='tips_red'>恭喜！当前Email尚未被使用</div>";
			emailPass="yes";
		}else{
			targetObject.innerHTML="<div class='tips_red'>输入的Email已注册,请重试</div>";
			emailPass="no";
			sourceObject.focus();
			sourceObject.select();
		}
		gif.style.visibility="hidden";
	}
	
	function showInputFeedbackUserEmail(isExist){
		if(isExist.indexOf("y")>=0){//该死的IE会吃数据，会把奇数长的字符串的最后一位去掉，所以，曾经用"yes"只能得到"ye",所以才会有现在的这种奇怪的判断
			flagObject.value="true";
			targetObject.style.display="none";
		}else{
			targetObject.style.display="";
			targetObject.innerHTML="<div class='tips_red'>请输入您上传照片时所填写的邮箱</div>";
			flagObject.value="false";
			sourceObject.focus();
			sourceObject.select();
		}
		gif.style.visibility="hidden";
	}
	
	function showModifyFeedbackUserEmail(isExist){
		targetObject.style.display="";
		flagObject.value = isExist;
		if(isExist == "true"){
			targetObject.innerHTML="此邮箱已被其它卡号注册，请更换邮箱";
			infoObject.innerHTML='<img src="/images/check_error.gif"/>';
			//sourceObject.focus();
			//sourceObject.select();
		}else{
			targetObject.style.display="none";
			infoObject.innerHTML='<img src="/images/check_right.gif"/>';
		}
	}
	
	
	function showCheckInviteCode(email){
		if(email!=""){
			inviteCode=1;
			var tempxml = xmlhttp.responseXML.getElementsByTagName("email")[0].firstChild.data;
			targetObject.value=tempxml;
		}
	}
	
	function showVote(voteCount){
		if(voteCount == "error"){
			alert("参数错误，投票失败");
			return false;
		}else if(voteCount == "codeError"){
			showCodeError();//在JSP页里代码，提示验证码出错
			return false;
		}else if(voteCount == "repeat"){
			alert("您已经为该用户投过票了！活动期间，同一IP地址，只能对同一用户投票一次。");
			return false;
		}else{
			//alert("投票成功！");
			//targetObject.innerHTML=voteCount;
			showVoteResult();//调用当前JSP页的方法
			return true;
		}
	}
//====== end system effect ===============================	
	function gb2utf8(data){
		var glbEncode = [];
		gb2utf8_data = data;
		execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
		var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
		//t3=escape(t2).replace(/%([A-Z].)%(.{2})/g,"@$1$2");
		//alert("\n"+unescape(t2));
		t=t.split("@");
		var i=0,j=t.length,k;
		//alert("i: "+i+" j: "+j);
		while(++i < j){
		   // alert("test: "+t[i]);
			k=t[i].substring(0,4);
			if(!glbEncode[k]) {
				gb2utf8_char = eval("0x"+k);
				execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
				glbEncode[k]=escape(gb2utf8_char).substring(1,6);
			}
			t[i]=glbEncode[k]+t[i].substring(4);
		}
		gb2utf8_data = gb2utf8_char = null;
		return unescape(t.join("%"));
		}
		
		
		
