﻿
//enum EnumFieldPresentation
//{
//     None = 0
//    ,PlainText = 1
//    ,RichText = 2
//    ,EnhancedRichText = 3
//    ,ComboList = 4
//    ,RadioButtons = 5
//    ,Checkboxes = 6
//    ,DateTimePicker = 7
//    ,TimePicker = 8
//    ,DatePicker = 9
//    ,PasswordBox = 10
//    ,HTMLEditor = 11
//    ,TextArea = 12
//    ,MaskedTextBox = 13
//}

function hideLoading() 
{
    document.getElementById("LoadingPanel").style.display='none';
}

function OpenEmbed(formGuid) 
{
    var WinSettings = "center:yes;resizable:no;dialogHeight:100px";

    // ALTER BELOW LINE - supply correct URL for Child Form
    var MyArgs = window.showModalDialog("ViewEmbed.aspx?FormGuid=" + formGuid, formGuid, WinSettings);
}


// Função para selecionar todos checkboxs filhos de elemento
function selecionarTodosEmElemento(iState, elemento) {
    var elemento = document.getElementById(elemento);
    var checkboxes = elemento.getElementsByTagName("input");

    for (var i = 0; i < checkboxes.length; i++)
        checkboxes[i].checked = iState;
}

// Função para abrir janela para visualização
function fnPopUp(url){
    var objWin = window.open(url, "", "location=yes,toolbar=no,resizable=1,status=0,menubar=1,scrollbars=yes");
}

function LoadRuleTrigger(currentField)
{
    var pnlIDentifier = currentField.id.replace("ddlSourceField", "");
        
    if(document.getElementById(pnlIDentifier + "hddLastRow").value.length > 0)
    {
        document.getElementById(pnlIDentifier + document.getElementById(pnlIDentifier + "hddLastRow").value).style.display = "none";
    }
    
    var ddlSourceField = document.getElementById(pnlIDentifier + "ddlSourceField");
    
    if(document.getElementById(pnlIDentifier + "hddLastIndex").value.length > 0)
    {
        var newListItem = document.createElement('OPTION');
        
        newListItem.text = document.getElementById(pnlIDentifier + "ddlSourceField")[document.getElementById(pnlIDentifier + "hddLastIndex").value].text;
        newListItem.value = document.getElementById(pnlIDentifier + "ddlSourceField")[document.getElementById(pnlIDentifier + "hddLastIndex").value].value;

        document.getElementById(pnlIDentifier + "ddlTargetField").add(newListItem, document.getElementById(pnlIDentifier + "hddLastIndex").value);
    }
    
    switch(currentField.value.split(",")[1])
    {
        case "7":
        targetRow = "trDateTimeTrigger";
        document.getElementById(pnlIDentifier + targetRow).style.display = "inline";
        $find(pnlIDentifier + "pckDateTimeTrigger").clear();
        break;
        
        case "8":
        targetRow = "trTimeTrigger";
        document.getElementById(pnlIDentifier + targetRow).style.display = "inline";
        $find(pnlIDentifier + "pckTimeTrigger").clear();
        break;
        
        case "9":
        targetRow = "trDateTrigger";
        document.getElementById(pnlIDentifier + targetRow).style.display = "inline";
        $find(pnlIDentifier + "pckDateTrigger").clear();
        break;
        
        case "14":
        case "15":
        targetRow = "trNumberTrigger";
        document.getElementById(pnlIDentifier + targetRow).style.display = "inline";
        document.getElementById(pnlIDentifier + "txtNumberTrigger").value = "";
        break;
        
        default:
        targetRow = "trTriggerValue";
        document.getElementById(pnlIDentifier + targetRow).style.display = "inline";
        document.getElementById(pnlIDentifier + "txtTriggerValue").value = "";
        break;        
    }
        
    document.getElementById(pnlIDentifier + "hddLastRow").value = targetRow;
    document.getElementById(pnlIDentifier + "hddLastIndex").value = currentField.selectedIndex;
    document.getElementById(pnlIDentifier + "ddlTargetField").remove(currentField.selectedIndex);
}

function VerifyTelerikError(sender, eventArgs)   
{   
    if(eventArgs.get_reason()==2)   
    {   
        var hddMessage = document.getElementById("hddMessageRangeValidator");        
        alert(hddMessage.value + sender._minValue.localeFormat("n") + " - " + sender._maxValue.localeFormat("n"));
    }   
} 

function VerifyTelerikDate(sender, eventArgs)   
{   
    if(sender.get_selectedDate() == null)   
    {   
        var hddMessage = document.getElementById("hddMessageRangeValidator");        
        var hddDateFormat = document.getElementById("hddDateFormat");
        
        if(sender._minDate.format("yyyy-MM-dd") != "1980-01-01" && sender._maxDate.format("yyyy-MM-dd") != "2099-12-31")
        {
            alert(hddMessage.value + sender._minDate.format(hddDateFormat.value) + " - " + sender._maxDate.format(hddDateFormat.value));
            
            sender.set_selectedDate(null);
        }
    }   
} 

function CheckNumberDefaultValue(sender, args)
{
    var defaultField = $find("ctl00_ContentPlaceHolder1_uscProperties_txtNumberDefaultValue");
    var minValue = $find("ctl00_ContentPlaceHolder1_uscProperties_txtMinimumValue").get_value();
    var maxValue = $find("ctl00_ContentPlaceHolder1_uscProperties_txtMaximumValue").get_value();

    if(minValue != "" && maxValue != "" && defaultField.get_value() != "")
    {      
        if(defaultField.get_value() < minValue || defaultField.get_value() > maxValue)
        { 
            defaultField.SetValue(minValue);
        }
    }
}

function CheckDateDefaultValue(sender, args)
{
    var defaultField = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateDefaultValue");
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMaximum").get_selectedDate();

    if(minDate != null && maxDate != null && defaultField.get_selectedDate() != null)
    {      
        if(defaultField.get_selectedDate() < minDate || defaultField.get_selectedDate() > maxDate)
        { 
            defaultField.set_selectedDate(minDate);
        }
    }
}

function CheckDateTimeDefaultValue(sender, args)
{
    var defaultField = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeDefaultValue");
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMaximum").get_selectedDate();

    if(minDate != null && maxDate != null && defaultField.get_selectedDate() != null)
    {      
        if(defaultField.get_selectedDate() < minDate || defaultField.get_selectedDate() > maxDate)
        { 
            defaultField.set_selectedDate(minDate);
        }
    }
}

function CheckTimeDefaultValue(sender, args)
{
    var defaultField = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeDefaultValue");
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMaximum").get_selectedDate();

    if(minDate != null && maxDate != null && defaultField.get_selectedDate() != null)
    {      
        if(defaultField.get_selectedDate() < minDate || defaultField.get_selectedDate() > maxDate)
        { 
            defaultField.set_selectedDate(minDate);
        }
    }
}

function CheckTimeMinBounds(sender, args)
{
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMaximum").get_selectedDate();

    if(maxDate == null)
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMaximum").set_selectedDate(minDate);
    }
    else
    {
        if(minDate > maxDate)
        {       
            sender.set_selectedDate(maxDate);
        } 
    }    
    
    CheckTimeDefaultValue(null, null);
}

function CheckTimeMaxBounds(sender, args)
{
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMaximum").get_selectedDate();

    if(minDate == null)
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_pckTimeMinimum").set_selectedDate(maxDate);
    }
    else
    {
        if(minDate > maxDate)
        {       
            sender.set_selectedDate(minDate);
        } 
    }  
    
    CheckTimeDefaultValue(null, null);
}

function CheckDateTimeMinBounds(sender, args)
{
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMaximum").get_selectedDate();

    if(maxDate == null)
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMaximum").set_selectedDate(minDate);
    }
    else
    {
        if(minDate > maxDate)
        {       
            sender.set_selectedDate(maxDate);
        } 
    }  
    
    CheckDateTimeDefaultValue(null, null);
}

function CheckDateTimeMaxBounds(sender, args)
{
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMaximum").get_selectedDate();

    if(minDate == null)
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateTimeMinimum").set_selectedDate(maxDate);
    }
    else
    {
        if(minDate > maxDate)
        {       
            sender.set_selectedDate(minDate);
        } 
    }  
    
    CheckDateTimeDefaultValue(null, null);
}

function CheckDateMinBounds(sender, args)
{
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMaximum").get_selectedDate();

    if(maxDate == null)
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMaximum").set_selectedDate(minDate);
    }
    else
    {
        if(minDate > maxDate)
        {       
            sender.set_selectedDate(maxDate);
        } 
    }  
    
    CheckDateDefaultValue(null, null);
}

function CheckDateMaxBounds(sender, args)
{
    var minDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMinimum").get_selectedDate();
    var maxDate = $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMaximum").get_selectedDate();

    if(minDate == null)
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_pckDateMinimum").set_selectedDate(maxDate);
    }
    else
    {
        if(minDate > maxDate)
        {       
            sender.set_selectedDate(minDate);
        } 
    } 
    
    CheckDateDefaultValue(null, null);
}

function CheckNumberMinBounds(sender, args)
{
    var minValue = $find("ctl00_ContentPlaceHolder1_uscProperties_txtMinimumValue").get_value();
    var maxValue = $find("ctl00_ContentPlaceHolder1_uscProperties_txtMaximumValue").get_value();

    if(maxValue == "")
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_txtMaximumValue").SetValue(minValue);
    }
    else
    {
        if(minValue > maxValue)
        {       
            sender.SetValue(maxValue);
        } 
    } 

    CheckNumberDefaultValue(null, null);
}

function CheckNumberMaxBounds(sender, args)
{
    var minValue = $find("ctl00_ContentPlaceHolder1_uscProperties_txtMinimumValue").get_value();
    var maxValue = $find("ctl00_ContentPlaceHolder1_uscProperties_txtMaximumValue").get_value();

    if(minValue == "")
    {
        $find("ctl00_ContentPlaceHolder1_uscProperties_txtMinimumValue").SetValue(maxValue);
    }
    else
    {
        if(minValue > maxValue)
        {       
            sender.SetValue(minValue);
        } 
    }
    
    CheckNumberDefaultValue(null, null);
}

function SaveDockOrder(dock, args){

    var dockHidden = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_hddDockOrder");
    var dockZone = document.getElementById(dock._dockZoneID);   
    
    if(dockZone != null)
    {
        var dockBag = dockZone.innerHTML.split("</DIV><INPUT id=ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_RadDock");
        var hddIsClosing = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockRule_hddIsClosing");

        dockHidden.value = "";
        hddIsClosing.value = "";

        for (indexDock=1; indexDock < dockBag.length; indexDock++)
        {
            dockHidden.value += "," + dockBag[indexDock].split("_")[0];
        }
        
        hideLoading();
    }
}


function UpdateDashBoardFieldName(currentName)
{
    var hddSelectedDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_hddSelectedDock");
    var dockClientId = hddSelectedDock.value.replace("$", "_").replace("$uscDashBoard$uscDockComponents$" ,"_uscDashBoard_uscDockComponents_");
    
    var currentDashBoardDock = document.getElementById(dockClientId + "_C_ctl00_txtFieldName");       
    
    currentDashBoardDock.value = currentName.value;
}

function UpdateDashBoardIsRequired(currentIsRequired)
{
    var hddSelectedDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_hddSelectedDock");
    var dockClientId = hddSelectedDock.value.replace("$", "_").replace("$uscDashBoard$uscDockComponents$" ,"_uscDashBoard_uscDockComponents_");
    
    var currentDashBoardDock = document.getElementById(dockClientId + "_C_ctl00_chkIsRequired");       
    
    currentDashBoardDock.checked = currentIsRequired.checked;
}

function UpdatePropertyFieldName(currentName)
{
    var hddSelectedDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_hddSelectedDock");
    var dockClientId = hddSelectedDock.value.replace("$", "_").replace("$uscDashBoard$uscDockComponents$" ,"_uscDashBoard_uscDockComponents_");

    if(dockClientId + "_C_ctl00_txtFieldName" == currentName.id)
    {
        var currentPropertyDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_txtFieldName");         
            currentPropertyDock.value = currentName.value;
    }    
}

function UpdatePropertyIsRequired(currentIsRequired)
{   
    var hddSelectedDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_hddSelectedDock");
    var dockClientId = hddSelectedDock.value.replace("$", "_").replace("$uscDashBoard$uscDockComponents$" ,"_uscDashBoard_uscDockComponents_");

    if(dockClientId + "_C_ctl00_chkIsRequired" == currentIsRequired.id)
    {
        var currentPropertyDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_chkIsRequired");           
            currentPropertyDock.checked = currentIsRequired.checked;
    }
}

function CloseDockGlobalLibrary(dock, args)
{
    var hddClosedDock = $get("ctl00_ContentPlaceHolder1_uscLibrary_RadPanelBarLibrary_i2_i0_uscDockGlobalLibrary_hddClosedDock");
    
    switch(args.command._name)
    {
        case "Close":
            hddClosedDock.value += dock._uniqueID + ",";
        break;
    }
}

function CloseDockPublicLibrary(dock, args)
{
    var hddClosedDock = $get("ctl00_ContentPlaceHolder1_uscLibrary_RadPanelBarLibrary_i1_i0_uscDockPublicLibrary_hddClosedDock");
    
    switch(args.command._name)
    {
        case "Close":
            hddClosedDock.value += dock._uniqueID + ",";
        break;
    }
}

function CloseDockDashBoard(dock, args)
{
    var hddClosedDock = $get("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_hddClosedDock");
    var hddIsClosing = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockRule_hddIsClosing");
    
    switch(args.command._name)
    {
        case "Close":
            hddClosedDock.value += dock._uniqueID + ",";
            hddIsClosing.value = 'true';
        break;
    }
}

function LoadPropertyWindow(dock, args)
{
    document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_hddSelectedDock").value = dock._uniqueID;
    document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_txtFieldName").value = document.getElementById(dock._element.id + "_C_ctl00_txtFieldName").value;
    document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_chkIsRequired").checked = document.getElementById(dock._element.id + "_C_ctl00_chkIsRequired").checked;

    var AppLoadDock = document.getElementById("ctl00_ContentPlaceHolder1_uscProperties_AppLoadDock");
        
    AppLoadDock.click();   
}

function SetHandleDockDashBoard(dock, args)
{
    dock.set_handle(document.getElementById(dock.get_id()));
}
     
function SetHandleDock(dock, args)
{
    dock.set_handle(document.getElementById("Handle_" + dock.get_id()));
}
      
function VerifyGlobalLibrary(dock, eventArgs)
{
    var hitZone = dock._hitZone;

    if (hitZone && (hitZone._uniqueName == "zoneDashBoard"))
    {        
        eventArgs.set_cancel(true);  
        
        $get("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_hddTagComponents").value = dock._uniqueID;
        
        var btnAddGlobalLibrary = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_btnAddGlobalLibrary");
                              
        btnAddGlobalLibrary.click();   
    }
}
      
function VerifyPublicLibrary(dock, eventArgs)
{
    var hitZone = dock._hitZone;

    if (hitZone && (hitZone._uniqueName == "zoneDashBoard"))
    {        
        eventArgs.set_cancel(true);  
        
        $get("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_hddTagComponents").value = dock._uniqueID;
        
        var btnAddPublicLibrary = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_btnAddPublicLibrary");
                              
        btnAddPublicLibrary.click();   
    }
}
      
function VerifyDockParent(dock, eventArgs)
{
    var hitZone = dock._hitZone;

    if (hitZone && (hitZone._uniqueName == "zoneDashBoard"))
    {        
        eventArgs.set_cancel(true);
        $get("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_hddTagComponents").value = dock._uniqueID;   
        
        var btnAddField = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_btnAddField");
                              
        btnAddField.click();                 
    }
}


function replicateText(objThis)
{
    var hidObject = document.getElementById(objThis.id.replace("dv", "hidLabel"));
    hidObject.value = objThis.innerHTML;
}

function Search(objThis){
    var div = document.body.createTextRange();
    div.moveToElementText(document.all.item(objThis.sourceIndex-2));
    div.select();
}
        
function calcHeight(frameId)
{
  //find the height of the internal page
  var the_height=
    document.getElementById(frameId).contentWindow.document.body.scrollHeight;

  //change the height of the iframe
  the_height = the_height < 500 ? 500 : the_height;
  document.getElementById(frameId).height = the_height + 5;

  $get("ctl00_ContentPlaceHolder1_uscPreview_hddPreviewHeight").value = document.getElementById(frameId).height;
  
  //var targetDashBoard = document.getElementById("ctl00_ContentPlaceHolder1_uscDashBoard_uscDockComponents_zoneDashBoard");
  
  //targetDashBoard.style.setAttribute('height', document.getElementById(frameId).height);   
}

function ApplyRuleInstruction(ruleInstruction)
{
    var ruleBag = ruleInstruction.split(',');
    var l_countRule = 0;
    var l_countSourceInstance = 0;
    var l_countTargetInstance = 0;
    var l_IsRuleApplied;
    
    while(l_countRule < ruleBag[0].split('#').length)
    {     
        while(l_countSourceInstance <= ruleBag[1].split('#')[l_countRule] - 1)
        {         
             while(l_countTargetInstance <= ruleBag[2].split('#')[l_countRule] - 1)
             {             
                  if(
                  ApplyRule
                  (   
                   ruleBag[0].split('#')[l_countRule]
                  ,l_countSourceInstance
                  ,l_countTargetInstance
                  ,ruleBag[3].split('#')[l_countRule]
                  ,ruleBag[4].split('#')[l_countRule]
                  ,ruleBag[5].split('#')[l_countRule]
                  ,ruleBag[6].split('#')[l_countRule]
                  ,ruleBag[7].split('#')[l_countRule]
                  ) == true)
                  {
                    l_IsRuleApplied = l_IsRuleApplied ==  false ? true : l_IsRuleApplied;
                  }
                  
                  l_countTargetInstance++;
              }
              
              l_countTargetInstance = 0;
              
              if(l_IsRuleApplied == false)
              {
                 l_countSourceInstance++;
              }
              else
              {
                  break;
              }
        }
        
        l_countSourceInstance = 0;
          
        l_countRule++;
    }  
}

function ApplyRule(sourceFieldId, sourceInstanceNumber, targetInstanceNumber, targetFieldId, ruleCategoryId, fieldRuleTargetValue, fieldRuleTrueValue, fieldPresentation)
{
    var r_ApplyRule = false;
    var l_keywordField = "field";
    var l_keywordBlock = "fieldBlock";
    var l_keywordIsNotRequired = "";
    
    var currentValue;
    var sourceField = document.getElementById(l_keywordField + sourceFieldId + "_" + sourceInstanceNumber);
    var targetField = document.getElementById(l_keywordField + targetFieldId + "_" + targetInstanceNumber);
    var targetBlock = document.getElementById(l_keywordBlock + targetFieldId);
                             
    var l_Holder  =  document.getElementById('frmHolder');
    
    fieldRuleTrueValue = fieldRuleTrueValue.toLowerCase().trim();
                             
    switch(fieldPresentation)
    {                   
        case '4': //EnumFieldPresentation.ComboList
            currentValue = sourceField.options[sourceField.selectedIndex].text
            break;
            
        case '5': //EnumFieldPresentation.RadioButtons  
            currentValue = GetRadioItemValue(sourceField);
            break;
            
        case '6': //EnumFieldPresentation.Checkboxes  
            currentValue = GetCheckItemValue(sourceField, fieldRuleTargetValue);
            break;
            
        default:
            currentValue = sourceField.value;
            break;
    }        
    
    if(currentValue.toLowerCase().trim() != fieldRuleTargetValue.toLowerCase().trim())
    {
       if(fieldRuleTrueValue == 'true')
       {
          fieldRuleTrueValue = 'false';
       }
       else
       {
         fieldRuleTrueValue = 'true';
       }
    }
                       
    if(targetBlock != null)
    {    
        switch(ruleCategoryId)
        {
            case '1':         
                if(fieldRuleTrueValue == 'false')
                {
                    targetBlock.style.setAttribute('display','none');  
                                       
                    if(targetField != null)
                    { 
                        targetField.value = l_keywordIsNotRequired;
                        targetField.selectedIndex = 0;
                    }
                    
                    r_ApplyRule = true;
                }
                else
                {
                    targetBlock.style.setAttribute('display', 'inline'); 
                     
                    if(targetField != null)
                    {                    
                        targetField.value = targetField.value.replace(l_keywordIsNotRequired, "");   
                    } 
                }
            break;
            
            case '2':
                if(fieldRuleTrueValue == 'false')
                {
                    if(targetField != null)
                    {
                        targetField.disabled = true;
                        targetField.setAttribute("enabled",false);
                        targetField.selectedIndex = 0;
                        targetField.value = l_keywordIsNotRequired;
                        try{targetField.SetEditable(false);}catch(ex){}
                        
                        objectField = $find(targetField.id);
                        
                        if(objectField != null)
                        { 
                            try{objectField.disable();}catch(ex){}
                            try{objectField._EnableEditing(false);}catch(ex){}
                            try{objectField.set_editable(false);}catch(ex){}                         
                            try{objectField.set_enabled(false);}catch(ex){}
                        }
                    }
                    
                    r_ApplyRule = true;
                }
                else
                {
                    if(targetField != null)
                    {
                        targetField.disabled = false;
                        targetField.setAttribute("enabled",true);
                        targetField.value = targetField.value.replace(l_keywordIsNotRequired, "");
                        try{targetField.SetEditable(true);}catch(ex){}
                        
                        objectField = $find(targetField.id);
                        
                        if(objectField != null)
                        { 
                            try{objectField.enable();}catch(ex){}
                            try{objectField._EnableEditing(true);}catch(ex){}
                            try{objectField.set_editable(true);}catch(ex){}
                            try{objectField.set_enabled(true);}catch(ex){}
                        } 
                     }
                }
            break;
        }
    }
    
    return r_ApplyRule;
}

function GetRadioItemValue(sourceField)
{
    var list = sourceField;
    var inputs = list.getElementsByTagName("input"); 
    var selected; 
    var checkedValue;
    
    for (var i = 0; i < inputs.length; i++) 
    {      
        if (inputs[i].checked) 
        {          
            selected = inputs[i];          
            break;       
        }  
    }  
    
    if (selected) 
    {                   
        var labelArray = selected.parentNode.getElementsByTagName('label');
        checkedValue = labelArray[0].innerHTML;
    }
    
    return checkedValue;
}
     
function GetCheckItemValue(sourceField, fieldRuleTargetValue)
{
    tbody = sourceField.childNodes[0]; 
    var checkedValue = '';
    
    for(i=0;i<tbody.childNodes.length;i++)
    {
        td = tbody.childNodes[i].childNodes[0];
        checkbox = td.childNodes[0];

        if(checkbox.checked)
        {
           if(td.childNodes[1].innerHTML.toLowerCase().trim() == fieldRuleTargetValue.toLowerCase().trim())
           {
                checkedValue = td.childNodes[1].innerHTML;
                break;
           }
        }
    }
    
    return checkedValue;
}    

