$(function() {

	/**
	 * dealing with exhibitions unknown date
	 */

	$('input#date_unknown').click(function() {

		if ($(this).is(':checked')) {
			$('div#field_form_exhibitions_default_start_date').hide();
			$('div#field_form_exhibitions_default_end_date').hide();
			$('div#field_form_exhibitions_default_start_month').show();
			$('div#field_form_exhibitions_default_end_month').show();
		} else {
			$('div#field_form_exhibitions_default_start_date').show();
			$('div#field_form_exhibitions_default_end_date').show();
			$('div#field_form_exhibitions_default_start_month').hide();
			$('div#field_form_exhibitions_default_end_month').hide();
		}
	});

	if ($('input#date_unknown').is(':checked')) {
		$('div#field_form_exhibitions_default_start_date').hide();
		$('div#field_form_exhibitions_default_end_date').hide();
		$('div#field_form_exhibitions_default_start_month').show();
		$('div#field_form_exhibitions_default_end_month').show();

	} else {
		$('div#field_form_exhibitions_default_start_date').show();
		$('div#field_form_exhibitions_default_end_date').show();
		$('div#field_form_exhibitions_default_start_month').hide();
		$('div#field_form_exhibitions_default_end_month').hide();
	}

	
	
	$('div.slide-container').not('.no_controls').switcher({
	    timeInView : 5000,
	    transitionTime : 600,
	    easing : 'linear',
	    showControls : true,
	    maxSlides: 10
	});

//	$('div.slide-container.no_controls .slide-controls').hide();

	$('div.slide-container.no_controls').switcher({
	    timeInView : 5000,
	    transitionTime : 600,
	    easing : 'linear',
	    showControls : false
	});
	
	$('form.form_young_ramm_enquiry div.field input.error, form.form_young_ramm_enquiry div.field textarea.error').bind('focus', function() {
		$(this).parent().find('p.error').each(function() {
			$(this).fadeOut();
		});
	});

	// style switchers
	$(".contrast").switchstylesheet({
		seperator : "contrast"
	});
	$(".text-size").switchstylesheet({
		seperator : "text"
	});

	// hover fix for rubbish ie
	$('#adminNavigation li').hover(function() {
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	});

	/* JPicker */
	$.fn.jPicker.defaults.images.clientPath = '/images/jpicker/';
	$('.colorPicker').jPicker();

	// lightbox
	$('a.lightbox,a.fancy-box,a.fancyBox').each(function() {
		$(this).colorbox({
		    photo : true,
		    opacity : 0.90,
		    scalePhotos : true,
		    maxWidth : '85%',
		    maxHeight : '95%',
		    title : function() {
			    return $(this).find('img').attr('alt');
		    }
		});
	});

	if ($.browser.msie && $.browser.version == "6.0") {
		// http://www.youtube.com/watch?v=MiCnB35k3Uk
		var url;
		$('a.videoBox').each(function() {
			url = $(this).attr('href');
			url = url.replace(".com/v/", ".com/watch?v=");
			$(this).attr('href', url);
		});
	} else {
		$('a.videoBox').colorbox({
		    iframe : true,
		    innerWidth : 800,
		    innerHeight : 600
		});
	}

	// ui calendar
	$('input.datePicker').datepicker({
	    changeMonth : true,
	    changeYear : true,
	    dateFormat : 'dd/mm/yy',
	    showOn : 'button',
	    buttonImage : '/images/btn_calendar.gif',
	    buttonImageOnly : true,
	    autoSize : true,
	    buttonText : 'Select a date from a calendar',
	    yearRange : 'c-90:c+10'
	});

	// Image Cropper
	$('.cropbox').Jcrop({
	    aspectRatio : 0,
	    onSelect : function(c, obj) {

		    $(obj).parent().find('input.crop_dimentions').val(c.x + ',' + c.y + ',' + c.w + ',' + c.h);
		    if (c.w > 0) {
			    $(obj).parent().find('input.submitCrop').each(function() {
				    $(this).attr("disabled", false);
			    });
		    } else {
			    $(obj).parent().find('input.submitCrop').each(function() {
				    $(this).attr("disabled", true);
			    });
		    }
	    }
	});

	$('.submitCrop').click(function(e) {
		if (confirm('Are you sure ? To revert to original size you would need to reupload the image.')) {
			$('input').each(function() {
				var $this = $(this);

				if ($(this).attr('name') == 'refresh_form') {
					$this.val('true');
				}
			});
		} else {
			return false;
		}
	});

	// swap value html5 style
	$('.swap-value[title]').each(function(n) {

		if ($(this).val().length == 0) {
			$(this).val($(this).attr('title'));
			$(this).addClass('ghost-input');
		}
		$(this).bind('focus', function() {
			if ($(this).val() == $(this).attr('title')) {
				$(this).val('');
				$(this).removeClass('ghost-input');
			} else {
				$(this).select();
				$(this).removeClass('ghost-input');
			}
		});
		$(this).bind('blur', function() {
			if ($(this).val().length == 0) {
				$(this).val($(this).attr('title'));
				$(this).addClass('ghost-input');
			} else {
				$(this).removeClass('ghost-input');
			}
		});
	});

	$('form').bind('submit', function() {
		$('.swap-value[title]').each(function() {
			if ($(this).val() == $(this).attr('title')) {
				$(this).val('');
			}
		});
	});

	// definitions
	$("dfn[title]").tooltip();

	// event access icons
	$('ul.event-access-list li a').bind('click', function(e) {

		var id = $(this).attr('rel').replace(/access_/, '');
		var $form = $(this).closest('form');
		var $access_selected = $form.find('input[name=access_selected]');
		var selected = ($access_selected.val() != '') ? $access_selected.val().split(',') : [];

		if ($.inArray(id, selected) == -1) {
			selected.push(id);
			$access_selected.val(selected.join(','));
		} else {
			var k = $.inArray(id, selected);
			selected.splice(k, 1);
			$access_selected.val(selected.join(','));
		}
		$form.submit();
	});

	// what's on tabs
	$('ul.tabs li a').each(function() {
		$(this).bind('click', function(e) {
			e.preventDefault();
			$('div.tab-page').hide()
			$('ul.tabs li').removeClass('selected');
			$($(this).attr('href')).show();
			$(this).parent().addClass('selected');
		});
	});

	// faq questions
	$('div.faq-question').each(function(n) {
		var $this = $(this);
		if (n > 0) {
			// hide all the answers except the first
			$this.children('div.faq-answer').hide();
		}
		$this.find('a.answer-link').bind('click', function(e) {
			e.preventDefault();
			var target = $(this).attr('href');
			if ($(target).is(':hidden')) {
				$('div.faq-answer:visible').slideUp('fast');
				$(target).slideDown('fast');
			}
		});
	});

	// open rel="external" links in a new window
	$('a[rel=external]').each(function(n) {
		$(this).attr('target', '_blank');
	});

	// young RAMM gallery captions
	$('ul#youngGalleryList li').each(function(n) {
		var caption = $(this).find('p.caption');
		var height = caption.outerHeight();
		caption.css('bottom', height * -1);
		$(this).hover(function() {
			caption.animate({
				bottom : '0px'
			}, {
			    duration : 500,
			    easing : 'easeOutQuad'
			});
		}, function() {
			caption.animate({
				bottom : height * -1
			}, {
			    duration : 500,
			    easing : 'easeOutQuad'
			});
		});
	});

	$("table.sq_table").treeTable({
		initialState : 'collapsed'
	});

	// expand tree to show pages awaiting approval and/or last updated record
	$('table.treeTable tr').each(function() {
		if ($(this).hasClass('approval_requested') || $(this).hasClass('lastUsed')) {
			$(this).reveal();
			$(this).effect("highlight", {}, 3000);
		}
	});
});

/**
 * !important! if you change something here remember to copy it to tinyMCE part
 * in the inline editor above
 */
tinyMCE.init({
    mode : "specific_textareas",
    theme_advanced_resizing_min_width : 550,
    editor_selector : /(tiny_mce|image_mce)/,
    theme : "advanced",
    editor_deselector : "mceNoEditor",
    body_class : "content",
    content_css : "/css/content.css",
    plugins : "safari,inlinepopups,paste,table",
    paste_auto_cleanup_on_paste : true,
    width : 640,
    height : 500,
    file_browser_callback : "tinyBrowser",
    theme_advanced_buttons1 : "bold, italic, underline, justifyleft,justifycenter, justifyright, justifyfull , formatselect,  |, pasteword,pastetext, code ",
    theme_advanced_buttons2 : "undo,redo,|,bullist, numlist,|,outdent,indent, |, link, unlink, image ,forecolor",
    theme_advanced_buttons3 : "tablecontrols",
    theme_advanced_resizing : true,
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "center",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_blockformats : "p,h2,h4",
    convert_urls : false,
    verify_html : true,
    valid_elements : "@[class|style|title],br,h2,h3,h4,-p[align],-strong/b,a[name|href|target],-em/i,-span[style]," + "img[src|border=0|alt|title|width|height|align],hr[width|size|noshade]," + "table[border|cellspacing|cellpadding|width],tr[rowspan],td[colspan],th[colspan],-ul,ol,-li"
});

tinyMCE.init({
    mode : "specific_textareas",
    theme_advanced_resizing_min_width : 550,
    editor_selector : /(simple_mce)/,
    theme : "advanced",
    editor_deselector : "mceNoEditor",
    body_class : "content",
    content_css : "/css/content.css",
    plugins : "safari,inlinepopups,",
    theme_advanced_buttons1 : "bold, italic, underline, |, undo, redo,|, code, link, unlink, formatselect ",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "center",
    theme_advanced_blockformats : "p,h2,h4",
    paste_auto_cleanup_on_paste : true,
    verify_html : true,
    valid_elements : "-p,-strong/b,-em/i,-span[style],a[href|target|title|class]"
});

