/*! global.js - generalized behaviour and global variables */
  
;var coa = {
	saveIndicator: $('<div></div>').addClass('spinner').text('Saving your data...'),
	borderIndicator: $('<div></div>').addClass('spinner').text('Updating your border...'),
	loadIndicator: $('<div></div>').addClass('spinner').text('Loading...')

/*	capitalize: function( str ) {
		return str.substr(0,1).toUpperCase() + str.substr(1, str.length -1);
	},*/
		
/*	sort_ended: function( event, ui) {
		var elements = $('#elementSortControl').children('li');
		
		var options = {};
		var sortedpage = [];
		
		elements.each( function(i, m) {
			if ( $(m).attr('id') !== '' ) {
				var str =  m.id.split('_');
				var model = coa.capitalize(str[1]);
				var id = str[2];
				var domid = model+"_"+id;
				
				var id_key = 'data['+ model +'][' + i + '][id]';
				var sequence_key = 'data['+ model +'][' + i + '][sequence]';
				
				options[id_key] = id;
				options[sequence_key] = i;			
			}
		});
		
		var id = $('div.elements:first').attr('id').split('_');
		var page_id = id[1];
		
		options['data[Page][id]'] = page_id;
		
		$.post('/pages/edit/' + page_id, options, function( data, responseText ) { 
			$.get('../view/' + page_id, function( d, response ) {
				var page = $(d).filter('div.elements')[0];
				$('div.elements:first').html( $(page).html() );
				$('div.elements:first').children().hide();				
			}, 'html' );
		} );
	},*/ 
		
	
/*	save_image_sequence: function() {
		gid = $(this).parents('.gallery').attr('id').replace('/gallery_/', '');
		var idstring = '';
		jQuery.each( $(this).sortable('toArray'), 
			function() {
				if ( idstring != '' ) {
					idstring += ',';
				}
				idstring += this.replace('Image_', '');
			}
		);
		$.post('/galleries/setOrder/', { "data[galleryId]": gid, "data[order]": idstring } );
	},*/
	
/*	click:function( event ) {
		event.preventDefault();
		var _this = $(this);
		var parents = _this.parents( 'div.ajax:first' );
		var _id = '#' + $(parents).attr('id');
		parents.append( coa.loadIndicator );
		// we rely on the actual information in the returned html
		$.get( _this.attr('href'), {}, function( data, status ) {
	
			// $(this).parents('form').find('textarea').hide();
			parents.fadeOut( 'normal', function() { 
				$(this).replaceWith( $(data).find(_id) ).hide().fadeIn('normal'); 
			} );
		}, 'html');

	},*/

/*	editGallery: function(event) {
		event.preventDefault();
		$(this).closest('.gallery').find('.gallery-name .toggle').toggle();
	},*/
	
/*	editCaption: function(event) {
		event.preventDefault();
		$(this).closest('.image').find('.toggle').toggle();
	},*/
	
/*	showImageForm: function(event) {
		event.preventDefault();
		$(this).closest('div.ajax').find('.image_add_form').slideDown();
	},*/
	// .delegate( 'submit', 'form.postform', coa.savePost )
/*	savePost: function(event) {
		// just need to remove tiny from the picture.
		event.preventDefault();
		$(this).remove_tinymce();
	},*/
/*	submit: function( event ) { 
		event.preventDefault();
		var form = $(this).parents('form');
		var _this = $(this);
		var parents = _this.parents('div.ajax');
		parents.find('.loading-indicator').show();
	
		$.post( form.attr('action'), form.serializeArray(), function( data, status ) { 
			
			$(parents.get(0)).replaceWith( data ).fadeIn(); 
			parents.find('.loading-indicator').hide();
			}
		);
	
		setTimeout( 'coa.', 1000 ); 
	},*/

/*	add_content:function(event) {
		event.preventDefault();
		var _this = $(this);
		$.get( _this.attr('href'), {}, function(data, status) {
			$(data).prependTo( 'div.elements' ).css('display', 'none').slideDown('slow');
		}, 'html');
		$('#blankstate').slideUp();
	},*/

/*	toggle_caption_form: function( event ) {
		event.preventDefault();
		$(this).parents('.caption').children().filter('p').toggle();
		$(this).parents('.caption').children().filter('.image-controls').toggle();
		$(this).parents('.caption').children().filter('form').toggle();
	
	},*/

	/*
		TODO the $().sortable('toArray') does not appear to work well so we manufactured this process here
	*/


	// handle cancel link on new forms, forms for saved data get handled by coa.click
/*	cancel_form: function( event ) {
		event.preventDefault();
		$(this).parents('div.ajax').fadeOut('fast', coa.remove_this);
		// tinyMCE.get($(this).parents('form.postForm').find('textarea').attr('id)).remove();
	},*/
	
/*	remove_this: function() { $(this).remove();	},*/
	
/*	init_border_controls: function() {
		coa.outsideColor = new jscolor.color(document.getElementById('outsideColor'), {});
		coa.insideColor = new jscolor.color(document.getElementById('insideColor'), {});
		$('a.closeBorderControls').click(function(e) { e.preventDefault(); $('.border-selector').hide(); } ); 
		$(".tabs").tabs();
	},*/
	
/*	pattern_border_submit: function( event ) {
		event.preventDefault();
		
		options = $(this).serialize();
		
		var postId = $(this).children('.borderOptionsPostId').val();
		$('#post_'+postId).append(coa.borderIndicator);
		
		$.post('/posts/edit/' + postId, options,function( data, responseText ) { $('#post_'+postId).replaceWith(data); } );
		// do a submit to post.edit with payload 
	},*/

/*	themed_border_submit: function( event ) {		
		event.preventDefault();

		var postId = $(this).attr('postid');

		options = {};
	
		options['data[Post][id]'] = postId;
		options['data[Post][border_id]'] = $(this).attr('borderId');
		options['data[Post][page_id]'] = $(this).attr('pageid');
	
		$('#post_'+postId).append(coa.borderIndicator);
		
		$.post('/posts/edit/' + postId, options ,function( data, responseText ) { $('#post_'+postId).replaceWith(data); coa.init_border_controls(); });
	},*/
	
/*	handle_decorate: function(event) {
		event.preventDefault();
		var postId = $(this).attr('postId');
		post = $('#post_'+postId);

		coa.init_border_controls();
		//console.log($(this).attr('href') );
		$('.border-selector').hide();
		
		$('#borderOptionsPostId').val( postId );
		$('#borderOptionsPageId').val( $(this).attr('pageId') ); 
		
		
		// change to activeElement
		// $('#borderSelector').attr('activePost', postId );
		
		outside = post.children('.outside-border');
		inside = outside.children('.post-body');
		
		$('#outsideWidth').val( outside.attr( 'outsideWidth' )  );
		$('#outsideStyle').val( outside.attr( 'outsideStyle' )  );
		$('#outsideColor').val( outside.attr( 'outsideColor' )  );
		$('#borderWidth').val( outside.attr( 'borderWidth' )  );
		
		$('#insideWidth').val( inside.attr( 'insideWidth' )  );
		$('#insideStyle').val( inside.attr( 'insideStyle' )  );
		
		coa.insideColor.fromString( inside.attr( 'insideColor' ) );
		coa.outsideColor.fromString( outside.attr( 'outsideColor' ) );
		
		post.children('.border-selector').show(1000);
		
		// show border selector
		// tb_show('Decorate your post', $(this).attr('href'), false );
	},*/
/*	patternSelector: function() {
		tb_show('', $(this).attr('href'), false );
		$('#patternSelector').attr('postid', $(this).attr('postid') );
	},*/
	
/*	setPatternBorderId: function() {
		var post_id = $('#patternSelector').attr('postid');		
		$('#borderOptions_'+ post_id + ' .borderOptionsBorderId').val( $(this).attr('borderid') );
		$('#selectedBorder_'+ post_id ).attr('src', $(this).attr('src') );
		$(this).css('backgroundColor', '#efefef');
		tb_remove();
	},*/
};


(function($) {
	// console.log('hiding footer from global.js');
	// $('#footer').slideToggle();
	setTimeout("$('#flashMessage').hide(1000);", 3000);
})(jQuery);
