$(document).ready(function(){

	
	/* ======================================================================================== */
	/* FCK EDITOR */
	/* ======================================================================================== */
	var _ohanaEditors = $('textarea[fck]');
	if( _ohanaEditors.length > 0 && !$.browser.msie ) _ohanaEditors.hide().each(function(){
		
		var w = Math.min( $(this).width(), $(this).parent().width() );
		var h = $(this).height();
		var edt = $.trim( $(this).attr('fck') ).toLowerCase();
		if( edt != 'true' && edt != '1' && edt != 'yes' ) edt = $(this).attr('fck');
		else edt = 'General';
		$(document.createElement('div')).attr().css({ border:'1px dotted gray', background:'white', position:'relative', overflow:'hidden', width:'100%'/*(w-2)+'px'*/, height:(Math.max(h-2), 100)+'px' }).append(
			$(document.createElement('div')).css({ overflow:'auto', width:'100%', height:'100%' }).html( $(this).val() )
		).append(
			$(document.createElement('div')).attr('_toolbar', edt ).css({ position:'absolute', left:'-255px', top:'0px', width:'280px', color:'black', cursor:'pointer', minHeight:'16px', minWidth:'16px', padding:'3px 0px', borderBottom:'1px dotted gray', borderRight:'1px dotted gray', background:'url(/'+window.location.pathname.split('/')[1]+'/admin/images/icons/overlays.png) 260px center no-repeat #eee' }).append(
				$(document.createElement('span')).css({ marginLeft:'10px' }).html('Click here launch a friendly content editor')
			).mouseover(function(){
				$(this).animate({ left:'0px', backgroundColor:'#eb510f', color:'white' });
			}).click(function(){
				var tool = $(this).attr('_toolbar');
				var pr = $(this).parent();
				var wt = pr.width();
				var ht = pr.height();
				if( typeof($.fck) == 'undefined' ) $.getScript('/'+window.location.pathname.split('/')[1]+'/_jquery/fckEditor.js', function(){
					pr.fadeOut('fast', function(){
						$(this).prev('textarea').css({ visibility:'hidden' }).show().fck({ path:'/'+window.location.pathname.split('/')[1]+'/fckeditor/', toolbar:tool, width:wt+'px', height:( Math.max(ht,250) )+'px' });
						$(this).remove();
					});
				}); else pr.fadeOut('fast', function(){
					$(this).prev('textarea').css({ visibility:'hidden' }).show().fck({ path:'/'+window.location.pathname.split('/')[1]+'/fckeditor/', toolbar:tool, width:wt+'px', height:( Math.max(ht,250) )+'px' });
					$(this).remove();
				});
			})
		).insertAfter(this);
	
	});
	
	
	
	/* ======================================================================================== */
	/* MAXIMUM LENGTH */
	/* ======================================================================================== */
	$('textarea[maxlength]').each(function(){
		var mx = parseFloat( $(this).attr('maxlength') );
		if( !isNaN(mx) ) $(this).maxlength({ notificationClass:'max-length-reached', maxCharacters:mx, slider : true });
	});



	/* ======================================================================================== */
	/* RANDOM IMAGES */
	/* ======================================================================================== */
	_ohana.randomImage = { all : $('div.ohanaRotatingImage') }
	if( _ohana.randomImage.all.length > 0 && (window.location.pathname).toLowerCase().indexOf('fckeditor') == -1 ){
		
		$.fn.extend({
		
			ohanaLoadRandomImages : function(){
				this.each(function(){
					var pic = $(this);
					var c = parseFloat( pic.attr('_current') );
					var imgs = _ohana.randomImage.data['album' + pic.attr('_id')].split(',');
					var url = pic.attr('_background').toLowerCase().replace('url(','').replace(')','');
					var size = url.split('/')[ url.split('/').length - 1 ];
					if( !c || isNaN(c) ) c = 0; c++;
					if( c > imgs.length - 1 ) c = 0;
					pic.css( { backgroundImage : 'url(/ohanaFiles/userAlbums/' + imgs[c] + '/' + size + ')', backgroundPosition : 'center', backgroundRepeat : 'no-repeat' } ).attr('_current', c );
				});
				return this;
			}
		
		});
		
		_ohana.randomImage.interval = 5000;
		_ohana.randomImage.process = function(){
			if( _ohana.randomImage.multiples.filter('.paused').length == 0 ) _ohana.randomImage.multiples.fadeTo('slow', 0, function(){
				$(this).ohanaLoadRandomImages();
				$(this).fadeTo('slow', 1);
			});
			setTimeout( _ohana.randomImage.process, _ohana.randomImage.interval );
		}
		_ohana.randomImage.singles = _ohana.randomImage.all.filter('[_load=s]');
		_ohana.randomImage.multiples = _ohana.randomImage.all.filter('[_load=l]');
		
		_ohana.randomImage.multiples.hover(function(){ $(this).addClass('paused'); },function(){ $(this).removeClass('paused'); });
		_ohana.randomImage.singles.css( { backgroundImage : 'url(/' + (window.location.pathname).split('/')[1] + '/admin/images/loading.gif)', backgroundPosition : 'center', backgroundRepeat : 'no-repeat' } );
		_ohana.randomImage.all.attr( '_current', 0 );
		
		var ids = []; _ohana.randomImage.all.each(function(){ var th = $(this); ids.push( th.attr('_load') + ':' + th.attr('_id') ); });
		$.getJSON('/' + (window.location.pathname).split('/')[1] + '/_components/applications.cfc?method=getRotatingImages', { elements : ids.join(',') }, function(r){
			_ohana.randomImage.data = r;
			_ohana.randomImage.all.ohanaLoadRandomImages();
		});
		
		if( _ohana.randomImage.multiples.length > 0 ) setTimeout( _ohana.randomImage.process, _ohana.randomImage.interval );

	}




});

if( typeof(_ohana) == 'undefined' ) var _ohana = {};





/* ============================================================================================= */
/* MUGSHOT ===================================================================================== */
_ohana.mugshot = function(s){
	if( !_ohana.session || !_ohana.session.mugshot ) return '/' + (window.location.pathname).split('/')[1] + '/admin/images/holder.gif';
	else if( !s ) return _ohana.session.mugshot;
	else return (_ohana.session.mugshot).toLowerCase().split('50x50').join(s);
}
/* ============================================================================================= */





/* ============================================================================================= */
/* RATING ====================================================================================== */
_ohana.getRating = function(rt, tp){
	if( !tp ) var tp = 'small';
	var rat = parseFloat(rt);
	if( isNaN(rat) ) rat = 0;
	rat = Math.ceil(rat);
	var rst = '<span class="ohanaRating ' + tp + '">';
	var vrt = (window.location.pathname).split('/')[1];
	for( var r = 1; r < 6; r++ ) rst += '<img class="star' + r + ( r <= rat ? ' full' : '' ) + ( rat == r ? ' active' : '' ) + '" src="/' + vrt + '/admin/images/holder.gif" /> ';
	rst += '</span>';
	return rst;
}
/* ============================================================================================= */
