﻿// JScript File
var PrevOpenDiv, 
    PrevOpenCtrl, 
    PrevHideControlList, 
    varPrevObj, 
    IsCtrlClick=false,
    prpMaxLimitSelection = "MaxLimitSelection", 
    prpMaxSelectionMsg = "MaxSelectionMsg", 
    prpImageFile = "ImageFile", 
    prpPreFix="PreFix", 
    prpSelectText="SelectText", 
    prpImgBasePath = "ImgBasePath",
    prpAssignedPrefix = "AssignedPrefix", 
    prpCtrlPrefix = "CtrlPrefix",
    prpHasDependent = "HasDependent";
    prpJSDataSourceVar = "JSDataSourceVar";
    prpShowSelectAll="ShowSelectAll";
    prpShowRowSelectAll="ShowRowSelectAll";
var arr2Bdeleted;
var arr_Mast_Ctrls = new Array();
var IsPostDelete = false;
var varProjectionData = "";
//onerror=handleErr;
function handleErr(msg,url,l) // function for displaying the error message
{
    txt="There was an error on this page.\n\n";
    txt+="Error: " + msg + "\n";
    txt+="URL: " + url + "\n";
    txt+="Line: " + l + "\n\n";
    txt+="Click OK to continue.\n\n";
    alert(txt);
    return true;
}

function chngView(parObj)
{
    var varChildDiv, varChildDiv1, imgID;

    IsCtrlClick = true;
    varChildDiv = document.getElementById(parObj.getAttribute("value"));

    if(varChildDiv!=null)
    {
        if(varChildDiv.style.display=="none")
        {
            imgID = document.getElementById(parObj.id.split("tdParent")[0]+ "imgEC" + parObj.id.split("tdParent")[1]);
            imgID.src = arr_Mast_Ctrls[parObj.id.split("tdParent")[0]][prpImgBasePath] + "Collapse.png";
            if(PrevOpenDiv != null)
            {
                PrevOpenDiv.style.display="none";
                if(varPrevObj != parObj)
                {
                    imgID = document.getElementById(varPrevObj.id.split("tdParent")[0]+ "imgEC" + varPrevObj.id.split("tdParent")[1]);
                    if(imgID!=null)
                    {
                        imgID.src = arr_Mast_Ctrls[parObj.id.split("tdParent")[0]][prpImgBasePath] + "Expand.png";
                    }
                }
            }
            varPrevObj = parObj;
            PrevOpenDiv = varChildDiv;
            varChildDiv.style.display="";
        }
        else
        {
            imgID = document.getElementById(parObj.id.split("tdParent")[0]+ "imgEC" + parObj.id.split("tdParent")[1]);
            imgID.src = arr_Mast_Ctrls[parObj.id.split("tdParent")[0]][prpImgBasePath] + "Expand.png";
            varChildDiv.style.display="none";
        }
    }
}
function chngThisView(parObj, parHideControlList)
{
    var varChildDiv, arrTemp, varPrevDiv, arrTemp1;

    IsCtrlClick = true;
    varChildDiv = document.getElementById(parObj.getAttribute("value"));
    if(varChildDiv!=null)
    {
        if(varChildDiv.style.display=="none")
        {
            if(PrevOpenCtrl != null)
            {
                varPrevDiv = document.getElementById(PrevOpenCtrl.getAttribute("value"));
                if(varPrevDiv!=null)
                {
                    varPrevDiv.style.display="none";
                }
            }
            varChildDiv.style.display="";
            if(PrevHideControlList!=null)
            {
                ChngViewHideControls(PrevHideControlList,"");
            }
            ChngViewHideControls(parHideControlList,"hidden");
        }
        else
        {
            varChildDiv.style.display="none";
            ChngViewHideControls(PrevHideControlList,"");
        }
    }
    PrevOpenCtrl = parObj;
    PrevHideControlList = parHideControlList;
}

function ChngViewHideControls(parHideControlList, parDisplay)
{
    var varI, arrHideControlList;
    arrHideControlList = parHideControlList.split(",");
    
    for(varI = 0;varI<arrHideControlList.length;varI++)
    {
        if(document.getElementById(arrHideControlList[varI])!=null)
        {
            document.getElementById(arrHideControlList[varI]).style.visibility = parDisplay;
        }
    }
}

function chkChanged(parChkObj,parCtrlPrefixID, parSelectedLstID, parValue, parText, parDependant)
{
    var objSelectedLst = document.getElementById(parSelectedLstID);
    var objDependant, arrValues, arrTempValues, strTempValues = "", strSelectTextMsg = "", varI = 0, arrTempValues ;
    
    IsCtrlClick = true;
    if(parDependant!='')
    {
        objDependant = document.getElementById(parDependant);
    }
    
    var objMasterSpn, objSpn, objImg, arrTempSelected;
    
    var Values = document.getElementById(arr_Mast_Ctrls[parCtrlPrefixID][prpPreFix] + "SelectedValues").value;
    var MaxLimitSelection = arr_Mast_Ctrls[parCtrlPrefixID][prpMaxLimitSelection];
    var MsgMaxSelection = arr_Mast_Ctrls[parCtrlPrefixID][prpMaxSelectionMsg];

    arrTempSelected = Values.split(",");
    
    if(parChkObj.checked)
    {
        if((parseInt(MaxLimitSelection) > arrTempSelected.length) || (parseInt(MaxLimitSelection) == -1)) // checking for the maximum no of selections done.
        {
            if(Values!="")
            {
                Values = Values + "," + parValue;
            }
            else
            {
                Values = parValue;
            }
            ShowSelected(parSelectedLstID, parCtrlPrefixID, parValue, parText, parChkObj, parDependant);
            if(objDependant!=null)
            {
                objDependant.style.display = "";
            }
        }
        else
        {
            alert(MsgMaxSelection);
            parChkObj.checked = false;
            return false;
        }
    }
    else
    {
        var varTempVal = "," + parValue + ",";
        Values = "," + Values + ",";
        Values = Values.replace(varTempVal,",");
        if(Values.substr(0,1) == ",")
        {
            Values = Values.substring(1,Values.length);
        }
        if(Values.substr(Values.length-1,1) == ",")
        {
            Values = Values.substring(0,Values.length-1);
        }
        if(document.getElementById(parCtrlPrefixID + "spnSelected" + parValue)!=null)
        {
            objSelectedLst.removeChild(document.getElementById(parCtrlPrefixID + "spnSelected" + parValue));
        }
        
        if(objDependant!=null)
        {
            objDependant.style.display = "none";
            document.getElementById(parDependant + "_").style.display = "none";
        }
        if(!IsPostDelete)
        {
            postActionDelete(parChkObj);
            //alert("SGN:" + arr2Bdeleted);
        }
    }
    document.getElementById(arr_Mast_Ctrls[parCtrlPrefixID][prpPreFix] + "SelectedValues").value = Values;
    
    vardivDropDown = document.getElementById(parCtrlPrefixID + "divDropDown");
    
    if(Values.length>0)
    {
        arrTempValues = Values.split(",");
        
        for(varI=0;varI<arrTempValues.length;varI++)
        {
            //alert("SGN:\n" + document.getElementById(parCtrlPrefixID + "lbl" + arrTempValues[varI]).innerHTML);
            strSelectTextMsg = strSelectTextMsg + "," + document.getElementById(parCtrlPrefixID + "lbl" + arrTempValues[varI]).innerHTML;
        }
        
        strSelectTextMsg = strSelectTextMsg.substr(1);
        
        vardivDropDown.title = strSelectTextMsg;
        
        if(strSelectTextMsg.length>24)
        {
            strSelectTextMsg = strSelectTextMsg.substring(0,24) + "...";
        }
    }
    else
    {
        strSelectTextMsg = arr_Mast_Ctrls[parCtrlPrefixID][prpSelectText];
    }
    vardivDropDown.innerHTML = "<a href='#Select' style='text-decoration:none;color:#3b3b3b;font-weight:normal;'>" + strSelectTextMsg + "</a>";
    //vardivDropDown.innerHTML = strSelectTextMsg;
}

function ShowSelected(parSelectedLstID,parCtrlPrefixID,parValue, parText,parChkObj, parDependant)
{
    var objSelectedLst = document.getElementById(parSelectedLstID);
    
    IsCtrlClick = true;
    objMasterSpn = document.createElement("span");
    objMasterSpn.id = parCtrlPrefixID + "spnSelected" + parValue;
    //objMasterSpn.innerHTML = parText;
    objMasterSpn.className="SelectedItemsStyle";
    //objMasterSpn.style.padding = "2px 4px 2px 2px";
    
    objSpn = document.createElement("span");
    objSpn.id = parCtrlPrefixID + "spnText" + parValue;
    objSpn.innerHTML = parText;
    objMasterSpn.appendChild(objSpn);
    
    objImg = document.createElement("img");
    objImg.id = parCtrlPrefixID + "imgCancel" + parValue;
    objImg.style.padding = "1px 4px 0px 1px";
    objImg.src = arr_Mast_Ctrls[parCtrlPrefixID][prpImageFile];
    objImg.title = "Delete selected " + objSpn.innerHTML;
    objImg.value = parValue;
    objImg.onclick = function(){DeleteSelected(parChkObj,parCtrlPrefixID, parSelectedLstID, parValue, parText, parDependant);};
    objMasterSpn.appendChild(objImg);
    
    objSelectedLst.appendChild(objMasterSpn);
}

function DeleteSelected(parChkObj,parCtrlPrefixID, parSelectedLstID, parValue, parText, parDependant)
{   
    IsCtrlClick = true;
    //alert(parDependant);
    if(confirm("Delete selected " + parText))
    {
        parChkObj.checked = false;
        chkChanged(parChkObj,parCtrlPrefixID, parSelectedLstID, parValue, parText, parDependant);
    }
}

/*
// Use this function template for making the control as mandatory field
function CheckPreferredLoc(sender,args)
{
    args.IsValid =true;
    if(document.getElementById(ctrlID + "hidSelectedValues").value=="")
    {
        args.IsValid =false;
    }
}
*/
//alert(document.forms.length);
document.forms[0].onclick = function(){hideMultiSelect()};

function hideMultiSelect()
{
    //alert('Shivaya Gurave Namaha');
    if(!IsCtrlClick)
    {
        if(PrevOpenCtrl != null)
        {
            varPrevDiv = document.getElementById(PrevOpenCtrl.getAttribute("value"));
            if(varPrevDiv!=null)
            {
                varPrevDiv.style.display="none";
            }
            if(PrevHideControlList!=null)
            {
                ChngViewHideControls(PrevHideControlList,"");
            }
        }
    }
    else
    {
        IsCtrlClick = false;
    }
};

function postActionDelete(parChkObj)
{
    arr2Bdeleted = new Array(1);
    arr2Bdeleted[0] = parChkObj;

    var strTempValues = '', arrTempValues;
    
    for(varK=0;varK<arr2Bdeleted.length;varK++)
    {
        strTempValues = '"' + arr2Bdeleted[varK].onclick + '"';
        strTempValues = strTempValues.replace(/, \"/g,',"');
        strTempValues = strTempValues.replace(/\" ,/g,'",');
        //alert(strTempValues);
        strTempValues = strTempValues.split('chkChanged(this,')[1];
        strTempValues = strTempValues.split('");')[0];
        arrTempValues = strTempValues.split('","');
        //alert("SGN:" + arrTempValues[0]+ arrTempValues[1]+ arrTempValues[2]+ arrTempValues[3]+ arrTempValues[4]);
        //arrTempValues[4] = arrTempValues[4].replace(/'/g,"");
        findDependants(arr2Bdeleted[varK],arrTempValues[4]);
    }
    
    IsPostDelete=true;
    var strTemp = '';
    for(varK=1;varK<arr2Bdeleted.length;varK++)
    {
        arr2Bdeleted[varK].click();
    }
    //alert(strTemp);
    arr2Bdeleted.length = 0;
    IsPostDelete = false;
}

function findDependants(parChkObj,parDependant)
{
    var objDependant;
    objDependant = document.getElementById(parDependant);
    if(objDependant!=null)
    {
        var arrayOfCheckBoxes = document.getElementById(parDependant + "_").getElementsByTagName("input"); 
        var varDependantCtrlPrefixID = parDependant.split("trParent")[0];
        arrValues = document.getElementById(arr_Mast_Ctrls[varDependantCtrlPrefixID][prpPreFix] + "SelectedValues").value.split(",");
        
        for(varI=0;varI<arrValues.length;varI++)
        {
            for(varJ=0;varJ<arrayOfCheckBoxes.length;varJ++) 
            { 
                if(arrayOfCheckBoxes[varJ].id==varDependantCtrlPrefixID + "chk" + arrValues[varI])
                {
                    if(document.getElementById(varDependantCtrlPrefixID + "imgCancel" + arrValues[varI])!=null)
                    {
                        //alert(document.getElementById(varDependantCtrlPrefixID + "imgCancel" + arrValues[varI]).title);
                        arr2Bdeleted.length = arr2Bdeleted.length + 1;
                        arr2Bdeleted[arr2Bdeleted.length-1] = arrayOfCheckBoxes[varJ];
                    }
                }
            }
        }
    } 
}
function GenerateControl(parPrefix,parObj)
{
    
    //var varTime= new Date();
    //v = varTime.getTime();
    //alert("SGN:" + parPrefix + parObj + document.getElementById(parPrefix + "hidControlProperties").value);    
    varPreFix = parPrefix;
    var strFn = "GetValue(arrControlProperties,'<Property>','=');",strControlset = "", strInnerControlset = "", arrProjectionData, arrRowProjectionData, varI;
    
    arrControlProperties = document.getElementById(parPrefix + "hidControlProperties").value.split("~|");
    
    varWidth = eval(strFn.replace(/<Property>/,"Width"));
    varHeight = eval(strFn.replace(/<Property>/,"Height"));
    varDropDownCssClass = eval(strFn.replace(/<Property>/,"DropDownCssClass"));
    varSelectedItemsCssClass = eval(strFn.replace(/<Property>/,"SelectedItemsCssClass"));
    varDDCloseCssClass = eval(strFn.replace(/<Property>/,"DDCloseCssClass"));
    varItemsMasterCssClass = eval(strFn.replace(/<Property>/,"ItemsMasterCssClass"));
    varDivCloseCSS = eval(strFn.replace(/<Property>/,"DivCloseCSS"));
    varParentItemCSS = eval(strFn.replace(/<Property>/,"ParentItemCSS"));
    varChildBlockCSS = eval(strFn.replace(/<Property>/,"ChildBlockCSS"));
    varRepeatColumns = eval(strFn.replace(/<Property>/,"RepeatColumns"));
    varMaxLimitSelection = eval(strFn.replace(/<Property>/,"MaxLimitSelection"));
    varMaxSelectionMsg = eval(strFn.replace(/<Property>/,"MaxSelectionMsg"));
    varSelectText = eval(strFn.replace(/<Property>/,"SelectText"));
    varImageFile = eval(strFn.replace(/<Property>/,"ImageFile"));
    varBtCloseText = eval(strFn.replace(/<Property>/,"BtCloseText"));
    varSelectedItemsLabel = eval(strFn.replace(/<Property>/,"SelectedItemsLabel"));
    varHideControlList = eval(strFn.replace(/<Property>/,"HideControlList"));
    varHasParent = eval(strFn.replace(/<Property>/,"HasParent"));
    varJSDataSourceVar = eval(strFn.replace(/<Property>/,"JSDSVariable"));
    varShowSelectAll = eval(strFn.replace(/<Property>/,"ShowSelectAll"));
    varShowRowSelectAll = eval(strFn.replace(/<Property>/,"ShowRowSelectAll"));
    
    if(varHasParent!="")
    {
        varParentSelectedValues = "," + document.getElementById(arr_Mast_Ctrls[varHasParent+"_"][prpPreFix] + "SelectedValues").value + ",";
    }
    varHasDependant = eval(strFn.replace(/<Property>/,"HasDependant"));
    varImgBasePath = eval(strFn.replace(/<Property>/,"ImgBasePath"));
    varControlPrefix = eval(strFn.replace(/<Property>/,"ControlPrefix"));
    varControlPrefix = varControlPrefix + '_';
    varRowDisplay = "";
    
    var_Temp =arr_Mast_Ctrls[varControlPrefix];
    /*alert("SGN" + strFn + varControlPrefix);
    if(var_Temp==null)
    {
        alert("SGN:true");
    }
    else
    {
        alert("SGN:false");
    }*/
    arr_Mast_Ctrls[varControlPrefix] = new Array();
    arr_Mast_Ctrls[varControlPrefix][prpMaxLimitSelection] = varMaxLimitSelection;
    arr_Mast_Ctrls[varControlPrefix][prpMaxSelectionMsg] = varMaxSelectionMsg;
    arr_Mast_Ctrls[varControlPrefix][prpImageFile] = varImageFile;
    arr_Mast_Ctrls[varControlPrefix][prpPreFix] = varPreFix;
    arr_Mast_Ctrls[varControlPrefix][prpSelectText] = varSelectText;
    arr_Mast_Ctrls[varControlPrefix][prpImgBasePath] = varImgBasePath;
    arr_Mast_Ctrls[varControlPrefix][prpHasDependent] = varHasDependant;
    
    //arr_Mast_Ctrls[varControlPrefix][prpHasDependentAutoID] = varHasDependentAutoID;
    
    /*alert("SGN:\n"
            + "varControlPrefix " + " : " + varControlPrefix + "\n" 
            + prpMaxLimitSelection + " : " + arr_Mast_Ctrls[varControlPrefix][prpMaxLimitSelection] + "\n"
            + prpMaxSelectionMsg + " : " + arr_Mast_Ctrls[varControlPrefix][prpMaxSelectionMsg] + "\n" 
            + prpImageFile + " : " + arr_Mast_Ctrls[varControlPrefix][prpImageFile] + "\n" 
            + prpPreFix + " : " + arr_Mast_Ctrls[varControlPrefix][prpPreFix] + "\n" 
            + prpSelectText + " : " + arr_Mast_Ctrls[varControlPrefix][prpSelectText] + "\n"
            + prpImgBasePath + " : " + arr_Mast_Ctrls[varControlPrefix][prpImgBasePath]
            );*/
    
    if(varJSDataSourceVar!="")
    {
        varProjectionData = eval(varJSDataSourceVar);
    }
    else if(document.getElementById(parPrefix + "hidProjectionData").value!='')
    {
        varProjectionData = document.getElementById(parPrefix + "hidProjectionData").value;
    }
    
    if(varProjectionData!="")
    {    
        varProjectionData = varProjectionData.replace(/'/g,"").replace(/"/g,"");
        //document.getElementById(parPrefix + "hidProjectionData").value = document.getElementById(parPrefix + "hidProjectionData").value.replace(/'/g,"").replace(/"/g,"");
        
        //alert("SGN:\n" + document.getElementById(parPrefix + "hidProjectionData").value);
        
        arrProjectionData = varProjectionData.split("~:");
        //alert(arrProjectionData);
        varPrjDataLen = arrProjectionData.length;
        
        varPrevId = "";
        varColumnCnt = 0;
        varObjtblChildren = null;
        strDependant = "";
        
        if(varShowRowSelectAll=="True")
        {
            varShowRowSelectAll="<input type='checkbox' id='varControlPrefixShowAllstrParentID' value='varControlPrefixtblstrParentID' onclick = 'javascript:chkRowAll(this);'/><label for = 'varControlPrefixShowAllstrParentID'>&nbsp;Select All";
        }
        else
        {
            varShowRowSelectAll = "";
        }
        
        for(varI=0;varI<varPrjDataLen;varI++)
        {
            arrRowProjectionData = arrProjectionData[varI].split("~|");
            
            strParentID = arrRowProjectionData[0];
            strParent = arrRowProjectionData[1];
            strChildID = arrRowProjectionData[2];
            strChild = arrRowProjectionData[3];
            
            tmpvarShowRowSelectAll = varShowRowSelectAll.replace(/varControlPrefix/g,varControlPrefix);
            tmpvarShowRowSelectAll = tmpvarShowRowSelectAll.replace(/strParentID/g,strParentID);
            
            arrRowProjectionData=null;
            
            if(varPrevId != strParentID)
            {
                if(strInnerControlset != "")
                {
                    strControlset = strControlset + "<TBODY>" + strInnerControlset.substring(5) + "</tr></TBODY></table></td></tr>" ;
                    strInnerControlset = "";
                }
                
                if(varHasParent!="" && varParentSelectedValues.indexOf("," + strParentID + ",")==-1)
                    varRowDisplay = "none";
                else
                    varRowDisplay = "";
                    
                strControlset = strControlset + 
                                "<tr id='" + varControlPrefix + "trParent" + strParentID + "' class='" + varParentItemCSS + "' style='display:" + varRowDisplay + ";'>" +
                                "   <td id='" + varControlPrefix + "tdParent" + strParentID + "' style='cursor:pointer;' OnClick=\"javascript:chngView(this);\" value='" + varControlPrefix + "trParent" + strParentID + "_'>"+
                                "       <a href='#Select' title='Click here to expand / collapse'><img src='" + varImgBasePath + "Expand.png' id='" + varControlPrefix + "imgEC" + strParentID + "'>&nbsp;&nbsp;&nbsp;" + strParent + tmpvarShowRowSelectAll + "</a>"+ 
                                "   </td>"+
                                "</tr>"+
                                "<tr id='" + varControlPrefix + "trParent" + strParentID + "_' style='display:none;'>"+
                                "   <td id='" + varControlPrefix + "tdParent" + strParentID + "_' style='cursor:pointer;'>"+
                                "       <table id='" + varControlPrefix + "tbl" + strParentID + "' cellspacing=0 cellpadding=0 bgcolor='#C5D6FC' width='100%' class='" + varChildBlockCSS + "'>"
                                ;
                varColumnCnt = 0;
                varPrevId = strParentID;
            }
            if ((varColumnCnt % varRepeatColumns) == 0)
            {
               strInnerControlset = strInnerControlset + "</tr><tr>";
            }
            if(varHasDependant!="")
            {
                strDependant = varHasDependant + "_trParent" + strChildID;
            }
            
            strInnerControlset =    strInnerControlset +
                                    "<td>"+
                                    "   <input type='checkbox' id='" + varControlPrefix + "chk" + strChildID + "' onclick='javascript:chkChanged(this,\"" + varControlPrefix + "\",\""+ varControlPrefix +"divSelectedList\",\"" + strChildID + "\",\"" + strChild + "\",\"" + strDependant + "\");'><label id='" + varControlPrefix + "lbl" + strChildID + "' for=\"" + varControlPrefix + "chk" + strChildID + "\">" + strChild + "</label>"+
                                    "</td>"
                                    ;
            varColumnCnt++;
        }
        strControlset = strControlset + "<TBODY>" + strInnerControlset.substring(5) + "</tr></TBODY></table></td></tr>";
        strInnerControlset="";
    }
    parObj=document.getElementById(parPrefix + parObj);
    //alert("SGN:" + parObj.innerHTML + ":");
    parObj.innerHTML =  "<div id='" + varControlPrefix + "divDropDown' class='" + varDropDownCssClass + "' OnClick=\"chngThisView(this,'" + varHideControlList + "');\" value='" + varControlPrefix + "divDynMaster'>" +
                        "   <a href='#Select' style='text-decoration:none;color:#3b3b3b;font-weight:normal;'>" +
                            varSelectText +
                        "   </a>"+
                        "</div>" +
                        "<div id='" + varControlPrefix + "divSelectedList' style='width:"+ varWidth +";'>" +
                        "   <span style='font-weight:bold;color:navy;'>"+ varSelectedItemsLabel + "</span>" +
                        "</div>"+
                        "<div id='" + varControlPrefix + "divDynMaster' style='display:none;position:absolute;' onclick=\"javascript:IsCtrlClick=true;\" >"+
                        "   <div id='" + varControlPrefix + "divMainClose' style='width:" + varWidth + ";' class='" + varDivCloseCSS + "'>" +
                        "       <table cellspacing='0' cellpadding='0' style='width:100%;'>"+
                        "           <tbody>"+
                        "               <tr>"+
                        "                   <td style='padding:1px 0px 0px 0px;' class='" + varSelectedItemsCssClass + "' onclick='javascript:IsCtrlClick=true;'>"+
                        "                       Click on <img src='" + varImgBasePath + "Expand.png'> to Expand, <img src='" + varImgBasePath + "Collapse.png'> to Collapse, <img src='" + varImageFile + "'> to Delete, <img src='" + varImgBasePath + "Exit.png'> to Close"+
                        "                   </td>"+
                        "                   <td style='padding:1px 0px 0px 0px;' align='right'><img id='" + varControlPrefix + "imgMainCls' src='" + varImgBasePath + "Exit.png' title='Close' onclick=\"chngThisView(document.getElementById('" + varControlPrefix + "divDropDown'),'" + varHideControlList + "');\"></td>"+
                        "               </tr>"+
                        "           <tbody>"+
                        "       </table>"+
                        "   </div>"+
                        "   <div id='" + varControlPrefix + "divOuterContainer' style='background-color:white;width:" + varWidth + "'>"+
                        "       <div id='" + varControlPrefix + "divContainer' style='width:" + varWidth + ";height:" + varHeight + ";overflow:auto;border:2px solid #D4D0C8;'>"+
                        "           <table id='" + varControlPrefix + "tblMaster' style='width:100%;' border='0'>"+
                        "               <tbody>"+
                                            strControlset+
                        "               </tbody>"+
                        "           </table>"+
                        "       </div>"+
                        "       <div id='" + varControlPrefix + "divClose' class='" + varDivCloseCSS + "' onclick='javascript:IsCtrlClick=true;' style='width:" + varWidth + ";'>"+
                        "           <table cellspacing=0 cellpadding=0>"+
                        "               <tbody>"+
                        "                   <tr>"+
                        "                       <td align='center'><div id='" + varControlPrefix + "btClose' style='text-align:center;' class='" + varDDCloseCssClass+ "' OnClick=\"chngThisView(document.getElementById('" + varControlPrefix + "divDropDown'),'" + varHideControlList + "');\">" + varBtCloseText + "</div></td>"+
                        "                   </tr>"+
                        "               </tbody>"+
                        "           </table>"+
                        "       </div>"+
                        "   </div>"+
                        "</div>"
                        ;
                                    
    varObjtblMaster = document.getElementById(varControlPrefix + "tblMaster");
    //document.getElementById("lblText").innerText = parObj.innerHTML;
    if(varProjectionData!="" && document.getElementById(parPrefix + "SelectedValues").value!="")
    {
        arrSelectedValues = document.getElementById(parPrefix + "SelectedValues").value.split(",");
        document.getElementById(parPrefix + "SelectedValues").value = "";
        for(varI=0;varI<arrSelectedValues.length;varI++)
        {
            //ShowSelected(varControlPrefix + 'divSelectedList', varControlPrefix, arrSelectedValues[varI], document.getElementById(varControlPrefix + "lbl" + arrSelectedValues[varI]).innerHTML,document.getElementById(varControlPrefix + "chk" + arrSelectedValues[varI]), varHasDependant);
            //function chkChanged(parChkObj,parCtrlPrefixID, parSelectedLstID, parValue, parText, parDependant)
            //alert(
            document.getElementById(varControlPrefix + "chk" + arrSelectedValues[varI]).checked = true;
            chkChanged(document.getElementById(varControlPrefix + "chk" + arrSelectedValues[varI]),varControlPrefix, varControlPrefix + 'divSelectedList', arrSelectedValues[varI], document.getElementById(varControlPrefix + "lbl" + arrSelectedValues[varI]).innerHTML, varHasDependant);
        }
    }
    //document.write("SGN:" + ((new Date()).getTime() - v));
    //alert(parObj.innerHTML);
}
function GetValue(parArr,parReqObj,parSeperator)
{
    var varI, varValue , varProperty, varArrLen;
    varArrLen = parArr.length;
    for(varI = 0;varI < varArrLen;varI++)
    {
        varProperty = parArr[varI];
        if(varProperty.substring(0,varProperty.indexOf(parSeperator))==parReqObj)
        {
            varValue = varProperty.substring(varProperty.indexOf(parSeperator)+1);
            return varValue;
        }
    }
}

function clearAllMultiSelect()
{
    //document.getElementById(varPreFix + 'divMaster').innerHTML = "";   
}

function chkRowAll(parChkObj)
{
    //alert(document.getElementById(parChkObj.getAttribute("value")).getElementsByTagName("input")[0].click());
    Optslen = document.getElementById(parChkObj.getAttribute("value")).getElementsByTagName("input").length;
    var varI;
    
    for(varI = 0;varI < Optslen ; varI++)
    {         
        if(parChkObj.checked)
        {                
            if(!document.getElementById(parChkObj.getAttribute("value")).getElementsByTagName("input")[varI].checked)
            {
                document.getElementById(parChkObj.getAttribute("value")).getElementsByTagName("input")[varI].click();
            }
        }
        else if((!parChkObj.checked) && !parChkObj.checked == document.getElementById(parChkObj.getAttribute("value")).getElementsByTagName("input")[varI].checked)
        {        
            document.getElementById(parChkObj.getAttribute("value")).getElementsByTagName("input")[varI].click();
        }
    }
}
