
/* Editor Form handles validation and form setup */
//$.fn.extend({
//	editorForm: function(saveCallback, objectName, options){
//		options = (options || {});
//		var me = $(this);
//		var message_wrap = me.find('#editor-messages');
//		var saving_splash = $('<div class="saving-splash"><div>Saving&nbsp;&nbsp;<img src="/admin/img/loader.gif" /></div></div>');
//		saving_splash.hide();
//		me.append(saving_splash);
//		
//		if(message_wrap.length == 0){
//			message_wrap = $('<div id="editor-messages"></div>');
//			me.find('#editor-buttons').prepend(message_wrap);
//		}
//
//		me.validate($.extend(true, (options.validation_rules || {}), {
//			beforeSubmitHandler: function(){ // this handler has been coded into the validator plugin by Datadial
//				if(typeof(tinyMCE) != 'undefined'){
//					tinyMCE.triggerSave();
//					var textarea_count = $('textarea').length;
//					for(var i=0; i<textarea_count; i++){
//						ko.utils.triggerEvent($('textarea:eq('+i+')')[0], 'change');
//					}
//				}
//			},
//			invalidHandler: function(form, validator){
//				message_wrap.showFormInvalidMessage(validator);
//				
//				validator.invalidElements().each(function(){
//					$('a[href="#'+$(this).closest('.ui-tabs-panel').attr('id')+'"]').parent().addClass('ui-state-error');
//				});
//			},
//			submitHandler: function(form){
//				$(form).find('ul.ui-tabs-nav li').removeClass('ui-state-error');
//				
//				saving_splash.show();
//				var callback_result = null;
//				if(saveCallback){
//					callback_result = saveCallback();
//				}
//				if(callback_result != false){
//					message_wrap.showValidMessage(objectName || 'Item');
//				}
//				
//				setTimeout(function(){ saving_splash.fadeOut('fast'); }, 200);
//			},
//			debug:false
//		}));
//		
//		return {
//			message_wrap: message_wrap,
//			saving_splash: saving_splash
//		};
//	}
//});


/* Tiny MCE */
$.fn.extend({
	rte: function(opt){
		var defaultOptions = {
			// Location of TinyMCE script
			script_url : '/js/tiny_mce/tiny_mce.js',

			// General options
			theme : "advanced",
			plugins : "table,safari,style,layer,table,save,advhr,advimage,advlink,inlinepopups,preview,media,searchreplace,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

			// Theme options
			theme_advanced_buttons1 : "bold,italic,underline",
			theme_advanced_buttons2 : "",
			theme_advanced_buttons3 : "",
			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			convert_urls : false,
			relative_urls : false
		};
		
		$.extend(true, defaultOptions, opt);
		
		this.tinymce(defaultOptions);
	}
});


/* date picker */
$.fn.extend({
	date_picker: function(opt){
		return $(this).datepicker($.extend(true, {
			changeMonth: true,
			numberOfMonths: 2,
			dateFormat: 'DD, d MM, yy' /* Do not change this - it's synched with ProductFieldControl */
		}, opt));
	}
});

