// IMG SWAP AND NAV
function imgSwap(oImg)
{
   var strOver  = "_on";   // image to be used with mouse over
   var strOff = "_off";     // normal image
   var strImg = oImg.src;
   if (strImg.indexOf(strOver) != -1)
   {
      oImg.src = strImg.replace(strOver,strOff);
   }
   else
   {
      oImg.src = strImg.replace(strOff,strOver);
   }
}

// ERP Form Processing (Subbu Vadali)
function Goto(url) {
    if (url.toString() != null)
        window.location.href = url;
}

function actionProperty(propertyID, action) {
    document.getElementById("hiddenPropertyID").value = propertyID;
    document.getElementById("hiddenAction").value = action;

//document.erpManageProperty.hiddenAction.value = action;
//document.erpManageProperty.hiddenPropertyID.value = propertyID;

    if (action == 'Delete') {
       if(!confirm('You are sure you want to delete this Property?')) {
          //alert('No! Don\'t Delete')
          document.getElementById("hiddenPropertyID").value = '';
          document.getElementById("hiddenAction").value = '';
       }
    }    
    
    if (action == 'Edit') {
       var btnSaveUpdate = document.getElementById("SaveUpdateButton");
	   btnSaveUpdate.disabled = false;
    }
    
    if (action == 'View') {
       var btnSaveUpdate = document.getElementById("SaveUpdateButton");
	   btnSaveUpdate.disabled = true;
    }
    document.forms.erpManageProperty.submit();
}

function validateCreateUser() {
    var email = document.getElementById("Email").value;
    var password = document.getElementById("Password").value;
    var fullName = document.getElementById("FullName").value;
    var confirmPassword = document.getElementById("ConfirmPassword").value;
    
    /*
    var emailErrorMessage = document.getElementById("EmailError");
    var fullNameErrorMessage = document.getElementById("FullNameError");
    var passwordErrorMessage = document.getElementById("PasswordError");
    var confirmPasswordErrorMessage = document.getElementById("ConfirmPasswordError");
*/
    var registerErrorMessage = document.getElementById("RegisterErrorMessage");

    ShowMessageForInvalidateEmail('Email', 'EmailError');
    checkForRequiredField('FullName', 'Full Name', 'FullNameError');
    checkPasswordsForEquality('Password', 'ConfirmPassword', 'ConfirmPasswordError');

	if (email != "" && validateEmail(email) && password != "" && confirmPassword != "" && fullName != "" && password == confirmPassword) {
		return true;
    }
    else {
    	registerErrorMessage.className = "erp_ErrorMessage";
        registerErrorMessage.innerHTML = "Please enter all the required fields before clicking the <b>Continue</b> button<br /><br />";
        return false;
    }
}


function fnSameCompanyAddress(checkValue) {
	var checkedState = document.getElementById("SameCompanyAddress").checked;
    if (checkedState) {    
	    document.getElementById("AddressLine1").value = document.getElementById("CompanyAddressLine1").value;
	    document.getElementById("AddressLine2").value = document.getElementById("CompanyAddressLine2").value;
	    document.getElementById("City").value = document.getElementById("CompanyAddressCity").value;
	    //document.getElementById("State").options[0].innerText = document.getElementById("CompanyAddressState").value;
	    //document.getElementById("State").selectedIndex = 5;
	    for (i=0;i<document.getElementById('State').length;i++)
		{
			if (document.getElementById("CompanyAddressState").value == document.getElementById('State').options(i).text)
			{
				document.getElementById('State').options(i).selected = true;
			}
		}

	    document.getElementById("PostalCode").value = document.getElementById("CompanyAddressPostalCode").value;
    } else {
    	document.getElementById("AddressLine1").value = '';
    	document.getElementById("AddressLine2").value = '';
    	document.getElementById("City").value = '';
    	document.getElementById("State").options[0].innerText = 'Select State';
    	document.getElementById("PostalCode").value = '';
    }
}

function validateCompany() {
    var companyName = document.getElementById("CompanyName").value;
    var companyAddress = document.getElementById("AddressLine1").value;
    var city = document.getElementById("City").value;
    //var state = document.getElementById("State").value;
    var zipCode = document.getElementById("ZipCode").value;
    var phone = document.getElementById("Phone").value;
    //var fax = document.getElementById("Fax").value;
    
    var registerErrorMessage = document.getElementById("RegisterErrorMessage");

    checkForRequiredField('CompanyName', 'Company Name', 'CompanyNameRequired');
    checkForRequiredField('AddressLine1', 'Address', 'CompanyAddressRequired');
    checkForRequiredField('City', 'City', 'CompanyCityRequired');
    checkForRequiredField('ZipCode', 'Zip Code', 'CompanyZipRequired');
    checkForRequiredField('Phone', 'Phone', 'CompanyPhoneRequired');
    //checkForRequiredField('Fax', 'Fax', 'CompanyFaxRequired');
    
	if (companyName != "" && companyAddress != "" && city != "" && zipCode != "" && phone != "") {
		return true;
    }
    else {
    	registerErrorMessage.className = "erp_ErrorMessage";
        registerErrorMessage.innerHTML = "Please enter all the required fields before clicking the <b>Next</b> button<br /><br />";
        return false;
    }
}

function addNewProperty() {
	var btnSaveUpdate = document.getElementById("SaveUpdateButton");
	btnSaveUpdate.disabled = false;
	
	document.getElementById("hiddenPropertyID").value = "";
    document.getElementById("hiddenAction").value = "";
    
    document.forms.erpManageProperty.submit();

	//document.forms["erpManageProperty"].reset(); //-- not working 
/*
	document.getElementById("SameCompanyAddress").checked = false;
    document.getElementById("PropertyName").value = '';
	document.getElementById("AddressLine1").value = '';
	document.getElementById("AddressLine2").value = '';
	document.getElementById("City").value = '';
	document.getElementById("State").options[0].innerText = 'Select State';
	document.getElementById("PostalCode").value = '';
	
	document.getElementById("Phone").value = '';
	document.getElementById("Fax").value = '';
	document.getElementById("ContactName").value = '';
	document.getElementById("ContactEmail").value = '';
	
	document.getElementById("ContactPrimaryPhone").value = '';
	document.getElementById("ContactMobilePhone").value = '';
	document.getElementById("NumberOfBuildings").value = '';
	document.getElementById("NumberOfUnits").value = '';
	document.getElementById("NumberOfFloors").value = '';
	document.getElementById("OfficeArea").value = '';
	document.getElementById("WarehouseArea").value = '';
	document.getElementById("BuildingArea").value = '';
	document.getElementById("InsuranceCompany").value = '';
	document.getElementById("SpecialInstructions").innerHTML = '';
	*/
}


function checkPasswordsForEquality(passwordControl, confirmPasswordControl, messageControl) {
    var messageElement = document.getElementById(messageControl);
    var password = document.getElementById(passwordControl).value;
    var confirmPassword = document.getElementById(confirmPasswordControl).value;
    
    if (password != "" && confirmPassword != "" && password == confirmPassword) {
       ClearErrorMessages(messageControl);
       return true;
    }
    else {
       messageElement.className = "erp_ErrorMessage";
       messageElement.innerHTML = "Passwords do not match";
       return false;
    }
}

function checkForRequiredField(fieldControl, displayFieldName, messageControl) {
    var messageElement = document.getElementById(messageControl);
    var field = document.getElementById(fieldControl).value;

    if (field != "") {
       ClearErrorMessages(messageControl);
       return true;
    }
    else {
       messageElement.className = "erp_ErrorMessage";
       messageElement.innerHTML = displayFieldName + " is Required";
       return false;
    }
}

function validateLogin(IsForgotPassword) {
    var loginEmail = document.getElementById("LoginEmail").value;
    var loginPassword = document.getElementById("LoginPassword").value;
    var registerErrorMessage = document.getElementById("RegisterErrorMessage");
    var loginErrorMessage = document.getElementById("LoginErrorMessage");

    if (IsForgotPassword == true) {
        if (loginEmail != "" && validateEmail(loginEmail)) {
            //alert("You will be redirected to a forgotpassword.htm");
            document.forms.erpLoginCreateAccount.forgotPasswordLink.value= "ForgotPassword";
            document.forms.erpLoginCreateAccount.submit();
            return true;
        }
        else {
            loginErrorMessage.className = "erp_ErrorMessage";
            loginErrorMessage.innerHTML = "Please enter your registered <b><u>Email Address</u></b> before clicking the<br /><b>I forgot my password</b> link<br /><br />";
            return false;
        }
    }
    else {
        if (loginEmail != "" && loginPassword != "" && validateEmail(loginEmail)) {
            //alert('Got all values\r\nEmail: ' + loginEmail + '\r\nPassword: ' + loginPassword);
            window.location.href = "erp-company.php";
            return true;
        }
        else {
            loginErrorMessage.className = "erp_ErrorMessage";
            loginErrorMessage.innerHTML = "Please enter your registered <b><u>Email Address</u></b> and <b><u>Password</u></b><br />before clicking the <b>Login</b> button<br /><br />";
            return false;
        }
    }
}

function ClearErrorMessages(section) {
    if (section.toString() != "") {
        var ctrls = section.toString().split(',');
        var index = 0;

        while (index < ctrls.length) {
            var errorMessageElement = document.getElementById(ctrls[index]);
            errorMessageElement.innerHTML = "";
            index++;
        }
    }
}

function ShowMessageForInvalidateEmail(emailControl, messageControl) {
    var messageElement = document.getElementById(messageControl);
    var emailValue = document.getElementById(emailControl).value;

    if (emailValue == null || emailValue.toString() == "") {
        messageElement.className = "erp_ErrorMessage";
        messageElement.innerHTML = "Email Address is required";
        return;
    }
    else {
        if (validateEmail(emailValue))
            ClearErrorMessages(messageControl);
        else {
            messageElement.className = "erp_ErrorMessage";
            messageElement.innerHTML = "Invalid Email Address";
        }
    }
}

function validateEmail(elementValue) {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    return emailPattern.test(elementValue);
}


function validatePropertyInfo(propertyExists) {
    if (propertyExists == 1) 
    {
    	if (confirm('Have you completed entering all the properties for this company?\n\nClick OK to go to the confirmation page.\nClick Cancel to add more properties.'))
    	{
    	    return true;
    	}
    }

    var propertyName = document.getElementById("PropertyName").value;
    var propertyAddress = document.getElementById("AddressLine1").value;
    var city = document.getElementById("City").value;
    var zipCode = document.getElementById("PostalCode").value;
    
    var phone = document.getElementById("Phone").value;
    var fax = document.getElementById("Fax").value;
    var contactName = document.getElementById("ContactName").value;
    var contactEmail = document.getElementById("ContactEmail").value;
    var contactPrimaryPhone = document.getElementById("ContactPrimaryPhone").value;
    var contactMobilePhone = document.getElementById("ContactMobilePhone").value;
    var numberOfBuildings = document.getElementById("NumberOfBuildings").value;
    var numberOfUnits = document.getElementById("NumberOfUnits").value;
    var numberOfFloors = document.getElementById("NumberOfFloors").value;
    var officeArea = document.getElementById("OfficeArea").value;
    var warehouseArea = document.getElementById("WarehouseArea").value;
    var buildingArea = document.getElementById("BuildingArea").value;
    var insuranceCompany = document.getElementById("InsuranceCompany").value;
    var specialInstructions = document.getElementById("SpecialInstructions").value;
    
    var registerErrorMessage = document.getElementById("RegisterErrorMessage");

    checkForRequiredField('PropertyName', 'Property Name', 'PropertyNameRequired');
    checkForRequiredField('AddressLine1', 'Address', 'AddressRequired');
    checkForRequiredField('City', 'City', 'CityRequired');
    checkForRequiredField('PostalCode', 'Zip Code', 'ZipRequired');
    
    checkForRequiredField('Phone', 'Phone', 'PhoneRequired');
    checkForRequiredField('Fax', 'Fax', 'FaxRequired');
    checkForRequiredField('ContactName', 'Contact Name', 'ContactNameRequired');
    checkForRequiredField('ContactEmail', 'Contact Email', 'ContactEmailRequired');
    checkForRequiredField('ContactPrimaryPhone', 'Contact Primary Phone', 'ContactPrimaryPhoneRequired');
    checkForRequiredField('ContactMobilePhone', 'Contact Mobile Phone', 'ContactMobilePhoneRequired');
    checkForRequiredField('NumberOfBuildings', 'Number Of Buildings', 'NumberOfBuildingsRequired');
    checkForRequiredField('NumberOfUnits', 'Number of Units', 'NumberOfUnitsRequired');
    checkForRequiredField('NumberOfFloors', 'Number of Floors', 'NumberOfFloorsRequired');
    checkForRequiredField('OfficeArea', 'Office Area', 'OfficeAreaRequired');
    checkForRequiredField('WarehouseArea', 'Warehouse Area', 'WarehouseAreaRequired');
    checkForRequiredField('BuildingArea', 'Building Area', 'BuildingAreaRequired');
    checkForRequiredField('InsuranceCompany', 'Insurance Company', 'InsuranceCompanyRequired');
    
	if (propertyName != "" && propertyAddress != "" && city != "" && zipCode != "" &&
	phone != "" && fax != "" && contactName != "" && contactEmail != "" && contactPrimaryPhone != "" &&
	contactMobilePhone != "" && numberOfBuildings != "" && numberOfUnits != "" && numberOfFloors != "" &&
	officeArea != "" && warehouseArea != "" && buildingArea != "" && insuranceCompany != "") {
		return true;
    } else {
    	registerErrorMessage.className = "erp_ErrorMessage";
        registerErrorMessage.innerHTML = "<br>Please enter all the <u>required fields</u> before saving this Property information.<br><br>";
        return false;
    }
} 

