var EnergyCMS = {

//TODO: Make work with multiple instance situations
//    RotatingImagePod: {
//        divID: null,
//        effect: "fade",
//        speed: 1000,
//        timeout: 4000,
//        random: 0,
//        init: function() {                    
//            $(document).ready(function() {                        
//                $(EnergyCMS.RotatingImagePod.divID).cycle({ 
//                    fx: EnergyCMS.RotatingImagePod.effect, 
//                    speed: EnergyCMS.RotatingImagePod.speed, 
//                    timeout: EnergyCMS.RotatingImagePod.timeout,
//                    random: EnergyCMS.RotatingImagePod.random 
//                });  
//            });
//        }
//    },
            
    TextPod: {
        divID: null,
        splitCount: 0,
        split: function() {                    
            $(document).ready(function() {                        
                $(EnergyCMS.TextPod.divID).columnize({ 
                    columns: EnergyCMS.TextPod.splitCount
                });  
            });
        }
    }, 
    
    FlashPod: {
        divID: null,
        width: 100,
        height: 100,
        path: null,
        init: function() {
            $(document).ready(function() {                        
                $(EnergyCMS.FlashPod.divID).flash({ 
                    src: EnergyCMS.FlashPod.path,
                    width: EnergyCMS.FlashPod.width,
                    height: EnergyCMS.FlashPod.height,
                    wmode: 'transparent'                                      
                });  
            });
        }
    },
    
    CommentsPod: {
        maxVisibleComments: 5,
        maxCommentLength: 500,
        commentID: null,
        commentLengthID: null,
        listID: null,
        buttonContainerID: null,
        loginID: null,
        registerID: null,
        formID: null,
        initList: function() {  
            
            var visible = false;
            if($(EnergyCMS.CommentsPod.listID + "> li").size() > 5)
            {
                $(EnergyCMS.CommentsPod.listID + "> li:eq(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").addClass("last");            
                $(EnergyCMS.CommentsPod.listID + "> li:gt(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").hide();
                
                var moreLink = document.createElement("a");
                $(moreLink).text("Show older comments");
                $(moreLink).attr("href", "#");          
                $(moreLink).addClass("show-more-comments");
                $(moreLink).attr("title", "Show older comments");
                $(moreLink).click(function(e) {
                    e.preventDefault();
                    if(visible) {
                        $(moreLink).addClass("show-more-comments");
                        $(moreLink).removeClass("show-less-comments");
                        $(moreLink).text("Show older comments");
                        $(moreLink).attr("title", "Show older comments");
                        $(EnergyCMS.CommentsPod.listID + "> li:eq(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").addClass("last");                                
                        $(EnergyCMS.CommentsPod.listID + "> li:gt(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").hide("slow");
                    }
                    else {
                        $(moreLink).addClass("show-less-comments");
                        $(moreLink).removeClass("show-more-comments");                           
                        $(moreLink).text("Hide older comments");
                        $(moreLink).attr("title", "Hide older comments");
                        $(EnergyCMS.CommentsPod.listID + "> li:eq(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").removeClass("last");            
                        $(EnergyCMS.CommentsPod.listID + "> li:gt(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").show("slow", function() {
                            $(EnergyCMS.CommentsPod.listID + "> li:gt(" + (EnergyCMS.CommentsPod.maxVisibleComments - 1) + ")").removeAttr("style");
                        });
                    }
                    
                    visible = !visible;
                });
                $(EnergyCMS.CommentsPod.listID).after(moreLink);
            }
        },
        initForm: function() {
            $(document).ready(function() {                               
                if(EnergyCMS.CommentsPod.loginID != null) {
                    $(EnergyCMS.CommentsPod.loginID).hide();
                    var loginLink = document.createElement("a");
                    $(loginLink).text("Login");
                    $(loginLink).attr("href", "#");
                    $(loginLink).addClass("login");
                    $(loginLink).click(function(e) {
                        e.preventDefault();
                        $(EnergyCMS.CommentsPod.registerID).hide("slow");
                        $(EnergyCMS.CommentsPod.loginID).toggle("slow");
                    });
                    $(EnergyCMS.CommentsPod.buttonContainerID).append(loginLink);
                }
                
                if(EnergyCMS.CommentsPod.registerID != null) {
                    $(EnergyCMS.CommentsPod.registerID).hide();
                    var registerLink = document.createElement("a");
                    $(registerLink).text("Register");
                    $(registerLink).attr("href", "#");
                    $(registerLink).addClass("register")
                    $(registerLink).click(function(e) {
                        e.preventDefault();
                        $(EnergyCMS.CommentsPod.loginID).hide("slow");
                        $(EnergyCMS.CommentsPod.registerID).toggle("slow");
                    });
                    $(EnergyCMS.CommentsPod.buttonContainerID).append(registerLink);
                }
                
                if(EnergyCMS.CommentsPod.commentID != null && EnergyCMS.CommentsPod.commentLengthID != null) {
                
                    $(EnergyCMS.CommentsPod.commentLengthID).text((EnergyCMS.CommentsPod.maxCommentLength - $(EnergyCMS.CommentsPod.commentID).val().length) + " remaining");
 
                    $(EnergyCMS.CommentsPod.commentID).keypress(function(e) {                        
                        var key = e.which;                     
                        var length = $(EnergyCMS.CommentsPod.commentID).val().length;  

                        if(key >= 33 || key == 13) {  
                            if(length >= EnergyCMS.CommentsPod.maxCommentLength) { 
                                e.preventDefault();  
                                $(EnergyCMS.CommentsPod.commentLengthID).addClass("limit-reached");
                            }  
                        }                          
                    });
                    
                    $(EnergyCMS.CommentsPod.commentID).keyup(function() {                        
                                        
                        var length = $(EnergyCMS.CommentsPod.commentID).val().length;  

                        var remaining = EnergyCMS.CommentsPod.maxCommentLength - length
                        $(EnergyCMS.CommentsPod.commentLengthID).text( remaining + " remaining");   
                    });                   
                }         
            });
        }
    }
};
