
/******************************************************************************/
/******************************************************************************/

function TLThemeOptionPanelElement()
{
	$this=this;
	
	/**************************************************************************/

	this.createSlider=function(selector,min,max,value,step)
	{
		jQuery(selector).slider(
		{
			min:min,
			max:max,
			range:'min',
			value:value,
			step:(typeof(step)=='undefined' ? 1 : step),
			slide:function(event,ui) 
			{
				jQuery(this).next('input').val(ui.value);
			},
			create:function()
			{
				jQuery(this).next('input').val(jQuery(this).slider('value'));
			}
		});		
	};
	
	/**************************************************************************/

	this.createColorPicker=function()
	{
		jQuery('.color-picker').each(function() 
		{
			var object=jQuery(this);
			object.ColorPicker(
			{
				onChange:function(hsb,hex,rgb) 
				{
					object.val(hex);
					object.parent().children('.color-picker-sample').css('background-color','#'+hex);	
				},
				onSubmit:function(hsb,hex,rgb,el)
				{
					jQuery(el).val(hex);
					jQuery(el).ColorPickerHide();
				},
				onBeforeShow:function()
				{
					jQuery(this).ColorPickerSetColor(this.value);
				}
			});

			var colorSample=jQuery(document.createElement('span'));

			colorSample.attr('class','color-picker-sample');
			colorSample.css({'background-color':'#'+object.val()});

			object.parent().append(colorSample);
			
			object.change(function() 
			{
				var value=jQuery(this).val();
				if(/^[0-9A-Fa-f]{6}$/i.test(value))
					jQuery(this).parent().children('.color-picker-sample').css('background-color','#'+value);	
			});
		})
	};

	/**************************************************************************/
	
	this.bindBrowseMedia=function(selector)
	{
		jQuery(selector).bind('click',function()
		{
			var self=jQuery(this);
			window.send_to_editor=function(html) 
			{
				var url=jQuery(html).attr('href');
				self.prev().val(url);
				tb_remove();
			}

			tb_show('','media-upload.php?amp;type=image&amp;TB_iframe=true');
			return false;
		});
	};
	
	/**************************************************************************/
	
	this.createGoogleFontAutocomplete=function(selector)
	{
		jQuery(selector).autocomplete(
		{
            source:function(request,response) 
			{
                jQuery.ajax(
				{
                    url			:	ajaxurl,
                    dataType	:	'json',
                    data		: 
					{
						query	:	request.term,
						action	:	'theme_admin_google_font_dictionary'
					},
                    success		:	function(data) 
					{
                        response(jQuery.map(data,function(item) 
						{
							return(item);
                        }));
                    }
                });
            },
            minLength	:	2,
            select		:	function(event,ui) 
			{

            }
        });
	};

	/**************************************************************************/
	
	this.style=function(selector,useOptionPanel)
	{
		selector=typeof(selector)=='undefined' ? ' ' : ' '+selector+' ';
		useOptionPanel=typeof(useOptionPanel)=='undefined' ? true : false;
		
		if(useOptionPanel) selector='.option-panel'+selector;
		
		jQuery(selector+'.infield').inFieldLabels();	
		jQuery(selector+'select:not(.no-dropkick)').dropkick();
		
		var buttonset=jQuery(selector+'.radio-button,'+selector+'.checkbox-button');
	
		if(buttonset.length) buttonset.buttonset();
	};

	/**************************************************************************/
};

/******************************************************************************/
/******************************************************************************/