function textCounter(field, maxlimit) {
    var used = 0;
    if (field.value.length > maxlimit)
        field.value = field.value.substring(0, maxlimit);
    else {
        used = field.value.length;
        document.getElementById('wordcount').innerHTML = used;
    }
}

var Profile = new Object();

Object.extend(
    Profile,
    {
        url: '',

        submitForm: function(subject, objEvent) {
            var formVars = '';
            var pars = new Array();

            if($(subject.form_id).tagName.toLowerCase() == 'form') {
                formVars = Form.serialize($(subject.form_id));
                if(formVars != '') {
                    formVars = '&' + formVars;
                }
            }

            var myAjax = new Ajax.Request(
                subject.url,
                {
                    method: 'post',
                    parameters: pars.join('&') + formVars,
                    evalScripts:true,
                    onComplete: function(ajaxRequest){
                        Control.Modal.current.update(ajaxRequest.responseText);
                    }
                }
            );
            Event.stop(objEvent);
        },

        updateSection: function(subject) {
            var url;
            var url_prefix = subject.url_prefix;
            switch (subject.section_id) {
                case 'profile-interest':
                    url = 'users/profile_interest/update';
                    break;
                case 'profile-description':
                    url = 'users/profile_description/update';
                    break;
                case 'profile-introduction-title':
                    url = 'users/profile_introduction_title/update';
                    break;
                case 'profile-about-me':
                    url = 'users/profile_about_me/update';
                    break;
                case 'profile-about-my':
                    url = 'users/profile_about_my/update';
                    break;
                case 'profile-photos':
                    url = 'users/profile_photos/update';
                    break;
            }
            var myAjax = new Ajax.Updater(
                {success: subject.section_id, failure: subject.section_id},
                url_prefix + url,
                {
                    onComplete: function(ajaxRequest){
                        new Effect.Highlight(
                            $(subject.section_id).parentNode,
                            {
                                duration: 5
                            }
                        );
                        Control.Modal.close();
                    }
                }
            );
        }
    }
);
