String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
    return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
    return this.replace(/\s+$/,"");
}
function init() {
    $(".orp-check").focus(function() { 
        buff.check(this, false);
    }).blur(function() { 
        buff.check(this, true);
    }).before('<div class="orp-bubble" style="display:none;"></div>');
    $(".orp-focus").focus();
}
var buff = {
    check : function(item, doCheck) {
        var box = $(item);
        var parent = box.parent();
        if (!doCheck) {
            parent.removeClass("bad").addClass("focus");
            
            msg = '';
            switch (item.name) {
                case "name" :
                    msg = 'Must be more than five letters';
                    break;
                case "email" :
                    msg = 'Required';
                    break;
                case "pass" :
                    msg = 'Must be more than six characters';
                    break;
                case "user" :
                    msg = 'Must be more than five letters';
                    break;
                case "pass2" :
                    msg = 'Must match above';
                    break;
            }
            if (msg.length > 0) {
                $('.orp-bubble', parent).show();
                $('.orp-bubble', parent).text(msg);
            }
        } else {
            parent.removeClass("focus").removeClass("bad");
            var val = box.val().trim();
            var err = false;
            var msg = '';
            switch(item.name) {
                case "name" :
                    if (val.length <= 5) {
                        err = true;
                        msg = 'Not more than five letters';
                    }
                    break;
                case "email" :
                    
                    err = !val.match(/^([a-z0-9\+_\-]+)(\.[a-z0.9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/);
                    msg = 'Not valid';
                    
                    break;
                case "pass" :
                    if (val.length <= 6) {
                        err = true;
                        msg = 'Not more than six characters';
                    }
                    break;
                case "user" :
                    if (val.length <= 5) {
                        err = true;
                        msg = 'Not more than five letters';
                    }
                    break;
                case "pass2" :
                    if (val != $("#pass").val().trim()) {
                        err = true;
                        msg = 'Does not match above';
                    }
            }
            if (err) {
                parent.addClass("bad");
                $('.orp-bubble', parent).text(msg).show();
            } else {
                $('.orp-bubble', parent).hide();
            }
        }
    }
}
$(document).ready(init);