$.validator.setDefaults({ignore:""}),function(n,t,i){var h,e,s,c,o;if(n.ion=n.ion||{},!ion.sound)if(h=function(t){var r,u;t||(t="undefined");n.console&&(console.warn&&"function"==typeof console.warn?console.warn(t):console.log&&"function"==typeof console.log&&console.log(t),r=i&&i("#debug"),r&&r.length&&(u=r.html(),r.html(u+t+"<br/>")))},e=function(n,t){var i;t=t||{};for(i in n)n.hasOwnProperty(i)&&(t[i]=n[i]);return t},"function"!=typeof Audio&&"object"!=typeof Audio)t=function(){h("HTML5 Audio is not supported in this browser")},ion.sound=t,ion.sound.play=t,ion.sound.stop=t,ion.sound.pause=t,ion.sound.preload=t,ion.sound.destroy=t,t();else{t=/iPad|iPhone|iPod/.test(t.appVersion);var l=0,u={},f={},r;!u.supported&&t?u.supported=["mp3","mp4","aac"]:u.supported||(u.supported=["mp3","ogg","mp4","aac","wav"]);ion.sound=function(n){if(e(n,u),u.path=u.path||"",u.volume=u.volume||1,u.preload=u.preload||!1,u.multiplay=u.multiplay||!1,u.loop=u.loop||!1,u.sprite=u.sprite||null,u.scope=u.scope||null,u.ready_callback=u.ready_callback||null,u.ended_callback=u.ended_callback||null,l=u.sounds.length)for(r=0;r<l;r++){n=u.sounds[r];var t=n.alias||n.name;f[t]||(f[t]=new c(n),f[t].init())}else h("No sound-files provided!")};ion.sound.VERSION="3.0.7";ion.sound._method=function(n,t,i){if(t)f[t]&&f[t][n](i);else for(r in f)f.hasOwnProperty(r)&&f[r]&&f[r][n](i)};ion.sound.preload=function(n,t){t=t||{};e({preload:!0},t);ion.sound._method("init",n,t)};ion.sound.destroy=function(n){if(ion.sound._method("destroy",n),n)f[n]=null;else for(r in f)f.hasOwnProperty(r)&&f[r]&&(f[r]=null)};ion.sound.play=function(n,t){ion.sound._method("play",n,t)};ion.sound.stop=function(n,t){ion.sound._method("stop",n,t)};ion.sound.pause=function(n,t){ion.sound._method("pause",n,t)};ion.sound.volume=function(n,t){ion.sound._method("volume",n,t)};i&&(i.ionSound=ion.sound);t=n.AudioContext||n.webkitAudioContext;t&&(s=new t);c=function(n){this.options=e(u);delete this.options.sounds;e(n,this.options);this.request=null;this.streams={};this.result={};this.ext=0;this.url="";this.autoplay=this.no_file=this.decoded=this.loaded=!1};c.prototype={init:function(n){n&&e(n,this.options);this.options.preload&&this.load()},destroy:function(){var n;for(r in this.streams)(n=this.streams[r])&&n.destroy();this.streams={};this.result=null;this.options=this.options.buffer=null;this.request&&(this.request.removeEventListener("load",this.ready.bind(this),!1),this.request.removeEventListener("error",this.error.bind(this),!1),this.request.abort(),this.request=null)},createUrl:function(){var n=(new Date).valueOf();this.url=this.options.path+encodeURIComponent(this.options.name)+"."+this.options.supported[this.ext]+"?"+n},load:function(){this.no_file?h('No sources for "'+this.options.name+'" sound :('):this.request||(this.createUrl(),this.request=new XMLHttpRequest,this.request.open("GET",this.url,!0),this.request.responseType="arraybuffer",this.request.addEventListener("load",this.ready.bind(this),!1),this.request.addEventListener("error",this.error.bind(this),!1),this.request.send())},reload:function(){this.ext++;this.options.supported[this.ext]?this.load():(this.no_file=!0,h('No sources for "'+this.options.name+'" sound :('))},ready:function(n){this.result=n.target;4!==this.result.readyState?this.reload():200!==this.result.status&&0!==this.result.status?(h(this.url+" was not found on server!"),this.reload()):(this.request.removeEventListener("load",this.ready.bind(this),!1),this.request.removeEventListener("error",this.error.bind(this),!1),this.request=null,this.loaded=!0,this.decode())},decode:function(){s&&s.decodeAudioData(this.result.response,this.setBuffer.bind(this),this.error.bind(this))},setBuffer:function(n){if(this.options.buffer=n,this.decoded=!0,n={name:this.options.name,alias:this.options.alias,ext:this.options.supported[this.ext],duration:this.options.buffer.duration},this.options.ready_callback&&"function"==typeof this.options.ready_callback&&this.options.ready_callback.call(this.options.scope,n),this.options.sprite)for(r in this.options.sprite)this.options.start=this.options.sprite[r][0],this.options.end=this.options.sprite[r][1],this.streams[r]=new o(this.options,r);else this.streams[0]=new o(this.options);this.autoplay&&(this.autoplay=!1,this.play())},error:function(){this.reload()},play:function(n){if(delete this.options.part,n&&e(n,this.options),this.loaded){if(!this.no_file&&this.decoded)if(this.options.sprite)if(this.options.part)this.streams[this.options.part].play(this.options);else for(r in this.options.sprite)this.streams[r].play(this.options);else this.streams[0].play(this.options)}else this.autoplay=!0,this.load()},stop:function(n){if(this.options.sprite)if(n)this.streams[n.part].stop();else for(r in this.options.sprite)this.streams[r].stop();else this.streams[0].stop()},pause:function(n){if(this.options.sprite)if(n)this.streams[n.part].pause();else for(r in this.options.sprite)this.streams[r].pause();else this.streams[0].pause()},volume:function(n){if(n)if(e(n,this.options),this.options.sprite)if(this.options.part)(n=this.streams[this.options.part])&&n.setVolume(this.options);else for(r in this.options.sprite)(n=this.streams[r])&&n.setVolume(this.options);else(n=this.streams[0])&&n.setVolume(this.options)}};o=function(n,t){this.alias=n.alias;this.name=n.name;this.sprite_part=t;this.buffer=n.buffer;this.start=n.start||0;this.end=n.end||this.buffer.duration;this.multiplay=n.multiplay||!1;this.volume=n.volume||1;this.scope=n.scope;this.ended_callback=n.ended_callback;this.setLoop(n);this.gain=this.source=null;this.paused=this.playing=!1;this.time_offset=this.time_played=this.time_ended=this.time_started=0};o.prototype={destroy:function(){this.stop();this.source=this.buffer=null;this.gain&&this.gain.disconnect();this.source&&this.source.disconnect();this.source=this.gain=null},setLoop:function(n){this.loop=!0===n.loop?9999999:"number"==typeof n.loop?+n.loop-1:!1},update:function(n){this.setLoop(n);"volume"in n&&(this.volume=n.volume)},play:function(n){n&&this.update(n);(this.multiplay||!this.playing)&&(this.gain=s.createGain(),this.source=s.createBufferSource(),this.source.buffer=this.buffer,this.source.connect(this.gain),this.gain.connect(s.destination),this.gain.gain.value=this.volume,this.source.onended=this.ended.bind(this),this._play())},_play:function(){var t,n;this.paused?(t=this.start+this.time_offset,n=this.end-this.time_offset):(t=this.start,n=this.end);0>=n?this.clear():("function"==typeof this.source.start?this.source.start(0,t,n):this.source.noteOn(0,t,n),this.playing=!0,this.paused=!1,this.time_started=(new Date).valueOf())},stop:function(){this.playing&&this.source&&("function"==typeof this.source.stop?this.source.stop(0):this.source.noteOff(0));this.clear()},pause:function(){this.paused?this.play():this.playing&&(this.source&&this.source.stop(0),this.paused=!0)},ended:function(){this.playing=!1;this.time_ended=(new Date).valueOf();this.time_played=(this.time_ended-this.time_started)/1e3;this.time_offset+=this.time_played;(this.time_offset>=this.end||.015>this.end-this.time_offset)&&(this._ended(),this.clear(),this.loop&&(this.loop--,this.play()))},_ended:function(){var n={name:this.name,alias:this.alias,part:this.sprite_part,start:this.start,duration:this.end};this.ended_callback&&"function"==typeof this.ended_callback&&this.ended_callback.call(this.scope,n)},clear:function(){this.time_offset=this.time_played=0;this.playing=this.paused=!1},setVolume:function(n){this.volume=n.volume;this.gain&&(this.gain.gain.value=this.volume)}};s||(function(){for(var t=new Audio,r=t.canPlayType("audio/mpeg"),f=t.canPlayType("audio/ogg"),t=t.canPlayType('audio/mp4; codecs="mp4a.40.2"'),i,n=0;n<u.supported.length;n++)i=u.supported[n],r||"mp3"!==i||u.supported.splice(n,1),f||"ogg"!==i||u.supported.splice(n,1),t||"aac"!==i||u.supported.splice(n,1),t||"mp4"!==i||u.supported.splice(n,1)}(),c.prototype={init:function(n){n&&e(n,this.options);this.inited=!0;this.options.preload&&this.load()},destroy:function(){var n;for(r in this.streams)(n=this.streams[r])&&n.destroy();this.streams={};this.inited=this.loaded=!1},load:function(){var n;if(this.options.preload=!0,this.options._ready=this.ready,this.options._scope=this,this.options.sprite)for(r in this.options.sprite)n=this.options.sprite[r],this.options.start=n[0],this.options.end=n[1],this.streams[r]=new o(this.options,r);else this.streams[0]=new o(this.options)},ready:function(n){this.loaded||(this.loaded=!0,n={name:this.options.name,alias:this.options.alias,ext:this.options.supported[this.ext],duration:n},this.options.ready_callback&&"function"==typeof this.options.ready_callback&&this.options.ready_callback.call(this.options.scope,n),this.autoplay&&(this.autoplay=!1,this.play()))},play:function(n){if(this.inited)if(delete this.options.part,n&&e(n,this.options),console.log(1),this.loaded)if(this.options.sprite)if(this.options.part)this.streams[this.options.part].play(this.options);else for(r in this.options.sprite)this.streams[r].play(this.options);else this.streams[0].play(this.options);else this.options.preload?this.autoplay=!0:(this.autoplay=!0,this.load())},stop:function(n){if(this.inited)if(this.options.sprite)if(n)this.streams[n.part].stop();else for(r in this.options.sprite)this.streams[r].stop();else this.streams[0].stop()},pause:function(n){if(this.inited)if(this.options.sprite)if(n)this.streams[n.part].pause();else for(r in this.options.sprite)this.streams[r].pause();else this.streams[0].pause()},volume:function(n){if(n)if(e(n,this.options),this.options.sprite)if(this.options.part)(n=this.streams[this.options.part])&&n.setVolume(this.options);else for(r in this.options.sprite)(n=this.streams[r])&&n.setVolume(this.options);else(n=this.streams[0])&&n.setVolume(this.options)}},o=function(n,t){this.name=n.name;this.alias=n.alias;this.sprite_part=t;this.multiplay=n.multiplay;this.volume=n.volume;this.preload=n.preload;this.path=u.path;this.start=n.start||0;this.end=n.end||0;this.scope=n.scope;this.ended_callback=n.ended_callback;this._scope=n._scope;this._ready=n._ready;this.setLoop(n);this.url=this.sound=null;this.loaded=!1;this.played_time=this.paused_time=this.start_time=0;this.init()},o.prototype={init:function(){this.sound=new Audio;this.sound.volume=this.volume;this.createUrl();this.sound.addEventListener("ended",this.ended.bind(this),!1);this.sound.addEventListener("canplaythrough",this.can_play_through.bind(this),!1);this.sound.addEventListener("timeupdate",this._update.bind(this),!1);this.load()},destroy:function(){this.stop();this.sound.removeEventListener("ended",this.ended.bind(this),!1);this.sound.removeEventListener("canplaythrough",this.can_play_through.bind(this),!1);this.sound.removeEventListener("timeupdate",this._update.bind(this),!1);this.sound=null;this.loaded=!1},createUrl:function(){var n=(new Date).valueOf();this.url=this.path+encodeURIComponent(this.name)+"."+u.supported[0]+"?"+n},can_play_through:function(){this.preload&&this.ready()},load:function(){this.sound.src=this.url;this.sound.preload=this.preload?"auto":"none";this.preload&&this.sound.load()},setLoop:function(n){this.loop=!0===n.loop?9999999:"number"==typeof n.loop?+n.loop-1:!1},update:function(n){this.setLoop(n);"volume"in n&&(this.volume=n.volume)},ready:function(){!this.loaded&&this.sound&&(this.loaded=!0,this._ready.call(this._scope,this.sound.duration),this.end||(this.end=this.sound.duration))},play:function(n){n&&this.update(n);!this.multiplay&&this.playing||this._play()},_play:function(){if(this.paused)this.paused=!1;else try{this.sound.currentTime=this.start}catch(n){}this.playing=!0;this.start_time=(new Date).valueOf();this.sound.volume=this.volume;this.sound.play()},stop:function(){if(this.playing){this.paused=this.playing=!1;this.sound.pause();this.clear();try{this.sound.currentTime=this.start}catch(n){}}},pause:function(){this.paused?this._play():(this.playing=!1,this.paused=!0,this.sound.pause(),this.paused_time=(new Date).valueOf(),this.played_time+=this.paused_time-this.start_time)},_update:function(){this.start_time&&(this.played_time+((new Date).valueOf()-this.start_time))/1e3>=this.end&&this.playing&&(this.stop(),this._ended())},ended:function(){this.playing&&(this.stop(),this._ended())},_ended:function(){this.playing=!1;var n={name:this.name,alias:this.alias,part:this.sprite_part,start:this.start,duration:this.end};this.ended_callback&&"function"==typeof this.ended_callback&&this.ended_callback.call(this.scope,n);this.loop&&setTimeout(this.looper.bind(this),15)},looper:function(){this.loop--;this.play()},clear:function(){this.paused_time=this.played_time=this.start_time=0},setVolume:function(n){this.volume=n.volume;this.sound&&(this.sound.volume=this.volume)}})}}(window,navigator,window.jQuery||window.$)