var
rb_en_tick_image_path = "/jscripts/imagetick/images/rb_en_tick.gif",
rb_en_no_tick_image_path = "/jscripts/imagetick/images/rb_en_no_tick.gif",
rb_dis_tick_image_path = "/jscripts/imagetick/images/rb_dis_tick.gif",
rb_dis_no_tick_image_path = "/jscripts/imagetick/images/rb_dis_no_tick.gif",
cb_en_tick_image_path = "/jscripts/imagetick/images/cb_en_tick.gif",
cb_en_no_tick_image_path = "/jscripts/imagetick/images/cb_en_no_tick.gif",
cb_dis_tick_image_path = "/jscripts/imagetick/images/cb_dis_tick.gif",
cb_dis_no_tick_image_path = "/jscripts/imagetick/images/cb_dis_no_tick.gif";

function getImgName(id,opt)
{
	var obj = $("#" + id);
	var isRadio = obj.attr('type') == 'radio'; // radio or checkbox
	var isChecked = obj.attr('checked');
	var isEnabled = !obj.is(':disabled');
	var imgName;
	if (opt == 1) {
		isChecked = !isChecked;
	} else
	if (opt == 2) {
		isChecked = false;
	}
	
	if (isRadio) {
		if (isEnabled) {
			if (isChecked) {
				imgName = rb_en_tick_image_path;
			} else {
				imgName = rb_en_no_tick_image_path;
			}
		} else {
			if (isChecked) {
				imgName = rb_dis_tick_image_path;
			} else {
				imgName = rb_dis_no_tick_image_path;
			}
		}
	} else {
		if (isEnabled) {
			if (isChecked) {
				imgName = cb_en_tick_image_path;
			} else {
				imgName = cb_en_no_tick_image_path;
			}
		} else {
			if (isChecked) {
				imgName = cb_dis_tick_image_path;
			} else {
				imgName = cb_dis_no_tick_image_path;
			}
		}
	}
	return imgName;
}

function imageTick_disableItems(nm,dodis)
{
  $('input[name=\'' + nm + '\']').each(
		function(){
			var c = $(this), cid = c.attr('id');
 			c.attr( 'disabled', dodis );
			$("#tick_img_" + cid).attr('src', getImgName(cid,0));
    }
	);
}

function imageTick_selItem(nm,val)
{
  $('input[name=\'' + nm + '\']').each(
		function(){
			var c = $(this), cid = c.attr('id');
			if (c.val() == val) {
				$("#tick_img_" + cid).trigger('click');
			}
    }
	);
}

function imageTick_selItemVal(nm)
{
	var res = -2;
  $('input[name=\'' + nm + '\']').each(
		function(){
			var c = $(this);
			if (c.attr('checked')) {
				res = c.val();
			}
    }
	);
	return res;
}

(function($){
		  
	$.fn.imageTick = function(options) {
		
		var defaults = {	
			image_tick_class: "ticks_" + Math.floor(Math.random()),
			hide_radios_checkboxes: false
		};
	  	
		var opt = $.extend(defaults, options);
		
		this.each(function(){
			
			var obj = $(this);
			var isRadio = obj.attr('type') == 'radio'; // radio or checkbox
			var id = obj.attr('id');
			var imgHTML = '<img src="' + getImgName(id,0) + '" alt="no_tick" class="' + opt.image_tick_class + '" id="tick_img_' + id + '" />';
			
			obj.before(imgHTML);
			if(!opt.hide_radios_checkboxes){
				obj.css('display','none');
			}
			
			// if we're deadling with radio buttons
			if(isRadio){
				
				// if we click on the image
				$("#tick_img_"+id).click(function(){
					var cb = $("#" + id);
					if (cb.is(':disabled')) return;
					$("." + opt.image_tick_class).attr('src', getImgName(id,2));
					cb.trigger("click");
					$(this).attr('src', getImgName(id,0));
				});
				
				// if we click on the label
				$("label[for='" + id + "']").click(function(){
					var cb = $("#" + id);
					if (cb.is(':disabled')) return;
					$("." + opt.image_tick_class).attr('src', getImgName(id,2));
					cb.trigger("click");
					$("#tick_img_" + id).attr('src', getImgName(id,0));
				});
				
			}
			
			// if we're deadling with checkboxes
			else { //if(type == 'checkbox'){
				
				$("#tick_img_" + id).click(function(){
					var cb = $("#" + id);
					cb.trigger("click");
					$(this).attr('src', getImgName(id,0));
				});
				
				// if we click on the label
				$("label[for='" + id + "']").click(function(){
					var cb = $("#" + id);
					if (cb.is(':disabled')) return;
					if (qsisIE) {
						$("#tick_img_" + id).trigger("click");
					} else {
						$("#tick_img_" + id).attr('src', getImgName(id,1));
					}
				});
				
			}
			
			
		});
	}
	
})(jQuery);

