
(function($){function toIntegersAtLease(n)
{return n<10?'0'+n:n;}
Date.prototype.toJSON=function(date)
{return this.getUTCFullYear()+'-'+
toIntegersAtLease(this.getUTCMonth())+'-'+
toIntegersAtLease(this.getUTCDate());};var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.quoteString=function(string)
{if(escapeable.test(string))
{return'"'+string.replace(escapeable,function(a)
{var c=meta[a];if(typeof c==='string'){return c;}
c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};$.toJSON=function(o,compact)
{var type=typeof(o);if(type=="undefined")
return"undefined";else if(type=="number"||type=="boolean")
return o+"";else if(o===null)
return"null";if(type=="string")
{return $.quoteString(o);}
if(type=="object"&&typeof o.toJSON=="function")
return o.toJSON(compact);if(type!="function"&&typeof(o.length)=="number")
{var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i],compact));}
if(compact)
return"["+ret.join(",")+"]";else
return"["+ret.join(", ")+"]";}
if(type=="function"){throw new TypeError("Unable to convert object of type 'function' to json.");}
var ret=[];for(var k in o){var name;type=typeof(k);if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;var val=$.toJSON(o[k],compact);if(typeof(val)!="string"){continue;}
if(compact)
ret.push(name+":"+val);else
ret.push(name+": "+val);}
return"{"+ret.join(", ")+"}";};$.compactJSON=function(o)
{return $.toJSON(o,true);};$.evalJSON=function(src)
{return eval("("+src+")");};$.secureEvalJSON=function(src)
{var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};})(jQuery);


var _target=null,_dragx=null,_dragy=null,_rotate=null,_resort=null;var _dragging=false,_sizing=false,_animate=false;var _rotating=0,_width=0,_height=0,_left=0,_top=0,_xspeed=0,_yspeed=0;var _zindex=1000;jQuery.fn.touch=function(settings){settings=jQuery.extend({animate:true,sticky:false,dragx:true,dragy:true,rotate:false,resort:true,scale:false},settings);var opts=[];opts=$.extend({},$.fn.touch.defaults,settings);this.each(function(){this.opts=opts;this.ontouchstart=touchstart;this.ontouchend=touchend;this.ontouchmove=touchmove;this.ongesturestart=gesturestart;this.ongesturechange=gesturechange;this.ongestureend=gestureend;});};function touchstart(e){_target=this.id;_dragx=this.opts.dragx;_dragy=this.opts.dragy;_resort=this.opts.resort;_animate=this.opts.animate;_xspeed=0;_yspeed=0;$(e.changedTouches).each(function(){var curLeft=($('#'+_target).css("left")=='auto')?this.pageX:parseInt($('#'+_target).css("left"));var curTop=($('#'+_target).css("top")=='auto')?this.pageY:parseInt($('#'+_target).css("top"));if(!_dragging&&!_sizing){_left=(e.pageX-curLeft);_top=(e.pageY-curTop);_dragging=[_left,_top];if(_resort){_zindex=($('#'+_target).css("z-index")==_zindex)?_zindex:_zindex+1;$('#'+_target).css({zIndex:_zindex});}}});};function touchmove(e){if(_dragging&&!_sizing&&_animate){var _lastleft=(isNaN(parseInt($('#'+_target).css("left"))))?0:parseInt($('#'+_target).css("left"));var _lasttop=(isNaN(parseInt($('#'+_target).css("top"))))?0:parseInt($('#'+_target).css("top"));}$(e.changedTouches).each(function(){e.preventDefault();_left=(this.pageX-(parseInt($('#'+_target).css("width"))/2));_top=(this.pageY-(parseInt($('#'+_target).css("height"))/2));if(_dragging&&!_sizing){if(_animate){_xspeed=Math.round((_xspeed + Math.round(_left-_lastleft))/1.5);_yspeed=Math.round((_yspeed + Math.round(_top-_lasttop))/1.5);}if(_dragx||_dragy) $('#'+_target).css({position:"absolute"});if(_dragx) $('#'+_target).css({left:_left+"px"});if(_dragy) $('#'+_target).css({top:_top+"px"});}});};function touchend(e){$(e.changedTouches).each(function(){if(!e.targetTouches.length){_dragging=false;if(_animate){_left=($('#'+_target).css("left")=='auto')?this.pageX:parseInt($('#'+_target).css("left"));_top=($('#'+_target).css("top")=='auto')?this.pageY:parseInt($('#'+_target).css("top"));var animx=(_dragx)?(_left+_xspeed)+"px":_left+"px";var animy=(_dragy)?(_top+_yspeed)+"px":_top+"px";if(_dragx||_dragy) $('#'+_target).animate({left:animx,top:animy},"fast");}}});};function gesturestart(e){_sizing=[$('#'+this.id).css("width"),$('#'+this.id).css("height")];};function gesturechange(e){if(_sizing){_width=(this.opts.scale)?Math.min(parseInt(_sizing[0])*e.scale,300):_sizing[0];_height=(this.opts.scale)?Math.min(parseInt(_sizing[1])*e.scale,300):_sizing[1];_rotate=(this.opts.rotate)?"rotate("+((_rotating+e.rotation)%360)+"deg)":"0deg";$('#'+this.id).css({width:_width+"px",height:_height+"px",webkitTransform:_rotate});}};function gestureend(e){_sizing=false;_rotating=(_rotating+e.rotation)%360;};
