
/* file: ./addons/plugins/login/password/recovery/recovery.js */
$(document).ready(function(){
	var _cnt			= $('.jQ_pass_recovery');
	var _btn			= _cnt.find('input[type=reset]');
	var _ipt			= _cnt.find('input[name=email]');
	var _msgSel			= '.errors,.confirm';
	var _resetMessages	= function(){
		_cnt.find(_msgSel).remove();
		_ipt.removeAttr('disabled');
		_btn.removeAttr('disabled');
		return _cnt;
	};
	var _send			= function(){
		_resetMessages();
		_ipt.attr('disabled','disabled');
		_btn.attr('disabled','disabled');
		majax.call_callback( 'plg_login_password_recovery::recover', _sent, [ _ipt.val() ] ); 
	};
	var _sent			= function( result ){
		_resetMessages().prepend( $('<span/>').text(result.messages[0]).wrap( '<p></p>' ).wrap('<div></div>').parent().parent().addClass(result.success ? 'confirm' : 'errors').hide().fadeIn('slow', function(){_cnt.find(_msgSel).fadeOut(3000,function(){_cnt.parent().slideUp('slow')})} ) );
	};
	_btn.click( _send );
});

/* file: ./addons/plugins/categories/list/list.js */
$(document).ready( function(){
	$('.jQ_all').toggle(
		function(){
			$(this).find('span').text(Language.hideOther);
			$('.jQ_category_list p.jQ_hidden').slideDown('fast');
			return false;
		}, 
		function(){
			$(this).find('span').text(Language.showOther);
			$('.jQ_category_list p.jQ_hidden').slideUp('fast');
			return false;
		}
	);
});

/* file: ./addons/plugins/categories/list/tooltip/tooltip.js */
$(document).ready(function(){
	try {
		var tip			= '.jQ_category_list_tooltip';
		var opt			= plg_categories_list_tooltip;
		var off			= $(opt.tooltip).offset();
		var _mouseOver	= true;
		var _hideInt	= 0;
		var _hide		= function(){
			if( !_mouseOver ) {
				$(tip).fadeOut('fast');
			}
		};
		var _out		= function(){
			_mouseOver	= false;
			__hideInt	= setTimeout( _hide, 250 );
		};
		var _over		= function(){
			_mouseOver	= true;
			clearTimeout( _hideInt );
			$(tip).fadeIn('fast').css( {
				position:	'absolute',
				left:		off.left	+ opt.offset.left,
				top:		off.top		+ opt.offset.top
			} );
		}
		$( tip + ',' + opt.tooltip ).hover( _over, _out );
	} catch( e ) {
	}
});

/* file: ./addons/plugins/tags/tags.js */
var plg_tags = new function()
{

	var _self = this;

	this.init = function()
	{
		$( '#jQ_tags a' ).click( plg_tags.tagClick );
	}

	this.tagClick = function( sender )
	{
		$( '#jQ_tagForm input[name="tagName"]' ).val( $(sender.target).html() );
		$( '#jQ_tagForm' ).submit();
		return true;
	}

}

/* file: ./addons/plugins/tabs/tabs.js */
var plg_tabs = new function(){
	var _self = this;
	this.tabs = null;
	this.selector = '';
	
	this.setSelector = function(className){
		this.selector = ".tabsmenu"+(className.indexOf("_") != 0 ? '.':'')+className;
		this.tabs = $(this.selector);
		return this;	
	}
	
	this.resetStates = function(){
		this.tabs.find("a.active").removeClass('active');
		return this;
	}
	
	this.setActiveTab = function(index){
		this.resetStates().tabs.find("a:eq("+index +')' ).addClass('active');
		return false;	
	}
	
	this.setActiveTabByReference = function(tab){
		this.resetStates();
		$(tab).addClass('active');
		return false;	
	}
	
	this.getTabs = function(){
		return this.tabs.find("a");
	}
}


/* file: ./addons/plugins/login/header/header.js */
$(document).ready(function(){
	$('a.jQ_show_rec').click(function(){
		$('.jQ_forgot_pwd').slideDown('slow');
		return false;
	});
	$('.jQ_forgot_pwd:has(div.errors)').slideDown('slow');
});

/* file: ./addons/components/voting/stars/stars.js */
var cmpt_voting_stars = new function(){
	function vote(sender){
		if ( sender.options.voteCallback ) {
			majax.call_callback(sender.options.voteCallback, {
				callback: eval(sender.options.onVoteSuccess),
				extra_data: sender
			}, [
				sender.options.voteHash,{
				options: sender.options,
				value: sender.options.value
			}]);
		}
	}
	this.init = function( selector, options ){
		var $container = $( '#stars-rating_'+options._id+'.jQ_votingStars' );
		if ( $('select, input', $container).length == 0 ) {
			var $opt = null;
			if ( options.inputType == 'select' ) {
			
				var $sel = $('<select>').attr('name', 'selrate_' + options._id);
				
				for (var o in options._data.rates) {
					if (options._data.currentValue == (parseInt(o) + 1)) {
						checked = 'selected="selected"';
					} else {
						checked = '';
					}
					
					$opt = $('<option '+checked+'>').val(parseInt(o) + 1).html(options._data.rates[o]);
					$sel.append($opt);
				}
				$container.append($sel);
			} else {
				var checked = '';
				for (var o in options._data.rates) {
					
					if (options._data.currentValue == (parseInt(o) + 1)) {
						checked = 'checked="checked"';
					} else {
						checked = '';
					}
					
					$opt = $('<input name="newrate" type="radio" '+checked+'/>').attr('title',options._data.rates[o]).val(parseInt(o) + 1);
					
				$container.append($opt);
				}
				
			}
		}
		options.callback = vote;		
		$(selector).stars( options ); 
	}
}

/* file: ./addons/plugins/media/list/list.js */
$(document).ready( function(){
	var xOffset = 10;
	var yOffset = 20;
	var param	= 'title';
	var sel		= 'a.jQ_desc';
	var toolId	= 'tooltip';
	var _pos	= function(e){
    	return $('#' + toolId).css( {
			top:	(e.pageY - xOffset) + 'px',
			left:	(e.pageX + yOffset) + 'px',
			background: '#F2F2F2'
		});
    };
	var _in		= function(e){
		$(this).attr('t', $(this).attr(param));
		$(this).attr(param, '');
		$('body').append( '<p id="' + toolId + '">' + $(this).attr('t') + '</p>' );
		_pos(e).fadeIn('fast');
    };
    var _out	= function(e){
    	$(this).attr( param, $(this).attr('t') );
		$('#' + toolId).remove();
	};
	$(sel).hover(_in, _out).mousemove(_pos);
});
