﻿        //确定事件
        function btnOK_click(event){
            //取消点击事件 ( 阻止提交 )
            function cancelEvent(event){
                if(event==null)
                    event=window.event;
                event.returnValue=false;
                if(event.preventDefault)
                    event.preventDefault();
            }
            //错误ul
            var divValidationSummary=document.getElementById("divValidationSummary");
            var ul=divValidationSummary.getElementsByTagName("ul")[0];
            if(ul==null)
                return;
            ul.style.color="red";
            //追加自定义验证的错误信息
            var CustomValidator1=document.getElementById("CustomValidator1");
            if(CustomValidator1.errArr.length>0){
                var arrLi=ul.getElementsByTagName("li");
                for(var i=0; i<arrLi.length; i++){
                    var li=arrLi[i];
                    if(li.innerHTML==""){
                        ul.removeChild(li);
                        break;
                    }
                }
                var li0=ul.firstChild;
                for(var i=0; i<CustomValidator1.errArr.length; i++){
                    var s=CustomValidator1.errArr[i];
                    var li=document.createElement("li");
                    li.innerHTML=s;
                    ul.insertBefore(li,li0);
                }
            }
            //显示错误信息
            if(ul.getElementsByTagName("li").length>0){
                var popup = new popWin(400,null,null,'newPopWin');
                window.popup=popup;
                popup.title = "信息不完整";
                popup.body = ul.parentNode.innerHTML;
                popup.footer = "<input type='button' value='关闭' class='Button' onclick='popup.close();' />";
                popup.closeCallback = function(){window.popup=null;}
                popup.fill();//将前面的数据设置填充到窗口
                ul.innerHTML="";
            }
        }

        //设置hidden的value
        function setHiddenValue (){
            //根据多个复选框设置hidden
            function setCheckListValue(hidden, container, forChecked, sign, plusItem){
                if(sign==null)
                    sign=",";
                if(forChecked==null){
                    forChecked=function(chk){
                        return chk.value;
                    }
                }
                hidden=document.getElementById(hidden);
                container=document.getElementById(container);
                var arrChk=container.getElementsByTagName("input");
                var arrValue=new Array();
                for(var i=0; i<arrChk.length; i++){
                    var chk=arrChk[i];
                    if(chk.checked==true)
                        arrValue.push(forChecked(chk));
                }
                if(plusItem!=null && plusItem!="")
                    arrValue.push(plusItem);
                hidden.value=arrValue.join(sign);
                if(hidden.value.length>0)
                    hidden.value=sign+hidden.value+sign;
            }
            //联接多个控件的值到hidden
            function setInputListValue(){
                var hidden=document.getElementById(arguments[0]); 
                var arrValue=new Array();
                for(var i=1; i<arguments.length; i++){
                    var input=document.getElementById(arguments[i]); 
                    var value=input.value.strip();
                    if(value=="" || input.selectedIndex==0)
                        return;
                    arrValue.push(value);
                }
                hidden.value=arrValue.join("-");
            }
            //服务组ID列表
            setCheckListValue("hiddenServiceGroup","divGroups");
            //服务组名列表
            setCheckListValue("hiddenServiceGroupName","divGroups", getLabelText);
            //首选组名
            var masterGroupName=$ExList("listMasterGroup").getText();
            if(masterGroupName==null)
                masterGroupName="";
            document.getElementById("hiddenMasterGroupName").value=masterGroupName;
            //服务时间
            setCheckListValue("hiddenServiceTime","tabServiceTime", function(chk){return chk.id;});
            //户 籍 地
            setInputListValue("hiddenNativePlace","NativePlace_Province","NativePlace_City");
            //籍　　贯
            setInputListValue("hiddenNative","Native_Province","Native_City");
            //所在支部
            setInputListValue("hiddenGovVisageAddress","GovVisage_Province","GovVisage_City","txtGovVisage");
            //特长爱好
            var txtFavorite=document.getElementById("txtFavorite");
            setCheckListValue("hiddenFavorite","tdFavorite", getLabelText, ",", txtFavorite.value.strip());
        }
        //自定义验证控件
        function myValidation(source, clientside_arguments){
            //设置hidden的value
            setHiddenValue();
            //
            var CustomValidator1=document.getElementById("CustomValidator1");
            CustomValidator1.errArr=new Array();
            validateOther(CustomValidator1.errArr);
            var result = CustomValidator1.errArr.length==0;
            clientside_arguments.IsValid=result;
            return result;
        }
        //自定义验证控件 之 身份证验证
        function validateIdCard(source, clientside_arguments){
            var txtIDcard=document.getElementById("txtIDcard");
            if(txtIDcard.value==""){
                clientside_arguments.IsValid=true;
                return;
            }
            var result=isChinaIDCard(txtIDcard.value);
            clientside_arguments.IsValid=result;
        }
        //其他验证
        function validateOther (arr){
            //验证列表框
            function validateList(list){
                var list=document.getElementById(list);
                return list.selectedIndex!=0
            }
            //义工类型
            var radUserType=document.getElementById("radUserType");
            if(radUserType!=null){
                var arrRad=radUserType.getElementsByTagName("input");
                var isOK=false;
                for(var i=0; i<arrRad.length; i++){
                    if(arrRad[i].checked==true)
                        isOK=true;
                }
                if(isOK==false)
                    arr.push("义工类型 是必选项。");
            }
            //所属中心
            if(validateList("listCenter")==false)
                arr.push("所属中心 是必选项。");
            //所属团体
            if($F("txtTeam").strip()!="" && $F("hiddenTeamCode").strip()=="")
                arr.push("请先点击“所属团体”项中的“检查名称”按钮。");
            //服 务 组
            if(document.getElementById("hiddenServiceGroup").value=="")
                arr.push("服务组 至少要选一个。");
            //首选组
            if(validateList("listMasterGroup")==false)
                arr.push("首选组 是必选项。");
            //服务时间
            if(document.getElementById("hiddenServiceTime").value=="")
                arr.push("服务时间 至少要选一个。");
            //性别
            if(validateList("listSex")==false)
                arr.push("性别 是必选项。");
            //民　　族
            if(validateList("listNation")==false)
                arr.push("民族 是必选项。");
            //户 籍 地
            if(validateList("NativePlace_Province")==false || validateList("NativePlace_City")==false)
                arr.push("户籍地 是必选项。");
            //籍　　贯
            if(validateList("Native_Province")==false || validateList("Native_City")==false)
                arr.push("籍贯 是必选项。");
            //政治面貌
            if(validateList("listGovVisage")==false)
                arr.push("政治面貌 是必选项。");
            //支部所在地
            if($("listGovVisage").value=="党员" && $("hiddenGovVisageAddress").value=="")
                arr.push("所在支部 是必填项。");
            //文化程度
            if(validateList("listLiteracy")==false)
                arr.push("文化程度 是必选项。");
            //联系电话
            if($F("txtMobile").strip()=="" && $F("txtOfficePhone").strip()=="" && $F("txtPhone").strip()=="")
                arr.push("联系电话 至少要填写一个。");
            //身份证号
            if($("spanExistIDcard").style.display=="inline")
                arr.push("身份证号 被占用。");
            //义工编号
            var txtLoveID=document.getElementById("txtLoveID");
            if(txtLoveID!=null){
                if($("spanExistLoveID").style.display=="inline")
                    arr.push("义工编号 被占用。");
            }

        }
        //政治面貌的党员联动
        function listGovVisage_click(){
            var spanGovVisage=document.getElementById("spanGovVisage");
            if(this.value=="党员"){
                spanGovVisage.style.display="";
            }else{
                spanGovVisage.style.display="none";
            }
        }
        //服务组复选框单击事件
        function chkGroup_click(me){
            var value=me.value;
            var text=getLabelText(me);
            var listMasterGroup=$ExList("listMasterGroup");
            if(me.checked==true){
                if(listMasterGroup.options.length>3){
                    alert("最多只能选三个组");
                    return false;
                }
                listMasterGroup.addItem(value,text);
            }else{
                listMasterGroup.remove(listMasterGroup.findByValue(value,true));
            }
            if(listMasterGroup.options.length==2){
                listMasterGroup.selectedIndex=1;
            }
            return true;
        }
        //产生服务组复选框
        function CreateCheckBox(arrDepartment){
            var divGroups=document.getElementById("divGroups");
            divGroups.innerHTML="";
            var list=$ExList("listMasterGroup");
            list.clear();
            list.addItem("","");
            if(arrDepartment instanceof Array==false)
                return;
            var arr=new Array();
            var templete0="<table><tr>{0}</tr></table>";
            var templete1="<td><input type=\"checkbox\" value=\"{0}\" onclick=\"return chkGroup_click(this);\" name=\"chkGroup\" id=\"{1}\" /><label for=\"{1}\">{2}</label></td>";
            for(var i=0; i<arrDepartment.length; i++){
                var item=arrDepartment[i];
                var value=item[0];
                var text=item[1];
                var id="chkGroup"+i;
                var style="";
                arr.push(templete1.format(value, id, text, style));
            }
            while(arr.length%4!=0){
                arr.push("<td>&nbsp;</td>");
            }
            var arr2=new Array();
            for(var i=0; i<arr.length; i++){
                if(i%4==0){
                    arr2.push("</tr><tr>");
                }
                arr2.push(arr[i]);
            }
            arr=null;
            arr2[0]=""
            divGroups.innerHTML=templete0.format(arr2.join("\r\n"));
            //设置选中项
            var hiddenServiceGroup=document.getElementById("hiddenServiceGroup");
            if(hiddenServiceGroup.value=="")
                return;
            var arrValue=hiddenServiceGroup.value.split(",");
            var arrChk =divGroups.getElementsByTagName("input");
            for(var i=0; i<arrValue.length; i++){
                var value=arrValue[i];
                for(var j=0; j<arrChk.length; j++){
                    var chk=arrChk[j];
                    if(chk.value==value){
                        chk.checked=true;
                        chk.onclick();
                        break;
                    }
                }
            }
            //还原
            restore();
        }
        
        //根据中心取得服务组
        function listCenter_change(){
            var parentId=this.value;
            if(parentId==""){
                CreateCheckBox(null);
                return;
            }

          
            var cenInfo=['宝安区新安二路105号  联系电话:27781000','宝安区宝城29区宝民一路202-8号新安街道社区综合服务大楼  联系电话:23496029','宝安区西乡街道办公大楼802  联系电话:27932043','福永街道办团工委608办公室  联系电话:27391460','宝安区沙井街道办事处805团工委办公室  联系电话:27729848','松岗街道文体中心右则二楼  联系电话:27718690', '石岩街道办事处附楼212室  联系电话:27619993','观澜街道办团工委801办公室  联系电话:28021434', '大浪街道行政服务大楼706室  联系电话:29672229', '龙华街道办事处515办公室  联系电话:27700775','民治街道办315室  联系电话:81718208','直属机关义工服务中心','宝安区教育局团委  联系电话:27781110','宝安区福永大洋开发区大洋路58号  联系电话:27318130'];
           
            var index=this.selectedIndex;
            var msg='您选择的是 '+this.options[index].text+' ,注册成功后, 请将资料上交到 '+cenInfo[index-1] ;
           
            var popup=new popWin(450,null,null,'newPopWarning');

            popup.title = "注册提示：";

            popup.body ='<div style="line-height:25px;">'+ msg+'</div>';
            popup.footer = "&nbsp;";
            popup.closeCallback = function(){window.popup=null;}
            popup.fill();//将前面的数据设置填充到窗口
           
            var _close=function()
            {
                if(popup)
                    popup.close();
            }
            setTimeout(_close,8000);
            
            var url='DepartmentAjax.GetByParentId2';
            var option=new Object();
            option.method = 'post';
            option.parameters ={parentId:parentId};
            option.onComplete=function(req){
                var arrDepartment=req.responseText.evalJSON();
                CreateCheckBox(arrDepartment);
            }
            req(url,option);
            var hiddenTeamCode=document.getElementById("hiddenTeamCode");
            var txtTeam=document.getElementById("txtTeam");
            var spanTeam=document.getElementById("spanTeam");
            spanTeam.innerHTML=''
            hiddenTeamCode.value='';
            txtTeam.value='';
            
        }
        
        var arrNation=['汉族','壮族','满族','回族','苗族','彝族','蒙古族','藏族','维吾尔族','布依族','朝鲜族','侗族','瑶族','白族','土家族','哈尼族','哈萨克族','傣族','黎族','傈僳族','佤族','畲族','高山族','拉祜族','水族','东乡族','纳西族','景颇族','柯尔克孜族','土族','达斡尔族','仫佬族','羌族','布朗族','撒拉族','毛南族','仡佬族','锡伯族','阿昌族','普米族','塔吉克族','怒族','乌孜别克族','俄罗斯族','鄂温克族','德昂族','保安族','裕固族','京族','塔塔尔族','独龙族','鄂伦春族','赫哲族','门巴族','珞巴族','基诺族'];
        //绑定民族列表框
        function bindNation(list){
            if((typeof list)=="string" || list instanceof String)
                list=document.getElementById(list);
            for(var i=0; i<arrNation.length; i++){
                var nation=arrNation[i];
                var option=document.createElement("option");
                option.value=nation;
                option.text=nation;
                list.options.add(option);
            }
        }
        
        //还原值
        function restore(){
            //取得数组
            function getArray(hidden, sign){
                if(sign==null)
                    sign=",";
                hidden=document.getElementById(hidden);
                if(hidden.value=="")
                    return null;
                var reg=new RegExp("^\\{0}|\\{0}$".format(sign),"g");
                return hidden.value.replace(reg,"").split(sign);
            }
            //还原列表框的值
            function restoreList(list,value){
                list=document.getElementById(list);
	            var count=list.options.length;
	            for(var i=0; i<count; i++){
		            if (list.item(i).value==value){
			            list.selectedIndex=i;
			            if(list.onchange!=null)
			                list.onchange();
			            return;
		            }
	            }
            }
            //还原复选框的值
            function restoreCheckBox(arrValue, container, getValue){
                container=document.getElementById(container);
	            var arrChk=container.getElementsByTagName("input");
	            for(var i=0; i<arrValue.length; i++){
	                var value0=arrValue[i];
	                for(var j=0; j<arrChk.length; j++){
	                    var chk=arrChk[j];
	                    if(chk.type!="checkbox")
	                        continue;
	                    if(chk.theValue==null)
	                        chk.theValue=getValue(chk);
	                    if(value0==chk.theValue){
	                        chk.checked=true;
	                        arrValue[i]=null;
	                        break;
	                    }
	                }
	            }
            }
            //户 籍 地
            var arr=getArray("hiddenNativePlace","-");
            if(arr==null)
                return;
            restoreList("NativePlace_Province",arr[0]);
            restoreList("NativePlace_City",arr[1]);
            //籍　　贯
            arr=getArray("hiddenNative","-");
            restoreList("Native_Province",arr[0]);
            restoreList("Native_City",arr[1]);
            //民　　族
            arr=getArray("hiddenNation","-");
            restoreList("listNation",arr[0]);
            //主要组
            restoreList("listMasterGroup",document.getElementById("hiddenMasterGroup").value);
            //所在支部
            arr=getArray("hiddenGovVisageAddress","-");
            if(arr!=null){
                restoreList("GovVisage_Province",arr[0]);
                restoreList("GovVisage_City",arr[1]);
                $("txtGovVisage").value=arr[2];
            }
            //服务时间
            arr=getArray("hiddenServiceTime");
            restoreCheckBox(arr,"tabServiceTime",function(chk){return chk.id;});
            //特长爱好
            function Favorite_forChecked(chk){
                var label=chk.nextSibling;
                if(label.tagName!="LABEL")
                    label=label.nextSibling;
                var name=label.innerHTML;
                return name;
            }
            arr=getArray("hiddenFavorite",",");
            if(arr!=null){
                restoreCheckBox(arr,"tdFavorite",Favorite_forChecked);
                var txtFavorite=document.getElementById("txtFavorite");
                for(var i=0; i<arr.length; i++){
                    if(arr[i]!=null){
                        if(txtFavorite.value.length>0)
                            txtFavorite.value+=",";
                        txtFavorite.value+=arr[i];
                    }
                }
            }
        }
        
        //身份证是否被占用
        function txtIDcard_blur(){
            var spanExistIDcard=document.getElementById("spanExistIDcard");
            var idCard=this.value.strip();
            if(idCard==""){
                spanExistIDcard.style.display="none";
                return;
            }
            var url='UserAjax.ExistIDCard';
            var option=new Object();
            option.method = 'post';
            option.parameters ={idCard:idCard};
            option.onComplete=function(req){
                var isExist=req.responseText.evalJSON();
                spanExistIDcard.style.display=(isExist==true?"inline":"none");
            }
            req(url,option);
        }
        //义工编号是否被占用
        function txtLoveID_blur(){
            var spanExistLoveID=document.getElementById("spanExistLoveID");
            var loveId=this.value.strip();
            if(loveId==""){
                spanExistLoveID.style.display="none";
                return;
            }
            var url='UserAjax.ExistSingleNumber';
            var option=new Object();
            option.method = 'post';
            option.parameters ={loveId:loveId};
            option.onComplete=function(req){
                var isExist=req.responseText.evalJSON();
                spanExistLoveID.style.display=(isExist==true?"inline":"none");
            }
            req(url,option);
        }
        
        //初始化
        function initial(){
            var listGovVisage=document.getElementsByName("listGovVisage")[0];
            listGovVisage.onchange=listGovVisage_click;
            listGovVisage.onchange();
            var btnOK=document.getElementById("btnOK");
            Event.observe(btnOK, 'click',btnOK_click);
            var listCenter=document.getElementById("listCenter");
            listCenter.onchange=listCenter_change;
            listCenter.onchange();
            var txtBirthday=document.getElementById("txtBirthday");
            txtBirthday.onfocus=function(){
                c.show(this);
            }
            txtBirthday.onblur=function(){
                var m=this.value.match(/^(\d{4})(\d{2})(\d{2})$/);
                if(m!=null){
                    this.value="{0}-{1}-{2}".format(m[1],m[2],m[3]);
                }
                c.delayHide();
            }
            var txtPassDate=document.getElementById("txtPassDate");
            if(txtPassDate!=null){
                txtPassDate.onfocus=txtBirthday.onfocus;
                txtPassDate.onblur=txtBirthday.onblur;
            }
            var txtIDcard=document.getElementById("txtIDcard");
            txtIDcard.onblur=txtIDcard_blur;
            var txtLoveID=document.getElementById("txtLoveID");
            if(txtLoveID!=null)
                txtLoveID.onblur=txtLoveID_blur;
            
            bindNation("listNation");
        }
        
        //加载事件
        window.onload=function(){
            bindProvince("NativePlace_Province");
            bindProvince("Native_Province");
            bindProvince("GovVisage_Province");
            initial();
            ininSelectCenter();
        }
        
function CheckTeamName(){
    var listCenter=document.getElementById("listCenter");
    var departmentId=listCenter.value.strip();
    if (departmentId==""){
        alert("请先选择所属中心。");
        return;
    }
    var txtTeam=document.getElementById("txtTeam");
    var company=txtTeam.value.strip();
    if(company==""){
        return;
    }
    var url='TeamAjax.GetTeamCode';
    var option=new Object();
    option.method = 'post';
    option.parameters ={departmentId:departmentId,company:company};
    option.onComplete=function(req){
        var spanTeam=document.getElementById("spanTeam");
        var hiddenTeamCode=document.getElementById("hiddenTeamCode");
        var result=req.responseText.evalJSON();
        if(result==""){
            spanTeam.innerHTML=" × ";
            spanTeam.style.color="red";
        }else{
            arrResult=result.split("\n");
            var teamCode=arrResult[0];
            var company=arrResult[1];
            hiddenTeamCode.value=teamCode;
            txtTeam.value=company;
            spanTeam.innerHTML=" √ ";
            spanTeam.style.color="green";
        }
        spanTeam.style.visibility="visible";
    }
    req(url,option);
}      
function txtTeam_Change(){
    var spanTeam=document.getElementById("spanTeam");
    var hiddenTeamCode=document.getElementById("hiddenTeamCode");
    hiddenTeamCode.value="";
    spanTeam.style.visibility="hidden";
}  

function ininSelectCenter()
{
    var listCenter=document.getElementById('listCenter');
    var centerId='a6fb8265-42fb-43ad-a84e-e7304efccde1';
    if(listCenter)
    {
        listCenter.value=centerId;
        listCenter.onchange();   
    }
}

function GetTeamList(){
    var listCenter=document.getElementById("listCenter");
    var departmentId=listCenter.value.strip();
    if (departmentId==""){
        alert("请先选择所属中心。");
        return;
    }
    var url='TeamAjax.GetTeamList';
    var option=new Object();
    option.method = 'post';
    option.parameters ={departmentId:departmentId};
    option.onComplete=function(req){       
        var dateTable=req.responseText.evalJSON();
        if(dateTable!=null)
        {
            responseTable(dateTable);
        }
        else
        {
            alert("此中心暂无团体义工队！");
        }       
    }
    req(url,option);
} 

function responseTable(dateTable)
{
    popup=new popWin(450,null,null,'newPopWinTTList');
    popup.title = "团体义工队列表：";
    var tab='<table id="tbTTLsit">';
    var rowCount=dateTable.Rows.length;
    for(var i=0;i<rowCount;i++)
    {
        if(i%2==0)
        {
            tab+='<tr>';
            tab+='<td><a href="javascript:void(0);" title=\''+dateTable.Rows[i].Company+'\' onclick="toSelectIt(\''+dateTable.Rows[i].TeamId+'\',\''+dateTable.Rows[i].Company+ '\');">'+dateTable.Rows[i].Company+'</a></td>';
        }
        else
        {
            tab+='<td><a href="javascript:void(0);" title=\''+dateTable.Rows[i].Company+'\' onclick="toSelectIt(\''+dateTable.Rows[i].TeamId+'\',\''+dateTable.Rows[i].Company+ '\');">'+dateTable.Rows[i].Company+'</a></td>';
            tab+='</tr>';
        }
    }
    if(rowCount%2!=0)
    {
        tab+='<td>&nbsp;</td>';
        tab+='</tr>';
    }    
    tab+="</table>";    
    popup.body = "<div style=\" padding-left:15px;\">"+tab+"</div>";
    popup.footer = "&nbsp;";
    popup.closeCallback = function(){window.popup=null;}
    popup.fill();//将前面的数据设置填充到窗口
}

function toSelectIt(teamId, company)
{
    popup.close();
    var hiddenTeamCode=document.getElementById("hiddenTeamCode");
    var txtTeam=document.getElementById("txtTeam");
    hiddenTeamCode.value=teamId;
    txtTeam.value=company;
}

