$(document).ready(function() {

// preload images function
	$.preloadImages("loading_bar.gif","btn_expand.gif","btn_collapse.gif","btn_toggle_plus.gif");

// Application Menus
	$(".core_appgroup_menu").click(function(){
		$("#app_menu").hide();
		$("#app_name").toggleClass('opacity20');
		$("#app_nav").addClass('opacity20');
		$("#app_name span").show();
		$("#appgroup_menu").slideToggle("fast",coreapp_menusControlEfects);
		$("#appgroup span").toggle();
		return false;
	});
	
	$(".core_app_menu").click(function(){
		$("#appgroup_menu").hide();
		$("#appgroup span").show();
		$("#app_nav").toggleClass('opacity20');
		$("#app_menu").slideToggle("fast", coreapp_menusControlEfects);
		$("#app_name span").toggle();
		return false;
	});
	
	function coreapp_menusControlEfects(){
		if(document.getElementById("appgroup_menu").style.display == "block" || document.getElementById("app_menu").style.display == "block" ){
			coreDimScreen(1);
		}else{
			$("#app_nav").removeClass('opacity20');
			coreDimScreen();
		}
	}
	
// Messages
	$(".message").click(function(){
		$(this).fadeOut("fast");
		return false;
	});
	
// Fields
	$(".field").focus(function(){ $(this).addClass("selected"); });
	$(".field").blur(function(){ $(this).removeClass("selected"); });
	
	
// Button save
	$(".submit").livequery('click', function(event){ 
		$(this).parent(".button_container").addClass("no_display");
		$(this).parents(".js_form").find(".default_progress_bar").removeClass("no_display");
		$(this).parents(".js_form").submit();
		return false;
	});
	
// Select the first field on page
	$(".autofocus").focus();

// Livequery actions	
	$('#core_checkboxes_button').livequery('click', function(event) {
		$("#core_checkboxes_menu").slideToggle("fast");
		return false;
	});
	
	$('.menu tr').livequery('mouseover', function(event) {
		$(this).addClass("table_hover");
		$(this).find(".table_options").addClass('visible');
		return false;
	});
	
	$('.menu tr').livequery('mouseout', function(event) {
		$(this).removeClass("table_hover");
		$(this).find(".table_options").removeClass('visible');
		return false;
	});
	
	$('.table_checkbox').livequery('click', function(event) {
		if(this.checked){
			$(this).parents("tr").addClass("selected_row");
		}else{
			$(this).parents("tr").removeClass("selected_row");
		}
	});
	
	$('.btn_toggle').livequery('click', function(event) {
		$(this).parent().children('ul').toggle();
		$(this).toggleClass('disableToggle');
		return false;
	});

	var color_n = -1;
	// Manage each color wheel popup
	$('.color_wheel').livequery('click', function(event) { 
		already_clicked = $(this).find('img').attr('id');
		if(!already_clicked){
			color_n++;
			$(this).find('img').attr('id',color_n);
			make_farbtastic(color_n,$(this).attr('title'));
		}
		// Sets the color in the popup
		the_title = $(this).attr('title');
		current_color = $('#'+the_title).val();
		id = $(this).find('img').attr('id');
		$('#highslide-wrapper-'+id).find('.color').val(current_color);
		$('#highslide-wrapper-'+id).find('.color').css({backgroundColor:current_color});
		// Opens the window
		hs.htmlExpand(this, { contentId: 'color_picker', width: 440, height: 270 } );
		return false;
    });
	
	// Makes a farbtastic instance
	function make_farbtastic(n,title){
		$('#highslide-wrapper-'+n).livequery(function(){ 
			$(this).attr('title',title);
			var field = $('#highslide-wrapper-'+n).find('.color');
			f = $.farbtastic( $(this).find('.colorpicker') );
			f.linkTo( $(this).find('.color') );
			f.setColor( $('#'+title).val() );
			// Deprectaed if this works on IE
			// $(this).find('.colorpicker').farbtastic( $(this).find('.color') );
			// $(this).find('.color').attr('value',$('#'+title).val());
			$(this).find('.select_color').attr('title',title).click(function(){
				$('#'+title).attr('value',field.val() );
				return hs.close(this);
			});
		});
	}
	
	// Closes popups	
	$(".highslide-body").livequery(function(){
		$(this).find('.btn_cancel').click(function(){
			return hs.close(this);
		});
	});
	
	// Close icon makes sure content is not dimmed
	$(".hs-close").livequery('click',function(event){
		coreDimScreen();
		return hs.close(this);
	});
	
});


// Preload the images
$.preloadImages = function(){
	for(var i = 0; i<arguments.length; i++){
		$("<img>").attr("src", '/interface/'+arguments[i]);
	}
}

function coreDimScreen(action){
	if( action ){
		$("#app_wrapper").addClass('opacity20');
		$("#app_footer").addClass('opacity20');
	}else{
		$("#app_wrapper").removeClass('opacity20');
		$("#app_footer").removeClass('opacity20');
	}
}
