﻿// JScript 檔

function AddNewPolicy(obj)
{
    var inputDate=document.getElementById("PolicyBaseData2").childNodes[0].childNodes[1].childNodes[1].childNodes[0].value;
    var inputDate1=inputDate.split("/");
    var selectInsuredIdx=document.getElementById("selectInsure").value;//主被保險人index
    if(inputDate1.length==3)
    {
        if(IfDateA(inputDate1[0],inputDate1[1],inputDate1[2]))
        {
            var chkNode=null;
            chkNode=document.getElementById("PolicyBaseData2").childNodes[0].childNodes[1].childNodes[3].childNodes[0];
            if(!chkNode.hasChildNodes())
            {
                alert("至少需先輸入一筆客戶資料!");
                return;
            }
            
            var policyNoObj = document.getElementById("PolicyNo");    
            chkNode=document.getElementById("PolicyBaseData3");
            for(var i=0;i<chkNode.childNodes.length;i++)
            {
                if(policyNoObj.value==chkNode.childNodes[i].firstChild.lastChild.lastChild.lastChild.firstChild.value.split("|")[3])
                {
                    alert("此保單號碼已存在!");
                    return;
                }
            }
            
            var customerNoObj = document.getElementById("CustomerNo");    
            chkNode=document.getElementById("PolicyBaseData3");
            if (selectInsuredIdx==""){
                document.getElementById("selectInsure").value=customerNoObj.value;
                selectInsuredIdx=customerNoObj.value;
            }else{
                if (customerNoObj.value!="" && customerNoObj.value!=selectInsuredIdx){
                    alert("主被保險人必需為同一人!");
                    return;
                }
            }
           
           
//            for(var i=0;i<chkNode.childNodes.length;i++)
//            {
//                if(customerNoObj.value==chkNode.childNodes[i].firstChild.lastChild.lastChild.lastChild.firstChild.value.split("|")[6])
//                {

//                }
//                else
//                {
//                    alert("主被保險人必需為同一人!");
//                    return;
//                }
//            }
            
            currentButton=obj;
            currentButton.disabled=true;
            currentButton.value="下載中...";
            policyNo=null;
            if(policyNoObj != null)
            {
                policyNo=policyNoObj;
                var obj=document.getElementById("company");
                companyName=obj;
                selectChange1(policyNo,obj);
                
                
            var oData = document.getElementById("PolicyBaseData2").childNodes[0];
            var insertPoint = document.getElementById("PolicyBaseData2").childNodes[0].childNodes[1].childNodes[5].childNodes[0];
           // var items = insertPoint.getElementsByTagName("item");
            for( i=insertPoint.length-1; i>=0; i--)
            {
                if (insertPoint[i].value!=selectInsuredIdx){
                    insertPoint.removeChild(insertPoint[i]);    
                }
            
            }

            
            var oTarget = document.getElementById("PolicyBaseData3");
            
            var oDiv = document.createElement("div");
            var oTable = document.createElement("table");
            var oTHead = document.createElement("thead");
            var oTBody = document.createElement("tbody");
            var oTRow = null;
            var oTCol = null;
            var oSubData;
            var oInputData = "";
            var oOutputData = "";

            oDiv.className="div-big";
            oTable.setAttribute("width","100%");
            oTRow = document.createElement("TR");
            
            CreateTDs_PolicyHead(oTRow);
            
            oTHead.appendChild(oTRow);
            //#################################
            oTRow = document.createElement("TR");
            
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            var img=document.createElement("img");
            img.setAttribute("src","images/icon_home.gif");
            img.setAttribute("alt","收合險種");
            img.onclick=function()
            {
                var rootItem=window.event.srcElement.parentNode.parentNode.parentNode.parentNode.parentNode;
                if(rootItem.childNodes[1].style.display=='')
                {
                    rootItem.childNodes[1].style.display='none';
                }
                else
                {
                    rootItem.childNodes[1].style.display='';
                }
            };
            oTCol.appendChild(img);
            oTRow.appendChild(oTCol);
            //繳費方式
            oSubData=oData.childNodes[0].childNodes[1].childNodes[0];
            oInputData=oSubData[oSubData.selectedIndex].text;
            oOutputData += oSubData[oSubData.selectedIndex].value + "|";
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.innerText=oInputData;
            oTRow.appendChild(oTCol);
            //保險公司
            oSubData=oData.childNodes[0].childNodes[3].childNodes[0];
            oInputData=oSubData[oSubData.selectedIndex].text;
            oOutputData += oSubData[oSubData.selectedIndex].value + "|" + oSubData[oSubData.selectedIndex].text + "|";
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.innerText=oInputData;
            oTRow.appendChild(oTCol);
            //保單號碼
            oSubData=oData.childNodes[0].childNodes[5].childNodes[0];
            oInputData=oSubData.value;
            oOutputData += oInputData + "|";
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.innerText=oInputData;
            oTRow.appendChild(oTCol);
            //投保日期
            oSubData=oData.childNodes[1].childNodes[1].childNodes[0];
            oInputData=oSubData.value;
            oOutputData += oInputData + "|";
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.innerText=oInputData;
            oTRow.appendChild(oTCol);
            //要保人
            oSubData=oData.childNodes[1].childNodes[3].childNodes[0];
            oInputData=oSubData[oSubData.selectedIndex].text;
            oOutputData += oSubData[oSubData.selectedIndex].value + "|";
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.innerText=oInputData;
            oTRow.appendChild(oTCol);
            //主被保險人
            oSubData=insertPoint;//oData.childNodes[1].childNodes[5].childNodes[0];
            oInputData=insertPoint[insertPoint.selectedIndex].text//oSubData[oSubData.selectedIndex].text;
            oOutputData +=insertPoint[insertPoint.selectedIndex].value + "|"; //oSubData[oSubData.selectedIndex].value + "|";
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.innerText=oInputData;
            oTRow.appendChild(oTCol);

            var hiddenItem = document.createElement("input");
            hiddenItem.setAttribute("type","hidden");
            hiddenItem.setAttribute("value",oOutputData);

            var deleteItem = document.createElement("input");
            deleteItem.setAttribute("type","button");
            deleteItem.setAttribute("value","下載中...");
            deleteItem.className="delete";
            deleteItem.disabled=true;
            deleteItem.onclick=function()
            {
                var targetItem=this.parentNode.parentNode.parentNode.parentNode.parentNode;
                var targetItemParent=targetItem.parentNode;
                targetItemParent.removeChild(targetItem);
            };
            
            oTCol = document.createElement("TD");
            oTCol.className="tdformcontent";
            oTCol.appendChild(hiddenItem);
            oTCol.appendChild(deleteItem);
            oTRow.appendChild(oTCol);
            
            oTBody.appendChild(oTRow);
            currentDeleteButton=oTBody.lastChild.lastChild.lastChild; 
            
            oTable.appendChild(oTHead);
            oTable.appendChild(oTBody);
            oDiv.appendChild(oTable);
            oTarget.appendChild(oDiv);
            
            }
        }
    }
    else
    {
        alert("日期格式不對!!");
    }
}
//新增保單並預設取得險種類別(壽險主約)
function selectChange1(policyNo,obj)
{
    //setQueryString();
    var url="Receive1.aspx?item=" + obj[obj.selectedIndex].value;
    url += (url.indexOf("?")==-1?"?":"&") + "timestamp=" + new Date().getTime();
    httpRequest("GET",url,true,handleResponse1);
}
//選擇險種類別以取得險種名稱
function selectChange2(companyNo,obj)
{
    //setQueryString();
    var url="Receive2.aspx?item=" + companyNo + "&class=" + obj[obj.selectedIndex].value;
    url += (url.indexOf("?")==-1?"?":"&") + "timestamp=" + new Date().getTime();
    httpRequest("GET",url,true,handleResponse2);
}
//選擇險種名稱以取得險種年期
function selectChange3(companyNo,obj)
{
    //setQueryString();
    var objValue=obj[obj.selectedIndex].value.split("|");
    if(objValue != null && objValue != "")
    {
             
  //      targetNode=obj.parentNode.parentNode.childNodes[4];
 //       reset(targetNode);
        
        if(objValue[4]=="1")
        {
         //   alert("另一個");
            
          //  targetNode.appendChild(document.createTextNode(objValue[3]));
            var url="Receive4.aspx?item=" + companyNo + "&mark=" + objValue[1];
            url += (url.indexOf("?")==-1?"?":"&") + "timestamp=" + new Date().getTime();
            httpRequest("GET",url,true,handleResponse4);
          //  alert("test");
        }
        else
        {
                   
            var inp = document.createElement("input");
            amountInput(inp);
            targetNode.appendChild(inp);
            targetNode.appendChild(document.createTextNode(objValue[3]));
        }
        
       
       
    }
    else
    {
        var targetNode=null;
        targetNode=obj.parentNode.parentNode.childNodes[2].firstChild;
        reset(targetNode);
        targetNode=obj.parentNode.parentNode.childNodes[4];
        reset(targetNode);
    }
}
//選擇險種名稱以取得險種年期
function selectChangeYear(companyNo,obj)
{
    //setQueryString();
    var objValue=obj[obj.selectedIndex].value.split("|");
    if(objValue != null && objValue != "")
    {
       
         var targetNode=obj.parentNode.parentNode.childNodes[4];
        reset(targetNode);
        var url="Receive3.aspx?item=" + companyNo + "&mark=" + objValue[1];
        url += (url.indexOf("?")==-1?"?":"&") + "timestamp=" + new Date().getTime();
       
        httpRequest("GET",url,true,handleResponse3);
        
         
        if(objValue[4]=="1")
        {
         
        }
        else
        {
                   
            var inp = document.createElement("input");
            amountInput(inp);
            targetNode.appendChild(inp);
            targetNode.appendChild(document.createTextNode(objValue[3]));
        }
    }
    else
    {
    var targetNode=null;
        targetNode=obj.parentNode.parentNode.childNodes[2].firstChild;
        reset(targetNode);
        targetNode=obj.parentNode.parentNode.childNodes[4];
        reset(targetNode);
    }
}
function handleResponse1()
{
    if(request.readyState == 4)
    {
        if(request.status == 200)
        {
            var resp =  request.responseText;
            if (resp != null)
            {
                var func = new Function("return "+resp);
                var objt = func();
                var oDiv = document.getElementById("PolicyBaseData3").lastChild;
                
                var addNewItem = document.createElement("input");
                    addNewItem.setAttribute("type","button");
                    addNewItem.setAttribute("value","新增");
                    addNewItem.className="blue";
                    addNewItem.onclick=function()
                    {
                        var oData = this.parentNode.parentNode.parentNode.parentNode.firstChild.lastChild;  //thead->tr
                        var oTBody = this.parentNode.parentNode.parentNode.parentNode.lastChild;
                        var oTRow = null;
                        var oTCol = null;
                        var oSubData;
                        var oInputData = "";
                        var oOutputData = "";
                        var chkNode=null;
                        chkNode=oData.childNodes[1].firstChild;
                        if(chkNode.value=="")
                        {
                            alert("請選擇險種名稱!");
                            return;
                        }
       
                        oTRow = document.createElement("TR");
       
                        //險種類別
                        oSubData=oData.childNodes[0].firstChild;
                        oInputData=oSubData[oSubData.selectedIndex].text;
                        oOutputData += oSubData[oSubData.selectedIndex].value + "|";
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.innerText=oInputData;
                        oTRow.appendChild(oTCol);
                        
                        //險種名稱
                        oSubData=oData.childNodes[1].firstChild;
                        oInputData=oSubData[oSubData.selectedIndex].text;
                        oOutputData += oSubData[oSubData.selectedIndex].value.split("|")[1] + "|";
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.innerText=oInputData;
                        oTRow.appendChild(oTCol);
                        //險種年期
                        
                        oSubData=oData.childNodes[2].firstChild;
                        if(oSubData.hasChildNodes())
                        {
                            oInputData=oSubData[oSubData.selectedIndex].text;
                            oOutputData += oSubData[oSubData.selectedIndex].value + "|";
                        
                        }
                        else
                        {
                            oInputData="";
                            oOutputData += "|";
                        
                        }
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.innerText=oInputData;
                        oTRow.appendChild(oTCol);
                        //投保對象
                        
                        oSubData=oData.childNodes[3].firstChild;
                        oInputData=oSubData[oSubData.selectedIndex].text;
                        oOutputData += oSubData[oSubData.selectedIndex].value + "|";
                        
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.innerText=oInputData;
                        oTRow.appendChild(oTCol);
                        //保額/單位
                         
                        oSubData=oData.childNodes[4].firstChild;
                        if(oSubData.tagName.toLowerCase()=="select")
                        {
                            oInputData=oSubData[oSubData.selectedIndex].text;
                            oOutputData += oSubData[oSubData.selectedIndex].value + "|";
                            
                        }
                        else
                        {
                            oInputData=oSubData.value;
                            oOutputData += oInputData + "|";
                            
                        }
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.innerText=oInputData;
                        oTRow.appendChild(oTCol);
                        //保費
                        oSubData=oData.childNodes[5].firstChild;
                        oInputData=oSubData.value;
                        oOutputData += oInputData;
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.innerText=oInputData;
                        oTRow.appendChild(oTCol);
                        //刪除
                        var hiddenItem = document.createElement("input");
                        hiddenItem.setAttribute("type","hidden");
                        hiddenItem.setAttribute("value",oOutputData);

                        var deleteItem = document.createElement("input");
                        deleteItem.setAttribute("type","button");
                        deleteItem.setAttribute("value","刪除");
                        deleteItem.className="delete";
                        deleteItem.onclick=function()
                        {
                            var targetItem=this.parentNode.parentNode;
                            var targetItemParent=targetItem.parentNode;
                            targetItemParent.removeChild(targetItem);
                        };
                        
                        oTCol = document.createElement("TD");
                        oTCol.className="tdformcontent";
                        oTCol.appendChild(hiddenItem);
                        oTCol.appendChild(deleteItem);
                        oTRow.appendChild(oTCol);
                        
                        oTBody.appendChild(oTRow);
                    };
//                    
//                var ok = document.createElement("input");
//                    ok.setAttribute("type","button");
//                    ok.setAttribute("value","確定送出");
//                    ok.className=confirm.className;
//                    ok.onclick=function()
//                    {
//                                var a="";
//                                var itemObj = this.parentNode.childNodes[4].childNodes[0];
//                                    if(itemObj != null && itemObj.hasChildNodes()){
//                                for(var i = 0; i < itemObj.childNodes.length; i++){
//                                    a+=itemObj.childNodes[i].firstChild.innerText;
//                                }
//                                    alert(a);
//                                }
//                    };
                    
                var oTable = document.createElement("table");
                var oTHead = document.createElement("thead");
                var oTBody = document.createElement("tbody");
                
                oTable.setAttribute("width","100%");
                oTRow = document.createElement("TR");

                CreateTDs_ItemHead(oTRow);
                
                oTHead.appendChild(oTRow);
                
                
    oTRow = document.createElement("TR");
    
    var sel = null;
    var inp = null;
    //險種種類
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";
    sel = document.createElement("select");
    createOptions_Item(sel);
    sel.onchange=function()
    {
        var targetNode=this.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild.lastChild.lastChild.lastChild.firstChild;
        var companyNo=targetNode.value.split("|")[1];
        currentSelect=this;
        selectChange2(companyNo,this);
    };
    oTCol.appendChild(sel);
    oTRow.appendChild(oTCol);            
    //險種名稱
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";       
    sel = document.createElement("select");    
    createOptions1(sel,objt);
    sel.onchange=function()
    {
        var targetNode=this.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild.lastChild.lastChild.lastChild.firstChild;
        var companyNo=targetNode.value.split("|")[1];
        currentSelect=this;
        selectChangeYear(companyNo,this);
        
    };
    oTCol.appendChild(sel);
    oTRow.appendChild(oTCol);
    //險種年期
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";       
    sel = document.createElement("select");
    sel.onchange=function()
    {
    
    };
    oTCol.appendChild(sel);
    oTRow.appendChild(oTCol);
    //投保對象
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";
    
    //sel=document.getElementById("PolicyBaseData2").childNodes[0].childNodes[1].childNodes[3].childNodes[0].cloneNode(true);
    sel=document.getElementById("PolicyBaseData2").childNodes[0].childNodes[1].childNodes[5].childNodes[0].cloneNode(true); //20090901
    oTCol.appendChild(sel);
    oTRow.appendChild(oTCol);
    //保額/單位
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";
//    inp = document.createElement("input");
//    amountInput(inp);
//    oTCol.appendChild(inp);
    oTRow.appendChild(oTCol);
    //保費
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";
    inp = document.createElement("input");
   // premiumInput(inp);
    oTCol.appendChild(inp);
    oTCol.appendChild(document.createTextNode("元"));
    oTRow.appendChild(oTCol);   
    
    oTCol = document.createElement("TD");
    oTCol.className="tdformcontentsub";
    oTCol.appendChild(addNewItem);
    oTRow.appendChild(oTCol); 
             
    oTHead.appendChild(oTRow);
                
                oTable.appendChild(oTHead);
                oTable.appendChild(oTBody);
                
                oDiv.appendChild(oTable);
           }    //是否ｎｕｌｌ
        }
        else
        {
            //alert(request.status);
            //alert("A problem occurred with communicating between the XMLHttpRequest object and the server program.");
            alert("你目前輸入的資料有誤，請重新輸入。");
        }
        currentButton.disabled=false;
        currentButton.value="新增"
        currentDeleteButton.disabled=false;
        currentDeleteButton.value="刪除";
    }
}

function handleResponse2()
{
    if(request.readyState == 4)
    {
        if(request.status == 200)
        {
            var resp =  request.responseText;
            if (resp != null)
            {
                var func = new Function("return "+resp);
                var objt = func();
                var targetNode=null;
                
                targetNode=currentSelect.parentNode.parentNode.childNodes[1].firstChild;
                reset(targetNode);
                createOptions1(targetNode,objt);
                
                targetNode=currentSelect.parentNode.parentNode.childNodes[2].firstChild;
                reset(targetNode);
           }
        }
        else
        {
            //alert(request.status);
            //alert("A problem occurred with communicating between the XMLHttpRequest object and the server program.");
            alert("你目前輸入的資料有誤，請重新輸入。");
        }
    }
}

function handleResponse3()
{
    if(request.readyState == 4)
    {
        if(request.status == 200)
        {
            var resp =  request.responseText;
            if (resp != null)
            {
                var str1=resp.substring(0,resp.indexOf(";"));
                var str2=resp.substring(resp.indexOf(";")+1);
                var func = new Function("return "+str1);
                
                var func2 = new Function("return "+str2);
                var objtYear = func();
                var objtUnit = func2();
                var targetNode=null;

                targetNode=currentSelect.parentNode.parentNode.childNodes[2].firstChild;
                reset(targetNode);
                createOptions(targetNode,objtYear);
                    
               targetNode=null;
                var sel=null;
                
                targetNode=currentSelect.parentNode.parentNode.childNodes[4];
                sel = document.createElement("select");    
                createOptions(sel,objtUnit);
                if(objtUnit == null || objtUnit.query.length==0) {
                }else{
                targetNode.appendChild(sel);
                }
                
           }
        }
        else
        {
            //alert(request.status);
            //alert("A problem occurred with communicating between the XMLHttpRequest object and the server program.");
            alert("你目前輸入的資料有誤，請重新輸入。");
        }
    }
}

function handleResponse4()
{
    if(request.readyState == 4)
    {
        if(request.status == 200)
        {
            var resp =  request.responseText;
            if (resp != null)
            {
                var func = new Function("return "+resp);
                var objt = func();
                var targetNode=null;
                var sel=null;
                
                targetNode=currentSelect.parentNode.parentNode.childNodes[4];
                sel = document.createElement("select");    
                reset(targetNode);
                createOptions(sel,objt);
                targetNode.appendChild(sel);
                
           }
        }
        else
        {
            //alert(request.status);
            //alert("A problem occurred with communicating between the XMLHttpRequest object and the server program.");
            alert("你目前輸入的資料有誤，請重新輸入。");
        }
    }
}

function expandSub(obj)
{
    var rootItem=obj.parentNode.parentNode.parentNode.parentNode.parentNode;
    if(rootItem.childNodes[1].style.display=='')
    {
        rootItem.childNodes[1].style.display='none';
    }
    else
    {
        rootItem.childNodes[1].style.display='';
    }
}

function CreateTDs_PolicyHead(obj)
{
    var resp=   "{'query':["+
                "{'id':'tdform','title':'收合險種'},"+
                "{'id':'tdform','title':'繳費方式'},"+
                "{'id':'tdform','title':'保險公司'},"+
                "{'id':'tdform','title':'保單號碼'},"+
                "{'id':'tdform','title':'投保日期'},"+
                "{'id':'tdform','title':'要保人'},"+
                "{'id':'tdform','title':'主被保險人'},"+
                "{'id':'tdform','title':'刪除保單'}"+
                "]}";
    var func = new Function("return "+resp);
    var objt = func();
    
    createTDs(obj,objt);
}

function CreateTDs_ItemHead(obj)
{
    var resp=   "{'query':["+
                "{'id':'tdformsub','title':'險種類別'},"+
                "{'id':'tdformsub','title':'險種名稱'},"+
                "{'id':'tdformsub','title':'險種年期'},"+
                "{'id':'tdformsub','title':'投保對象'},"+
                "{'id':'tdformsub','title':'保額/單位'},"+
                "{'id':'tdformsub','title':'保費'},"+
                "{'id':'tdformsub','title':'增加險種'}"+
                "]}";
    var func = new Function("return "+resp);
    var objt = func();
    
    createTDs(obj,objt);
}

function createOptions_Item(obj)
{
    var resp=   "{'query':["+
                "{'id':'A','title':'壽險主約'},"+
                "{'id':'D','title':'壽險附約'},"+
                "{'id':'G','title':'意外險'},"+
                "{'id':'J','title':'醫療險'},"+
                "{'id':'M','title':'防癌險'},"+
                "{'id':'P','title':'豁免'},"+
                "{'id':'S','title':'年金主約'},"+
                "{'id':'V','title':'投資型商品'}"+
                "]}";
    var func = new Function("return "+resp);
    var objt = func();

    createOptions(obj,objt);
}

function createOptionOfUnit(obj)
{       
    var resp=   "{'query':["+
                "{'id':'1','title':'萬元'},"+
                "{'id':'2','title':'單位'}"+
                "]}";
    var func = new Function("return "+resp);
    var objt = func();

    createOptions(obj,objt);
}

function amountInput(inp)
{
    inp.setAttribute("type","text");
    inp.setAttribute("size","5");
    inp.setAttribute("className","feedata");
}

function idInput(inp)
{
    inp.setAttribute("type","text");
    inp.setAttribute("size","10");
    inp.setAttribute("className","feedata");
}