﻿var ContactMe =
{
    contactDetails: {
        FromEmailAddress: '',
        ToEmailAddress: '',
        Message: '',
        Subject: '',
        PhoneNumber: '',
        ReachMeTime: ''
    },
    emailpattern: /^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/,
    numericPattern: /^[0-9]+$/,
    CheckLength: function(element) {
        var ele;
        if (element == 'PhoneNumber1' || element == 'PhoneNumber2') {
            ele = ResHelper.GetElementByIdName(element);
            if (ele.value.match(ContactMe.numericPattern) != null) {
                if ((ele.value != '' && ele.value.length < 3)) {
                    ResHelper.RaiseException("InvalidPhoneNumber1", element, 3);
                    ele.focus();
                    return false;
                }

            }
            else if (ele.value != '') {
                ResHelper.RaiseException("InvalidPhoneNumber", element, 3);
                ele.focus();
                return false;
            }
        }
        else if (element == 'PhoneNumber3') {
            ele = ResHelper.GetElementByIdName(element);
            if (ele.value.match(ContactMe.numericPattern) != null) {
                if (ele.value != '' && ele.value.length < 4) {
                    ResHelper.RaiseException("InvalidPhoneNumber2", element, 3);
                    ele.focus();
                    return false;
                }

            }
            else if (ele.value != '') {
                ResHelper.RaiseException("InvalidPhoneNumber", element, 3);
                ele.focus();
                return false;
            }
        }
    },
    CheckPhoneLength: function(element) {
        var ele;
        if (element == 'PhoneNumber1' || element == 'PhoneNumber2') {
            ele = ResHelper.GetElementByIdName(element);
            if (ele.value.match(ContactMe.numericPattern) != null) {
                if ((ele.value != '' && ele.value.length < 3)) {
                    ResHelper.RaiseException("InvalidPhoneNumber1", element, 3);
                    ele.focus();
                    return false;
                }

            }
            else if (ele.value != '') {
                ResHelper.RaiseException("ErrNumberOnly", element, 3);
                ele.focus();
                return false;
            }
        }
        else if (element == 'PhoneNumber3') {
            ele = ResHelper.GetElementByIdName(element);
            if (ele.value.match(ContactMe.numericPattern) != null) {
                if (ele.value != '' && ele.value.length < 4) {
                    ResHelper.RaiseException("InvalidPhoneNumber2", element, 3);
                    ele.focus();
                    return false;
                }

            }
            else if (ele.value != '') {
                ResHelper.RaiseException("ErrNumberOnly", element, 3);
                ele.focus();
                return false;
            }
        }
    },
    HideSaveSuccessMessage: function(saveButtonID) {
        var ele = ResHelper.GetElementByIdName(saveButtonID);
        if (ele) {
            $("#SaveSuccessMsg").remove();
            $(ele).show();
        }
    },
    ShowSaveSuccessMessage: function(saveButtonID) {
        var ele = ResHelper.GetElementByIdName(saveButtonID);
        if (ele) {
            $(ele).hide();
            $("#SaveMessageContainer").html("<span id='SaveSuccessMsg'>Your mail has been sent.</span>");
            setTimeout("ContactMe.HideSaveSuccessMessage('" + saveButtonID + "')", 2000);
        }
    },
    ShowSaveErrorMessage: function(saveButtonID) {
        if (saveButtonID) {
            var ele = ResHelper.GetElementByIdName(saveButtonID);
            if (ele) {
                $(ele).hide();
                $("#SaveMessageContainer").html("<span id='SaveSuccessMsg'>Error Occured!!.</span>");
                setTimeout("ContactMe.HideSaveSuccessMessage('" + saveButtonID + "')", 2000);
            }
        }
    },
    OnSubmitError: function(error) {
        ContactMe.ShowSaveErrorMessage('SubmitContainer');
    },
    OnSubmitSuccess: function() {
        ContactMe.ShowSaveSuccessMessage('SubmitContainer');
        ContactMe.ResetElements();
    },
    FillContactDetailsObject: function() {screen
        this.contactDetails.FromEmailAddress = ResHelper.GetElementByIdName('EmailID').value;
        this.contactDetails.ToEmailAddress = ResHelper.GetElementByIdName('hdnToEmailID').value;
        this.contactDetails.Message = ResHelper.GetElementByIdName('Comments').value;
        this.contactDetails.Subject = ResHelper.GetElementByIdName('SelectArea').value;
        this.contactDetails.PhoneNumber = ResHelper.GetElementByIdName('PhoneNumber1').value + "-" + ResHelper.GetElementByIdName('PhoneNumber2').value + "-" + ResHelper.GetElementByIdName('PhoneNumber3').value;
        if (ResHelper.GetElementByIdName('ReachTime').value != "Select") {
            this.contactDetails.ReachMeTime = ResHelper.GetElementByIdName('ReachTime').value;
        }
    },
    ResetElements: function() {
        this.contactDetails.FromEmailAddress = '';
        this.contactDetails.ToEmailAddress = '';
        this.contactDetails.Message = '';
        this.contactDetails.Subject = '';
        this.contactDetails.PhoneNumber = '';
        this.contactDetails.ReachMeTime = '';
        ResHelper.GetElementByIdName('EmailID').value = '';
        ResHelper.GetElementByIdName('SelectArea').selectedIndex = 0;
        ResHelper.GetElementByIdName('Comments').value = '';
        ResHelper.GetElementByIdName('PhoneNumber1').value = '';
        ResHelper.GetElementByIdName('PhoneNumber2').value = '';
        ResHelper.GetElementByIdName('PhoneNumber3').value = '';
        ResHelper.GetElementByIdName('ReachTime').selectedIndex = 0;
    },
    ValidateEmail: function() {
        var emailValue = ResHelper.GetElementByIdName('EmailID').value;
        var selectArea = ResHelper.GetElementByIdName('SelectArea').value;
        if (emailValue != '') {
            if (emailValue.match(ContactMe.emailpattern) == null) {
                ResHelper.RaiseException("ReqEmail", 'EmailID', 3);
                ResHelper.GetElementByIdName('EmailID').focus();
                return false;
            }
            else {
                if (selectArea == 'Please select an area...') {
                    ResHelper.RaiseException("InvalidSelectedOption", 'SelectArea', 3);
                    ResHelper.GetElementByIdName('SelectArea').focus();
                    return false;
                }
            }
        }
        else {
            ResHelper.RaiseException("ReqEmail", 'EmailID', 3);
            ResHelper.GetElementByIdName('EmailID').focus();
            return false;
        }

        ContactMe.FillContactDetailsObject();
        PageMethods.SendContactMeMail(ContactMe.contactDetails, ContactMe.OnSubmitSuccess, ContactMe.OnSubmitError);
        return false;
    },
    OpenMoreContent: function(elem, idContent) {
        hs.outlineType = 'rounded-white';
        hs.dragByHeading = true;
        return hs.htmlExpand(elem, { contentId: idContent });
    },
    ShowHideMoreBio: function() {
        var bioText = ResHelper.GetElementByIdName('AboutAgent');
        var moreLink = ResHelper.GetElementByIdName('moreBio');
        if ($(bioText)[0].offsetHeight > 48) {
            $(moreLink).show();
            $(bioText).removeAttr("class");
            $(bioText).attr("style", "line-height:16px;height:48px;overflow:hidden;");
        }
        else {
            $(moreLink).hide();
        }
    },
    ShowHideMoreDesignations: function() {
        var designationsText = ResHelper.GetElementByIdName('Designations');
        var moreLink = ResHelper.GetElementByIdName('moreDesignations');
        if ($(designationsText)[0].offsetHeight > 48) {
            $(moreLink).show();
            $(designationsText).removeAttr("class");
            $(designationsText).attr("style", "line-height:16px;height:48px;overflow:hidden;");
        }
        else {
            $(moreLink).hide();
        }
    },
    ShowHideMoreLanguages: function() {
        var languagesText = ResHelper.GetElementByIdName('LanguagesSpoken');
        var moreLink = ResHelper.GetElementByIdName('moreLanguages');
        if ($(languagesText)[0].offsetHeight > 48) {
            $(moreLink).show();
            $(languagesText).removeAttr("class");
            $(languagesText).attr("style", "line-height:16px;height:48px;overflow:hidden;");
        }
        else {
            $(moreLink).hide();
        }
    }
}

