﻿// JScript File




function chkPostalSameAsPhysicalChanged()
{
    var physicalAddress1 = document.getElementById("ctl00_content_left_inner_holder_PhysicalAddress1");
    var physicalAddress2 = document.getElementById("ctl00_content_left_inner_holder_PhysicalAddress2");
    var physicalSuburb = document.getElementById("ctl00_content_left_inner_holder_PhysicalSuburb");
    var physicalCity = document.getElementById("ctl00_content_left_inner_holder_PhysicalCity");
    var physicalPostCode = document.getElementById("ctl00_content_left_inner_holder_PhysicalPostCode"); 
    var chkPostalSameAsPhysical = document.getElementById("ctl00_content_left_inner_holder_chkPostalSameAsPhysical");
    var postalAddress1 = document.getElementById("ctl00_content_left_inner_holder_PostalAddress1");
    var postalAddress2 = document.getElementById("ctl00_content_left_inner_holder_PostalAddress2");
    var postalSuburb = document.getElementById("ctl00_content_left_inner_holder_PostalSuburb");
    var postalCity = document.getElementById("ctl00_content_left_inner_holder_PostalCity");
    var postalPostCode = document.getElementById("ctl00_content_left_inner_holder_PostalPostCode");    
  
    if (chkPostalSameAsPhysical.checked == true)
    {
        postalAddress1.disabled = true;
        postalAddress1.value = physicalAddress1.value;  
        postalAddress2.disabled = true;
        postalAddress2.value = physicalAddress2.value;  
        postalSuburb.disabled = true;
        postalSuburb.value = physicalSuburb.value;  
        postalCity.disabled = true;
        postalCity.value = physicalCity.value;  
        postalPostCode.disabled = true;
        postalPostCode.value = physicalPostCode.value;          
    }
    else
    {
        postalAddress1.disabled = false;
        postalAddress1.value = "";  
        postalAddress2.disabled = false;
        postalAddress2.value = "";  
        postalSuburb.disabled = false;
        postalSuburb.value = "";  
        postalCity.disabled = false;
        postalCity.value = "";  
        postalPostCode.disabled = false;
        postalPostCode.value = "";          
    };

    return true;
}

function MemberPageValid()
{

    var errorMessage = "";      
    var messageDiv = document.getElementById("ctl00_content_left_inner_holder_message");
    
    //-----------------------------------------------------------------------------------------------
    // Check that the required fields have been supplied
    //-----------------------------------------------------------------------------------------------

    var pageType = document.getElementById("ctl00_content_left_inner_holder_HiddenPageType");    
    
    if (pageType.value == "WrapCode")
    {
        var complianceCode = document.getElementById("ctl00_content_left_inner_holder_ComplianceCode");                
        if (complianceCode.value == ""){errorMessage = errorMessage + "Wrap Compliance Code<br/>";}
    }
    
    if (pageType.value == "WrapBooking")
    {
    
        var bookingType = document.getElementById("ctl00_content_left_inner_holder_cmbBookingType");
        
        if (bookingType.value == 0) 
        {
             errorMessage = errorMessage + "Product - please select from the dropdown list<br/>";
        }
        
        
        var bookingQty = document.getElementById("ctl00_content_left_inner_holder_BookingQty");                                                  
        if (bookingQty.value == "")
        {
            errorMessage = errorMessage + "Product quantity to be collected<br/>";
        }
        else
        {
            if (testinteger(bookingQty.value) == false)
            {
                errorMessage = errorMessage + "Number Of Wrap Bags must be a whole number<br/>";
            }   
            else
            {
                if (bookingQty.value <= 0){errorMessage = errorMessage + "Number Of Wrap Bags to be collected must be greater than zero.<br/>";}
            };      
        }
    }
    
    if (pageType.value == "ChemicalBooking")
    {
        var checkRemainingQty = true;
        var chemicalName = document.getElementById("ctl00_content_left_inner_holder_ChemicalName");
        if (chemicalName.value == ""){errorMessage = errorMessage + "Chemical Name<br/>";}
        
        var packSize = document.getElementById("ctl00_content_left_inner_holder_PackSize");
        if (packSize.value == "")
        {   
            errorMessage = errorMessage + "Pack Size<br/>";
            checkRemainingQty = false;
        }        
        else
        {
            if (testnumericfloat(packSize.value) == false)
            {
                errorMessage = errorMessage + "Pack Size must be a number<br/>";
                checkRemainingQty = false;
            } 
            else
            {
                if (packSize.value <= 0)
                {
                    errorMessage = errorMessage + "Pack Size must be greater than zero.<br/>";
                    checkRemainingQty = false;
                }
            };
        }
        
        var unitOfMeasureCombo = document.getElementById("ctl00_content_left_inner_holder_cmbUnitOfMeasure");
        var unitOfMeasure = unitOfMeasureCombo.options[unitOfMeasureCombo.selectedIndex].value;             
        if (unitOfMeasure == '-- None --'){errorMessage = errorMessage + "Pack Size Unit of Measure<br/>";}   
        
        var noOfContainers = document.getElementById("ctl00_content_left_inner_holder_NoOfContainers");
        if (noOfContainers.value == "")
        {
            errorMessage = errorMessage + "Number of Containers<br/>";
            checkRemainingQty = false;
        }
        else
        {
            if (testinteger(noOfContainers.value) == false)
            {
                errorMessage = errorMessage + "Number Of Containers must be a whole number<br/>";
                checkRemainingQty = false;
            }   
            else
            {
                if (noOfContainers.value <= 0)
                {
                    errorMessage = errorMessage + "Number Of Containers must be greater than zero.<br/>";
                    checkRemainingQty = false;
                }
            };
        };
        
        var remainingQty = document.getElementById("ctl00_content_left_inner_holder_RemainingQty");
        if (remainingQty.value == "")
        {
            errorMessage = errorMessage + "Remaining Qty<br/>";
            checkRemainingQty = false;
        }
        else
        {
            if (testnumericfloat(remainingQty.value) == false)
            {
                errorMessage = errorMessage + "Remaining Qty must be a number<br/>";
                checkRemainingQty = false;
            }
            else
            {
                if (remainingQty.value <= 0)
                {
                    errorMessage = errorMessage + "Remaining Qty must be greater than zero.<br/>";
                    checkRemainingQty = false;
                }
            };    
        };
        
        if (checkRemainingQty == true)
        {
            if(remainingQty.value > packSize.value * noOfContainers.value){errorMessage = errorMessage + "Remaining Qty is greater than your total container capacity.<br/>";}
        }
        
        var stateCombo = document.getElementById("ctl00_content_left_inner_holder_cmbState");
        var state = stateCombo.options[stateCombo.selectedIndex].value;             
        if (state == '-- None --'){errorMessage = errorMessage + "State<br/>";}   
        
        var conditionCombo = document.getElementById("ctl00_content_left_inner_holder_cmbCondition");
        var condition = conditionCombo.options[conditionCombo.selectedIndex].value;             
        if (condition == 0){errorMessage = errorMessage + "Condition<br/>";}   
                
        var hiddenMoreInfo = document.getElementById("ctl00_content_left_inner_holder_hiddenMoreInfo");       
        var conditionMoreInfo = document.getElementById("ctl00_content_left_inner_holder_ConditionMoreInfo");        
        if (hiddenMoreInfo.value == "yes")
        {
            if (conditionMoreInfo.value == ""){errorMessage = errorMessage + "Description of Condition<br/>";}
        }                     
    }
           
    var newMember = document.getElementById("ctl00_content_left_inner_holder_HiddenNewMember");    
    if (pageType.value == "Member" || newMember.value == "yes")
    {                
        var firstName = document.getElementById("ctl00_content_left_inner_holder_FirstName");                                                
        if (firstName.value == "")
        {
            errorMessage = errorMessage + "First Name<br/>";
        }
        else
        {
            if (IsAlphabeticString(firstName.value) == false){errorMessage = errorMessage + "First Name can only contain the letters A-Z.<br/>";}
        };
        
        var lastName = document.getElementById("ctl00_content_left_inner_holder_LastName");
        if (lastName.value == "")
        {
            errorMessage = errorMessage + "Last Name<br/>";
        }
        else
        {
            if (IsAlphabeticString(lastName.value) == false){errorMessage = errorMessage + "Last Name can only contain the letters A-Z.<br/>";}
        };
        
        var company = document.getElementById("ctl00_content_left_inner_holder_Company");                                                                
        var positionCombo = document.getElementById('ctl00_content_left_inner_holder_cmbPosition');        
        var position = positionCombo.options[positionCombo.selectedIndex].value;                
        if (company.value != "" && position == '-- None --'){errorMessage = errorMessage + "Position<br/>";}
        
        //Check that Phone / Phone ext / Mobile / Fax contain only numbers
        var phone = document.getElementById("ctl00_content_left_inner_holder_Phone");     
        if (IsNumericString(phone.value) == false){errorMessage = errorMessage + "Phone can only contain numbers.<br/>";}
        
        var phoneExt = document.getElementById("ctl00_content_left_inner_holder_PhoneExt");     
        if (IsNumericString(phoneExt.value) == false){errorMessage = errorMessage + "Phone Ext can only contain numbers.<br/>";}
        
        var mobile = document.getElementById("ctl00_content_left_inner_holder_Mobile");     
        if (IsNumericString(mobile.value) == false){errorMessage = errorMessage + "Mobile can only contain numbers.<br/>";}
        
        var fax = document.getElementById("ctl00_content_left_inner_holder_Fax");     
        if (IsNumericString(fax.value) == false){errorMessage = errorMessage + "Fax can only contain numbers.<br/>";}
        
        var email = document.getElementById("ctl00_content_left_inner_holder_Email");
        if (email.value == ""){errorMessage = errorMessage + "Email Address<br/>";}
        
        var email2 = document.getElementById("ctl00_content_left_inner_holder_Email2");
        if (email2.value == ""){errorMessage = errorMessage + "Re-type Email Address<br/>";}
        
        // Check that the two email addresses match
        if (email.value != email2.value){errorMessage = errorMessage + "Email Address and Re-type Email Address do not match.<br/>";}
                
        var physicalAddress = document.getElementById("ctl00_content_left_inner_holder_PhysicalAddress1");
        if (physicalAddress.value == "")
        {
            errorMessage = errorMessage + "Physical Address<br/>";
        }
        else
        {
            // Check that the 1st character of the physical address is numeric to ensure the rapid or street number has been entered        
            if (physicalAddress.value.substring(0,1) != parseInt(physicalAddress.value.substring(0,1))){errorMessage = errorMessage + "First line of Physical Address is missing the street / rapid number<br/>";}      
        };
        
        var physicalPostCode = document.getElementById("ctl00_content_left_inner_holder_PhysicalPostCode");
        if (physicalPostCode.value == ""){errorMessage = errorMessage + "Physical Post Code<br/>";} 
       
        var chkPostalSameAsPhysical = document.getElementById("ctl00_content_left_inner_holder_chkPostalSameAsPhysical");
        if (chkPostalSameAsPhysical.checked == false)
        {
            var postalAddress = document.getElementById("ctl00_content_left_inner_holder_PostalAddress1");
            if (postalAddress.value == ""){errorMessage = errorMessage + "Postal Address<br/>";}
            
            var postalPostCode = document.getElementById("ctl00_content_left_inner_holder_PostalPostCode");
            if (postalPostCode.value == ""){errorMessage = errorMessage + "Postal Post Code<br/>";}        
        };
            
        var regionCombo = document.getElementById('ctl00_content_left_inner_holder_cmbRegion');
        var region = regionCombo.options[regionCombo.selectedIndex].value;
        if (region == '-- None --'){errorMessage = errorMessage + "Region<br/>";}
        
        var districtCombo = document.getElementById('ctl00_content_left_inner_holder_cmbDistrict');
        var district = districtCombo.options[districtCombo.selectedIndex].text;
        if (district == '-- None --')
        {
            errorMessage = errorMessage + "District<br/>";
        }
        else
        {
            var hiddenDistrict = document.getElementById('ctl00_content_left_inner_holder_HiddenDistrict');
            hiddenDistrict.value = district;
        };
        
        var farmTypeCount = document.getElementById('ctl00_content_left_inner_holder_HiddenFarmTypeChkCount');
        if(parseInt(farmTypeCount.value) == 0)
        {
            errorMessage = errorMessage + "Farm Type<br/>";
        }
        
        var otherFarmType = document.getElementById('ctl00_content_left_inner_holder_OtherFarmType');
        if (otherFarmType.disabled == false && otherFarmType.value == "")
        {
            errorMessage = errorMessage + "Other Farm Type<br/>";
        }
        
        var areaOfInterestTypeCount = document.getElementById('ctl00_content_left_inner_holder_HiddenAreaOfInterestChkCount');
        if(parseInt(areaOfInterestTypeCount.value) == 0)
        {
            errorMessage = errorMessage + "Area of Interest<br/>";
        }
        
        var otherAreaOfInterest = document.getElementById('ctl00_content_left_inner_holder_OtherAreaOfInterest');
        if (otherAreaOfInterest.disabled == false && otherAreaOfInterest.value == "")
        {
            errorMessage = errorMessage + "Other Area of Interest<br/>";
        }
        

        if (mobile.value == "" && phone.value == "")
        {
            errorMessage = errorMessage + "Phone or Mobile No<br/>";
        }               
           
        
        if(newMember.value == "yes")
        {
            var password = document.getElementById("ctl00_content_left_inner_holder_Password");
            if (password.value == ""){errorMessage = errorMessage + "Password<br/>";}
            
            var password2 = document.getElementById("ctl00_content_left_inner_holder_Password2");
            if (password2.value == ""){errorMessage = errorMessage + "Re-type Password<br/>";}
            
            // Do a case sensitive comparison of the passwords        
            if (password.value != password2.value){errorMessage = errorMessage + "Password and Re-type Password do not match.<br/>";}

            // Check that the password is the correct length and has no spaces in it    
            if(password.value.indexOf(" ") > 0){errorMessage = errorMessage + "Password may not contain spaces<br/>";}
            if(password.value.length < 6){errorMessage = errorMessage + "Password is too short<br/>";}   
            
            var passwordClue = document.getElementById("ctl00_content_left_inner_holder_PasswordClue");
            if (passwordClue.value == ""){errorMessage = errorMessage + "Password Clue<br/>";}      
            
            // Check that the user agrees to the Terms and Conditions
            var chkTermsAndConditions = document.getElementById("ctl00_content_left_inner_holder_chkTermsAndConditionsFlag");
            if (chkTermsAndConditions.checked == false){errorMessage = errorMessage + "To become a member of Agrecovery you must agree to our Terms & Conditions<br/>";}        
        }
    }
    
    if (errorMessage != "")
    {        
        messageDiv.innerHTML = "The following fields must be supplied:<br/>" + errorMessage;
        
        return false;
    }   
    
    //-----------------------------------------------------------------------------------------------
    // Ask the user to provide their mobile number if they haven't already done so
    //-----------------------------------------------------------------------------------------------

    if(pageType.value == "Member" || newMember.value == "yes")
    {
        var mobile = document.getElementById("ctl00_content_left_inner_holder_Mobile");
        
        if (mobile.value == "")
        {
            if (showYesNoMessage("We need your mobile number to remind you about collection events in your region. Would you like to supply it now?", "Agrecovery") == "yes")
            {                
                mobile.focus();
                return false;
            }  
        }               
    }
    
 

    
   
    return true;
}

function FarmTypeChkCount(obj)
{    
    //-----------------------------------------------------------------------------------------------
    // Keep a count of the number of Farm Types selected
    //-----------------------------------------------------------------------------------------------
    if(obj.checked==true)    
    {        
        document.getElementById("ctl00_content_left_inner_holder_HiddenFarmTypeChkCount").value = parseInt(document.getElementById("ctl00_content_left_inner_holder_HiddenFarmTypeChkCount").value ) + 1;                
    }    
    else
    {
        document.getElementById("ctl00_content_left_inner_holder_HiddenFarmTypeChkCount").value = parseInt(document.getElementById("ctl00_content_left_inner_holder_HiddenFarmTypeChkCount").value) - 1;        
    }
    
    //-----------------------------------------------------------------------------------------------
    // Enable/disable the OtherFarmType control
    //-----------------------------------------------------------------------------------------------
    var selectedItemIsOther = false;
    var lblOtherFarmType = document.getElementById("ctl00_content_left_inner_holder_lblOtherFarmType");
    var otherFarmType = document.getElementById("ctl00_content_left_inner_holder_OtherFarmType");
    
    //get the parent checkboxlist
    var chkBoxList = document.getElementById("ctl00_content_left_inner_holder_chklstFarmType");
    
    //get all the labels belonging to this checkboxlist
    var chkBoxLabels = chkBoxList.getElementsByTagName("label");    
    
    //get the label belonging to the selected farm type item
    for(var i=0;i<chkBoxLabels.length;i++) 
    {
        if (chkBoxLabels[i].attributes.getNamedItem("for").value == obj.id) 
        {   
            //if the label is "Other" then enable/disable the OtherFarmType control
            if(chkBoxLabels[i].innerText == "Other")
            {
                if(obj.checked==true)    
                { 
                    lblOtherFarmType.disabled = false;
                    otherFarmType.disabled = false;
                    otherFarmType.focus();
                }
                else
                {
                    otherFarmType.value = "";
                    lblOtherFarmType.disabled = true;
                    otherFarmType.disabled = true;
                }
            }
            break;
        }             
    }   
    
    return true;
}



function AreasOfInterestCheckBoxListSelect(cbControl, state, excludeOther)
{    
    var chkBoxList = document.getElementById(cbControl);
    var chkBoxListItems = chkBoxList.getElementsByTagName("input");
    var chkBoxLabels = chkBoxList.getElementsByTagName("label");
    
    for(var i=0;i<chkBoxListItems.length;i++) 
    {
        if (excludeOther == false || (excludeOther == true && chkBoxLabels[i].innerText != "Other"))
        {
            chkBoxListItems[i].checked = state;               
        }        
    }
        
     var areaOfInterestTypeCount = document.getElementById('ctl00_content_left_inner_holder_HiddenAreaOfInterestChkCount');
      areaOfInterestTypeCount.value = chkBoxListItems.length;
        
    return false; 
}

function AreaOfInterestChkCount(obj)
{        
    //-----------------------------------------------------------------------------------------------
    // Keep a count of the number of Areas of Interest selected
    //-----------------------------------------------------------------------------------------------
    if(obj.checked==true)    
    {        
        document.getElementById("ctl00_content_left_inner_holder_HiddenAreaOfInterestChkCount").value = parseInt(document.getElementById("ctl00_content_left_inner_holder_HiddenAreaOfInterestChkCount").value ) + 1;                
        if (selectedItemIsOther == true)
        {
            otherAreaOfInterest.disabled = false;
        }
    }    
    else
    {
        document.getElementById("ctl00_content_left_inner_holder_HiddenAreaOfInterestChkCount").value = parseInt(document.getElementById("ctl00_content_left_inner_holder_HiddenAreaOfInterestChkCount").value) - 1;        
        if (selectedItemIsOther == true)
        {
            otherAreaOfInterest.disabled = true;
        }
    }
    
    //-----------------------------------------------------------------------------------------------
    // Enable/disable the OtherAreaOfInterest control
    //-----------------------------------------------------------------------------------------------
    var selectedItemIsOther = false;
    var lblOtherAreaOfInterest = document.getElementById("ctl00_content_left_inner_holder_lblOtherAreaOfInterest");
    var otherAreaOfInterest = document.getElementById("ctl00_content_left_inner_holder_OtherAreaOfInterest");
    
    //get the parent checkboxlist
    var chkBoxList = document.getElementById("ctl00_content_left_inner_holder_chklstAreaOfInterest");
    
    //get all the labels belonging to this checkboxlist
    var chkBoxLabels = chkBoxList.getElementsByTagName("label");    
    
    //get the label belonging to the selected area of interest item
    for(var i=0;i<chkBoxLabels.length;i++) 
    {
        if (chkBoxLabels[i].attributes.getNamedItem("for").value == obj.id) 
        {   
            //if the label is "Other" then enable/disable the OtherAreaOfInterest control
            if(chkBoxLabels[i].innerText == "Other")
            {
                if(obj.checked==true)    
                { 
                    lblOtherAreaOfInterest.disabled = false;
                    otherAreaOfInterest.disabled = false;
                    otherAreaOfInterest.focus();
                }
                else
                {
                    otherAreaOfInterest.value = "";
                    lblOtherAreaOfInterest.disabled = true;
                    otherAreaOfInterest.disabled = true;
                }
            }
            break;
        }             
    }   
    
    return true;
}
