(function(a){a.iphoneStyle={defaults:{duration:200,checkedLabel:"ON",uncheckedLabel:"OFF",resizeHandle:true,resizeContainer:true,background:"#fff",containerClass:"iPhoneCheckContainer",labelOnClass:"iPhoneCheckLabelOn",labelOffClass:"iPhoneCheckLabelOff",handleClass:"iPhoneCheckHandle",handleCenterClass:"iPhoneCheckHandleCenter",handleRightClass:"iPhoneCheckHandleRight"}};a.fn.iphoneStyle=function(b){b=a.extend({},a.iphoneStyle.defaults,b);return(this.each(function(){var e=a(this);if(!e.is(":checkbox")){return}e.css({opacity:0});e.wrap('<div class="'+b.containerClass+'" />');e.after('<div class="'+b.handleClass+'"><div class="'+b.handleRightClass+'"><div class="'+b.handleCenterClass+'" /></div></div>').after('<label class="'+b.labelOffClass+'"><span>'+b.uncheckedLabel+"</span></label>").after('<label class="'+b.labelOnClass+'"><span>'+b.checkedLabel+"</span></label>");var k=e.siblings("."+b.handleClass),i=e.siblings("."+b.labelOffClass),j=i.children("span"),m=e.siblings("."+b.labelOnClass),f=m.children("span"),c=e.parent("."+b.containerClass);if(b.resizeHandle){var g=(m.width()<i.width())?m.width():i.width();k.css({width:g})}if(b.resizeContainer){var l=(m.width()>i.width())?m.width():i.width();c.css({width:l+k.width()+15})}i.css({width:c.width()-5});var o=c.width()-k.width()-6;if(e.is(":checked")){k.css({left:o});m.css({width:o+4});j.css({marginRight:-o})}else{k.css({left:0});m.css({width:0});f.css({marginLeft:-o})}var n=function(q){q.preventDefault();a.iphoneStyle.clicking=k;var p=q.pageX||q.changedTouches[0].pageX;a.iphoneStyle.dragStartPosition=p-(parseInt(k.css("left"))||0);return false};c.mousedown(n);c.each(function(){this.addEventListener("touchstart",n,false)});var d=function(s){if(a.iphoneStyle.clicking!=k){return}s.preventDefault();if(s.pageX!=a.iphoneStyle.dragStartPosition){a.iphoneStyle.dragging=true}var q=s.pageX||s.changedTouches[0].pageX;var r=(q-a.iphoneStyle.dragStartPosition)/o;if(r<0){r=0}if(r>1){r=1}k.css({left:r*o});m.css({width:r*o+4});j.css({marginRight:-r*o});f.css({marginLeft:-(1-r)*o});return false};a(document).mousemove(d);document.addEventListener("touchmove",d,false);var h=function(s){if(a.iphoneStyle.clicking!=k){return false}s.preventDefault();if(!a.iphoneStyle.dragging){var t=e.attr("checked");e.attr("checked",!t)}else{var q=s.pageX||s.changedTouches[0].pageX;var r=(q-a.iphoneStyle.dragStartPosition)/o;e.attr("checked",(r>=0.5))}a.iphoneStyle.clicking=null;a.iphoneStyle.dragging=null;e.change();return false};a(document).mouseup(h);document.addEventListener("touchend",h,false);e.change(function(){var q=e.attr("checked"),p=(q)?o:0;k.animate({left:p},b.duration);m.animate({width:p+4},b.duration);f.animate({marginLeft:p-o},b.duration);j.animate({marginRight:-p},b.duration)});a(c,m,i,k).mousedown(function(p){p.preventDefault();return false});if(a.browser.ie){a(c,m,i,k).bind("startselect",function(){return false})}}))}})(jQuery);