﻿// JScript File
//Ajax.Utility.RegisterTypeForAjax(typeof(CommonAJAX));

//this in page load
//ddlCustomer.Attributes.Add("onchange", "javascript:FillDependantDropDown('" + ddlCustomer.ClientID + "','" + ddlGroup.ClientID + ",Table,FieldID,FieldName,WhereCondition;" + ddlLocation.ClientID + ",Table,FieldID,FieldName,WhereCondition');");
 
 
 
         function FillDependantDropDown(Sourceddl,targetddls)
         {       
            Sourceddl=document.getElementById(Sourceddl);
            if(Sourceddl.value != '-1')
            { 
                var arrddl1 = targetddls.split(';');
		        if(arrddl1.length>0)
		        {
		        for(var x=0; x<arrddl1.length; x++)
                {
                         var arrTableValues = arrddl1[x].split(',');
                         
                         var strTextField = arrTableValues[1].split(' ');
                         var strTextcon = '';
                         var strActuallText = '';
                         if(strTextField.length > 2)
                         {
                            strTextcon = strTextField[0] + "+ ', ' +" + strTextField[1] + " as " + strTextField[3];
                            strActuallText = strTextField[3];
                         }
                         else
                         {
                            strTextcon = arrTableValues[1];
                         }
                         var Response = GeneralAjax.FillDropDownData(arrTableValues[1], arrTableValues[2], arrTableValues[3] ,arrTableValues[4] , Sourceddl.value);
                         var Destinationddl = document.getElementById(arrTableValues[0]);
                         Destinationddl.disabled=false;
                         Destinationddl=removeAllOptions(Destinationddl);
                         Destinationddl=AddDefaultValue(Destinationddl);
                         var dt = Response.value;
                         for(var count=0; count < dt.Rows.length;count++)
                         {
                              var optn = document.createElement("OPTION");
        //                      if(arrTableValues[1].indexOf(' as') == -1)
        //                      {
                                var strtext = 'Name';
        //                        if(arrTableValues[1].indexOf('.') > 0)
        //                        {
        //                            strtext = arrTableValues[1].substring(arrTableValues[1].indexOf('.')+1);
        //                        }
        //                        else
        //                        {
        //                            strtext = arrTableValues[1];
        //                        }
                                optn.text = dt.Rows[count][strtext];
        //                      }
        //                      else
        //                      {
        //                        optn.text = dt.Rows[count][strActuallText];
        //                      }
        //                      if(arrTableValues[2].indexOf('.') > 0)
        //                      {
                                    var strval = '';
                                    strval  = 'ID'; // arrTableValues[2].substring(arrTableValues[2].indexOf('.') + 1);
                                    optn.value =(dt.Rows[count][strval]);                                 
        //                      }
        //                      else
        //                      {
        //                            optn.value =(dt.Rows[count][arrTableValues[2]]);  
        //                      }
                              Destinationddl.options.add(optn);
                         }
                }
             }                
          }
          else
          {
                var arrddl1 = targetddls.split(';');
		        if(arrddl1.length>0)
		        {
		            for(var x=0; x<arrddl1.length; x++)
                    {
                        var arrTableValues = arrddl1[x].split(',');
                        var Destinationddl = document.getElementById(arrTableValues[0]);
                        Destinationddl.disabled=true;
                        Destinationddl.value=-1;
                    }
                }
           }
        }     
          
         function removeAllOptions(selectbox)
         {
            var i;
            for(i=selectbox.options.length-1;i>=0;i--)
            {
                selectbox.remove(i);
            }
            return selectbox;
         }                        
                        
        function  AddDefaultValue(selectbox)
        {
             var optn1 = document.createElement("OPTION");
             optn1.text = "--Select--";
             optn1.value = "";
             selectbox.options.add(optn1);
             return selectbox;
        }               

        function FillTextBox(Sourcetextbox,targettextboxs,targetdata)
         {       
            var SourceText = document.getElementById(Sourcetextbox);
            var arrtextboxs = targettextboxs.split(',');
            if(SourceText.value != '')
            { 
                 var arrTableValues = targetdata.split(';');

                 var Response = GeneralAjax.FillTextBox(arrTableValues[0], arrTableValues[1], arrTableValues[2] + ' ' + SourceText.value );
                 var dt = Response.value;
                 for(var count=0; count < dt.Rows.length;count++)
                 {
                      for(var Ccount = 0; Ccount < dt.Columns.length;Ccount++)
                      {
                        var textbox =  document.getElementById(arrtextboxs[Ccount]); 
                        textbox.value = dt.Rows[count][Ccount];
                      }
                 }
            }
            else
            {
                for(var Ccount = 0; Ccount < arrtextboxs.length;Ccount++)
                {
                    var textbox =  document.getElementById(arrtextboxs[Ccount]); 
                    textbox.value = '';
                }
            }
        }
        function OpenAjaxList(txtID,TableName,Field1,Field2, where)
        {
                var strtxtID = txtID.split(',');
                var Where1 = (where == ''?'': Field1 + ' = ~' + document.getElementById(strtxtID[0]).value + '~' + ' and ') + where ;
                var Response = GeneralAjax.FillSelectList(Field1,Field2,TableName,Where1,'');
                ReturnAjax(txtID,Response);
                return false;
        }
        function OpenQuestionList(TestID,SectionNo,lbl)
        {
            
            var Response = GeneralAjax.GetQuestionList(TestID,SectionNo);
            document.getElementById(lbl).innerHTML =Response.value;
            
            return false;
        }
         function OpenSectionList(TestID,lbl)
        {
            
            var Response = GeneralAjax.GetSectionList(TestID);
            document.getElementById(lbl).innerHTML =Response.value;
            
            return false;
        }
        function OpenServiceQuestion(ServiceID,lbl)
        {
            
            var Response = GeneralAjax.GetServiceQuestion(ServiceID);
            document.getElementById(lbl).innerHTML =Response.value;
            
            return false;
        }
       function ReturnAjax(txtID,ValueID)
        {
            var strtxtID = txtID.split(',');
            if(ValueID.value != null)
            {
                var strValueID = ValueID.value.split('~');
                for(i=0;i < strtxtID.length;i++)
                {
                    //check if control is lable then set innerHTML property
                    if(strtxtID[i].indexOf('_lbl') > -1)
                    {
                        document.getElementById(strtxtID[i]).innerHTML = (strValueID[i] == null ? '' : strValueID[i]); 
                    }
                    else //else it will be textbox or drop down list then set value
                    {
                       document.getElementById(strtxtID[i]).value = (strValueID[i] == null ? '' : strValueID[i]);
                    }
                }
            }
            else
            {
                 for(i=0;i < strtxtID.length;i++)
                {
                    //check if control is lable then set innerHTML property
                    if(strtxtID[i].indexOf('_lbl') > -1)
                    {
                        document.getElementById(strtxtID[i]).innerHTML = ''; 
                    }
                    else //else it will be textbox or drop down list then set value
                    {
                       document.getElementById(strtxtID[i]).value = '';
                    }
                }
            }
        }