jQuery.jCore = {
	modules: {},
	
	members: {
		massEmail: {
			admin: {
				emailTo: {
					add: function(email) {
						to = jQuery("#newemailform #entryTo");
						
						if (to.val())
							to.val(to.val()+', ');
						
						to.val(to.val()+email);
						return false;
					},
				
					clear: function() {
						jQuery("#newemailform #entryTo").val('');
						return false;
					},
				
					set: function(email) {
						this.clear();
						this.add(email);
						return false;
					}
				},
				
				users: {
					search: function() {
						jQuery.loading(true, {text: 'Loading...'});
				
						container = jQuery('.mass-email-users-search').parent().parent();
						search = jQuery('.mass-email-users-search input').get(0).value;
						
						url = '?request=admin/massemail&users=1&search='+escape(search)+'&ajax=1';
						
						jQuery.get(url, function(data){
							container.html(data);
							container.jCore();
							
							jQuery.loading(true, {text: 'Done'});
							jQuery.loading(false);
						});
						
						return false;
					}
				}
			}
		}
	}
}

jQuery.fn.extend({
	jCore: function() {
	   	ChiliBook.recipeFolder = "http://jcore.net/lib/jquery/chili/";
		ChiliBook.lineNumbers = true;
		
		return this.each(function() {
			// Frame containers expand/colapse
			jQuery(this).find(".fc-title").fcToggle();
		
			// Calendar Inputs
			jQuery(this).find(".calendar-input").each(function(){
				if (jQuery(this).is('.timestamp')) {
					d = new Date();
					dateformat = 'yy-mm-dd '+d.getHours()+':'+d.getMinutes();
				} else {
					dateformat = 'yy-mm-dd';
				}
				
				jQuery(this).datepicker({dateFormat: dateformat});
			});
			
			jQuery(this).find(".show-calendar-input").click(function(){
				jQuery(this).parent().find('input').focus();
				return false;
			});
			
			jQuery(this).find(".clear-calendar-input").click(function(){
				jQuery(this).parent().find('input').val('');
				return false;
			});
			
			// Check all checkboxes
			jQuery(this).find(".checkbox-all").click(function(){
				var checked_status = this.checked;
				
				jQuery(this).parents("form").find("input[type=checkbox]").each(function(){
					this.checked = checked_status;
				});
			});
			
			// LightBox
			jQuery(this).find('a[rel^=lightbox]').each(function() {
				rel = jQuery(this).attr('rel');
				jQuery(this.tagName + '[href][rel="' + jQuery(this).attr('rel') + '"]').lightBox({fixedNavigation:true});
			});
			
			// Hilight list rows
			jQuery(this).find('.list tbody tr').mouseenter(function() {
				jQuery(this).addClass('hilight');
			});
			jQuery(this).find('.list tbody tr').mouseleave(function() {
				jQuery(this).removeClass('hilight');
			});
		
			// Confirm a link submittion
			jQuery(this).find('.confirm-link').click(function() {
				return confirm('Please confirm your action: '+jQuery(this).attr('title')+'?!');
			});
			
			// Fix transparent pngs for IE5 and IE6
			jQuery(this).pngFix();
			 
			// qTooltips
			jQuery(this).find('.qtip').qtip({ style: { name: 'cream', tip: true }, position: {adjust: {screen: true}}});
			
			// Star ratings
			jQuery(this).find('.star-rating').rating({split: 2});
			
			// Ajax links
			jQuery(this).find('.ajax-link').ajaxLink();
		
	   		// Ajax Forms
	   		jQuery(this).find('form.ajax-form').ajaxForm();
	   		
			// Ajax content links
			jQuery(this).find('.ajax-content-link').ajaxContentLink();
		
			// Ajax paginating
			jQuery(this).find('.paging-ajax a').ajaxPaging();
			
			// Mail me emails
			jQuery(this).find('.mailme').mailme();
			
			// Code styling
	   		jQuery(this).find('code').chili();
	   		
	   		// Code editor
	   		jQuery(this).find('textarea.code-editor').tabby();
		});
	}
});