function fnValidateNSelectAllFromList(obj)
{

    var inForm = obj.form;
	if (isObjEmpty(inForm.licenselevel, "Please enter the License Level name"))	    return false;
	if (isObjEmpty(inForm.licenseType, "Please select the License Type"))	        return false;
	if (parseInt(inForm.licenseType.value) == companyType && isObjEmpty(inForm.companyType, "Please select the Company Type"))
    	return false;
    else if (parseInt(inForm.licenseType.value) != companyType)
    {
        inForm.companyType.options[0].selected = true;
    }

    if(inForm.chkCanBeRI.checked)
    {
        inForm.hiddenCanBeRI.value = "1";
    }
    else
    {
        inForm.hiddenCanBeRI.value = "0";
    }
    
	if(inForm.chkCanHaveEmployee.checked)
    {
        inForm.hiddenchkCanHaveEmployee.value = "1";
    }
    else
    {
        inForm.hiddenchkCanHaveEmployee.value = "0";
    }
    
   	if(inForm.chkCanBeEmployed.checked)
    {
        inForm.hiddenchkCanBeEmployed.value = "1";
    }
    else
    {
        inForm.hiddenchkCanBeEmployed.value = "0";
    }
    
    if(inForm.chkCanIndividualsCompanyHaveEmployees.checked)
    {
        inForm.hiddenchkCanIndividualsCompanyHaveEmployees.value = "1";
    }
    else
    {
        inForm.hiddenchkCanIndividualsCompanyHaveEmployees.value = "0";
    }
    
    if(inForm.chkCanCreateLicenseAtOPS.checked)
    {
        inForm.hiddenchkCanCreateLicenseAtOPS.value = "1";
    }
    else
    {
        inForm.hiddenchkCanCreateLicenseAtOPS.value = "0";
    }
    
    if(inForm.chkCanSpecifyOriginalIssueDate.checked)
    {
        inForm.hiddenchkCanSpecifyOriginalIssueDate.value = "1";
    }
    else
    {
        inForm.hiddenchkCanSpecifyOriginalIssueDate.value = "0";
    }
    
    if(inForm.chkCanSpecifyLastIssueDate.checked)
    {
        inForm.hiddenchkCanSpecifyLastIssueDate.value = "1";
    }
    else
    {
        inForm.hiddenchkCanSpecifyLastIssueDate.value = "0";
    }

    if(inForm.chkCanSpecifyExpiryDate.checked)
    {
        inForm.hiddenchkCanSpecifyExpiryDate.value = "1";
    }
    else
    {
        inForm.hiddenchkCanSpecifyExpiryDate.value = "0";
    }
    
    if (inForm.chkExpiresAfter.checked)
    {
        if (!inForm.rdbExpiresAfter[0].checked && !inForm.rdbExpiresAfter[1].checked)
        {
            alert("Please specify Expiry date for the License Level")
				inForm.rdbExpiresAfter[0].focus();
            return false;
        }
        if (inForm.rdbExpiresAfter[0].checked)
        {
            if (isObjEmpty(licenseLevelForm.inputperiod, "Select the period for Expires After"))            return false;
            if (inForm.inputperiod.value == "0" || inForm.inputperiod.value == "")
            {
                alert("Period should be more than zero.");
                inForm.inputperiod.value= "";
                inForm.inputperiod.focus();
                return false;
            }
			if(parseInt(inForm.inputperiod.value) != (inForm.inputperiod.value-0))
			{
				alert("Please specify the numeric value");
				inForm.inputperiod.focus();
				return false;
			}

            if(inForm.inputperiod.value != "" && inForm.datetypes.options[0].selected)
            {
                alert("Select the date types for the period entered");
                inForm.datetypes.focus();
                return false;
            }
        }

		else if(inForm.rdbExpiresAfter[1].checked)
		{
			if (inForm.expiresafter.value == "")
            {
                alert("Please specify Expiry date for the License Level")
                return false;
            }

			if(validateDateWithCurrentDate(inForm.expiresafter.value) == true)
			{
				alert("Please enter current or future date");
				inForm.expiresafter.focus();
				return false;
			}

		}
    }



	if(inForm.graceperiodtorenew.value != "")
	{
		if(parseInt(inForm.graceperiodtorenew.value) != (inForm.graceperiodtorenew.value-0))
		{
			alert("Please specify the numeric value");
			inForm.graceperiodtorenew.focus();
			return false;
		}
	}

	if (isObjEmpty(inForm.licenseapprovaltype, "License Approval Type is mandatory"))		return false;

	if (parseInt(inForm.licenseType.value) != companyType)
	{
	    if (inForm.selectedPortions.options.length == 0)
	    {
	        alert("Select atleast one portion")
	        inForm.selectedPortions.focus();
    		return false;
        }
    }

	if(inForm.rdbExpiresAfter[1].checked)
	{
		if(inForm.expiresafter.value == "")
		{
			alert("Select the expiry date.");
			inForm.expiresafter.focus();
			return false;
		}

	}

	if(inForm.chkExpiresAfter.checked)
	{
		if(inForm.autoexpirelicensestatusto[0].selected)
		{
			alert("Please Select Auto Expired License Status to");
			inForm.autoexpirelicensestatusto.focus();
   			return false;
		}

	}
	        
	SelectAllFromList(inForm.selectedAdditionalAttributes);
	SelectAllFromList(inForm.selectedPortions);
	SelectAllFromList(inForm.selectedFees);
	SelectAllFromList(inForm.selectednonexaminationinformation);
	SelectAllFromList(inForm.selectedDocuments);
	SelectAllFromList(inForm.selectedcourses);
	SelectAllFromList(inForm.selectedFunctionType);
	SelectAllFromList(inForm.selectedAutoexpirelicensechildstatusto);
    
    if(inForm.chkCanBeRI.checked)
    {
        combo = inForm.selectedFunctionType;
        flag = false;
        if(combo!=null)
        {
            for (var i=0;i<combo.options.length;i++)
            {    
                if(combo.options[i].value == 3)
                {
                    flag = true;
                    break;
                }
            }
            if(!flag)
            {
                alert("As u checked Can be RI, you should select the Responsible Individual Function Type");
                return false;
            }
        }
    }
    
	disableObjectAndSubmit(obj)
}

function fnChkEnableDisableFormItems(inForm)
{
	var bFlag = !(inForm.chkExpiresAfter.checked)

    inForm.rdbExpiresAfter[0].checked = false
    inForm.rdbExpiresAfter[1].checked = false

    inForm.rdbExpiresAfter[0].disabled = bFlag
    inForm.rdbExpiresAfter[1].disabled = bFlag

    if (document.all.item("parentExpiryStatus"))
    {
        document.all.item("parentExpiryStatus").cells(0).innerText = inForm.chkExpiresAfter.checked ? "*" : ""
    }

	inForm.chkExpiresAfter.value = inForm.chkExpiresAfter.checked?1:0

	fnRdbEnableDisableFormItems(inForm)
}

function fnRdbEnableDisableFormItems(inForm)
{
	if(inForm.rdbExpiresAfter[0].checked)
	{
		inForm.inputperiod.disabled = false
		inForm.datetypes.disabled = false
		inForm.chkExpiresAtEndOfYear.disabled = false
		inForm.expiresafter.value = ""
//		inForm.expiresafter.disabled = true

		//inForm.dateButton.disabled = true
	}

	if(inForm.rdbExpiresAfter[1].checked)
	{
		inForm.inputperiod.value = ""
		inForm.inputperiod.disabled = true

		inForm.datetypes.disabled = true
		inForm.datetypes.options[0].selected = true

		inForm.chkExpiresAtEndOfYear.checked = false
		inForm.chkExpiresAtEndOfYear.disabled = true

//		inForm.expiresafter.disabled = false
		//inForm.dateButton.disabled = false
	}

	if(!inForm.rdbExpiresAfter[0].checked && !inForm.rdbExpiresAfter[1].checked)
	{
		inForm.inputperiod.value = ""
		inForm.inputperiod.disabled = true

		inForm.datetypes.disabled = true
		inForm.datetypes.options[0].selected = true

		inForm.chkExpiresAtEndOfYear.checked = false
		inForm.chkExpiresAtEndOfYear.disabled = true

//		inForm.expiresafter.value = ""
//		inForm.expiresafter.disabled = true
		//inForm.dateButton.disabled = true
	}

}

function fnChkExpiresEndOfYear(inForm)
{
   var bFlag = !(inForm.chkExpiresAtEndOfYear.checked)
   bFlag?inForm.chkExpiresAtEndOfYear.value = 0 : inForm.chkExpiresAtEndOfYear.value = 1
}

function setFormActionForLicenseLevelAs(inForm,targetForm, actionValue)
{
	var licenseLevelConfId = 0;

    if (inForm.licenseLevelConfigurationIdRadio.length)
    {
        for (i=0;i < inForm.licenseLevelConfigurationIdRadio.length;i++)
        {
            if(inForm.licenseLevelConfigurationIdRadio[i].checked)
            {
                licenseLevelConfId = inForm.licenseLevelConfigurationIdRadio[i].value;
				break;
            }
        }
    }
    else
    {
       licenseLevelConfId = inForm.licenseLevelConfigurationIdRadio.value;
    }

    targetForm.licenseLevelConfigurationId.value=licenseLevelConfId;


    if( actionValue == 'deleteLicenseLevelConfiguration')
    {
        if(confirm("Are you sure you want to delete the selected License Level?"))
        {
            targetForm.methodToCall.value = "delete";
			targetForm.action="removeLicenseLevelConfiguration.do";
			targetForm.submit();
            return false;
        }
		else
		{
			return false;
		}
    }
}


function validatePortions(inForm)
{

   if(parseInt(inForm.licenseType.value) == 102)
   {
         inForm.Add.disabled = true;
   }
   else
   {
       inForm.Add.disabled = false;
   }

}

function enableDisableCompanyType(inForm)
{

	if(returnSelectedTextInCombo(inForm.licenseType, inForm.licenseType.value) == "Individual")
	{
		inForm.companyType.disabled = true;
		inForm.chkCanBeRI.disabled = false;
		inForm.chkCanHaveEmployee.disabled = false;
        inForm.chkCanBeEmployed.disabled = false;
		inForm.PortionAdd.disabled = false;
	}
	else if(returnSelectedTextInCombo(inForm.licenseType, inForm.licenseType.value) == "Company")
	{
		inForm.companyType.disabled = false;
		inForm.chkCanBeRI.checked = false;
		inForm.chkCanHaveEmployee.checked = false;
		inForm.chkCanBeEmployed.checked = false;

		inForm.chkCanBeRI.disabled = true;
		inForm.chkCanHaveEmployee.disabled = true;
		inForm.chkCanBeEmployed.disabled = true;
		inForm.PortionAdd.disabled = true;
	}
	else
	{
		inForm.companyType.disabled = true;
		inForm.chkCanBeRI.checked = false;
		inForm.chkCanHaveEmployee.checked = false;
		inForm.chkCanBeEmployed.checked = false;

		inForm.chkCanBeRI.disabled = true;
		inForm.chkCanHaveEmployee.disabled = true;
		inForm.chkCanBeEmployed.disabled = true;
		inForm.PortionAdd.disabled = false;
	}
}

function populateChildValues(inForm)
{
    var childEnums = null;
    var isAnyChild = 0;
    if (inForm.autoexpirelicensestatusto.value != "")
    {
        var parentEnumStatusId = parseInt(inForm.autoexpirelicensestatusto.value);
        inForm.autoexpirelicensechildstatusto.length = (0);
        inForm.selectedAutoexpirelicensechildstatusto.length = (0);
        for(i=0;i<parentStatusList.length;i++)
        {
            var tmpParentEnum = parentStatusList[i];
            if(tmpParentEnum != null && tmpParentEnum != 'undefined')
            {
	            if(parentEnumStatusId == parseInt(tmpParentEnum.parentEnumType))
	            {
	                childEnums = tmpParentEnum.childEnumList;
	                for(j = 0; j < childEnums.length; j++)
	                {
	                    childEnumObj = childEnums[j];
	                    inForm.autoexpirelicensechildstatusto.options[j] = new Option(childEnumObj.desc,childEnumObj.childEnumType);
	                }
	                isAnyChild = 1;
	                break;
	            }
            }
        }
        if(isAnyChild == 0)
        {
            document.getElementById("childStatusRow").style.display = "none";
        }
        else
        {
            document.getElementById("childStatusRow").style.display = "inline";
        }
    }
    else
    {
        inForm.autoexpirelicensechildstatusto.length = (0);
        inForm.selectedAutoexpirelicensechildstatusto.length = (0);
        document.getElementById("childStatusRow").style.display = "none";
    }
}

function ChildEnum(childEnumType, desc)
{
    this.childEnumType = childEnumType;
    this.desc = desc;
}

function ParentEnum(parentEnumType, childEnumList)
{
    this.parentEnumType = parentEnumType;
    this.childEnumList = childEnumList;
}

function fnLoadCompanyDetails()
{
    var companyTypeVal = document.forms[0].licenseType.value; //returnSelectedTextInCombo(document.forms[0].licenseType, document.forms[0].licenseType.value);
    if(companyTypeVal != "")
    {
        if(companyTypeVal != companyType)
        {
            document.all.item("companyType").disabled = true;
            document.all.item("chkCanBeRI").disabled = false;
            document.all.item("chkCanHaveEmployee").disabled = false;
            document.all.item("chkCanBeEmployed").disabled = false;
            document.all.item("PortionAdd").disabled = false;
        }
        else
        {
            document.all.item("companyType").disabled = false;
            document.all.item("chkCanBeRI").disabled = true;
		    document.all.item("chkCanHaveEmployee").disabled = true;
            document.all.item("chkCanBeEmployed").disabled = true;
            document.all.item("PortionAdd").disabled = true;
        }
    }
    else
    {
        document.all.item("companyType").disabled = true;
        document.all.item("chkCanBeRI").disabled = true;
		document.all.item("chkCanHaveEmployee").disabled = true;
        document.all.item("chkCanBeEmployed").disabled = true;
        document.all.item("PortionAdd").disabled = false;
    }
}

function fnLoadExpiryDetails()
{
    if(document.forms[0].chkExpiresAfter.checked)
    {
        document.forms[0].chkExpiresAfter.click();

        if(document.forms[0].rdbExpiresAfter[1].checked)
        {
            document.forms[0].rdbExpiresAfter[1].disabled = false;
            document.forms[0].rdbExpiresAfter[1].click();
        }

        if(document.forms[0].rdbExpiresAfter[0].checked)
        {
            document.forms[0].rdbExpiresAfter[0].disabled = false;
            document.forms[0].rdbExpiresAfter[0].click();
            if(document.forms[0].chkExpiresAtEndOfYear.checked)
                document.forms[0].chkExpiresAtEndOfYear.click();
        }
    }

    document.all.item("licenselevel").focus();
}