
/*
	Plugin for jQuery 1.4.2
	name : jquery.skin
	version : 0.0.0.1
	author : Andrea Bianchin
*/
jQuery.fn.skin = function(){
		var element = this;
		type = jQuery(element).attr('tagName');
		typeInput = jQuery(element).attr('type');		
		
		switch(type) {
			case 'SELECT':
    			skinSelect(this);
  			break;
			
			case 'INPUT':			
				switch (typeInput) {
					case 'radio':
						skinRadio(element);
					break;
					case 'checkbox':
						skinCheckbox(element);
					break;
				}				
			break;
		}
		
function skinSelect(element){

			var rowToShow = 8;

			var myId = jQuery(element).attr('id');			

			var myName = jQuery(element).attr('name');			

			var contSkinned = jQuery('<div class="contSkin"></div>');

			var skinned = jQuery('<div id="'+myId+'_btn" class="selectSkinned"></div>');

			var dx = jQuery('<div class="dx"></div>');

			var cc = jQuery('<div id="'+myId+'_text" class="cc"></div>');

			var input = jQuery('<input type="hidden" id="'+myId+'_input" name="'+myName+'" value="" />');		

			var ul = jQuery('<ul id="'+myId+'_option" class="dropDown"></ul>');

 			jQuery(element).children().each(function(obj){				

				textSelected = jQuery("#"+myId+" option:selected").text();				

				textOption = jQuery(this).text();

				var li = jQuery('<li id="'+this.id+'" title="'+this.value+'">'+textOption+'</li>');

				jQuery(ul).append(li);				

				jQuery(li).click(function(){

					jQuery('#'+myId+'_input').val(jQuery(this).attr("title"));

					jQuery('#'+myId+'_text').html(jQuery(this).text());

					setTimeout(function(){jQuery('#'+myId+'_option').css('display','none');},200);

					/* modifica per onchange 18-05-2010 */

					onchangeUL = String(jQuery(element).attr("onchange"));					

					if(onchangeUL.indexOf('setCitiesByPath')!=-1){

						if(jQuery(element).attr('secondSel')!=''){

							Intoscana.setCitiesByPath(jQuery(this).attr("title"),jQuery(element).attr('secondSel'));

						}else{

							Intoscana.setCitiesByPath(jQuery(this).attr("title"));

						}						

					} else if(onchangeUL.indexOf('setCitiesByValue')!=-1){

						if(jQuery(element).attr('secondSel')!=''){

							Intoscana.setCitiesByValue(jQuery(this).attr("title"),jQuery(element).attr('secondSel'));

						}else{

							Intoscana.setCitiesByValue(jQuery(this).attr("title"));

						}						

					} else if(onchangeUL.indexOf('initThisSlider')!=-1){

            var args = onchangeUL.split('Intoscana.initThisSlider(')[1].split(');')[0].split(',');

            for (var i=0;i<args.length;i++)

              if (args[i].indexOf("'")!=-1)

                args[i] = args[i].split("'")[1];

              else if (args[i].indexOf('"')!=-1)

                args[i] = args[i].split('"')[1];

            Intoscana.initThisSlider(args[0],this.id);

					} else {

            //

          }
					///* fine modifica per onchange 18-05-2010 */

				});	
					
				jQuery('#'+myId+'_input').change(function(){
							Intoscana.setCities(jQuery(this).val());
						});
				
				jQuery(li).hover(function(){
					jQuery(this).attr('class','hover');
				});
				jQuery(li).mouseout(function(){
					jQuery(this).attr('class','');
				});
			});			
			jQuery(cc).append(textSelected);					
			jQuery(dx).append(cc);
			jQuery(skinned).append(dx);
			jQuery(skinned).append(input);
			jQuery(contSkinned).append(skinned);			
			jQuery(contSkinned).append(ul);			
			element.wrap(contSkinned); /* inserisco la nuova select */		
			element.remove(); /* rimuovo la vecchia select */			
			newW = jQuery('#'+myId+'_btn').width();			
			jQuery('#'+myId+'_option').css('width',newW-3+'px');
			//if(jQuery('#'+myId+'_option li').size()<=rowToShow){
				//jQuery('#'+myId+'_option li').css('width',newW-13+'px');	
			//}else{
				jQuery('#'+myId+'_option li').css('width',newW-30+'px');	
			//}
					
			jQuery('#'+myId+'_btn').click(function(e){							
				if(jQuery('#'+myId+'_option').css('display')=='none'){					
					jQuery('.dropDown').each(function(){
						jQuery(this).hide();
					});		
					jQuery('#'+myId+'_option').show();
					jQuery('.contSkin').css('z-index','0');
					jQuery(this).parent('.contSkin').css('z-index','3000');
				}else{
					jQuery('#'+myId+'_option').hide();
				}
				hDrop = (jQuery('#'+myId+'_option li').height()+4)*rowToShow;	
				jQuery('#'+myId+'_option').css('max-height',hDrop+'px');				
			});
			
			jQuery(document).click(function() { 
				jQuery('#'+myId+'_option').hide();
			}); 

			jQuery('.contSkin').click(function(e){ 
				e.stopPropagation(); 
			});
			
		};
		
		function skinCheckbox(element){	
			if(jQuery(element).attr('checked')){
				stat = 'on';
				val = 'true';
			}else{
				stat = 'off';
				val = 'false';
			}
			var myId = jQuery(element).attr('id');
			var myName = jQuery(element).attr('name');
			var fakeRadio = jQuery('<input type="hidden" name="'+myName+'" id="id_'+myName+'" value="'+val+'" />');
			var radioImg = jQuery('<img width="14" height="14" src="/intoscana2/opencms/system/modules/it.inera.opencms.templates/TurismoRTen/resources/images/input-check_'+stat+'.gif" class="checkbox" />');
			
			
			jQuery(radioImg).insertAfter(element);
			jQuery(fakeRadio).insertAfter(element);
			element.remove();
			
			jQuery(radioImg).click(function(){
				imgSrc = jQuery(this).attr('src');
				if(imgSrc.indexOf('_on')!=-1){					
					var newSrc = imgSrc.replace('_on','_off');
					jQuery(this).attr('src',newSrc);
					jQuery('#id_'+myName).val('false');
				}
				if(imgSrc.indexOf('_off')!=-1){					
					var newSrc2 = imgSrc.replace('_off','_on');
					jQuery(this).attr('src',newSrc2);
					jQuery('#id_'+myName).val('true');
				}
			})
			
		};
		
		function skinRadio(element){			
			//TODO -> eventuale vestizione per radio
		};
		
};

