/*
 * friendlyForm jQuery plugin
 * ultimate combination for styling HTML forms
 *
 * Copyright 2010, OXiDE
 * This software is released under GNU General Public License Version 3
 * See http://www.friendlyform.net/license for more information.
 */

if(jQuery)(function($){function positionList(a){var b=$("#select_"+a);var c=$("#options_"+a);var d=b.offset();var e=d.top+b.outerHeight(false);c.css({top:e,left:d.left})}function selectOption(a,b){var c=$("#select_"+a);var d=$("select[name="+a+"]");var e=b;e=e.replace('option_'+a+'_value-','');d.val(e);d.trigger('change');$("#"+b).addClass('selected');$("#"+b).siblings().removeClass('selected');c.find('span#value_'+a).text($("#"+b).text())}$.extend($.fn,{friendlyDropDown:function(p){$(this).each(function(){if(p==undefined){p='friendlyDropDown'}var f=$(this);var g=f.attr('name');if($("#select_"+g).length>0){$("#select_"+g+", #options_"+g).remove()}var h='<a href="#" id="select_'+g+'" class="'+p+' '+p+'Text"><span id="value_'+g+'">'+f.children("[selected]").text()+'</span></a>';f.after(h);f.hide();h=$("#select_"+g);if(false){var i=f.offset();h.css({top:i.top,left:i.left})}var j=f.children('option');var k='';j.each(function(a,b){var c='';var d=$(this).attr('value');var e=$(this).text();if($(this).attr('selected'))c=' class="selected"';k+='<li'+c+' id="option_'+g+'_value-'+d+'">'+e+'</li>'+"\n"});var l='<div id="options_'+g+'" class="'+p+'List '+p+'Text">'+"\n"+'<ul>'+"\n"+k+'</ul>'+"\n"+'</div>';h.after(l);l=$("#options_"+g);var m=l.find('li');positionList(g);h.children('span').width(l.width());if($.browser.msie&&parseInt($.browser.version)<9){var n=h.html();var o='<span id="ieFix_'+g+'" class="'+p+'IeFix">'+n+'</span>';h.html(o);o=$("#ieFix_"+g);o.width(h.width()+parseInt(h.css('padding-right')));o.css('overflow','hidden');h.width(h.innerWidth()+parseInt(h.css('padding-right'))+parseInt(h.css('padding-left')))}if(l.children('ul').outerHeight()>l.height()>0){l.width(l.width()+20)}$(window).bind('resize',function(){return positionList(g)});h.bind('focus',function(){$(this).addClass('focus');return false});h.bind('blur',function(a){$(this).removeClass('focus');if(!($(a.target).parents().andSelf().is("#options_"+g))&&!($(a.target).parents().andSelf().is("#select_"+g))){h.removeClass('active');l.slideUp('fast')}});h.bind('click',function(){$("."+p+"List:not(#options_"+g+")").hide();$("."+p+":not(#select_"+g+")").removeClass('active');$(this).toggleClass('active');l.toggle();return false});h.bind('keydown',function(a){var b=m.filter(".selected");var c;switch(a.which){case 38:a.preventDefault();if(b.index()==0){c=m.last()}else{c=b.prev()}selectOption(g,c.attr('id'));break;case 40:a.preventDefault();if(b.index()==m.last().index()){c=m.first()}else{c=b.next()}selectOption(g,c.attr('id'));break;default:break}});$(window).click(function(a){if(!($(a.target).parents().andSelf().is("#options_"+g))&&!($(a.target).parents().andSelf().is("#select_"+g))){h.removeClass('active');l.hide()}});if($.browser.msie&&parseInt($.browser.version)<9){m.hover(function(){$(this).addClass('hover')},function(){$(this).removeClass('hover')})}m.bind('click',function(){var a=$(this).attr('id');selectOption(g,a);h.click();h.get(0).focus()});$("label[for="+g+"]").bind('click',function(a){h.get(0).focus()});l.hide()})},friendlyCheckBox:function(e){$(this).each(function(){if(e==undefined){e='friendlyCheckBox'}var b=$(this);var c=b.attr('id');var d='<a href="#" id="checkbox_'+c+'" class="'+e+'"></a>';b.after(d);b.hide();d=$("#checkbox_"+c);if(b.attr('checked')){d.addClass('checked')}d.bind('focus',function(){$(this).addClass('focus')});d.bind('blur',function(){$(this).removeClass('focus')});d.bind('click',function(){if($(this).hasClass('checked')){$(this).removeClass('checked');b.attr('checked','')}else{$(this).addClass('checked');b.attr('checked','checked')}return false});d.bind('keydown',function(a){if(a.which=='32'){a.preventDefault();$(this).click()}});$("label[for="+c+"]").bind('click',function(a){d.click()})})},friendlyRadio:function(m){$(this).each(function(){if(m==undefined){m='friendlyRadio'}var i=$(this);var j=i.attr('id');var k=i.attr('name');var l='<a href="#" id="radio_'+j+'" class="'+m+' '+k+'"></a>';i.after(l);i.hide();l=$("#radio_"+j);if(i.attr('checked')){l.addClass('checked')}l.bind('focus',function(){var a=$("."+k);var b=a.filter(".checked");if(b.length==0){$(this).click()}else{b.get(0).focus()}});l.bind('blur',function(){$(this).removeClass('focus')});l.bind('click',function(){if(!$(this).hasClass('checked')){$("."+k).removeClass('checked');$(this).addClass('checked');$("input[type=radio,name="+k+"]").attr('checked','');i.attr('checked','checked')}return false});l.bind('keydown',function(a){var b;var c=$("."+k);var d=c.filter(".checked");switch(a.which){case 38:a.preventDefault();if(d.index("."+k)==0){b=c.last()}else{b=c.eq(d.index("."+k)-1)}d.removeClass('checked');b.get(0).focus();break;case 40:a.preventDefault();if(d.index("."+k)==c.last().index("."+k)){b=c.first()}else{b=c.eq(d.index("."+k)+1)}d.removeClass('checked');b.get(0).focus();break;case 9:a.preventDefault();var e=$('a:visible, body:visible, button:visible, frame:visible, iframe:visible, img:visible, input:visible, isIndex:visible, object:visible, select:visible, textarea:visible');var f;var g;if(a.shiftKey){f=e.filter('.'+k+':first');g=-1}else{f=e.filter('.'+k+':last');g=1}var h=e.eq(f.index(e.selector)+g);h.get(0).focus();break;default:break}});$("label[for="+j+"]").bind('click',function(a){l.focus();l.click()})})},friendlyForm:function(b){$(this).each(function(){var a={'class':'friendlyForm','theme':'default'};if(b){$.extend(a,b)}$(this).addClass(a['class']+' '+a['theme']);$(this).find('select').friendlyDropDown();$(this).find('input[type=checkbox]').friendlyCheckBox();$(this).find('input[type=radio]').friendlyRadio()})}})})(jQuery);
