
function ezjs_toggleCheckboxes( formname, checkboxname )
{
with( formname )
{
for( var i=0; i<elements.length; i++ )
{
if( elements[i].type == 'checkbox' && elements[i].name == checkboxname && elements[i].disabled == "" )
{
if( elements[i].checked == true )
{
elements[i].checked = false;
}
else
{
elements[i].checked = true;
}
}
}
}
}
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
var itemsPerSlide = 2;
var screenSlider = new ScreenSlider({
mainDiv:    '#screenSlider',
autoSlide:  5
});
$(document).ready(function() {
screenSlider.init();
screenSlider.setCurrentSlide(0);
setTimeout('screenSlider.startAutoScroll()', (screenSlider.config.autoSlide*1000));
});
function ScreenSlider(config) {
var self = this;
self.construct = function(config) {
self.config = config;
}
self.init = function(config) {
self.initScreenList();
self.initControls();
}
self.startAutoScroll = function() {
self.stopAutoScroll();
self.autoScrollInterval = setInterval('screenSlider.showNextSlide()', (screenSlider.config.autoSlide*1000));
}
self.stopAutoScroll = function() {
if(self.autoScrollInterval) {
clearTimeout(self.autoScrollInterval);
}
}
self.initScreenList = function() {
self.screens = $(''+self.config.mainDiv+'').children(".slideScreen");
}
self.getSliderCount = function() {
return $(''+self.config.mainDiv+'').find('.slideScreen').length-1;
}
self.getCurrentSlide = function() {
return self.currentSlide;
}
self.getNextSlide = function() {
var nextSlide = self.currentSlide+1;
if(nextSlide > self.getSliderCount()) {
return 0;
} else if(nextSlide < 0) {
return self.getSliderCount();
}
return nextSlide;
}
self.setCurrentSlide = function(slideNumber) {
if(slideNumber != self.currentSlide) {
self.currentSlide = self.showSlide(slideNumber);
self.setControls();
}
self.startAutoScroll();
}
self.showSlide = function(slideNumber) {
if(slideNumber > self.getSliderCount()) {
slideNumber = 0
} else if(slideNumber < 0) {
slideNumber = self.getSliderCount();
}
$(self.screens).hide();
$(self.screens[slideNumber]).slideDown();
return slideNumber;
}
self.setControls = function() {
controls = $('#slider-control').find('a');
$(controls).removeClass('selected');
$(controls[self.getCurrentSlide()]).addClass('selected');
nextSlideTitle = $('.slide'+self.getNextSlide()+' h1').html();
$('#slider-next').html(nextSlideTitle);
}
self.showNextSlide = function () {
self.setCurrentSlide(self.getCurrentSlide()+1);
}
self.showPrevSlide = function () {
self.setCurrentSlide(self.getCurrentSlide()-1);
}
self.initControls = function() {
$(''+self.config.mainDiv+'').hover(
function() {self.stopAutoScroll();},
function() {self.startAutoScroll();}
);
$('#slider-control a').bind('click', function() {
self.setCurrentSlide(parseInt($(this).attr('href').substr(1)));
return false;
});
$('#slider-next').bind('click', function() {
self.showNextSlide();
return false;
});
$('#slider-prev').bind('click', function() {
self.showPrevSlide();
return false;
});
}
self.construct(config);
}
$(document).ready(function() {
})
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
var soundManager = null;
function SoundManager(smURL,smID) {
this.flashVersion = 8;           // version of flash to require, either 8 or 9. Some API features require Flash 9.
this.debugMode = false;           // enable debugging output (div#soundmanager-debug, OR console if available + configured)
this.useConsole = true;          // use firebug/safari console.log()-type debug console if available
this.consoleOnly = true;        // if console is being used, do not create/write to #soundmanager-debug
this.waitForWindowLoad = false;  // force SM2 to wait for window.onload() before trying to call soundManager.onload()
this.nullURL = 'null.mp3';       // path to "null" (empty) MP3 file, used to unload sounds (Flash 8 only)
this.allowPolling = true;        // allow flash to poll for status update (required for whileplaying() events, peak, sound spectrum functions to work.)
this.useFastPolling = false;     // uses 1 msec flash timer interval (vs. default of 20) for higher callback frequency, best combined with useHighPerformance
this.useMovieStar = false;	   // enable support for Flash 9.0r115+ (codename "MovieStar") MPEG4 audio + video formats (AAC, M4V, FLV, MOV etc.)
this.bgColor = '#ffffff';	       // movie (.swf) background color, '#000000' useful if showing on-screen/full-screen video etc.
this.useHighPerformance = true; // position:fixed flash movie can help increase js/flash speed, minimize lag
this.flashLoadTimeout = 1000;    // msec to wait for flash movie to load before failing (0 = infinity)
this.wmode = 'transparent';	   		   // mode to render the flash movie in - null, transparent, opaque (last two allow layering of HTML on top)
this.allowFullScreen = true;     // enter full-screen (via double-click on movie) for flash 9+ video
this.defaultOptions = {
'autoLoad': false,             // enable automatic loading (otherwise .load() will be called on demand with .play(), the latter being nicer on bandwidth - if you want to .load yourself, you also can)
'stream': true,                // allows playing before entire file has loaded (recommended)
'autoPlay': false,             // enable playing of file as soon as possible (much faster if "stream" is true)
'onid3': null,                 // callback function for "ID3 data is added/available"
'onload': null,                // callback function for "load finished"
'whileloading': null,          // callback function for "download progress update" (X of Y bytes received)
'onplay': null,                // callback for "play" start
'onpause': null,               // callback for "pause"
'onresume': null,              // callback for "resume" (pause toggle)
'whileplaying': null,          // callback during play (position update)
'onstop': null,                // callback for "user stop"
'onfinish': null,              // callback function for "sound finished playing"
'onbeforefinish': null,        // callback for "before sound finished playing (at [time])"
'onbeforefinishtime': 5000,    // offset (milliseconds) before end of sound to trigger beforefinish (eg. 1000 msec = 1 second)
'onbeforefinishcomplete':null, // function to call when said sound finishes playing
'onjustbeforefinish':null,     // callback for [n] msec before end of current sound
'onjustbeforefinishtime':200,  // [n] - if not using, set to 0 (or null handler) and event will not fire.
'multiShot': true,             // let sounds "restart" or layer on top of each other when played multiple times, rather than one-shot/one at a time
'multiShotEvents': false,      // fire multiple sound events (currently onfinish() only) when multiShot is enabled
'position': null,              // offset (milliseconds) to seek to within loaded sound data.
'pan': 0,                      // "pan" settings, left-to-right, -100 to 100
'volume': 100                  // self-explanatory. 0-100, the latter being the max.
};
this.flash9Options = {           // flash 9-only options, merged into defaultOptions if flash 9 is being used
'isMovieStar': null,	  	   // "MovieStar" MPEG4 audio/video mode. Null (default) = auto detect MP4, AAC etc. based on URL. true = force on, ignore URL
'usePeakData': false,          // enable left/right channel peak (level) data
'useWaveformData': false,      // enable sound spectrum (raw waveform data) - WARNING: CPU-INTENSIVE: may set CPUs on fire.
'useEQData': false,            // enable sound EQ (frequency spectrum data) - WARNING: Also CPU-intensive.
'onbufferchange': null,	   	   // callback for "isBuffering" property change
'ondataerror': null			   // callback for waveform/eq data access error (flash playing audio in other tabs/domains)
};
this.movieStarOptions = {        // flash 9.0r115+ MPEG4 audio/video options, merged into defaultOptions if flash 9 + movieStar mode is enabled
'onmetadata': null,		   	   // callback for when video width/height etc. are received
'useVideo': false,		   	   // if loading movieStar content, whether to show video
'bufferTime': null		   	   // seconds of data to buffer before playback begins (null = flash default of 0.1 seconds - if AAC playback is gappy, try up to 3 seconds)
};
var SMSound = null; // defined later
var _s = this;
this.version = null;
this.versionNumber = 'V2.95a.20090717';
this.movieURL = null;
this.url = null;
this.altURL = null;
this.swfLoaded = false;
this.enabled = false;
this.o = null;
this.id = (smID||'sm2movie');
this.oMC = null;
this.sounds = {};
this.soundIDs = [];
this.muted = false;
this.isFullScreen = false; // set later by flash 9+
this.isIE = (navigator.userAgent.match(/MSIE/i));
this.isSafari = (navigator.userAgent.match(/safari/i));
this.debugID = 'soundmanager-debug';
this.debugURLParam = /([#?&])debug=1/i;
this.specialWmodeCase = false;
this._onready = [];
this._debugOpen = true;
this._didAppend = false;
this._appendSuccess = false;
this._didInit = false;
this._disabled = false;
this._windowLoaded = false;
this._hasConsole = (typeof console != 'undefined' && typeof console.log != 'undefined');
this._debugLevels = ['log','info','warn','error'];
this._defaultFlashVersion = 8;
this._oRemoved = null;
this._oRemovedHTML = null;
var _$ = function(sID) {
return document.getElementById(sID);
};
this.filePatterns = {
flash8: /\.mp3(\?.*)?$/i,
flash9: /\.mp3(\?.*)?$/i
};
this.netStreamTypes = ['aac','flv','mov','mp4','m4v','f4v','m4a','mp4v','3gp','3g2']; // Flash v9.0r115+ "moviestar" formats
this.netStreamPattern = new RegExp('\\.('+this.netStreamTypes.join('|')+')(\\?.*)?$','i');
this.filePattern = null;
this.features = {
buffering: false,
peakData: false,
waveformData: false,
eqData: false,
movieStar: false
};
this.sandbox = {
'type': null,
'types': {
'remote': 'remote (domain-based) rules',
'localWithFile': 'local with file access (no internet access)',
'localWithNetwork': 'local with network (internet access only, no local access)',
'localTrusted': 'local, trusted (local + internet access)'
},
'description': null,
'noRemote': null,
'noLocal': null
};
this._setVersionInfo = function() {
if (_s.flashVersion != 8 && _s.flashVersion != 9) {
alert('soundManager.flashVersion must be 8 or 9. "'+_s.flashVersion+'" is invalid. Reverting to '+_s._defaultFlashVersion+'.');
_s.flashVersion = _s._defaultFlashVersion;
}
_s.version = _s.versionNumber+(_s.flashVersion==9?' (AS3/Flash 9)':' (AS2/Flash 8)');
if (_s.flashVersion > 8) {
_s.defaultOptions = _s._mergeObjects(_s.defaultOptions,_s.flash9Options);
_s.features.buffering = true;
}
if (_s.flashVersion > 8 && _s.useMovieStar) {
_s.defaultOptions = _s._mergeObjects(_s.defaultOptions,_s.movieStarOptions);
_s.filePatterns.flash9 = new RegExp('\\.(mp3|'+_s.netStreamTypes.join('|')+')(\\?.*)?$','i');
_s.features.movieStar = true;
} else {
_s.useMovieStar = false;
_s.features.movieStar = false;
}
_s.filePattern = _s.filePatterns[(_s.flashVersion!=8?'flash9':'flash8')];
_s.movieURL = (_s.flashVersion==8?'soundmanager2.swf':'soundmanager2_flash9.swf');
_s.features.peakData = _s.features.waveformData = _s.features.eqData = (_s.flashVersion>8);
};
this._overHTTP = (document.location?document.location.protocol.match(/http/i):null);
this._waitingforEI = false;
this._initPending = false;
this._tryInitOnFocus = (this.isSafari && typeof document.hasFocus == 'undefined');
this._isFocused = (typeof document.hasFocus != 'undefined'?document.hasFocus():null);
this._okToDisable = !this._tryInitOnFocus;
this.useAltURL = !this._overHTTP; // use altURL if not "online"
var flashCPLink = 'http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html';
this.strings = {
notReady: 'Not loaded yet - wait for soundManager.onload() before calling sound-related methods',
appXHTML: 'soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.',
localFail: 'soundManager: Loading this page from local/network file system (not over HTTP?) Flash security likely restricting JS-Flash access. Consider adding current URL to "trusted locations" in the Flash player security settings manager at '+flashCPLink+', or simply serve this content over HTTP.',
waitFocus: 'soundManager: Special case: Waiting for focus-related event..',
waitImpatient: 'soundManager: Getting impatient, still waiting for Flash.. ;)',
waitForever: 'soundManager: Waiting indefinitely for Flash...',
needFunction: 'soundManager.onready(): Function object expected'
};
this.supported = function() {
return (_s._didInit && !_s._disabled);
};
this.getMovie = function(smID) {
return _s.isIE?window[smID]:(_s.isSafari?_$(smID)||document[smID]:_$(smID));
};
this.loadFromXML = function(sXmlUrl) {
try {
_s.o._loadFromXML(sXmlUrl);
} catch(e) {
_s._failSafely();
return true;
}
};
this.createSound = function(oOptions) {
var _cs = 'soundManager.createSound(): ';
if (!_s._didInit) {
throw _s._complain(_cs+_s.strings.notReady,arguments.callee.caller);
}
if (arguments.length == 2) {
oOptions = {'id':arguments[0],'url':arguments[1]};
}
var thisOptions = _s._mergeObjects(oOptions); // inherit SM2 defaults
var _tO = thisOptions; // alias
if (_tO.id.toString().charAt(0).match(/^[0-9]$/)) { // hopefully this isn't buggy regexp-fu. :D
var complaint = _cs+'Warning: Sound ID "'+_tO.id+'" should be a string, starting with a non-numeric character';
_s._wD(complaint,2);
}
_s._wD(_cs+_tO.id+' ('+_tO.url+')',1);
if (_s._idCheck(_tO.id,true)) {
_s._wD(_cs+_tO.id+' exists',1);
return _s.sounds[_tO.id];
}
if (_s.flashVersion > 8 && _s.useMovieStar) {
if (_tO.isMovieStar === null) {
_tO.isMovieStar = (_tO.url.match(_s.netStreamPattern)?true:false);
}
if (_tO.isMovieStar) {
_s._wD(_cs+'using MovieStar handling');
}
if (_tO.isMovieStar && (_tO.usePeakData || _tO.useWaveformData || _tO.useEQData)) {
_s._wD('Warning: peak/waveform/eqData features unsupported for non-MP3 formats');
_tO.usePeakData = false;
_tO.useWaveformData = false;
_tO.useEQData = false;
}
}
_s.sounds[_tO.id] = new SMSound(_tO);
_s.soundIDs[_s.soundIDs.length] = _tO.id;
if (_s.flashVersion == 8) {
_s.o._createSound(_tO.id,_tO.onjustbeforefinishtime);
} else {
_s.o._createSound(_tO.id,_tO.url,_tO.onjustbeforefinishtime,_tO.usePeakData,_tO.useWaveformData,_tO.useEQData,_tO.isMovieStar,(_tO.isMovieStar?_tO.useVideo:false),(_tO.isMovieStar?_tO.bufferTime:false));
}
if (_tO.autoLoad || _tO.autoPlay) {
if (_s.sounds[_tO.id]) {
_s.sounds[_tO.id].load(_tO);
}
}
if (_tO.autoPlay) {
_s.sounds[_tO.id].play();
}
return _s.sounds[_tO.id];
};
this.createVideo = function(oOptions) {
if (arguments.length==2) {
oOptions = {'id':arguments[0],'url':arguments[1]};
}
if (_s.flashVersion >= 9) {
oOptions.isMovieStar = true;
oOptions.useVideo = true;
} else {
_s._wD('soundManager.createVideo(): flash 9 required for video. Exiting.',2);
return false;
}
if (!_s.useMovieStar) {
_s._wD('soundManager.createVideo(): MovieStar mode not enabled. Exiting.',2);
}
return _s.createSound(oOptions);
};
this.destroySound = function(sID,bFromSound) {
if (!_s._idCheck(sID)) {
return false;
}
for (var i=0; i<_s.soundIDs.length; i++) {
if (_s.soundIDs[i] == sID) {
_s.soundIDs.splice(i,1);
continue;
}
}
_s.sounds[sID].unload();
if (!bFromSound) {
_s.sounds[sID].destruct();
}
delete _s.sounds[sID];
};
this.destroyVideo = this.destroySound;
this.load = function(sID,oOptions) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].load(oOptions);
};
this.unload = function(sID) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].unload();
};
this.play = function(sID,oOptions) {
if (!_s._didInit) {
throw _s._complain('soundManager.play(): '+_s.strings.notReady,arguments.callee.caller);
}
if (!_s._idCheck(sID)) {
if (typeof oOptions != 'Object') {
oOptions = {url:oOptions}; // overloading use case: play('mySound','/path/to/some.mp3');
}
if (oOptions && oOptions.url) {
_s._wD('soundController.play(): attempting to create "'+sID+'"',1);
oOptions.id = sID;
_s.createSound(oOptions);
} else {
return false;
}
}
_s.sounds[sID].play(oOptions);
};
this.start = this.play; // just for convenience
this.setPosition = function(sID,nMsecOffset) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].setPosition(nMsecOffset);
};
this.stop = function(sID) {
if (!_s._idCheck(sID)) {
return false;
}
_s._wD('soundManager.stop('+sID+')',1);
_s.sounds[sID].stop();
};
this.stopAll = function() {
_s._wD('soundManager.stopAll()',1);
for (var oSound in _s.sounds) {
if (_s.sounds[oSound] instanceof SMSound) {
_s.sounds[oSound].stop(); // apply only to sound objects
}
}
};
this.pause = function(sID) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].pause();
};
this.pauseAll = function() {
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].pause();
}
};
this.resume = function(sID) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].resume();
};
this.resumeAll = function() {
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].resume();
}
};
this.togglePause = function(sID) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].togglePause();
};
this.setPan = function(sID,nPan) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].setPan(nPan);
};
this.setVolume = function(sID,nVol) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].setVolume(nVol);
};
this.mute = function(sID) {
if (typeof sID != 'string') {
sID = null;
}
if (!sID) {
_s._wD('soundManager.mute(): Muting all sounds');
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].mute();
}
_s.muted = true;
} else {
if (!_s._idCheck(sID)) {
return false;
}
_s._wD('soundManager.mute(): Muting "'+sID+'"');
_s.sounds[sID].mute();
}
};
this.muteAll = function() {
_s.mute();
};
this.unmute = function(sID) {
if (typeof sID != 'string') {
sID = null;
}
if (!sID) {
_s._wD('soundManager.unmute(): Unmuting all sounds');
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].unmute();
}
_s.muted = false;
} else {
if (!_s._idCheck(sID)) {
return false;
}
_s._wD('soundManager.unmute(): Unmuting "'+sID+'"');
_s.sounds[sID].unmute();
}
};
this.unmuteAll = function() {
_s.unmute();
};
this.toggleMute = function(sID) {
if (!_s._idCheck(sID)) {
return false;
}
_s.sounds[sID].toggleMute();
};
this.getMemoryUse = function() {
if (_s.flashVersion == 8) {
return 0;
}
if (_s.o) {
return parseInt(_s.o._getMemoryUse(),10);
}
};
this.disable = function(bNoDisable) {
if (typeof bNoDisable == 'undefined') {
bNoDisable = false;
}
if (_s._disabled) {
return false;
}
_s._disabled = true;
_s._wD('soundManager.disable(): Shutting down',1);
for (var i=_s.soundIDs.length; i--;) {
_s._disableObject(_s.sounds[_s.soundIDs[i]]);
}
_s.initComplete(bNoDisable); // fire "complete", despite fail
};
this.canPlayURL = function(sURL) {
return (sURL?(sURL.match(_s.filePattern)?true:false):null);
};
this.getSoundById = function(sID,suppressDebug) {
if (!sID) {
throw new Error('SoundManager.getSoundById(): sID is null/undefined');
}
var result = _s.sounds[sID];
if (!result && !suppressDebug) {
_s._wD('"'+sID+'" is an invalid sound ID.',2);
}
return result;
};
this.onready = function(oMethod,oScope) {
if (oMethod && oMethod instanceof Function) {
if (_s._didInit) {
_s._wD('soundManager.onready(): Queueing handler');
}
if (!oScope) {
oScope = window;
}
_s._addOnReady(oMethod,oScope);
_s._processOnReady();
return true;
} else {
throw _s.strings.needFunction;
}
};
this.oninitmovie = function() {
};
this.onload = function() {
soundManager._wD('soundManager.onload()',1);
};
this.onerror = function() {
};
this._idCheck = this.getSoundById;
this._complain = function(sMsg,oCaller) {
var sPre = 'Error: ';
if (!oCaller) {
return new Error(sPre+sMsg);
}
var e = new Error(''); // make a mistake.
var stackMsg = null;
if (e.stack) {
try {
var splitChar = '@';
var stackTmp = e.stack.split(splitChar);
stackMsg = stackTmp[4]; // try to return only the relevant bit, skipping internal SM2 shiz
} catch(ee) {
stackMsg = e.stack;
}
}
if (typeof console != 'undefined' && typeof console.trace != 'undefined') {
console.trace();
}
var errorDesc = sPre+sMsg+'. \nCaller: '+oCaller.toString()+(e.stack?' \nTop of stacktrace: '+stackMsg:(e.message?' \nMessage: '+e.message:''));
return new Error(errorDesc);
};
var _doNothing = function() {
return false;
};
_doNothing._protected = true;
this._disableObject = function(o) {
for (var oProp in o) {
if (typeof o[oProp] == 'function' && typeof o[oProp]._protected == 'undefined') {
o[oProp] = _doNothing;
}
}
oProp = null;
};
this._failSafely = function(bNoDisable) {
if (typeof bNoDisable == 'undefined') {
bNoDisable = false;
}
if (!_s._disabled || bNoDisable) {
_s._wD('soundManager: Failed to initialise.',2);
_s.disable(bNoDisable);
}
};
this._normalizeMovieURL = function(smURL) {
var urlParams = null;
if (smURL) {
if (smURL.match(/\.swf(\?.*)?$/i)) {
urlParams = smURL.substr(smURL.toLowerCase().lastIndexOf('.swf?')+4);
if (urlParams) {
return smURL; // assume user knows what they're doing
}
} else if (smURL.lastIndexOf('/') != smURL.length-1) {
smURL = smURL+'/';
}
}
return(smURL && smURL.lastIndexOf('/')!=-1?smURL.substr(0,smURL.lastIndexOf('/')+1):'./')+_s.movieURL;
};
this._getDocument = function() {
return (document.body?document.body:(document.documentElement?document.documentElement:document.getElementsByTagName('div')[0]));
};
this._getDocument._protected = true;
this._setPolling = function(bPolling,bHighPerformance) {
if (!_s.o || !_s.allowPolling) {
return false;
}
_s.o._setPolling(bPolling,bHighPerformance);
};
this._createMovie = function(smID,smURL) {
var specialCase = null;
var remoteURL = (smURL?smURL:_s.url);
var localURL = (_s.altURL?_s.altURL:remoteURL);
if (_s.debugURLParam.test(window.location.href.toString())) {
_s.debugMode = true; // allow force of debug mode via URL
}
if (_s._didAppend && _s._appendSuccess) {
return false; // ignore if already succeeded
}
_s._didAppend = true;
_s._setVersionInfo();
_s.url = _s._normalizeMovieURL(_s._overHTTP?remoteURL:localURL);
smURL = _s.url;
if (_s.useHighPerformance && _s.useMovieStar && _s.defaultOptions.useVideo === true) {
specialCase = 'soundManager note: disabling highPerformance, not applicable with movieStar mode + useVideo';
_s.useHighPerformance = false;
}
_s.wmode = (!_s.wmode && _s.useHighPerformance && !_s.useMovieStar?'transparent':_s.wmode);
if (_s.wmode !== null && _s.flashLoadTimeout !== 0 && !_s.useHighPerformance && !_s.isIE && navigator.platform.match(/win32/i)) {
_s.specialWmodeCase = true;
_s._wD('soundManager note: Removing wmode, preventing off-screen SWF loading issue');
_s.wmode = null;
}
if (_s.flashVersion == 8) {
_s.allowFullScreen = false;
}
var oEmbed = {
name: smID,
id: smID,
src: smURL,
width: '100%',
height: '100%',
quality: 'high',
allowScriptAccess: 'always',
bgcolor: _s.bgColor,
pluginspage: 'http://www.macromedia.com/go/getflashplayer',
type: 'application/x-shockwave-flash',
wmode: _s.wmode,
allowfullscreen: (_s.allowFullScreen?'true':'false')
};
if (!_s.wmode) {
delete oEmbed.wmode; // don't write empty attribute
}
var oMovie = null;
var tmp = null;
if (_s.isIE) {
oMovie = document.createElement('div');
var movieHTML = '<object id="'+smID+'" data="'+smURL+'" type="application/x-shockwave-flash" width="100%" height="100%"><param name="movie" value="'+smURL+'" /><param name="AllowScriptAccess" value="always" /><param name="quality" value="high" />'+(_s.wmode?'<param name="wmode" value="'+_s.wmode+'" /> ':'')+'<param name="bgcolor" value="'+_s.bgColor+'" /><param name="allowFullScreen" value="'+(_s.allowFullScreen?'true':'false')+'" /><!-- --></object>';
} else {
oMovie = document.createElement('embed');
for (tmp in oEmbed) {
if (oEmbed.hasOwnProperty(tmp)) {
oMovie.setAttribute(tmp,oEmbed[tmp]);
}
}
}
var oD = document.createElement('div');
oD.id = _s.debugID+'-toggle';
var oToggle = {
position: 'fixed',
bottom: '0px',
right: '0px',
width: '1.2em',
height: '1.2em',
lineHeight: '1.2em',
margin: '2px',
textAlign: 'center',
border: '1px solid #999',
cursor: 'pointer',
background: '#fff',
color: '#333',
zIndex: 10001
};
oD.appendChild(document.createTextNode('-'));
oD.onclick = _s._toggleDebug;
oD.title = 'Toggle SM2 debug console';
if (navigator.userAgent.match(/msie 6/i)) {
oD.style.position = 'absolute';
oD.style.cursor = 'hand';
}
for (tmp in oToggle) {
if (oToggle.hasOwnProperty(tmp)) {
oD.style[tmp] = oToggle[tmp];
}
}
var oTarget = _s._getDocument();
if (oTarget) {
_s.oMC = _$('sm2-container')?_$('sm2-container'):document.createElement('div');
if (!_s.oMC.id) {
_s.oMC.id = 'sm2-container';
_s.oMC.className = 'movieContainer';
var s = null;
var oEl = null;
if (_s.useHighPerformance) {
s = {
position: 'fixed',
width: '8px',
height: '8px', // must be at least 6px for flash to run fast. odd? yes.
bottom: '0px',
left: '0px',
overflow: 'hidden'
};
} else {
s = {
position: 'absolute',
width: '8px',
height: '8px',
top: '-9999px',
left: '-9999px'
};
}
var x = null;
for (x in s) {
if (s.hasOwnProperty(x)) {
_s.oMC.style[x] = s[x];
}
}
try {
if (!_s.isIE) {
_s.oMC.appendChild(oMovie);
}
oTarget.appendChild(_s.oMC);
if (_s.isIE) {
oEl = _s.oMC.appendChild(document.createElement('div'));
oEl.className = 'sm2-object-box';
oEl.innerHTML = movieHTML;
}
_s._appendSuccess = true;
} catch(e) {
throw new Error(_s.strings.appXHTML);
}
} else {
_s.oMC.appendChild(oMovie);
if (_s.isIE) {
oEl = _s.oMC.appendChild(document.createElement('div'));
oEl.className = 'sm2-object-box';
oEl.innerHTML = movieHTML;
}
_s._appendSuccess = true;
}
if (!_$(_s.debugID) && ((!_s._hasConsole||!_s.useConsole)||(_s.useConsole && _s._hasConsole && !_s.consoleOnly))) {
var oDebug = document.createElement('div');
oDebug.id = _s.debugID;
oDebug.style.display = (_s.debugMode?'block':'none');
if (_s.debugMode && !_$(oD.id)) {
try {
oTarget.appendChild(oD);
} catch(e2) {
throw new Error(_s.strings.appXHTML);
}
oTarget.appendChild(oDebug);
}
}
oTarget = null;
}
if (specialCase) {
_s._wD(specialCase);
}
_s._wD('-- SoundManager 2 '+_s.version+(_s.useMovieStar?', MovieStar mode':'')+(_s.useHighPerformance?', high performance mode, ':', ')+((_s.useFastPolling?'fast':'normal')+' polling mode')+(_s.wmode?', wmode: '+_s.wmode:'')+' --',1);
_s._wD('soundManager._createMovie(): Trying to load '+smURL+(!_s._overHTTP && _s.altURL?' (alternate URL)':''),1);
};
this._writeDebug = function(sText,sType,bTimestamp) {
if (!_s.debugMode) {
return false;
}
if (typeof bTimestamp != 'undefined' && bTimestamp) {
sText = sText + ' | '+new Date().getTime();
}
if (_s._hasConsole && _s.useConsole) {
var sMethod = _s._debugLevels[sType];
if (typeof console[sMethod] != 'undefined') {
console[sMethod](sText);
} else {
console.log(sText);
}
if (_s.useConsoleOnly) {
return true;
}
}
var sDID = 'soundmanager-debug';
try {
var o = _$(sDID);
if (!o) {
return false;
}
var oItem = document.createElement('div');
if (++_s._wdCount%2===0) {
oItem.className = 'sm2-alt';
}
if (typeof sType == 'undefined') {
sType = 0;
} else {
sType = parseInt(sType,10);
}
oItem.appendChild(document.createTextNode(sText));
if (sType) {
if (sType >= 2) {
oItem.style.fontWeight = 'bold';
}
if (sType == 3) {
oItem.style.color = '#ff3333';
}
}
o.insertBefore(oItem,o.firstChild); // bottom-to-top
} catch(e) {
}
o = null;
};
this._writeDebug._protected = true;
this._wdCount = 0;
this._wdCount._protected = true;
this._wD = this._writeDebug;
this._wDAlert = function(sText) { alert(sText); };
if (window.location.href.indexOf('debug=alert')+1 && _s.debugMode) {
_s._wD = _s._wDAlert;
}
this._toggleDebug = function() {
var o = _$(_s.debugID);
var oT = _$(_s.debugID+'-toggle');
if (!o) {
return false;
}
if (_s._debugOpen) {
oT.innerHTML = '+';
o.style.display = 'none';
} else {
oT.innerHTML = '-';
o.style.display = 'block';
}
_s._debugOpen = !_s._debugOpen;
};
this._toggleDebug._protected = true;
this._debug = function() {
_s._wD('--- soundManager._debug(): Current sound objects ---',1);
for (var i=0,j=_s.soundIDs.length; i<j; i++) {
_s.sounds[_s.soundIDs[i]]._debug();
}
};
this._debugTS = function(sEventType,bSuccess,sMessage) {
if (typeof sm2Debugger != 'undefined') {
try {
sm2Debugger.handleEvent(sEventType,bSuccess,sMessage);
} catch(e) {
}
}
};
this._debugTS._protected = true;
this._mergeObjects = function(oMain,oAdd) {
var o1 = {}; // clone o1
for (var i in oMain) {
if (oMain.hasOwnProperty(i)) {
o1[i] = oMain[i];
}
}
var o2 = (typeof oAdd == 'undefined'?_s.defaultOptions:oAdd);
for (var o in o2) {
if (o2.hasOwnProperty(o) && typeof o1[o] == 'undefined') {
o1[o] = o2[o];
}
}
return o1;
};
this.createMovie = function(sURL) {
if (sURL) {
_s.url = sURL;
}
_s._initMovie();
};
this.go = this.createMovie; // nice alias
this._initMovie = function() {
if (_s.o) {
return false; // may already exist
}
_s.o = _s.getMovie(_s.id); // (inline markup)
if (!_s.o) {
if (!_s.oRemoved) {
_s._createMovie(_s.id,_s.url);
} else {
if (!_s.isIE) {
_s.oMC.appendChild(_s.oRemoved);
} else {
_s.oMC.innerHTML = _s.oRemovedHTML;
}
_s.oRemoved = null;
_s._didAppend = true;
}
_s.o = _s.getMovie(_s.id);
}
if (_s.o) {
_s._wD('soundManager._initMovie(): Got '+_s.o.nodeName+' element ('+(_s._didAppend?'created via JS':'static HTML')+')',1);
if (_s.flashLoadTimeout>0) {
_s._wD('soundManager._initMovie(): Waiting for ExternalInterface call from Flash..');
}
}
if (typeof _s.oninitmovie == 'function') {
setTimeout(_s.oninitmovie,1);
}
};
this.waitForExternalInterface = function() {
if (_s._waitingForEI) {
return false;
}
_s._waitingForEI = true;
if (_s._tryInitOnFocus && !_s._isFocused) {
_s._wD(_s.strings.waitFocus);
return false;
}
if (_s.flashLoadTimeout>0) {
if (!_s._didInit) {
_s._wD(_s.strings.waitImpatient);
}
setTimeout(function() {
if (!_s._didInit) {
_s._wD('soundManager: No Flash response within reasonable time after document load.\nPossible causes: Loading '+_s.movieURL+' failed, Flash version under '+_s.flashVersion+', no support, flash blocked or JS-Flash security error.',2);
if (!_s._overHTTP) {
_s._wD(_s.strings.localFail,2);
}
_s._debugTS('flashtojs',false,': Timed out'+(_s._overHTTP)?' (Check flash security or flash blockers)':' (No plugin/missing SWF?)');
}
if (!_s._didInit && _s._okToDisable) {
_s._failSafely(true); // don't disable, for reboot()
}
},_s.flashLoadTimeout);
} else if (!_s._didInit) {
_s._wD(_s.strings.waitForever);
}
};
this.handleFocus = function() {
if (_s._isFocused || !_s._tryInitOnFocus) {
return true;
}
_s._okToDisable = true;
_s._isFocused = true;
_s._wD('soundManager.handleFocus()');
if (_s._tryInitOnFocus) {
window.removeEventListener('mousemove',_s.handleFocus,false);
}
_s._waitingForEI = false;
setTimeout(_s.waitForExternalInterface,500);
if (window.removeEventListener) {
window.removeEventListener('focus',_s.handleFocus,false);
} else if (window.detachEvent) {
window.detachEvent('onfocus',_s.handleFocus);
}
};
this.initComplete = function(bNoDisable) {
if (_s._didInit) {
return false;
}
_s._didInit = true;
_s._wD('-- SoundManager 2 '+(_s._disabled?'failed to load':'loaded')+' ('+(_s._disabled?'security/load error':'OK')+') --',1);
if (_s._disabled || bNoDisable) {
_s._wD('soundManager.initComplete(): calling soundManager.onerror()',1);
_s._processOnReady();
_s._debugTS('onload',false);
_s.onerror.apply(window);
return false;
} else {
_s._debugTS('onload',true);
}
if (_s.waitForWindowLoad && !_s._windowLoaded) {
_s._wD('soundManager: Waiting for window.onload()');
if (window.addEventListener) {
window.addEventListener('load',_s._initUserOnload,false);
} else if (window.attachEvent) {
window.attachEvent('onload',_s._initUserOnload);
}
return false;
} else {
if (_s.waitForWindowLoad && _s._windowLoaded) {
_s._wD('soundManager: Document already loaded');
}
_s._initUserOnload();
}
};
this._addOnReady = function(oMethod,oScope) {
_s._onready.push({
'method': oMethod,
'scope': (oScope||null),
'fired': false
});
};
this._processOnReady = function() {
if (!_s._didInit) {
return false;
}
var status = {
success: (!_s._disabled)
};
var queue = [];
for (var i=0, j=_s._onready.length; i<j; i++) {
if (_s._onready[i].fired !== true) {
queue.push(_s._onready[i]);
}
}
if (queue.length) {
_s._wD('soundManager: Firing '+queue.length+' onready() item'+(queue.length>1?'s':''));
for (i=0, j=queue.length; i<j; i++) {
if (queue[i].scope) {
queue[i].method.apply(queue[i].scope,[status]);
} else {
queue[i].method(status);
}
queue[i].fired = true;
}
}
};
this._initUserOnload = function() {
window.setTimeout(function() {
_s._processOnReady();
_s._wD('soundManager.initComplete(): calling soundManager.onload()',1);
_s.onload.apply(window);
_s._wD('soundManager.onload() complete',1);
});
};
this.init = function() {
_s._wD('-- soundManager.init() --');
_s._initMovie();
if (_s._didInit) {
_s._wD('soundManager.init(): Already called?');
return false;
}
if (window.removeEventListener) {
window.removeEventListener('load',_s.beginDelayedInit,false);
} else if (window.detachEvent) {
window.detachEvent('onload',_s.beginDelayedInit);
}
try {
_s._wD('Attempting to call Flash from JS..');
_s.o._externalInterfaceTest(false); // attempt to talk to Flash
if (!_s.allowPolling) {
_s._wD('Polling (whileloading()/whileplaying() support) is disabled.',1);
}
_s._setPolling(true,_s.useFastPolling?true:false);
if (!_s.debugMode) {
_s.o._disableDebug();
}
_s._wD('Attempting to call Flash from JS3');
_s.enabled = true;
_s._debugTS('jstoflash',true);
} catch(e) {
_s._wD('Attempting to call Flash from JS3');
_s.enabled = true;
_s._debugTS('jstoflash',true);
}
_s.initComplete();
};
this.beginDelayedInit = function() {
_s._wD('soundManager.beginDelayedInit()');
_s._windowLoaded = true;
setTimeout(_s.waitForExternalInterface,500);
setTimeout(_s.beginInit,20);
};
this.beginInit = function() {
if (_s._initPending) {
return false;
}
_s.createMovie(); // ensure creation if not already done
_s._initMovie();
_s._initPending = true;
return true;
};
this.domContentLoaded = function() {
_s._wD('soundManager.domContentLoaded()');
if (document.removeEventListener) {
document.removeEventListener('DOMContentLoaded',_s.domContentLoaded,false);
}
_s.go();
};
this._externalInterfaceOK = function() {
if (_s.swfLoaded) {
return false;
}
_s._wD('soundManager._externalInterfaceOK()');
_s._debugTS('swf',true);
_s._debugTS('flashtojs',true);
_s.swfLoaded = true;
_s._tryInitOnFocus = false;
if (_s.isIE) {
setTimeout(_s.init,100);
} else {
_s.init();
}
};
this._setSandboxType = function(sandboxType) {
var sb = _s.sandbox;
sb.type = sandboxType;
sb.description = sb.types[(typeof sb.types[sandboxType] != 'undefined'?sandboxType:'unknown')];
_s._wD('Flash security sandbox type: '+sb.type);
if (sb.type == 'localWithFile') {
sb.noRemote = true;
sb.noLocal = false;
_s._wD('Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html',2);
} else if (sb.type == 'localWithNetwork') {
sb.noRemote = false;
sb.noLocal = true;
} else if (sb.type == 'localTrusted') {
sb.noRemote = false;
sb.noLocal = false;
}
};
this.reboot = function() {
_s._wD('soundManager.reboot()');
if (_s.soundIDs.length) {
_s._wD('Destroying '+_s.soundIDs.length+' SMSound objects...');
}
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].destruct();
}
try {
if (_s.isIE) {
_s.oRemovedHTML = _s.o.innerHTML;
}
_s.oRemoved = _s.o.parentNode.removeChild(_s.o);
_s._wD('Flash movie removed.');
} catch(e) {
_s._wD('Warning: Failed to remove flash movie.',2);
}
_s.enabled = false;
_s._didInit = false;
_s._waitingForEI = false;
_s._initPending = false;
_s._didAppend = false;
_s._appendSuccess = false;
_s._disabled = false;
_s._waitingforEI = true;
_s.swfLoaded = false;
_s.soundIDs = {};
_s.sounds = [];
_s.o = null;
for (i=_s._onready.length; i--;) {
_s._onready[i].fired = false;
}
_s._wD('soundManager: Rebooting...');
window.setTimeout(soundManager.beginDelayedInit,20);
};
this.destruct = function() {
_s._wD('soundManager.destruct()');
_s.disable(true);
};
SMSound = function(oOptions) {
var _t = this;
this.sID = oOptions.id;
this.url = oOptions.url;
this.options = _s._mergeObjects(oOptions);
this.instanceOptions = this.options; // per-play-instance-specific options
this._iO = this.instanceOptions; // short alias
this.pan = this.options.pan;
this.volume = this.options.volume;
this._lastURL = null;
this._debug = function() {
if (_s.debugMode) {
var stuff = null;
var msg = [];
var sF = null;
var sfBracket = null;
var maxLength = 64; // # of characters of function code to show before truncating
for (stuff in _t.options) {
if (_t.options[stuff] !== null) {
if (_t.options[stuff] instanceof Function) {
sF = _t.options[stuff].toString();
sF = sF.replace(/\s\s+/g,' '); // normalize spaces
sfBracket = sF.indexOf('{');
msg[msg.length] = ' '+stuff+': {'+sF.substr(sfBracket+1,(Math.min(Math.max(sF.indexOf('\n')-1,maxLength),maxLength))).replace(/\n/g,'')+'... }';
} else {
msg[msg.length] = ' '+stuff+': '+_t.options[stuff];
}
}
}
_s._wD('SMSound() merged options: {\n'+msg.join(', \n')+'\n}');
}
};
this._debug();
this.id3 = {
};
this.resetProperties = function(bLoaded) {
_t.bytesLoaded = null;
_t.bytesTotal = null;
_t.position = null;
_t.duration = null;
_t.durationEstimate = null;
_t.loaded = false;
_t.playState = 0;
_t.paused = false;
_t.readyState = 0; // 0 = uninitialised, 1 = loading, 2 = failed/error, 3 = loaded/success
_t.muted = false;
_t.didBeforeFinish = false;
_t.didJustBeforeFinish = false;
_t.isBuffering = false;
_t.instanceOptions = {};
_t.instanceCount = 0;
_t.peakData = {
left: 0,
right: 0
};
_t.waveformData = {
left: [],
right: []
};
_t.eqData = [];
};
_t.resetProperties();
this.load = function(oOptions) {
if (typeof oOptions != 'undefined') {
_t._iO = _s._mergeObjects(oOptions);
_t.instanceOptions = _t._iO;
} else {
oOptions = _t.options;
_t._iO = oOptions;
_t.instanceOptions = _t._iO;
if (_t._lastURL && _t._lastURL != _t.url) {
_s._wD('SMSound.load(): Using manually-assigned URL');
_t._iO.url = _t.url;
_t.url = null;
}
}
if (typeof _t._iO.url == 'undefined') {
_t._iO.url = _t.url;
}
_s._wD('soundManager.load(): '+_t._iO.url,1);
if (_t._iO.url == _t.url && _t.readyState !== 0 && _t.readyState != 2) {
_s._wD('soundManager.load(): current URL already assigned.',1);
return false;
}
_t.url = _t._iO.url;
_t._lastURL = _t._iO.url;
_t.loaded = false;
_t.readyState = 1;
_t.playState = 0; // (oOptions.autoPlay?1:0); // if autoPlay, assume "playing" is true (no way to detect when it actually starts in Flash unless onPlay is watched?)
try {
if (_s.flashVersion==8) {
_s.o._load(_t.sID,_t._iO.url,_t._iO.stream,_t._iO.autoPlay,(_t._iO.whileloading?1:0));
} else {
_s.o._load(_t.sID,_t._iO.url,_t._iO.stream?true:false,_t._iO.autoPlay?true:false); // ,(_tO.whileloading?true:false)
if (_t._iO.isMovieStar && _t._iO.autoLoad && !_t._iO.autoPlay) {
_t.pause();
}
}
} catch(e) {
_s._wD('SMSound.load(): Exception: JS-Flash communication failed, or JS error.',2);
_s._debugTS('onload',false);
_s.onerror();
_s.disable();
}
};
this.unload = function() {
if (_t.readyState !== 0) {
_s._wD('SMSound.unload(): "'+_t.sID+'"');
if (_t.readyState != 2) { // reset if not error
_t.setPosition(0,true); // reset current sound positioning
}
_s.o._unload(_t.sID,_s.nullURL);
_t.resetProperties();
}
};
this.destruct = function() {
_s._wD('SMSound.destruct(): "'+_t.sID+'"');
_s.o._destroySound(_t.sID);
_s.destroySound(_t.sID,true); // ensure deletion from controller
};
this.play = function(oOptions) {
if (!oOptions) {
oOptions = {};
}
_t._iO = _s._mergeObjects(oOptions,_t._iO);
_t._iO = _s._mergeObjects(_t._iO,_t.options);
_t.instanceOptions = _t._iO;
if (_t.playState == 1) {
var allowMulti = _t._iO.multiShot;
if (!allowMulti) {
_s._wD('SMSound.play(): "'+_t.sID+'" already playing (one-shot)',1);
return false;
} else {
_s._wD('SMSound.play(): "'+_t.sID+'" already playing (multi-shot)',1);
}
}
if (!_t.loaded) {
if (_t.readyState === 0) {
_s._wD('SMSound.play(): Attempting to load "'+_t.sID+'"',1);
_t._iO.stream = true;
_t._iO.autoPlay = true;
_t.load(_t._iO); // try to get this sound playing ASAP
} else if (_t.readyState == 2) {
_s._wD('SMSound.play(): Could not load "'+_t.sID+'" - exiting',2);
return false;
} else {
_s._wD('SMSound.play(): "'+_t.sID+'" is loading - attempting to play..',1);
}
} else {
_s._wD('SMSound.play(): "'+_t.sID+'"');
}
if (_t.paused) {
_t.resume();
} else {
_t.playState = 1;
if (!_t.instanceCount || _s.flashVersion > 8) {
_t.instanceCount++;
}
_t.position = (typeof _t._iO.position != 'undefined' && !isNaN(_t._iO.position)?_t._iO.position:0);
if (_t._iO.onplay) {
_t._iO.onplay.apply(_t);
}
_t.setVolume(_t._iO.volume,true); // restrict volume to instance options only
_t.setPan(_t._iO.pan,true);
_s.o._start(_t.sID,_t._iO.loop||1,(_s.flashVersion==9?_t.position:_t.position/1000));
}
};
this.start = this.play; // just for convenience
this.stop = function(bAll) {
if (_t.playState == 1) {
_t.playState = 0;
_t.paused = false;
if (_t._iO.onstop) {
_t._iO.onstop.apply(_t);
}
_s.o._stop(_t.sID,bAll);
_t.instanceCount = 0;
_t._iO = {};
}
};
this.setPosition = function(nMsecOffset,bNoDebug) {
if (typeof nMsecOffset == 'undefined') {
nMsecOffset = 0;
}
var offset = Math.min(_t.duration,Math.max(nMsecOffset,0)); // position >= 0 and <= current available (loaded) duration
_t._iO.position = offset;
if (!bNoDebug) {
}
_s.o._setPosition(_t.sID,(_s.flashVersion==9?_t._iO.position:_t._iO.position/1000),(_t.paused||!_t.playState)); // if paused or not playing, will not resume (by playing)
};
this.pause = function() {
if (_t.paused || _t.playState === 0) {
return false;
}
_s._wD('SMSound.pause()');
_t.paused = true;
_s.o._pause(_t.sID);
if (_t._iO.onpause) {
_t._iO.onpause.apply(_t);
}
};
this.resume = function() {
if (!_t.paused || _t.playState === 0) {
return false;
}
_s._wD('SMSound.resume()');
_t.paused = false;
_s.o._pause(_t.sID); // flash method is toggle-based (pause/resume)
if (_t._iO.onresume) {
_t._iO.onresume.apply(_t);
}
};
this.togglePause = function() {
_s._wD('SMSound.togglePause()');
if (_t.playState === 0) {
_t.play({position:(_s.flashVersion==9?_t.position:_t.position/1000)});
return false;
}
if (_t.paused) {
_t.resume();
} else {
_t.pause();
}
};
this.setPan = function(nPan,bInstanceOnly) {
if (typeof nPan == 'undefined') {
nPan = 0;
}
if (typeof bInstanceOnly == 'undefined') {
bInstanceOnly = false;
}
_s.o._setPan(_t.sID,nPan);
_t._iO.pan = nPan;
if (!bInstanceOnly) {
_t.pan = nPan;
}
};
this.setVolume = function(nVol,bInstanceOnly) {
if (typeof nVol == 'undefined') {
nVol = 100;
}
if (typeof bInstanceOnly == 'undefined') {
bInstanceOnly = false;
}
_s.o._setVolume(_t.sID,(_s.muted&&!_t.muted)||_t.muted?0:nVol);
_t._iO.volume = nVol;
if (!bInstanceOnly) {
_t.volume = nVol;
}
};
this.mute = function() {
_t.muted = true;
_s.o._setVolume(_t.sID,0);
};
this.unmute = function() {
_t.muted = false;
var hasIO = typeof _t._iO.volume != 'undefined';
_s.o._setVolume(_t.sID,hasIO?_t._iO.volume:_t.options.volume);
};
this.toggleMute = function() {
if (_t.muted) {
_t.unmute();
} else {
_t.mute();
}
};
this._whileloading = function(nBytesLoaded,nBytesTotal,nDuration) {
if (!_t._iO.isMovieStar) {
_t.bytesLoaded = nBytesLoaded;
_t.bytesTotal = nBytesTotal;
_t.duration = Math.floor(nDuration);
_t.durationEstimate = parseInt((_t.bytesTotal/_t.bytesLoaded)*_t.duration,10);
if (_t.durationEstimate === undefined) {
_t.durationEstimate = _t.duration;
}
if (_t.readyState != 3 && _t._iO.whileloading) {
_t._iO.whileloading.apply(_t);
}
} else {
_t.bytesLoaded = nBytesLoaded;
_t.bytesTotal = nBytesTotal;
_t.duration = Math.floor(nDuration);
_t.durationEstimate = _t.duration;
if (_t.readyState != 3 && _t._iO.whileloading) {
_t._iO.whileloading.apply(_t);
}
}
};
this._onid3 = function(oID3PropNames,oID3Data) {
_s._wD('SMSound._onid3(): "'+this.sID+'" ID3 data received.');
var oData = [];
for (var i=0,j=oID3PropNames.length; i<j; i++) {
oData[oID3PropNames[i]] = oID3Data[i];
}
_t.id3 = _s._mergeObjects(_t.id3,oData);
if (_t._iO.onid3) {
_t._iO.onid3.apply(_t);
}
};
this._whileplaying = function(nPosition,oPeakData,oWaveformDataLeft,oWaveformDataRight,oEQData) {
if (isNaN(nPosition) || nPosition === null) {
return false; // Flash may return NaN at times
}
if (_t.playState === 0 && nPosition > 0) {
nPosition = 0;
}
_t.position = nPosition;
if (_t._iO.usePeakData && typeof oPeakData != 'undefined' && oPeakData) {
_t.peakData = {
left: oPeakData.leftPeak,
right: oPeakData.rightPeak
};
}
if (_t._iO.useWaveformData && typeof oWaveformDataLeft != 'undefined' && oWaveformDataLeft) {
_t.waveformData = {
left: oWaveformDataLeft.split(','),
right: oWaveformDataRight.split(',')
};
}
if (_t._iO.useEQData && typeof oEQData != 'undefined' && oEQData) {
_t.eqData = oEQData;
}
if (_t.playState == 1) {
if (_t.isBuffering) {
_t._onbufferchange(0);
}
if (_t._iO.whileplaying) {
_t._iO.whileplaying.apply(_t); // flash may call after actual finish
}
if (_t.loaded && _t._iO.onbeforefinish && _t._iO.onbeforefinishtime && !_t.didBeforeFinish && _t.duration-_t.position <= _t._iO.onbeforefinishtime) {
_s._wD('duration-position &lt;= onbeforefinishtime: '+_t.duration+' - '+_t.position+' &lt= '+_t._iO.onbeforefinishtime+' ('+(_t.duration-_t.position)+')');
_t._onbeforefinish();
}
}
};
this._onload = function(bSuccess) {
bSuccess = (bSuccess==1?true:false);
_s._wD('SMSound._onload(): "'+_t.sID+'"'+(bSuccess?' loaded.':' failed to load? - '+_t.url),(bSuccess?1:2));
if (!bSuccess) {
if (_s.sandbox.noRemote === true) {
_s._wD('SMSound._onload(): Reminder: Flash security is denying network/internet access',1);
}
if (_s.sandbox.noLocal === true) {
_s._wD('SMSound._onload(): Reminder: Flash security is denying local access',1);
}
}
_t.loaded = bSuccess;
_t.readyState = bSuccess?3:2;
if (_t._iO.onload) {
_t._iO.onload.apply(_t);
}
};
this._onbeforefinish = function() {
if (!_t.didBeforeFinish) {
_t.didBeforeFinish = true;
if (_t._iO.onbeforefinish) {
_s._wD('SMSound._onbeforefinish(): "'+_t.sID+'"');
_t._iO.onbeforefinish.apply(_t);
}
}
};
this._onjustbeforefinish = function(msOffset) {
if (!_t.didJustBeforeFinish) {
_t.didJustBeforeFinish = true;
if (_t._iO.onjustbeforefinish) {
_s._wD('SMSound._onjustbeforefinish(): "'+_t.sID+'"');
_t._iO.onjustbeforefinish.apply(_t);
}
}
};
this._onfinish = function() {
if (_t._iO.onbeforefinishcomplete) {
_t._iO.onbeforefinishcomplete.apply(_t);
}
_t.didBeforeFinish = false;
_t.didJustBeforeFinish = false;
if (_t.instanceCount) {
_t.instanceCount--;
if (!_t.instanceCount) {
_t.playState = 0;
_t.paused = false;
_t.instanceCount = 0;
_t.instanceOptions = {};
}
if (!_t.instanceCount || _t._iO.multiShotEvents) {
if (_t._iO.onfinish) {
_s._wD('SMSound._onfinish(): "'+_t.sID+'"');
_t._iO.onfinish.apply(_t);
}
}
} else {
if (_t.useVideo) {
}
}
};
this._onmetadata = function(oMetaData) {
_s._wD('SMSound.onmetadata()');
if (!oMetaData.width && !oMetaData.height) {
_s._wD('No width/height given, assuming defaults');
oMetaData.width = 320;
oMetaData.height = 240;
}
_t.metadata = oMetaData; // potentially-large object from flash
_t.width = oMetaData.width;
_t.height = oMetaData.height;
if (_t._iO.onmetadata) {
_s._wD('SMSound._onmetadata(): "'+_t.sID+'"');
_t._iO.onmetadata.apply(_t);
}
_s._wD('SMSound.onmetadata() complete');
};
this._onbufferchange = function(bIsBuffering) {
if (_t.playState === 0) {
return false;
}
if (bIsBuffering == _t.isBuffering) {
_s._wD('_onbufferchange: ignoring false default / loaded sound');
return false;
}
_t.isBuffering = (bIsBuffering==1?true:false);
if (_t._iO.onbufferchange) {
_s._wD('SMSound._onbufferchange(): '+bIsBuffering);
_t._iO.onbufferchange.apply(_t);
}
};
this._ondataerror = function(sError) {
if (_t.playState > 0) { // hack: called at start, and end from flash at/after onfinish().
_s._wD('SMSound._ondataerror(): '+sError);
if (_t._iO.ondataerror) {
_t._iO.ondataerror.apply(_t);
}
} else {
}
};
}; // SMSound()
this._onfullscreenchange = function(bFullScreen) {
_s._wD('onfullscreenchange(): '+bFullScreen);
_s.isFullScreen = (bFullScreen==1?true:false);
if (!_s.isFullScreen) {
try {
window.focus();
_s._wD('window.focus()');
} catch(e) {
}
}
};
if (window.addEventListener) {
window.addEventListener('focus',_s.handleFocus,false);
window.addEventListener('load',_s.beginDelayedInit,false);
window.addEventListener('unload',_s.destruct,false);
if (_s._tryInitOnFocus) {
window.addEventListener('mousemove',_s.handleFocus,false); // massive Safari focus hack
}
} else if (window.attachEvent) {
window.attachEvent('onfocus',_s.handleFocus);
window.attachEvent('onload',_s.beginDelayedInit);
window.attachEvent('unload',_s.destruct);
} else {
_s._debugTS('onload',false);
soundManager.onerror();
soundManager.disable();
}
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded',_s.domContentLoaded,false);
}
} // SoundManager()
if (typeof SM2_DEFER == 'undefined' || !SM2_DEFER) {
soundManager = new SoundManager();
}
function InlinePlayer() {
var self = this;
var pl = this;
var sm = soundManager; // soundManager instance
this.excludeClass = 'inline-exclude'; // CSS class for ignoring MP3 links
this.links = [];
this.sounds = [];
this.soundsByURL = [];
this.indexByURL = [];
this.lastSound = null;
this.soundCount = 0;
var isIE = (navigator.userAgent.match(/msie/i));
this.config = {
flashVersion: 9,
useMovieStar: true,
playNext: false, // stop after one sound, or play through list until end
autoPlay: false,  // start playing the first sound right away
useVideo: false,
allowFullScreen: true
}
this.css = {
sDefault: 'sm2_link', // default state
sLoading: 'sm2_loading',
sPlaying: 'sm2_playing',
sPaused: 'sm2_paused'
}
this.addEventHandler = function(o,evtName,evtHandler) {
typeof(attachEvent)=='undefined'?o.addEventListener(evtName,evtHandler,false):o.attachEvent('on'+evtName,evtHandler);
}
this.removeEventHandler = function(o,evtName,evtHandler) {
typeof(attachEvent)=='undefined'?o.removeEventListener(evtName,evtHandler,false):o.detachEvent('on'+evtName,evtHandler);
}
this.classContains = function(o,cStr) {
return (typeof(o.className)!='undefined'?o.className.match(new RegExp('(\\s|^)'+cStr+'(\\s|$)')):false);
}
this.addClass = function(o,cStr) {
if (!o || !cStr || self.classContains(o,cStr)) return false;
o.className = (o.className?o.className+' ':'')+cStr;
}
this.removeClass = function(o,cStr) {
if (!o || !cStr || !self.classContains(o,cStr)) return false;
o.className = o.className.replace(new RegExp('( '+cStr+')|('+cStr+')','g'),'');
}
this.getSoundByURL = function(sURL) {
return (typeof self.soundsByURL[sURL] != 'undefined'?self.soundsByURL[sURL]:null);
}
this.isChildOfNode = function(o,sNodeName) {
if (!o || !o.parentNode) {
return false;
}
sNodeName = sNodeName.toLowerCase();
do {
o = o.parentNode;
} while (o && o.parentNode && o.nodeName.toLowerCase() != sNodeName);
return (o.nodeName.toLowerCase() == sNodeName?o:null);
}
this.events = {
play: function() {
pl.removeClass(this._data.oLink,this._data.className);
this._data.className = pl.css.sPlaying;
pl.addClass(this._data.oLink,this._data.className);
},
stop: function() {
pl.removeClass(this._data.oLink,this._data.className);
this._data.className = '';
},
pause: function() {
pl.removeClass(this._data.oLink,this._data.className);
this._data.className = pl.css.sPaused;
pl.addClass(this._data.oLink,this._data.className);
},
resume: function() {
pl.removeClass(this._data.oLink,this._data.className);
this._data.className = pl.css.sPlaying;
pl.addClass(this._data.oLink,this._data.className);
},
finish: function() {
pl.removeClass(this._data.oLink,this._data.className);
this._data.className = '';
if (pl.config.playNext) {
var nextLink = (pl.indexByURL[this._data.oLink.href]+1);
if (nextLink<pl.links.length) {
pl.handleClick({'target':pl.links[nextLink]});
}
}
}
}
this.stopEvent = function(e) {
if (typeof e != 'undefined' && typeof e.preventDefault != 'undefined') {
e.preventDefault();
} else if (typeof event != 'undefined' && typeof event.returnValue != 'undefined') {
event.returnValue = false;
}
return false;
}
this.getTheDamnLink = (isIE)?function(e) {
return (e && e.target?e.target:window.event.srcElement);
}:function(e) {
return e.target;
}
this.handleClick = function(e) {
if (typeof e.button != 'undefined' && e.button>1) {
return true;
}
var o = self.getTheDamnLink(e);
if (o.nodeName.toLowerCase() != 'a') {
o = self.isChildOfNode(o,'a');
if (!o) return true;
}
var sURL = o.getAttribute('href');
if (!o.href || !o.href.match(/\.flv(\\?.*)$/i) || self.classContains(o,self.excludeClass)) {
if (isIE && o.onclick) {
return false; // IE will run this handler before .onclick(), everyone else is cool?
}
return true; // pass-thru for non-MP3/non-links
}
sm._writeDebug('handleClick()');
var soundURL = (o.href);
var thisSound = self.getSoundByURL(soundURL);
if (thisSound) {
if (thisSound == self.lastSound) {
thisSound.togglePause();
} else {
thisSound.togglePause(); // start playing current
sm._writeDebug('sound different than last sound: '+self.lastSound.sID);
if (self.lastSound) self.stopSound(self.lastSound);
}
} else {
thisSound = sm.createSound({
id:'inlineMP3Sound'+(self.soundCount++),
url:soundURL,
onplay:self.events.play,
onstop:self.events.stop,
onpause:self.events.pause,
onresume:self.events.resume,
onfinish:self.events.finish
});
thisSound._data = {
oLink: o, // DOM node for reference within SM2 object event handlers
className: self.css.sPlaying
};
self.soundsByURL[soundURL] = thisSound;
self.sounds.push(thisSound);
if (self.lastSound) self.stopSound(self.lastSound);
thisSound.play();
}
self.lastSound = thisSound; // reference for next call
if (typeof e != 'undefined' && typeof e.preventDefault != 'undefined') {
e.preventDefault();
} else {
event.returnValue = false;
}
return false;
}
this.stopSound = function(oSound) {
soundManager.stop(oSound.sID);
soundManager.unload(oSound.sID);
}
this.init = function() {
sm.flashVersion = this.config.flashVersion;
if (sm.flashVersion >= 9) {
sm.useMovieStar = this.config.useMovieStar; // enable playing FLV, MP4 etc.
sm.movieStarOptions.useVideo = this.config.useVideo;
sm.defaultOptions.usePeakData = this.config.usePeakData;
sm.defaultOptions.useWaveformData = this.config.useWaveformData;
sm.defaultOptions.useEQData = this.config.useEQData;
}
sm._writeDebug('inlinePlayer.init()');
var oLinks = document.getElementsByTagName('a');
var foundItems = 0;
for (var i=0; i<oLinks.length; i++) {
if (oLinks[i].href.match(/\.flv/i) && !self.classContains(oLinks[i],self.excludeClass)) {
self.addClass(oLinks[i],self.css.sDefault); // add default CSS decoration
self.links[foundItems] = (oLinks[i]);
self.indexByURL[oLinks[i].href] = foundItems; // hack for indexing
foundItems++;
}
}
if (foundItems>0) {
self.addEventHandler(document,'click',self.handleClick);
if (self.config.autoPlay) {
self.handleClick({target:self.links[0],preventDefault:function(){}});
}
}
sm._writeDebug('inlinePlayer.init(): Found '+foundItems+' relevant items.');
}
this.init();
}
var inlinePlayer = null;
soundManager.url = '/externals/';
soundManager.onready(function() {
if (soundManager.supported()) {
inlinePlayer = new InlinePlayer();
}
});
function PagePlayer(oConfigOverride) {
var self = this;
var pl = this;
var sm = soundManager; // soundManager instance
var isIE = navigator.userAgent.match(/msie/i);
var isOpera = navigator.userAgent.match(/opera/i);
var isFirefox = navigator.userAgent.match(/firefox/i);
sm.url = '/externals/'; // path to directory containing SM2 SWF
this.config = {
flashVersion:       9,        // version of Flash to tell SoundManager to use - either 8 or 9. Flash 9 required for peak / spectrum data.
useMovieStar:       true,     // Flash 9.0r115+ only: Support for a subset of MPEG4 formats.
useVideo:           false,
usePeakData:        false,     // [Flash 9 only]: show peak data
useWaveformData:    false, // [Flash 9 only]: enable sound spectrum (raw waveform data) - WARNING: CPU-INTENSIVE: may set CPUs on fire.
useEQData:          false,       // [Flash 9 only]: enable sound EQ (frequency spectrum data) - WARNING: Also CPU-intensive.
fillGraph:          false,       // [Flash 9 only]: draw full lines instead of only top (peak) spectrum points
allowRightClick:    true,   // let users right-click MP3 links ("save as...", etc.) or discourage (can't prevent.)
useThrottling:      false,   // try to rate-limit potentially-expensive calls (eg. dragging position around)
autoStart:          false,       // begin playing first sound when page loads
playNext:           false,         // stop after one sound, or play through list until end
updatePageTitle:    false,  // change the page title while playing sounds
emptyTime:          '-:--',      // null/undefined timer values (before data is available)
useFavIcon:         false       // try to show peakData in address bar (Firefox + Opera)
}
this.css = {             // CSS class names appended to link during various states
sDefault:   'smv2_link',  // default state
sLoading:   'smv2_loading',
sPlaying:   'smv2_playing',
sPaused:    'smv2_paused'
}
if (typeof oConfigOverride != 'undefined' && oConfigOverride) {
this.config = this._mergeObjects(oConfigOverride,this.config);
}
this.cssBase = []; // optional features added to ul.playlist
if (this.config.usePeakData) this.cssBase.push('use-peak');
if (this.config.useWaveformData || this.config.useEQData) this.cssBase.push('use-spectrum');
this.cssBase = this.cssBase.join(' ');
sm.flashVersion = this.config.flashVersion;
if (sm.flashVersion >= 9) {
sm.useMovieStar = this.config.useMovieStar; // enable playing FLV, MP4 etc.
sm.movieStarOptions.useVideo = this.config.useVideo;
sm.defaultOptions.usePeakData = this.config.usePeakData;
sm.defaultOptions.useWaveformData = this.config.useWaveformData;
sm.defaultOptions.useEQData = this.config.useEQData;
}
this.links = [];
this.sounds = [];
this.soundsByObject = [];
this.lastSound = null;
this.soundCount = 0;
this.strings = [];
this.dragActive = false;
this.dragExec = new Date();
this.dragTimer = null;
this.pageTitle = document.title;
this.lastWPExec = new Date();
this.xbmImages = [];
this.oControls = null;
this._mergeObjects = function(oMain,oAdd) {
var o1 = {}; // clone o1
for (var i in oMain) {
o1[i] = oMain[i];
}
var o2 = (typeof oAdd == 'undefined'?{}:oAdd);
for (var o in o2) {
if (typeof o1[o] == 'undefined') o1[o] = o2[o];
}
return o1;
}
this.addEventHandler = function(o,evtName,evtHandler) {
typeof(attachEvent)=='undefined'?o.addEventListener(evtName,evtHandler,false):o.attachEvent('on'+evtName,evtHandler);
}
this.removeEventHandler = function(o,evtName,evtHandler) {
typeof(attachEvent)=='undefined'?o.removeEventListener(evtName,evtHandler,false):o.detachEvent('on'+evtName,evtHandler);
}
this.hasClass = function(o,cStr) {
return (typeof(o.className)!='undefined'?new RegExp('(^|\\s)'+cStr+'(\\s|$)').test(o.className):false);
}
this.addClass = function(o,cStr) {
if (!o || !cStr) return false; // safety net
if (self.hasClass(o,cStr)) return false;
o.className = (o.className?o.className+' ':'')+cStr;
}
this.removeClass = function(o,cStr) {
if (!o || !cStr) return false; // safety net
if (!self.hasClass(o,cStr)) return false;
o.className = o.className.replace(new RegExp('( '+cStr+')|('+cStr+')','g'),'');
}
this.getElementsByClassName = function(className,tagNames,oParent) {
var doc = (oParent||document);
var matches = [];
var i,j;
var nodes = [];
if (typeof(tagNames)!='undefined' && typeof(tagNames)!='string') {
for (i=tagNames.length; i--;) {
if (!nodes || !nodes[tagNames[i]]) {
nodes[tagNames[i]] = doc.getElementsByTagName(tagNames[i]);
}
}
} else if (tagNames) {
nodes = doc.getElementsByTagName(tagNames);
} else {
nodes = doc.all||doc.getElementsByTagName('*');
}
if (typeof(tagNames)!='string') {
for (i=tagNames.length; i--;) {
for (j=nodes[tagNames[i]].length; j--;) {
if (self.hasClass(nodes[tagNames[i]][j],className)) {
matches[matches.length] = nodes[tagNames[i]][j];
}
}
}
} else {
for (i=0; i<nodes.length; i++) {
if (self.hasClass(nodes[i],className)) {
matches[matches.length] = nodes[i];
}
}
}
return matches;
}
this.getOffX = function(o) {
var curleft = 0;
if (o.offsetParent) {
while (o.offsetParent) {
curleft += o.offsetLeft;
o = o.offsetParent;
}
}
else if (o.x) curleft += o.x;
return curleft;
}
this.isChildOfClass = function(oChild,oClass) {
if (!oChild || !oClass) return false;
while (oChild.parentNode && !self.hasClass(oChild,oClass)) {
oChild = oChild.parentNode;
}
return (self.hasClass(oChild,oClass));
}
this.getParentByNodeName = function(oChild,sParentNodeName) {
if (!oChild || !sParentNodeName) return false;
sParentNodeName = sParentNodeName.toLowerCase();
while (oChild.parentNode && sParentNodeName != oChild.parentNode.nodeName.toLowerCase()) {
oChild = oChild.parentNode;
}
return (oChild.parentNode && sParentNodeName == oChild.parentNode.nodeName.toLowerCase()?oChild.parentNode:null);
}
this.getTime = function(nMSec,bAsString) {
var nSec = Math.floor(nMSec/1000);
var min = Math.floor(nSec/60);
var sec = nSec-(min*60);
return (bAsString?(min+':'+(sec<10?'0'+sec:sec)):{'min':min,'sec':sec});
}
this.getSoundByObject = function(o) {
return (typeof self.soundsByObject[o.rel] != 'undefined'?self.soundsByObject[o.rel]:null);
}
this.getSoundIndex = function(o) {
for (var i=self.links.length; i--;) {
if (self.links[i].rel == o.rel) return i;
}
return -1;
}
this.setPageTitle = function(sTitle) {
if (!self.config.updatePageTitle) return false;
try {
document.title = (sTitle?sTitle+' - ':'')+self.pageTitle;
} catch(e) {
self.setPageTitle = function() {return false;}
}
}
this.events = {
play: function() {
pl.removeClass(this._data.oLI,this._data.className);
this._data.className = pl.css.sPlaying;
pl.addClass(this._data.oLI,this._data.className);
self.setPageTitle(this._data.originalTitle);
},
stop: function() {
pl.removeClass(this._data.oLI,this._data.className);
this._data.className = '';
this._data.oPosition.style.width = '0px';
self.setPageTitle();
self.resetPageIcon();
},
pause: function() {
if (pl.dragActive) return false;
pl.removeClass(this._data.oLI,this._data.className);
this._data.className = pl.css.sPaused;
pl.addClass(this._data.oLI,this._data.className);
self.setPageTitle();
self.resetPageIcon();
},
resume: function() {
if (pl.dragActive) return false;
pl.removeClass(this._data.oLI,this._data.className);
this._data.className = pl.css.sPlaying;
pl.addClass(this._data.oLI,this._data.className);
},
finish: function() {
pl.removeClass(this._data.oLI,this._data.className);
this._data.className = '';
this._data.oPosition.style.width = '0px';
if (self.config.playNext && this._data.nIndex<pl.links.length-1) {
pl.handleClick({target:pl.links[this._data.nIndex+1]}); // fake a click event - aren't we sneaky. ;)
} else {
self.setPageTitle();
self.resetPageIcon();
}
},
whileloading: function() {
this._data.oLoading.style.width = (((this.bytesLoaded/this.bytesTotal)*100)+'%'); // theoretically, this should work.
if (!this._data.didRefresh && this._data.metadata) {
this._data.didRefresh = true;
this._data.metadata.refresh();
}
},
onload: function() {
if (!this.loaded) {
var oTemp = this._data.oLI.getElementsByTagName('a')[0];
var oString = oTemp.innerHTML;
var oThis = this;
oTemp.innerHTML = oString+' <span style="font-size:0.5em"> | Load failed, d\'oh! '+(sm.sandbox.noRemote?' Possible cause: Flash sandbox is denying remote URL access.':(sm.sandbox.noLocal?'Flash denying local filesystem access':'404?'))+'</span>';
setTimeout(function(){
oTemp.innerHTML = oString;
},5000);
} else {
if (this._data.metadata) {
this._data.metadata.refresh();
}
}
},
metadata: function() {
sm._wD('video metadata: '+this.width+'x'+this.height);
sm.oMC.style.width = this.width+'px';
sm.oMC.style.height = this.height+'px';
},
whileplaying: function() {
var d = null;
if (pl.dragActive || !pl.config.useThrottling) {
self.updateTime.apply(this);
if (sm.flashVersion >= 9) {
if (pl.config.usePeakData && this.instanceOptions.usePeakData) self.updatePeaks.apply(this);
if (pl.config.useWaveformData && this.instanceOptions.useWaveformData || pl.config.useEQData && this.instanceOptions.useEQData) {
self.updateGraph.apply(this);
}
}
if (this._data.metadata) {
d = new Date();
if (d && d-self.lastWPExec>500) {
self.refreshMetadata(this);
self.lastWPExec = d;
}
}
this._data.oPosition.style.width = (((this.position/self.getDurationEstimate(this))*100)+'%');
} else {
d = new Date();
if (d-self.lastWPExec>500) {
self.updateTime.apply(this);
if (sm.flashVersion >= 9) {
if (pl.config.usePeakData && this.instanceOptions.usePeakData) {
self.updatePeaks.apply(this);
}
if (pl.config.useWaveformData && this.instanceOptions.useWaveformData || pl.config.useEQData && this.instanceOptions.useEQData) {
self.updateGraph.apply(this);
}
}
if (this._data.metadata) self.refreshMetadata(this);
this._data.oPosition.style.width = (((this.position/self.getDurationEstimate(this))*100)+'%');
self.lastWPExec = d;
}
}
}
}
this.setPageIcon = function(sDataURL) {
if (!self.config.useFavIcon || !self.config.usePeakData || !sDataURL) return false;
var link = document.getElementById('favicon');
if (!link) {
link = document.createElement('link');
link.id = 'favicon';
link.rel = 'shortcut icon';
link.type = 'image/x-bitmap';
link.href = sDataURL;
} else {
link.href = sDataURL;
}
document.getElementsByTagName('head')[0].appendChild(link);
}
this.resetPageIcon = function() {
if (!self.config.useFavIcon) return false;
var link = document.getElementById('favicon');
if (link) {
link.href = '/favicon.ico';
}
}
this.updatePeaks = function() {
var o = this._data.oPeak;
var oSpan = o.getElementsByTagName('span');
oSpan[0].style.marginTop = (13-(Math.floor(15*this.peakData.left))+'px');
oSpan[1].style.marginTop = (13-(Math.floor(15*this.peakData.right))+'px');
if (self.config.flashVersion > 8 && self.config.useFavIcon && self.config.usePeakData) {
if (!isOpera) {
self.setPageIcon(self.xbmImages[parseInt(15*this.peakData.left)][parseInt(15*this.peakData.right)]);
} else {
self.setPageIcon(self.xbmImages[1+parseInt(14*this.peakData.left)][1+parseInt(14*this.peakData.right)]);
}
}
}
this.updateGraph = function() {
if ((!pl.config.useWaveformData && !pl.config.useEQData) || pl.config.flashVersion<9) return false;
var sbC = this._data.oGraph.getElementsByTagName('div');
if (pl.config.useWaveformData) {
var scale = 8; // Y axis (+/- this distance from 0)
for (var i=255; i--;) {
sbC[255-i].style.marginTop = (1+scale+Math.ceil(this.waveformData.left[i]*-scale))+'px';
}
} else {
var offset = 9;
for (var i=255; i--;) {
sbC[255-i].style.marginTop = ((offset*2)-1+Math.ceil(this.eqData[i]*-offset))+'px';
}
}
}
this.resetGraph = function() {
if (!pl.config.useEQData || pl.config.flashVersion<9) return false;
var sbC = this._data.oGraph.getElementsByTagName('div');
var scale = (!pl.config.useEQData?'9px':'17px');
var nHeight = (!pl.config.fillGraph?'1px':'32px');
for (var i=255; i--;) {
sbC[255-i].style.marginTop = scale; // EQ scale
sbC[255-i].style.height = nHeight;
}
}
this.refreshMetadata = function(oSound) {
var index = null;
var now = oSound.position;
var metadata = oSound._data.metadata.data;
for (var i=0, j=metadata.length; i<j; i++) {
if (now >= metadata[i].startTimeMS && now <= metadata[i].endTimeMS) {
index = i;
break;
}
}
if (index != metadata.currentItem) {
oSound._data.oLink.innerHTML = metadata.mainTitle+' <span class="metadata"><span class="sm2_divider"> | </span><span class="sm2_metadata">'+metadata[index].title+'</span></span>';
self.setPageTitle(metadata[index].title+' | '+metadata.mainTitle);
metadata.currentItem = index;
}
self.volumeControl(0);
}
this.updateTime = function() {
var str = self.strings['timing'].replace('%s1',self.getTime(this.position,true));
str = str.replace('%s2',self.getTime(self.getDurationEstimate(this),true));
this._data.oTiming.innerHTML = str;
}
this.getTheDamnTarget = function(e) {
return (e.target||e.srcElement||window.event.srcElement);
}
this.withinStatusBar = function(o) {
return (self.isChildOfClass(o,'controls'));
}
this.handleClick = function(e) {
if (e.button == 2) {
if (!pl.config.allowRightClick) pl.stopEvent(e);
return (pl.config.allowRightClick); // ignore right-clicks
}
var o = self.getTheDamnTarget(e);
if (self.dragActive) self.stopDrag(); // to be safe
if (self.withinStatusBar(o)) {
return false;
}
if (o.nodeName.toLowerCase() == 'span') {
if(o.className == 'up') {
self.volumeControl(10);
} else if(o.className == 'down') {
self.volumeControl(-10);
}
}
if (o.nodeName.toLowerCase() != 'a') {
o = self.getParentByNodeName(o,'a');
}
if (!o) {
return true;
}
var sURL = o.getAttribute('href');
if (!o.href || (!sm.canPlayURL(o.href) && !self.hasClass(o,'playable')) || self.hasClass(o,'exclude')) {
if (isIE && o.onclick) {
return false; // IE will run this handler before .onclick(), everyone else is cool?
}
return true; // pass-thru for non-MP3/non-links
}
var soundURL = o.href;
var thisSound = self.getSoundByObject(o);
if (thisSound) {
self.volumeControl(0);
self.setPageTitle(thisSound._data.originalTitle);
if (thisSound == self.lastSound) {
if (thisSound.readyState != 2) {
if (thisSound.playState != 1) {
thisSound.play();
} else {
thisSound.togglePause();
}
} else {
sm._writeDebug('Warning: sound failed to load (security restrictions, 404 or bad format)',2);
}
} else {
if (self.lastSound) self.stopSound(self.lastSound);
thisSound._data.oTimingBox.appendChild(document.getElementById('spectrum-container'));
thisSound.togglePause(); // start playing current
}
} else {
thisSound = sm.createSound({
id:'pagePlayerMP3Sound'+(self.soundCount++),
url:soundURL,
onplay:self.events.play,
onstop:self.events.stop,
onpause:self.events.pause,
onresume:self.events.resume,
onfinish:self.events.finish,
whileloading:self.events.whileloading,
whileplaying:self.events.whileplaying,
onmetadata:self.events.metadata,
onload:self.events.onload
});
if(!self.hasClass(o,'showControls')) {
var oControls = self.oControls.cloneNode(true);
o.parentNode.appendChild(oControls);
}
o.parentNode.appendChild(document.getElementById('spectrum-container'));
self.soundsByObject[o.rel] = thisSound;
thisSound._data = {
oLink: o, // DOM reference within SM2 object event handlers
oLI: o.parentNode,
oControls: self.getElementsByClassName('controls','div',o.parentNode)[0],
oStatus: self.getElementsByClassName('statusbar','div',o.parentNode)[0],
oLoading: self.getElementsByClassName('loading','div',o.parentNode)[0],
oPosition: self.getElementsByClassName('position','div',o.parentNode)[0],
oTimingBox: self.getElementsByClassName('timing','div',o.parentNode)[0],
oTiming: self.getElementsByClassName('timing','div',o.parentNode)[0].getElementsByTagName('div')[0],
oPeak: self.getElementsByClassName('peak','div',o.parentNode)[0],
oVolumeControl: self.getElementsByClassName('volumeControl','div',o.parentNode)[0],
oGraph: self.getElementsByClassName('spectrum-box','div',o.parentNode)[0],
nIndex: self.getSoundIndex(o),
className: self.css.sPlaying,
originalTitle: o.innerHTML,
metadata: null
};
thisSound._data.oTimingBox.appendChild(document.getElementById('spectrum-container'));
if (thisSound._data.oLI.getElementsByTagName('ul').length) {
thisSound._data.metadata = new Metadata(thisSound);
}
var str = self.strings['timing'].replace('%s1',self.config.emptyTime);
str = str.replace('%s2',self.config.emptyTime);
thisSound._data.oTiming.innerHTML = str;
volumeDisplay = self.getElementsByClassName('current','span',thisSound.oVolumeControl)[0],
volumeDisplay.innerHTML = sm.defaultOptions.volume;
self.sounds.push(thisSound);
if (self.lastSound) self.stopSound(self.lastSound);
self.resetGraph.apply(thisSound);
thisSound.play();
}
self.lastSound = thisSound; // reference for next call
self.volumeControl(0);
return self.stopEvent(e);
}
this.handleMouseDown = function(e) {
if (e.button == 2) {
if (!pl.config.allowRightClick) pl.stopEvent(e);
return (pl.config.allowRightClick); // ignore right-clicks
}
var o = self.getTheDamnTarget(e);
if (!self.withinStatusBar(o)) return true;
self.dragActive = true;
self.lastSound.pause();
self.setPosition(e);
self.addEventHandler(document,'mousemove',self.handleMouseMove);
self.addClass(self.lastSound._data.oControls,'dragging');
self.stopEvent(e);
return false;
}
this.handleMouseMove = function(e) {
if (self.dragActive) {
if (self.config.useThrottling) {
var d = new Date();
if (d-self.dragExec>20) {
self.setPosition(e);
} else {
window.clearTimeout(self.dragTimer);
self.dragTimer = window.setTimeout(function(){self.setPosition(e)},20);
}
self.dragExec = d;
} else {
self.setPosition(e);
}
} else {
self.stopDrag();
}
return false;
}
this.stopDrag = function(e) {
if (self.dragActive) {
self.removeClass(self.lastSound._data.oControls,'dragging');
self.removeEventHandler(document,'mousemove',self.handleMouseMove);
if (!pl.hasClass(self.lastSound._data.oLI,self.css.sPaused)) {
self.lastSound.resume();
}
self.dragActive = false;
self.stopEvent(e);
return false;
}
}
this.handleStatusClick = function(e) {
self.setPosition(e);
if (!pl.hasClass(self.lastSound._data.oLI,self.css.sPaused)) self.resume();
return self.stopEvent(e);
}
this.stopEvent = function(e) {
if (typeof e != 'undefined' && typeof e.preventDefault != 'undefined') {
e.preventDefault();
} else if (typeof event != 'undefined' && typeof event.returnValue != 'undefined') {
event.returnValue = false;
}
return false;
}
this.setPosition = function(e) {
var oThis = self.getTheDamnTarget(e);
var oControl = oThis;
while (!self.hasClass(oControl,'controls') && oControl.parentNode) {
oControl = oControl.parentNode;
}
var oSound = self.lastSound;
var x = parseInt(e.clientX);
var nMsecOffset = Math.floor((x-self.getOffX(oControl)-4)/(oControl.offsetWidth)*self.getDurationEstimate(oSound));
if (!isNaN(nMsecOffset)) nMsecOffset = Math.min(nMsecOffset,oSound.duration);
if (!isNaN(nMsecOffset)) oSound.setPosition(nMsecOffset);
}
this.stopSound = function(oSound) {
sm._writeDebug('stopping sound: '+oSound.sID);
sm.stop(oSound.sID);
sm.unload(oSound.sID);
}
this.volumeControl = function(changeValue) {
newVolume = sm.defaultOptions.volume + changeValue;
if(newVolume < 0) {
newVolume = 0;
} else if (newVolume > 100) {
newVolume = 100;
}
volumeDisplay = self.getElementsByClassName('current','span',self.lastSound._data.oVolumeControl)[0],
volumeDisplay.innerHTML = newVolume;
sm.defaultOptions.volume = newVolume;
self.lastSound.setVolume(newVolume);
}
this.getDurationEstimate = function(oSound) {
if (oSound.instanceOptions.isMovieStar) {
return (oSound.duration);
} else {
return (!oSound._data.metadata || !oSound._data.metadata.data.givenDuration?oSound.durationEstimate:oSound._data.metadata.data.givenDuration);
}
}
function array_copy(o_array) {
var ret_array = new Array();
if(typeof(ret_array.concat) == "function")
return ret_array.concat(o_array);
for(var j = 0 ; j < o_array.length ; ++j) {
ret_array[ret_array.length] = o_array[j];
}
return ret_array;
}
function XBMImage_body() {
var bod = "";
for(var i = 0 ; i < this.height ; ++i) {
for(var j = 0 ; j < this.width/8 ; ++j) {
if(typeof(this.data[i]) != "undefined" && typeof(this.data[i][j]) != "undefined") {
var bool = 0;
bool = this.data[i][j];
var hex = (new Number(bool)).toString(16);
if(hex.length == 1)
hex = "0"+hex;
bod += "0x"+hex+",";
} else {
bod += "0x00,";
}
}
}
if(bod.length > 0) // remove trailing comma
bod = bod.substring(0,bod.length-1);
return bod;
}
function XBMImage_draw(x,y) {
if(!(x > -1 && x < this.width && y > -1 && y < this.height))
return;
if(typeof(this.data[y]) == "undefined")
this.data[y] = new Array();
var bit = x%8;
var byt = (x-bit)/8;
if(typeof(this.data[y][byt]) == "undefined")
this.data[y][byt] = 0;
this.data[y][byt] |= (0x01<<bit);
}
function XBMImage_drawHLine(x1,y1,x2) {
if(!(y1 > -1 && y1 < this.height))
return;
if(x1 > x2) {
var xs = x1;x1=Math.max(0,x2);x2=Math.min(this.width,xs);
}
var filled = 0xFF;
var startbits = x1%8;
var startbyt = (x1-x1%8)/8;
var endbits = 8-x2%8;
var endbyt = (x2-x2%8)/8;
if(startbyt == endbyt) {
this.data[y1][startbyt]|=(filled <<startbits)&(filled>>endbits);
return;
}
for(var i = startbyt+1 ; i < endbyt ; ++i) {
this.data[y1][i] = filled;
}
for(var j=x1; j < (x1+(8-x1%8)) ; ++j)
this.draw(j,y1);
this.data[y1][endbyt] |= (filled >>endbits);
}
function XBMImage_drawVLine(x1,y1,y2) {
if(!(x1 > -1 && x1 < this.width))
return;
if(y1 > y2) {
var ys = y1;y1=Math.max(0,y2);y2=Math.min(this.height,ys);
}
var bit = x1%8;
var byt = (x1-bit)/8;
var bitmask = (0x01<<bit);
for(var y = y1 ; y <= y2 ; ++y)
this.data[y][byt] |= bitmask;
}
function XBMImage_drawLine(x1,y1,x2,y2) {
if(x1 > x2) {
var xx = x1; x1 = x2; x2 = xx;
var yy = y1; y1 = y2; y2 = yy;
}
var y = y1;
if(y1 == y2)
if(x1 == x2)
return this.draw(x1,y1);
else
return this.drawHLine(x1,y1,x2);
if(x1 == x2) return this.drawVLine(x1,y1,y2);
var slope=(y1-y2)/(x1-x2);
var yint = y1-Math.floor(slope*x1); // y-intercept
for(var x = x1; x < x2; ++x) {
if(slope > 0) { //y1<y2 (top to bottom)
for(y = Math.floor(slope*x)+yint ; y < (Math.floor(slope*(x+1))+yint) ; ++y) {
this.draw(x,y);
}
if(Math.floor(slope*x) == Math.floor(slope*(x+1)))
this.draw(x,y);
if(x==x2-1) {
for(y ; y <= y2 ; ++y) {
this.draw(x,y);
}
}
} else { //y1>y2 (bottom to top)
for(y = Math.floor(slope*x)+yint ; y > (Math.floor(slope*(x+1))+yint) ; --y) {
this.draw(x,y);
}
if(Math.floor(slope*x) == Math.floor(slope*(x+1)))
this.draw(x,y);
if(x==x2-1) {
for(y ; y >= y2 ; --y) {
this.draw(x,y);
}
}
}
}
return null;
}
function XBMImage_drawBoxFilled(x1,y1,x2,y2) {
for(var y = y1; y <= y2; ++y)
this.drawHLine(x1,y,x2);
}
function XBMImage_getXBM() {
return this.header + this.body() + this.footer;
}
function XBMImage_setXBM(str) {
var xbmdata = str.substring(str.indexOf("{")+1,str.lastIndexOf("}"));
var a_data = xbmdata.split(",");
for(var j = 0 ; j < this.height ; ++j) {
this.data[j] = new Array();
for(var i = 0 ; i < Math.floor(this.width/8) ; ++i) {
var a_idx = i+j*(Math.floor(this.width/8));
if(a_idx < a_data.length)
this.data[j][i] = (new Number(parseInt(a_data[a_idx],16))).valueOf();//parseInt(a_data[a_idx]);
}
}
}
function XBMImage(width,height,name) {
this.name = name;
this.width = width+((width%8)>0?(8-(width%8)):0); //expand to a multiple of 8
this.height = height;
this.header = "#define "+name+"_width "+this.width+"\n"+
"#define "+name+"_height "+this.height+"\n"+
"static char "+name+"_bits[] = {\n";
this.footer = "};";
this.data = new Array(this.height);
for(var i = 0 ; i < this.data.length ; ++i) {
this.data[i] = new Array(this.width);
for(var j = 0 ; j < this.data[i].length ; ++j) {
this.data[i][j] = 0;
}
}
this.frames = new Array(); // store copies of this.data;
this.body = XBMImage_body;
this.draw = XBMImage_draw;
this.drawLine = XBMImage_drawLine;
this.drawHLine = XBMImage_drawHLine;
this.drawVLine = XBMImage_drawVLine;
this.drawBoxFilled = XBMImage_drawBoxFilled;
this.getXBM = XBMImage_getXBM;
this.setXBM = XBMImage_setXBM;
this.xbm = this.getXBM();
}
this.createXBMData = function() {
var ico = null;
var i=0;
var j=0;
for (i=0; i<16; i++) {
self.xbmImages[i] = [];
}
for (var i=0; i<16; i++) {
for (j=0; j<16; j++) {
ico = new XBMImage(16,16,'img'+i+'x'+j);
ico.drawBoxFilled(0,16-i,7,16-(i-16));
ico.drawBoxFilled(9,16-j,16,16-(j-16));
self.xbmImages[i][j] = 'data:image/x-bitmap,'+encodeURI(ico.getXBM()); // hat tip: @p01
}
}
}
if (this.config.useFavIcon) {
if (isFirefox || isOpera) {
this.createXBMData();
} else {
this.config.useFavIcon = false;
}
}
this.init = function() {
sm._writeDebug('pagePlayer.init()');
var oLinks = document.getElementsByTagName('a');
var foundItems = 0;
for (var i=0; i<oLinks.length; i++) {
if ((sm.canPlayURL(oLinks[i].href) || self.hasClass(oLinks[i],'playable')) && !self.hasClass(oLinks[i],'exclude')) {
oLinks[i].rel = 'pagePlayerMP3Sound'+i;
self.links[self.links.length] = oLinks[i];
self.addClass(oLinks[i],self.css.sDefault); // add default CSS decoration
foundItems++;
if(self.hasClass(oLinks[i],'showControls')) {
var oControls = self.oControls.cloneNode(true);
oLinks[i].parentNode.appendChild(oControls);
self.addClass(oLinks[i].parentNode, 'showControls');
volumeDisplay = self.getElementsByClassName('current','span',self.getElementsByClassName('volumeControl','div',oLinks[i].parentNode)[0])[0];
volumeDisplay.innerHTML = sm.defaultOptions.volume;
str = $(oLinks[i].parentNode).find('.timing').html().replace('%s1', self.config.emptyTime);
str = str.replace('%s2',self.config.emptyTime);
$(oLinks[i].parentNode).find('.timing').html(str);
}
}
}
if (foundItems>0) {
var oTiming = document.getElementById('sm2_timing');
self.strings['timing'] = oTiming.innerHTML;
oTiming.innerHTML = '';
oTiming.id = '';
self.addEventHandler(document,'click',self.handleClick);
self.addEventHandler(document,'mousedown',self.handleMouseDown);
self.addEventHandler(document,'mouseup',self.stopDrag);
self.addEventHandler(window,'unload',function(){}); // force page reload when returning here via back button (Opera tries to remember old state, etc.)
}
sm._writeDebug('pagePlayer.init(): Found '+foundItems+' relevant items.');
if (self.config.autoStart) {
pl.handleClick({target:pl.links[0]});
}
}
var Metadata = function(oSound) {
var self = this;
var oLI = oSound._data.oLI;
var o = oLI.getElementsByTagName('ul')[0];
var oItems = o.getElementsByTagName('li');
var oTemplate = document.createElement('div');
oTemplate.innerHTML = '<span>&nbsp;</span>';
oTemplate.className = 'annotation';
var oTemplate2 = document.createElement('div');
oTemplate2.innerHTML = '<span>&nbsp;</span>';
oTemplate2.className = 'annotation alt';
var oTemplate3 = document.createElement('div');
oTemplate3.className = 'note';
this.totalTime = 0;
this.strToTime = function(sTime) {
var segments = sTime.split(':');
var seconds = 0;
for (var i=segments.length; i--;) {
seconds += parseInt(segments[i])*Math.pow(60,segments.length-1-i,10); // hours, minutes
}
return seconds;
}
this.data = [];
this.data.givenDuration = null;
this.data.currentItem = null;
this.data.mainTitle = oSound._data.oLink.innerHTML;
for (var i=0; i<oItems.length; i++) {
this.data[i] = {
o: null,
title: oItems[i].getElementsByTagName('p')[0].innerHTML,
startTime: oItems[i].getElementsByTagName('span')[0].innerHTML,
startSeconds: self.strToTime(oItems[i].getElementsByTagName('span')[0].innerHTML.replace(/[()]/g,'')),
duration: 0,
durationMS: null,
startTimeMS: null,
endTimeMS: null,
oNote: null
}
}
var oDuration = pl.getElementsByClassName('duration','div',oLI);
this.data.givenDuration = (oDuration.length?self.strToTime(oDuration[0].innerHTML)*1000:0);
for (i=0; i<this.data.length; i++) {
this.data[i].duration = parseInt(this.data[i+1]?this.data[i+1].startSeconds:(self.data.givenDuration?self.data.givenDuration:oSound.durationEstimate)/1000)-this.data[i].startSeconds;
this.data[i].startTimeMS = this.data[i].startSeconds*1000;
this.data[i].durationMS = this.data[i].duration*1000;
this.data[i].endTimeMS = this.data[i].startTimeMS+this.data[i].durationMS;
this.totalTime += this.data[i].duration;
}
this.createElements = function() {
var oFrag = document.createDocumentFragment();
var oNode = null;
var oNodeSpan = null;
var oNode2 = null;
for (var i=0; i<self.data.length; i++) {
oNode = (i%2==0?oTemplate:oTemplate2).cloneNode(true);
oNodeSpan = oNode.getElementsByTagName('span')[0];
oNode.rel = i;
self.data[i].o = oNode;
oNode2 = oTemplate3.cloneNode(true);
if (i%2==0) oNode2.className = 'note alt';
oNode2.innerHTML = this.data[i].title;
oNode.onmouseover = self.mouseover;
oNode.onmouseout = self.mouseout;
this.data[i].oNote = oNode2;
oSound._data.oControls.appendChild(oNode2);
oFrag.appendChild(oNode);
}
self.refresh();
oSound._data.oStatus.appendChild(oFrag);
}
this.refresh = function() {
var offset = 0;
var relWidth = null;
var duration = (self.data.givenDuration?self.data.givenDuration:oSound.durationEstimate);
for (var i=0; i<self.data.length; i++) {
if (duration) {
relWidth = (((self.data[i].duration*1000)/duration)*100);
self.data[i].o.style.left = (offset?offset+'%':'-2px');
self.data[i].oNote.style.left = (offset?offset+'%':'0px');
offset += relWidth;
}
}
}
this.mouseover = function(e) {
self.data[this.rel].oNote.style.visibility = 'hidden';
self.data[this.rel].oNote.style.display = 'inline-block';
self.data[this.rel].oNote.style.marginLeft = -parseInt(self.data[this.rel].oNote.offsetWidth/2)+'px';
self.data[this.rel].oNote.style.visibility = 'visible';
}
this.mouseout = function() {
self.data[this.rel].oNote.style.display = 'none';
}
this.createElements();
this.refresh();
} // MetaData();
this.initDOM = function() {
var sb = self.getElementsByClassName('spectrum-box','div',document.documentElement)[0];
if (sm.flashVersion >= 9) {
self.addClass(self.getElementsByClassName('playlist','ul',document.documentElement)[0],self.cssBase);
var sbC = sb.getElementsByTagName('div')[0];
var oF = document.createDocumentFragment();
var oClone = null;
for (var i=256; i--;) {
oClone = sbC.cloneNode(false);
oClone.style.left = (i)+'px';
oF.appendChild(oClone);
}
sb.removeChild(sbC);
sb.appendChild(oF);
}
this.oControls = document.getElementById('control-template').cloneNode(true);
this.oControls.id = '';
this.oControls.className = 'player';
this.init();
}
}
var pagePlayer = new PagePlayer(typeof PP_CONFIG != 'undefined'?PP_CONFIG:null);
soundManager.onready(function() {
if (soundManager.supported()) {
pagePlayer.initDOM();
}
});
function VideoCreator() {
var self = this;
this.linksCollection = new Array();
this.config = {
videoPlayer:			'/externals/player.swf',
defaultWidth: 			320,
defaultHeight:			240,
defaultFlashVersion:	'9',
searchFileExtension: 	'.flv',
searchLinkClass:		'videoflv'
}
this.construct = function() {
self.fetchLinks();
self.convertLinks();
}
this.fetchLinks = function() {
$("a[class*='" + self.config.searchLinkClass + "']").each( function() {
if($(this).attr('href').substr(-4) == self.config.searchFileExtension) {
self.linksCollection.push($(this));
}
})
}
this.convertLinks = function() {
for(i = 0; i < self.linksCollection.length; i++) {
self.createMovieObject(self.linksCollection[i]);
}
}
this.createMovieObject = function(linkObject) {
frameLink 	= linkObject.attr('title');
movieLink 	= linkObject.attr('href');
elementId	= linkObject.attr('rel');
linkObject.wrap('<div class="embed_video"></div>');
linkObject.after('<div id="' + elementId + '">flash video</div>');
linkObject.remove();
flash = new SWFObject(self.config.videoPlayer, 'flash_'+elementId, self.config.defaultWidth, self.config.defaultHeight, self.config.defaultFlashVersion, "#FFFFFF");
flash.addParam("allowfullscreen","true");
flash.addParam("allowscriptaccess","always");
flash.addParam("flashvars","file=" + movieLink + "&amp;image=" + frameLink + "");
flash.write(elementId);
}
self.construct();
}
$(document).ready(function() { new VideoCreator(); });

