/**
 * ---------------------- Subversion Information ------------------------------
 * ****************************************************************************
 * $Date: 2009-07-30 10:59:10 -0700 (Thu, 30 Jul 2009) $
 * $Rev: 692 $
 * $Author: steven $
 *
 * SVN URL of this file
 * $HeadURL: http://hal/svn/cms/trunk/backend/inc/js/rewfw_forms.jquery.js $
 * ****************************************************************************
 *
 * @copyright Real Estate Webmasters 2004 - 2009
 */

$(document).ready(function(){

	$('form.rewfw ').each(function(){
		 var dform = $(this);
		 $(dform).wrapInner('<div class="form-wrap"></div>');
		 $('.field input:text, .field input:password', dform).wrap('<span class="input-wrap"></span>');
		 $('.field select', dform).wrap('<span class="select-wrap"></span>');
		 $('.field textarea', dform).not('.richtext').wrap('<span class="textarea-wrap"></span>');
		 $('.field', dform).wrapInner('<span class="field-iwrap"></span>');
		 $('.token', dform).wrapInner('<span class="token-iwrap"></span>');
		 $('legend', dform).each(function() {
			var content = $(this).html();
			$(this).after('<h4 class="legend">'+ content +'</h4>').hide();
			$(this).remove();
		 });

		 /* toggler widget */

		 $('.rewfw-toggler', dform).each(function(){
			toggler = $(this);
			content = toggler.siblings();

			toggler.show();
			content.hide();
			$('.msghide', toggler).hide();
			$('a', toggler).live('click',function(){
				content.toggle();
				$(this).blur();
				return false;
			});
		 });


		/* time picker */
		//$('.field.time input', dform).timePicker({show24Hours:false, step: 15});
        $('.field.time input', dform).livequery(function () {
            // element added
            $(this).timePicker({show24Hours:false, step: 15});
        }, function() {
            // element removed
        });

		/* rewfw-wdg-wpicker */

		$('.rewfw-wdialogpicker', dform).each(function(){

			var picker = $(this);
			var pickerForm = picker.parents('form');
			var pickerToggleset = $('.toggleset', picker);
			var pickerLabel = $('label:first', picker);
			var pickerControl = ' <a class="control" href="javascript:void(0)">choose...</a>';
			var pickerTitle = pickerLabel.text();
			pickerToggleset.dialog({ title: pickerTitle, width: 640, autoOpen: false, modal: true, buttons: { "Ok": function() { $(this).dialog("close");}}, close: function() {$('.rewfw-wdialogpicker-selected', picker).html(getSelectedLabelText(pickerToggleset));} });

			if (!picker.hasClass('no-control')) {
                pickerLabel.append(pickerControl);
			}

			$('a.control', picker).click(function(){
				pickerToggleset.dialog('open');
				return false;
			});

			pickerLabel.after('<div class="rewfw-wdialogpicker-selected"></div>');
			$('.rewfw-wdialogpicker-selected', picker).html(getSelectedLabelText(pickerToggleset));

			pickerForm.submit(function(){
				pickerForm.append(pickerToggleset);
				pickerToggleset.css('display','none');
			});

			$('.val a', picker).live('click', function() {
			    var remove = true;
			    if ($(this).parents('.rewfw-wdialogpicker').hasClass('no-control')) {
			        remove = confirm('Are you sure you want to remove this item?');
			    }
			    if (remove) {
				    var checkval = $(this).parent().attr('id').replace('item_','');
				    $(':checkbox[value='+checkval+']').removeAttr('checked');
				    $(this).parent().remove();
			    }
			    return false;
			});

		});

		$('.rewfw-wradiopicker', dform).each(function(){

			picker = $(this);
			pickerForm = picker.parents('form');
			pickerToggleset = $('.toggleset', picker);
			pickerLabel = $('label:first', picker);
			pickerControl = ' <a class="control" href="javascript:void(0)">choose...</a>';
			pickerTitle = pickerLabel.text();
			pickerToggleset.dialog({ title: pickerTitle, width: 640, autoOpen: false, modal: true, buttons: { "Ok": function() { $(this).dialog("close");}}, close: function() {$('.rewfw-wradiopicker-selected', picker).html(getSelectedLabelText(pickerToggleset));} });
			pickerLabel.append(pickerControl);

			$('a.control', picker).click(function(){
				pickerToggleset.dialog('open');
				return false;
			});

			pickerLabel.after('<div class="rewfw-wradiopicker-selected"></div>');
			$('.rewfw-wradiopicker-selected', picker).html(getSelectedLabelText(pickerToggleset));

			pickerForm.submit(function(){
				pickerForm.append(pickerToggleset);
				pickerToggleset.css('display','none');
			});

			$('.val a', picker).live('click',function(){
				var checkval = $(this).parent().attr('id').replace('item_','');
				$(':radio[value='+checkval+']').removeAttr('checked');
				$(this).parent().remove();
			});

		});

	});

});

function getSelectedLabelText(obj){
	var vals = '<div class="rewfw-wdialog-options">';
	$(':checked', obj).each(function(){
	    var color = ' style="' + $(this).attr('style') + '"';
		vals += '<span class="val" id="item_' + $(this).attr('value') + '"' + color + '>' + $(this).parent().text() + '<a href="javascript:void(0)">x</a></span>';
	});
	vals += '</div>';
	return vals;
}
