
;(function($) {  
    
    function performCustomRounding(element) {
        if ($(element).hasClass("round-in-ie-with-images") == true 
                && $.browser.msie != null
            ) {
            return true;
        }
        return false;
    }
    
    $.fn.korner = function(opts) {
        
        var newAddedClassName = "round";
        if (opts != null) {
            newAddedClassName += "-" + opts.split(" ").join("-");
        }
        
        return this.each(function(index,element){
            
            if (! performCustomRounding(element)) {
                $(element).corner(opts);
                return;
            } 
            
            if (element.addedClass == null) {
                $(element).removeClass(newAddedClassName);
            }
            
            $(element).addClass(newAddedClassName);
            element.addedClassName = newAddedClassName;
            
        });
    };
    

    $.fn.unkorner = function() { 
        
        return this.each(function(index,element){
            
            if (! performCustomRounding(element)) {
                $(element).uncorner();
                return;
            }
            
            if (element.addedClassName != null) {
                $(element).removeClass(element.addedClassName);
                element.addedClassName = null;
            }
            
        });
    };
    
    /* 
        completely removes the rounding background class, but does not nullify the 
        addedClassName property, so it can be restored by unklear() 
    */
    $.fn.klear = function() { 
        
        return this.each(function(index,element){
            if (! performCustomRounding(element)) {
                return;
            }
            
            if (element.addedClassName != null) {
                $(element).removeClass(element.addedClassName);
            }

        });
    };
    /*
        reassigns the addedClassName if it is present
    */
    $.fn.unklear = function() { 
        
        return this.each(function(index,element){
            
            if (! performCustomRounding(element)) {
                return;
            }
            
            if (element.addedClassName != null) {
                $(element).addClass(element.addedClassName);
            }

        });
    };
    
    
    
})(jQuery);
