/**
 * RS
*/
jQuery.fn.selectReplace = function(arg){
	var that = jQuery(this), replace, sibs, loong, i=0, li, opvalue, listlump = '', listLI, listInput, indi, listHeading, listHeightTott, listCont, listtopclick, listshow = true, listHeight;
	sibs = jQuery.makeArray(that.children());
	loong = sibs.length;
	
	var obj = {
		'classname':'selectReplace',     // set your own class name if multi list page 
		'animationspeed':100,           // drop down speed
		'listMaxSize':6,               // max nr of item to show
		'inputname':'selectReplace',  // name of hidden input to take value from select list
		'action':'click',            // default action to trigger list
		'showselect':false          // Remove selected item from list or highlight it 
	};
	
	obj = jQuery.extend(obj,arg);
	while(i<loong){
		li = jQuery(sibs[i]);
		opvalue = (li.val()) ? '<li class="'+obj.classname+'" thevalur="'+li.attr('value')+'"><span>'+li.html()+'</span></li>':'<li class="'+obj.classname+'" thevalur="'+li.html()+'"><span>'+li.html()+'</span></li>';
		listlump += opvalue;
		i+=1;	
	}	
	replace = jQuery('<div class="'+obj.classname+'_wrap">'+
	         	'<div class="'+obj.classname+'_heading"><p>'+jQuery(sibs[0]).text()+'</p><span class="'+obj.classname+'_indi"></span></div>'+
				'<div class="'+obj.classname+'_listContainer"><ul class="'+obj.classname+'_list">'+listlump+'</ul></div>'+
				'<input value="'+jQuery(sibs[0]).val()+'" id="'+obj.classname+'_input" type="hidden" style="display: none" name="'+obj.inputname+'"/>'+
	         '</div>');
			 
	that.replaceWith(replace);
	listCont = replace.find('.'+obj.classname+'_listContainer');
	indi = replace.find('.'+obj.classname+'_indi');
	listtopclick = replace.find('.'+obj.classname+'_heading');
	listHeading = replace.find('.'+obj.classname+'_heading p');
	listInput = replace.find('#'+obj.classname+'_input');
	listLI = replace.find('.'+obj.classname+'_list li');
	listHeight = Math.ceil(listCont.outerHeight() / (loong - 1)) * obj.listMaxSize;
	listHeightTott = Math.ceil(listCont.outerHeight());
	listHeight = (listHeightTott<listHeight) ? listHeightTott : listHeight; 
	
		listCont.css({
		'height':listHeight+'px',
		'overflow':'auto'
	});
    listCont.hide();
    listLI.hover(
	function(){
		jQuery(this).addClass('selectHover');
	},
	function(){
		jQuery(this).removeClass('selectHover');
	}
	).bind('click',function(){
		listInput.val(jQuery(this).attr('thevalur'));
		(obj.showselect)?listLI.show():listLI.removeClass('selected');
		(obj.showselect)?jQuery(this).hide():jQuery(this).addClass('selected');
		listHeading.html(jQuery(this).text());
		listCont.slideUp(obj.animationspeed);
		listshow = true;
		indi.removeClass('listIsOut');
	});
	
		listtopclick.bind(obj.action, function(e){		
			if (listshow) {
				jQuery(document).trigger('click');
				listCont.slideDown(obj.animationspeed);
				listshow = false;
				indi.addClass('listIsOut');
			}
			else {
				listCont.slideUp(obj.animationspeed);
				listshow = true;
				indi.removeClass('listIsOut');	
			}
			e.stopPropagation();
		});
	jQuery(document).bind('click',function(){
		listCont.slideUp(obj.animationspeed);
		listshow = true;
		indi.removeClass('listIsOut');
		});	
};//END   




