$(document).ready(function(){
	$("#navigation-tree div:odd").each(function(index,element){
	    $(element).addClass("right");
	    if(index == 0){
	        $(element).css({"top":"89px","left":"110px"});
	    } else if(index == 1) {
	        $(element).css({"top":"196px","left":"110px"});
	    } else if(index == 2) {
	        $(element).css({"top":"309px","left":"106px"});
	    }
	});

	$("#navigation-tree div:even").each(function(index,element){
	    $(element).addClass("left");
	    if(index == 0){
	        $(element).css({"top":"21px","left":"22px"});
	    } else if(index == 1) {
	        $(element).css({"top":"142px","left":"20px"});
	    } else if(index == 2) {
	        $(element).css({"top":"246px","left":"29px"});
	    } else if(index == 3) {
	        $(element).css({"top":"370px","left":"27px"});
	    }
	});

	$("#navigation-tree div").mouseenter(function(){
		$(this).addClass("hover");
	}).mouseleave(function(){
		$(this).removeClass("hover");
	});


	if(!$("body").hasClass("forside")){
	    jQuery.each(site.elements, function(j, element){
	        if(!(element.name == "Slogans-1" || element.name == "Slogans-2"))
	            return;

	        switch(element.module){
	            case 'Rotator' : {

	                //VALIDATE
	                if(!utils.hasValue(element.source)){
	                    return;
	                }

	                var container = jQuery("<div/>").attr("id",element.name).addClass("rotator-container").addClass("clearfix");
	                var rotator = jQuery("<div/>").addClass("rotator");

	                //DIMENSIONS
	                if(utils.isset(element.dimensions)){
	                    if(utils.isset(element.dimensions.height)){
	                        container.css({'height':element.dimensions.height});
	                    }
	                }

	                //SHOW LOAD
	                jQuery(container).addClass("loading");
	                utils.log("loading");

	                try {
	                    jQuery.get("index.html?id="+element.source+"&template=JSON::Advanced", function(data) {

	                            //VALIDATE THE DATA - CHECKS IF THE PAGE HAS THE RIGHT TEMPLATE
	                            if(data.substring(6,13) != 'NB-JSON')
	                                return;

	                            var json = jQuery.evalJSON(data.substring(13,data.length-7));

	                            jQuery.each(json.elements,function(index,el){
	                                var panel = jQuery("<div />");
	                                if(utils.hasValue(el["image"])){

	                                    //DIMENSIONS
	                                    if(utils.isset(element.dimensions)){
	                                        panel.css(element.dimensions);
	                                    }
	                                    panel.css('background-image','url(../../images/'+el["image"]+')');
	                                }

	                                var image = '';
	                                if(utils.hasValue(el["presentation-image"])){
	                                    image = '<img src="../../images/'+el["presentation-image"]+'" />';
	                                }

	                                var title = '';
	                                if(utils.hasValue(el["title"])){
	                                    title = '<h2>'+el["title"]+'</h2>';
	                                }

	                                var presentation = '';
	                                if(utils.hasValue(el["presentation"])){
	                                    presentation = '<p>'+el["presentation"]+'</p>';
	                                }

	                                var caption = ''
	                                if(title != '' || presentation != ''){
	                                    caption = '<div class="caption">'+ title + presentation +'</div>';
	                                }

	                                rotator.append(jQuery(panel).html(image + caption));
	                            });


	                            /** POSITION **/

	                            //SPECIFIC ELEMENT (BASED ON ID)
	                            if(element.position.startsWith("#")){
	                                //CHECK IF THE ELEMENT EXISTS
	                                if(utils.exists(jQuery(''+element.position+''))){
	                                    jQuery(''+element.position+'').append(rotator);
	                                    //Idiotic IE fix
	                                    jQuery(''+element.position+'').css("overflow","auto");
	                                } else {
	                                    utils.log("Could not find the element: "+element.position+", which was meant to contain a rotator");
	                                    return;
	                                }

	                            //NOT AN ELEMENT - ADD THE POSITION AS CLASS
	                            } else {
	                                jQuery(container).addClass(element.position);



	                                //OUTSIDE CONTENT
	                                if(element.position.endsWith("content")){
	                                    if(element.position.startsWith("before")){
	                                        jQuery("#toolbar").after(jQuery(container).append(rotator));
	                                    } else {
	                                        jQuery("#content").after(jQuery(container).append(rotator));
	                                    }

	                                //SIDEBAR
	                                } else if(element.position.startsWith("sidebar")){
	                                    if(utils.exists(jQuery('#sidebar'))){
	                                        if(element.position.endsWith('top')){
	                                            jQuery("#sidebar").prepend(jQuery(container).append(rotator));
	                                        } else {
	                                            jQuery("#sidebar").append(jQuery(container).append(rotator));
	                                        }
	                                    }

	                                //INSIDE CONTENT
	                                } else {
	                                    //TOP
	                                    if(element.position.startsWith('top')){
	                                        if(element.position == 'top'){
	                                            jQuery("#content").prepend(jQuery(container).append(rotator));
	                                            jQuery(jQuery(container).append(rotator)).addClass("clearfix");
	                                        } else {
	                                            jQuery("#content").prepend(jQuery(container).append(rotator));
	                                        }
	                                    //BOTTOM
	                                    } else if(element.position == 'bottom'){
	                                        jQuery("#content").append(jQuery(container).append(rotator));
	                                        jQuery(jQuery(container).append(rotator)).addClass("clearfix");
	                                    }
	                                }
	                            }

	                            //PAGER
	                            if(utils.isset(element.parameters.pager)){
	                                element.parameters.pager = '#rotator-'+element.source+'-navigation';
	                                jQuery(container).append('<div id="rotator-'+element.source+'-navigation" class="rotator-navigation">');
	                                jQuery(rotator).cycle(element.parameters);
	                            } else {
	                                jQuery(rotator).cycle(element.parameters);
	                            }

	                        });

	                        jQuery(container).removeClass("loading");
	                        utils.log("done loading");

	                    } catch(ex) {
	                        utils.log("[getSubPages("+id+") Error: "+ex);
	                    }
	                break;
	            }
	            default : {
	                return;
	                break;
	            }
	        }
	    });
	}
});
