﻿/*!
 * jQuery JavaScript Library v1.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://docs.jquery.com/License
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Wed Jan 13 15:23:05 2010 -0500
 */
(function(A,w){function oa(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(oa,1);return}c.ready()}}function La(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 $(a,b,d,f,e,i){var j=a.length;if(typeof b==="object"){for(var o in b)$(a,o,b[o],f,e,d);return a}if(d!==w){f=!i&&f&&c.isFunction(d);for(o=0;o<j;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,i);return a}return j?
e(a[0],b):null}function K(){return(new Date).getTime()}function aa(){return false}function ba(){return true}function pa(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function qa(a){var b=true,d=[],f=[],e=arguments,i,j,o,p,n,t=c.extend({},c.data(this,"events").live);for(p in t){j=t[p];if(j.live===a.type||j.altLive&&c.inArray(a.type,j.altLive)>-1){i=j.data;i.beforeFilter&&i.beforeFilter[a.type]&&!i.beforeFilter[a.type](a)||f.push(j.selector)}else delete t[p]}i=c(a.target).closest(f,a.currentTarget);
n=0;for(l=i.length;n<l;n++)for(p in t){j=t[p];o=i[n].elem;f=null;if(i[n].selector===j.selector){if(j.live==="mouseenter"||j.live==="mouseleave")f=c(a.relatedTarget).closest(j.selector)[0];if(!f||f!==o)d.push({elem:o,fn:j})}}n=0;for(l=d.length;n<l;n++){i=d[n];a.currentTarget=i.elem;a.data=i.fn.data;if(i.fn.apply(i.elem,e)===false){b=false;break}}return b}function ra(a,b){return["live",a,b.replace(/\./g,"`").replace(/ /g,"&")].join(".")}function sa(a){return!a||!a.parentNode||a.parentNode.nodeType===
11}function ta(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 i in f)for(var j in f[i])c.event.add(this,i,f[i][j],f[i][j].data)}}})}function ua(a,b,d){var f,e,i;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&a[0].indexOf("<option")<0){e=true;if(i=c.fragments[a[0]])if(i!==1)f=i}if(!f){b=b&&b[0]?b[0].ownerDocument||b[0]:s;f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=
i?f:1;return{fragment:f,cacheable:e}}function T(a){for(var b=0,d,f;(d=a[b])!=null;b++)if(!c.noData[d.nodeName.toLowerCase()]&&(f=d[H]))delete c.cache[f]}function L(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)},Ma=A.jQuery,Na=A.$,s=A.document,U,Oa=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Pa=/^.[^:#\[\.,]*$/,Qa=/\S/,
Ra=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Sa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],M,ca=Object.prototype.toString,da=Object.prototype.hasOwnProperty,ea=Array.prototype.push,R=Array.prototype.slice,V=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(typeof a==="string")if((d=Oa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Sa.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=ua([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return U.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)}else return!b||b.jquery?(b||U).find(a):c(b).find(a);else if(c.isFunction(a))return U.ready(a);if(a.selector!==w){this.selector=a.selector;
this.context=a.context}return c.isArray(a)?this.setArray(a):c.makeArray(a,this)},selector:"",jquery:"1.4",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){a=c(a||null);a.prevObject=this;a.context=this.context;if(b==="find")a.selector=this.selector+(this.selector?" ":"")+d;else if(b)a.selector=this.selector+"."+b+"("+d+")";return a},setArray:function(a){this.length=
0;ea.apply(this,a);return this},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:ea,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,i,j,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(i in e){j=a[i];o=e[i];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){j=j&&(c.isPlainObject(j)||c.isArray(j))?j:c.isArray(o)?[]:{};a[i]=c.extend(f,j,o)}else if(o!==w)a[i]=
o}return a};c.extend({noConflict:function(a){A.$=Na;if(a)A.jQuery=Ma;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",M,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",
M);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&oa()}}},isFunction:function(a){return ca.call(a)==="[object Function]"},isArray:function(a){return ca.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||ca.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!da.call(a,"constructor")&&!da.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===w||da.call(a,b)},
isEmptyObject:function(a){for(var b in a)return false;return true},noop:function(){},globalEval:function(a){if(a&&Qa.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,i=a.length,j=i===w||c.isFunction(a);
if(d)if(j)for(f in a){if(b.apply(a[f],d)===false)break}else for(;e<i;){if(b.apply(a[e++],d)===false)break}else if(j)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<i&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Ra,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ea.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,i=a.length;e<i;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,i=0,j=a.length;i<j;i++){e=b(a[i],i,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){var b={browser:""};a=a.toLowerCase();if(/webkit/.test(a))b={browser:"webkit",version:/webkit[\/ ]([\w.]+)/};else if(/opera/.test(a))b={browser:"opera",version:/version/.test(a)?/version[\/ ]([\w.]+)/:/opera[\/ ]([\w.]+)/};else if(/msie/.test(a))b={browser:"msie",version:/msie ([\w.]+)/};else if(/mozilla/.test(a)&&
!/compatible/.test(a))b={browser:"mozilla",version:/rv:([\w.]+)/};b.version=(b.version&&b.version.exec(a)||[0,"0"])[1];return b},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(V)c.inArray=function(a,b){return V.call(b,a)};U=c(s);if(s.addEventListener)M=function(){s.removeEventListener("DOMContentLoaded",M,false);c.ready()};else if(s.attachEvent)M=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",
M);c.ready()}};if(V)c.inArray=function(a,b){return V.call(b,a)};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+K();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("*"),i=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!i)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,
htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(i.getAttribute("style")),hrefNormalized:i.getAttribute("href")==="/a",opacity:/^0.55$/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(j){}a.insertBefore(b,
a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function o(){c.support.noCloneEvent=false;d.detachEvent("onclick",o)});d.cloneNode(true).fireEvent("onclick")}c(function(){var o=s.createElement("div");o.style.width=o.style.paddingLeft="1px";s.body.appendChild(o);c.boxModel=c.support.boxModel=o.offsetWidth===2;s.body.removeChild(o).style.display="none"});a=function(o){var p=s.createElement("div");o="on"+o;var n=o in
p;if(!n){p.setAttribute(o,"return;");n=typeof p[o]==="function"}return n};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=i=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var H="jQuery"+K(),Ta=0,ya={},Ua={};c.extend({cache:{},expando:H,noData:{embed:true,object:true,applet:true},data:function(a,
b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?ya:a;var f=a[H],e=c.cache;if(!b&&!f)return null;f||(f=++Ta);if(typeof b==="object"){a[H]=f;e=e[f]=c.extend(true,{},b)}else e=e[f]?e[f]:typeof d==="undefined"?Ua:(e[f]={});if(d!==w){a[H]=f;e[b]=d}return typeof b==="string"?e[b]:e}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?ya:a;var d=a[H],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{try{delete a[H]}catch(i){a.removeAttribute&&
a.removeAttribute(H)}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 za=/[\n\t]/g,fa=/\s+/,Va=/\r/g,Wa=/href|src|style/,Xa=/(button|input)/i,Ya=/(button|input|object|select|textarea)/i,Za=/^(a|area)$/i,Aa=/radio|checkbox/;c.fn.extend({attr:function(a,
b){return $(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(p){var n=c(this);n.addClass(a.call(this,p,n.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(fa),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className)for(var i=" "+e.className+" ",j=0,o=b.length;j<o;j++){if(i.indexOf(" "+b[j]+" ")<0)e.className+=
" "+b[j]}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(p){var n=c(this);n.removeClass(a.call(this,p,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(fa),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var i=(" "+e.className+" ").replace(za," "),j=0,o=b.length;j<o;j++)i=i.replace(" "+b[j]+" "," ");e.className=i.substring(1,i.length-1)}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 i=c(this);i.toggleClass(a.call(this,e,i.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,i=0,j=c(this),o=b,p=a.split(fa);e=p[i++];){o=f?o:!j.hasClass(e);j[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(za," ").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 i=b?d:0;for(d=b?d+1:e.length;i<d;i++){var j=e[i];if(j.selected){a=c(j).val();if(b)return a;f.push(a)}}return f}if(Aa.test(b.type)&&
!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Va,"")}return w}var o=c.isFunction(a);return this.each(function(p){var n=c(this),t=a;if(this.nodeType===1){if(o)t=a.call(this,p,n.val());if(typeof t==="number")t+="";if(c.isArray(t)&&Aa.test(this.type))this.checked=c.inArray(n.val(),t)>=0;else if(c.nodeName(this,"select")){var z=c.makeArray(t);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),z)>=0});if(!z.length)this.selectedIndex=
-1}else this.value=t}})}});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 i=Wa.test(b);if(b in a&&f&&!i){if(e){if(b==="type"&&Xa.test(a.nodeName)&&a.parentNode)throw"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:Ya.test(a.nodeName)||Za.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&&i?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var $a=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;if(!d.guid)d.guid=c.guid++;if(f!==w){d=c.proxy(d);d.data=f}var e=c.data(a,"events")||c.data(a,"events",{}),i=c.data(a,"handle"),j;if(!i){j=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(j.elem,arguments):w};i=c.data(a,"handle",j)}if(i){i.elem=a;b=b.split(/\s+/);for(var o,p=0;o=b[p++];){var n=o.split(".");o=n.shift();d.type=n.slice(0).sort().join(".");var t=e[o],z=this.special[o]||{};if(!t){t=e[o]={};
if(!z.setup||z.setup.call(a,f,n,d)===false)if(a.addEventListener)a.addEventListener(o,i,false);else a.attachEvent&&a.attachEvent("on"+o,i)}if(z.add)if((n=z.add.call(a,d,f,n,t))&&c.isFunction(n)){n.guid=n.guid||d.guid;d=n}t[d.guid]=d;this.global[o]=true}a=null}}},global:{},remove:function(a,b,d){if(!(a.nodeType===3||a.nodeType===8)){var f=c.data(a,"events"),e,i,j;if(f){if(b===w||typeof b==="string"&&b.charAt(0)===".")for(i in f)this.remove(a,i+(b||""));else{if(b.type){d=b.handler;b=b.type}b=b.split(/\s+/);
for(var o=0;i=b[o++];){var p=i.split(".");i=p.shift();var n=!p.length,t=c.map(p.slice(0).sort(),$a);t=new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.)?")+"(\\.|$)");var z=this.special[i]||{};if(f[i]){if(d){j=f[i][d.guid];delete f[i][d.guid]}else for(var B in f[i])if(n||t.test(f[i][B].type))delete f[i][B];z.remove&&z.remove.call(a,p,j);for(e in f[i])break;if(!e){if(!z.teardown||z.teardown.call(a,p)===false)if(a.removeEventListener)a.removeEventListener(i,c.data(a,"handle"),false);else a.detachEvent&&a.detachEvent("on"+
i,c.data(a,"handle"));e=null;delete f[i]}}}}for(e in f)break;if(!e){if(B=c.data(a,"handle"))B.elem=null;c.removeData(a,"events");c.removeData(a,"handle")}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[H]?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();this.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;var i=c.data(d,"handle");i&&i.apply(d,b);var j,o;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()])){j=d[e];o=d["on"+e]}}catch(p){}i=c.nodeName(d,"a")&&e==="click";if(!f&&j&&!a.isDefaultPrevented()&&!i){this.triggered=true;try{d[e]()}catch(n){}}else if(o&&d["on"+e].apply(d,b)===false)a.result=false;this.triggered=false;if(!a.isPropagationStopped())(d=d.parentNode||d.ownerDocument)&&c.event.trigger(a,b,d,true)},
handle:function(a){var b,d;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;d=a.type.split(".");a.type=d.shift();b=!d.length&&!a.exclusive;var f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)");d=(c.data(this,"events")||{})[a.type];for(var e in d){var i=d[e];if(b||f.test(i.type)){a.handler=i;a.data=i.data;i=i.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[H])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,b){c.extend(a,b||{});a.guid+=b.selector+b.live;c.event.add(this,b.live,qa,b)},remove:function(a){if(a.length){var b=0,d=new RegExp("(^|\\.)"+a[0]+"(\\.|$)");c.each(c.data(this,"events").live||{},function(){d.test(this.type)&&b++});b<1&&c.event.remove(this,a[0],qa)}},special:{}},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}}}};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=K();this[H]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ba;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=
ba;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ba;this.stopPropagation()},isDefaultPrevented:aa,isPropagationStopped:aa,isImmediatePropagationStopped:aa};var Ba=function(a){for(var b=a.relatedTarget;b&&b!==this;)try{b=b.parentNode}catch(d){break}if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}},Ca=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?Ca:Ba,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ca:Ba)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(a,b,d){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="submit"||i==="image")&&c(e).closest("form").length)return pa("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit."+
d.guid,function(f){var e=f.target,i=e.type;if((i==="text"||i==="password")&&c(e).closest("form").length&&f.keyCode===13)return pa("submit",this,arguments)})}else return false},remove:function(a,b){c.event.remove(this,"click.specialSubmit"+(b?"."+b.guid:""));c.event.remove(this,"keypress.specialSubmit"+(b?"."+b.guid:""))}};if(!c.support.changeBubbles){var ga=/textarea|input|select/i;function Da(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}function ha(a,b){var d=a.target,f,e;if(!(!ga.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Da(d);if(e!==f){if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",e);if(d.type!=="select"&&(f!=null||e)){a.type="change";return c.event.trigger(a,b,this)}}}}c.event.special.change={filters:{focusout:ha,click:function(a){var b=a.target,d=b.type;if(d===
"radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return ha.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 ha.call(this,a)},beforeactivate:function(a){a=a.target;a.nodeName.toLowerCase()==="input"&&a.type==="radio"&&c.data(a,"_change_data",Da(a))}},setup:function(a,b,d){for(var f in W)c.event.add(this,f+".specialChange."+d.guid,W[f]);return ga.test(this.nodeName)},
remove:function(a,b){for(var d in W)c.event.remove(this,d+".specialChange"+(b?"."+b.guid:""),W[d]);return ga.test(this.nodeName)}};var W=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 i in d)this[b](i,f,d[i],e);return this}if(c.isFunction(f)){thisObject=e;e=f;f=w}var j=b==="one"?c.proxy(e,function(o){c(this).unbind(o,j);return e.apply(this,arguments)}):e;return d==="unload"&&b!=="one"?this.one(d,f,e,thisObject):this.each(function(){c.event.add(this,d,j,f)})}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault){for(var d in a)this.unbind(d,a[d]);return this}return this.each(function(){c.event.remove(this,a,b)})},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)},live:function(a,b,d){if(c.isFunction(b)){d=b;b=w}c(this.context).bind(ra(a,this.selector),{data:b,selector:this.selector,live:a},d);return this},die:function(a,b){c(this.context).unbind(ra(a,this.selector),b?{guid:b.guid+this.selector+a}:null);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="",k,m=0;g[m];m++){k=g[m];if(k.nodeType===3||k.nodeType===4)h+=k.nodeValue;else if(k.nodeType!==8)h+=a(k.childNodes)}return h}function b(g,h,k,m,r,q){r=0;for(var v=m.length;r<v;r++){var u=m[r];if(u){u=u[g];for(var y=false;u;){if(u.sizcache===
k){y=m[u.sizset];break}if(u.nodeType===1&&!q){u.sizcache=k;u.sizset=r}if(u.nodeName.toLowerCase()===h){y=u;break}u=u[g]}m[r]=y}}}function d(g,h,k,m,r,q){r=0;for(var v=m.length;r<v;r++){var u=m[r];if(u){u=u[g];for(var y=false;u;){if(u.sizcache===k){y=m[u.sizset];break}if(u.nodeType===1){if(!q){u.sizcache=k;u.sizset=r}if(typeof h!=="string"){if(u===h){y=true;break}}else if(p.filter(h,[u]).length>0){y=u;break}}u=u[g]}m[r]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,i=Object.prototype.toString,j=false,o=true;[0,0].sort(function(){o=false;return 0});var p=function(g,h,k,m){k=k||[];var r=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return k;for(var q=[],v,u,y,S,I=true,N=x(h),J=g;(f.exec(""),v=f.exec(J))!==null;){J=v[3];q.push(v[1]);if(v[2]){S=v[3];break}}if(q.length>1&&t.exec(g))if(q.length===2&&n.relative[q[0]])u=ia(q[0]+q[1],h);else for(u=n.relative[q[0]]?[h]:p(q.shift(),h);q.length;){g=q.shift();if(n.relative[g])g+=q.shift();
u=ia(g,u)}else{if(!m&&q.length>1&&h.nodeType===9&&!N&&n.match.ID.test(q[0])&&!n.match.ID.test(q[q.length-1])){v=p.find(q.shift(),h,N);h=v.expr?p.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:q.pop(),set:B(m)}:p.find(q.pop(),q.length===1&&(q[0]==="~"||q[0]==="+")&&h.parentNode?h.parentNode:h,N);u=v.expr?p.filter(v.expr,v.set):v.set;if(q.length>0)y=B(u);else I=false;for(;q.length;){var E=q.pop();v=E;if(n.relative[E])v=q.pop();else E="";if(v==null)v=h;n.relative[E](y,v,N)}}else y=[]}y||(y=u);if(!y)throw"Syntax error, unrecognized expression: "+
(E||g);if(i.call(y)==="[object Array]")if(I)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&F(h,y[g])))k.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&k.push(u[g]);else k.push.apply(k,y);else B(y,k);if(S){p(S,r,k,m);p.uniqueSort(k)}return k};p.uniqueSort=function(g){if(D){j=o;g.sort(D);if(j)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};p.matches=function(g,h){return p(g,null,null,h)};p.find=function(g,h,k){var m,r;if(!g)return[];
for(var q=0,v=n.order.length;q<v;q++){var u=n.order[q];if(r=n.leftMatch[u].exec(g)){var y=r[1];r.splice(1,1);if(y.substr(y.length-1)!=="\\"){r[1]=(r[1]||"").replace(/\\/g,"");m=n.find[u](r,h,k);if(m!=null){g=g.replace(n.match[u],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};p.filter=function(g,h,k,m){for(var r=g,q=[],v=h,u,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var I in n.filter)if((u=n.leftMatch[I].exec(g))!=null&&u[2]){var N=n.filter[I],J,E;E=u[1];y=false;u.splice(1,1);if(E.substr(E.length-
1)!=="\\"){if(v===q)q=[];if(n.preFilter[I])if(u=n.preFilter[I](u,v,k,q,m,S)){if(u===true)continue}else y=J=true;if(u)for(var X=0;(E=v[X])!=null;X++)if(E){J=N(E,u,X,v);var Ea=m^!!J;if(k&&J!=null)if(Ea)y=true;else v[X]=false;else if(Ea){q.push(E);y=true}}if(J!==w){k||(v=q);g=g.replace(n.match[I],"");if(!y)return[];break}}}if(g===r)if(y==null)throw"Syntax error, unrecognized expression: "+g;else break;r=g}return v};var n=p.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 k=typeof h==="string",m=k&&!/\W/.test(h);k=k&&!m;if(m)h=h.toLowerCase();m=0;for(var r=g.length,q;m<r;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=k||q&&q.nodeName.toLowerCase()===h?q||false:q===h}k&&p.filter(h,g,true)},">":function(g,h){var k=typeof h==="string";if(k&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,r=g.length;m<r;m++){var q=g[m];if(q){k=q.parentNode;g[m]=k.nodeName.toLowerCase()===h?k:false}}}else{m=0;for(r=g.length;m<r;m++)if(q=g[m])g[m]=
k?q.parentNode:q.parentNode===h;k&&p.filter(h,g,true)}},"":function(g,h,k){var m=e++,r=d;if(typeof h==="string"&&!/\W/.test(h)){var q=h=h.toLowerCase();r=b}r("parentNode",h,m,g,q,k)},"~":function(g,h,k){var m=e++,r=d;if(typeof h==="string"&&!/\W/.test(h)){var q=h=h.toLowerCase();r=b}r("previousSibling",h,m,g,q,k)}},find:{ID:function(g,h,k){if(typeof h.getElementById!=="undefined"&&!k)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var k=[];
h=h.getElementsByName(g[1]);for(var m=0,r=h.length;m<r;m++)h[m].getAttribute("name")===g[1]&&k.push(h[m]);return k.length===0?null:k}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,k,m,r,q){g=" "+g[1].replace(/\\/g,"")+" ";if(q)return g;q=0;for(var v;(v=h[q])!=null;q++)if(v)if(r^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))k||m.push(v);else if(k)h[q]=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,k,m,r,q){h=g[1].replace(/\\/g,"");if(!q&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,k,m,r){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=p(g[3],null,null,h);else{g=p.filter(g[3],h,k,true^r);k||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,k){return!!p(k[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,k,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,k){return h<k[3]-0},gt:function(g,h,k){return h>k[3]-0},nth:function(g,h,k){return k[3]-0===h},eq:function(g,h,k){return k[3]-0===h}},filter:{PSEUDO:function(g,h,k,m){var r=h[1],q=n.filters[r];if(q)return q(g,k,h,m);else if(r==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(r==="not"){h=
h[3];k=0;for(m=h.length;k<m;k++)if(h[k]===g)return false;return true}else throw"Syntax error, unrecognized expression: "+r;},CHILD:function(g,h){var k=h[1],m=g;switch(k){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(k==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":k=h[2];var r=h[3];if(k===1&&r===0)return true;h=h[0];var q=g.parentNode;if(q&&(q.sizcache!==h||!g.nodeIndex)){var v=0;for(m=q.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;q.sizcache=h}g=g.nodeIndex-r;return k===0?g===0:g%k===0&&g/k>=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 k=h[1];g=n.attrHandle[k]?n.attrHandle[k](g):g[k]!=null?g[k]:g.getAttribute(k);k=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?k===h:m==="*="?k.indexOf(h)>=0:m==="~="?(" "+k+" ").indexOf(h)>=0:!h?k&&g!==false:m==="!="?k!==h:m==="^="?k.indexOf(h)===0:m==="$="?k.substr(k.length-h.length)===h:m==="|="?k===h||k.substr(0,h.length+1)===h+"-":false},POS:function(g,h,k,m){var r=n.setFilters[h[2]];if(r)return r(g,k,h,m)}}},t=n.match.POS;for(var z in n.match){n.match[z]=new RegExp(n.match[z].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[z]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[z].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var B=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){B=function(g,h){h=h||[];if(i.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var k=0,m=g.length;k<m;k++)h.push(g[k]);else for(k=0;g[k];k++)h.push(g[k]);return h}}var D;if(s.documentElement.compareDocumentPosition)D=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)j=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)j=true;return g};else if("sourceIndex"in s.documentElement)D=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)j=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)j=true;return g};else if(s.createRange)D=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)j=true;return g.ownerDocument?-1:1}var k=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();k.setStart(g,0);k.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=k.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)j=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var k=s.documentElement;k.insertBefore(g,k.firstChild);if(s.getElementById(h)){n.find.ID=function(m,r,q){if(typeof r.getElementById!=="undefined"&&!q)return(r=r.getElementById(m[1]))?r.id===m[1]||typeof r.getAttributeNode!=="undefined"&&
r.getAttributeNode("id").nodeValue===m[1]?[r]:w:[]};n.filter.ID=function(m,r){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===r}}k.removeChild(g);k=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,k){k=k.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;k[m];m++)k[m].nodeType===1&&h.push(k[m]);k=h}return k};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=p,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){p=function(m,r,q,v){r=r||s;if(!v&&r.nodeType===9&&!x(r))try{return B(r.querySelectorAll(m),q)}catch(u){}return g(m,r,q,v)};for(var k in g)p[k]=g[k];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,k,m){if(typeof k.getElementsByClassName!=="undefined"&&!m)return k.getElementsByClassName(h[1])};g=null}}})();var F=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},ia=function(g,h){var k=[],m="",r;for(h=h.nodeType?[h]:h;r=n.match.PSEUDO.exec(g);){m+=r[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;r=0;for(var q=h.length;r<q;r++)p(g,h[r],k);return p.filter(m,k)};c.find=p;c.expr=p.selectors;c.expr[":"]=c.expr.filters;c.unique=p.uniqueSort;c.getText=a;c.isXMLDoc=x;c.contains=F})();var ab=/Until$/,bb=/^(?:parents|prevUntil|prevAll)/,
cb=/,/;R=Array.prototype.slice;var Fa=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,i){return!!b.call(e,i,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(Pa.test(b))return c.filter(b,f,!d);else b=c.filter(b,a)}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 i=d;i<b.length;i++)for(var j=0;j<d;j++)if(b[j]===b[i]){b.splice(i--,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(Fa(this,a,false),"not",a)},filter:function(a){return this.pushStack(Fa(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,i=
{},j;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){j=a[e];i[j]||(i[j]=c.expr.match.POS.test(j)?c(j,b||this.context):j)}for(;f&&f.ownerDocument&&f!==b;){for(j in i){e=i[j];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:j,elem:f});delete i[j]}}f=f.parentNode}}return d}var p=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,t){for(;t&&t.ownerDocument&&t!==b;){if(p?p.index(t)>-1:c(t).is(a))return t;t=t.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(sa(a[0])||sa(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);ab.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||cb.test(f))&&bb.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||!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 Ga=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,db=/(<([\w:]+)[^>]*?)\/>/g,eb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,Ha=/<([\w:]+)/,fb=/<tbody/i,gb=/<|&\w+;/,hb=function(a,b,d){return eb.test(d)?a:b+"></"+d+">"},G={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,"",""]};G.optgroup=G.option;G.tbody=G.tfoot=G.colgroup=G.caption=G.thead;G.th=G.td;if(!c.support.htmlSerialize)G._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);
return 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.getText(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){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}},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(Ga,"").replace(Y,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ta(this,b);ta(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===
1?this[0].innerHTML.replace(Ga,""):null;else if(typeof a==="string"&&!/<script/i.test(a)&&(c.support.leadingWhitespace||!Y.test(a))&&!G[(Ha.exec(a)||["",""])[1].toLowerCase()])try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){T(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}else c.isFunction(a)?this.each(function(e){var i=c(this),j=i.html();i.empty().append(function(){return a.call(this,e,j)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){c.isFunction(a)||(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(t){return c.nodeName(t,"table")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}var e,i,j=a[0],o=[];if(c.isFunction(j))return this.each(function(t){var z=
c(this);a[0]=j.call(this,t,b?z.html():w);return z.domManip(a,b,d)});if(this[0]){e=a[0]&&a[0].parentNode&&a[0].parentNode.nodeType===11?{fragment:a[0].parentNode}:ua(a,this,o);if(i=e.fragment.firstChild){b=b&&c.nodeName(i,"tr");for(var p=0,n=this.length;p<n;p++)d.call(b?f(this[p],i):this[p],e.cacheable||this.length>1||p>0?e.fragment.cloneNode(true):e.fragment)}o&&c.each(o,La)}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);for(var e=0,i=d.length;e<i;e++){var j=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),j);f=f.concat(j)}return this.pushStack(f,a,d.selector)}});c.each({remove:function(a,b){if(!a||c.filter(a,[this]).length){if(!b&&this.nodeType===1){T(this.getElementsByTagName("*"));T([this])}this.parentNode&&this.parentNode.removeChild(this)}},empty:function(){for(this.nodeType===1&&T(this.getElementsByTagName("*"));this.firstChild;)this.removeChild(this.firstChild)}},
function(a,b){c.fn[a]=function(){return this.each(b,arguments)}});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;var e=[];c.each(a,function(i,j){if(typeof j==="number")j+="";if(j){if(typeof j==="string"&&!gb.test(j))j=b.createTextNode(j);else if(typeof j==="string"){j=j.replace(db,hb);var o=(Ha.exec(j)||["",""])[1].toLowerCase(),p=G[o]||G._default,n=p[0];i=b.createElement("div");for(i.innerHTML=p[1]+j+p[2];n--;)i=i.lastChild;
if(!c.support.tbody){n=fb.test(j);o=o==="table"&&!n?i.firstChild&&i.firstChild.childNodes:p[1]==="<table>"&&!n?i.childNodes:[];for(p=o.length-1;p>=0;--p)c.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!c.support.leadingWhitespace&&Y.test(j)&&i.insertBefore(b.createTextNode(Y.exec(j)[0]),i.firstChild);j=c.makeArray(i.childNodes)}if(j.nodeType)e.push(j);else e=c.merge(e,j)}});if(d)for(a=0;e[a];a++)if(f&&c.nodeName(e[a],"script")&&(!e[a].type||e[a].type.toLowerCase()===
"text/javascript"))f.push(e[a].parentNode?e[a].parentNode.removeChild(e[a]):e[a]);else{e[a].nodeType===1&&e.splice.apply(e,[a+1,0].concat(c.makeArray(e[a].getElementsByTagName("script"))));d.appendChild(e[a])}return e}});var ib=/z-?index|font-?weight|opacity|zoom|line-?height/i,Ia=/alpha\([^)]*\)/,Ja=/opacity=([^)]*)/,ja=/float/i,ka=/-([a-z])/ig,jb=/([A-Z])/g,kb=/^-?\d+(?:px)?$/i,lb=/^-?\d/,mb={position:"absolute",visibility:"hidden",display:"block"},nb=["Left","Right"],ob=["Top","Bottom"],pb=s.defaultView&&
s.defaultView.getComputedStyle,Ka=c.support.cssFloat?"cssFloat":"styleFloat",la=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return $(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!ib.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=Ia.test(a)?a.replace(Ia,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Ja.exec(f.filter)[1])/100+"":""}if(ja.test(b))b=Ka;b=b.replace(ka,la);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,i=b==="width"?nb:ob;function j(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(i,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?j():c.swap(a,mb,j);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=Ja.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ja.test(b))b=Ka;if(!d&&e&&e[b])f=e[b];else if(pb){if(ja.test(b))b="float";b=b.replace(jb,"-$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(ka,la);f=a.currentStyle[b]||a.currentStyle[d];if(!kb.test(f)&&lb.test(f)){b=e.left;var i=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=i}}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 qb=K(),rb=/<script(.|\s)*?\/script>/gi,sb=/select|textarea/i,tb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,O=/=\?(&|$)/,ma=/\?/,ub=/(\?|&)_=.*?(&|$)/,vb=/^(\w+:)?\/\/([^\/?#]+)/,
wb=/%20/g;c.fn.extend({_load:c.fn.load,load:function(a,b,d){if(typeof a!=="string")return this._load(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"}c.ajax({url:a,type:f,dataType:"html",data:b,context:this,complete:function(i,j){if(j==="success"||j==="notmodified")this.html(e?c("<div />").append(i.responseText.replace(rb,
"")).find(e):i.responseText);d&&this.each(d,[i.responseText,j,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||sb.test(this.nodeName)||tb.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(p,o,j,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(p,x,j);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(r,q){(e.context?c(e.context):c.event).trigger(r,q)}var e=c.extend(true,{},c.ajaxSettings,a),i,j,o,p=e.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")O.test(e.url)||(e.url+=(ma.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!O.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&O.test(e.data)||O.test(e.url))){i=e.jsonpCallback||"jsonp"+qb++;if(e.data)e.data=(e.data+"").replace(O,"="+i+"$1");e.url=e.url.replace(O,"="+i+"$1");e.dataType="script";A[i]=A[i]||function(r){o=r;b();d();A[i]=w;try{delete A[i]}catch(q){}B&&
B.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&n==="GET"){var t=K(),z=e.url.replace(ub,"$1_="+t+"$2");e.url=z+(z===e.url?(ma.test(e.url)?"&":"?")+"_="+t:"")}if(e.data&&n==="GET")e.url+=(ma.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");t=(t=vb.exec(e.url))&&(t[1]&&t[1]!==location.protocol||t[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&t){var B=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");
C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!i){var D=false;C.onload=C.onreadystatechange=function(){if(!D&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){D=true;b();d();C.onload=C.onreadystatechange=null;B&&C.parentNode&&B.removeChild(C)}}}B.insertBefore(C,B.firstChild);return w}var F=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])}t||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ia){}if(e.beforeSend&&e.beforeSend.call(p,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(r){if(!x||x.readyState===0){F||d();F=true;if(x)x.onreadystatechange=c.noop}else if(!F&&x&&(x.readyState===4||r==="timeout")){F=true;x.onreadystatechange=c.noop;j=r==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";if(j==="success")try{o=c.httpData(x,e.dataType,e)}catch(q){j="parsererror"}if(j==="success"||j==="notmodified")i||b();else c.handleError(e,x,j);d();r==="timeout"&&x.abort();if(e.async)x=
null}};try{var h=x.abort;x.abort=function(){if(x){h.call(x);if(x)x.readyState=0}g()}}catch(k){}e.async&&e.timeout>0&&setTimeout(function(){x&&!F&&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;if(e&&a.documentElement.nodeName==="parsererror")throw"parsererror";if(d&&
d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)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,"")))a=A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+a))();else throw"Invalid JSON: "+a;else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(e,i){i=
c.isFunction(i)?i():i;f[f.length]=encodeURIComponent(e)+"="+encodeURIComponent(i)}var f=[];if(b===w)b=c.ajaxSettings.traditional;c.isArray(a)||a.jquery?c.each(a,function(){d(this.name,this.value)}):c.each(a,function e(i,j){if(c.isArray(j))c.each(j,function(o,p){b?d(i,p):e(i+"["+(typeof p==="object"||c.isArray(p)?o:"")+"]",p)});else!b&&j!=null&&typeof j==="object"?c.each(j,function(o,p){e(i+"["+o+"]",p)}):d(i,j)});return f.join("&").replace(wb,"+")}});var na={},xb=/toggle|show|hide/,yb=/^([+-]=)?([\d+-.]+)(.*)$/,
Z,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a!=null)return this.animate(L("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(na[d])f=na[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();
na[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!=null)return this.animate(L("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(L("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 i=c.extend({},e),j,o=this.nodeType===1&&c(this).is(":hidden"),
p=this;for(j in a){var n=j.replace(ka,la);if(j!==n){a[n]=a[j];delete a[j];j=n}if(a[j]==="hide"&&o||a[j]==="show"&&!o)return i.complete.call(this);if((j==="height"||j==="width")&&this.style){i.display=c.css(this,"display");i.overflow=this.style.overflow}if(c.isArray(a[j])){(i.specialEasing=i.specialEasing||{})[j]=a[j][1];a[j]=a[j][0]}}if(i.overflow!=null)this.style.overflow="hidden";i.curAnim=c.extend({},a);c.each(a,function(t,z){var B=new c.fx(p,i,t);if(xb.test(z))B[z==="toggle"?o?"show":"hide":z](a);
else{var C=yb.exec(z),D=B.cur(true)||0;if(C){z=parseFloat(C[2]);var F=C[3]||"px";if(F!=="px"){p.style[t]=(z||1)+F;D=(z||1)/B.cur(true)*D;p.style[t]=D+F}if(C[1])z=(C[1]==="-="?-1:1)*z+D;B.custom(D,z,F)}else B.custom(D,z,"")}});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:L("show",1),slideUp:L("hide",1),slideToggle:L("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(i){return e.step(i)}this.startTime=K();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)&&!Z)Z=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=K(),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(Z);Z=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(!b||!b.ownerDocument)return null;if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});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(!b||!b.ownerDocument)return null;if(a)return this.each(function(t){c.offset.setOffset(this,a,t)});if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=
b,e=b.ownerDocument,i,j=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var p=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==j;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;i=e?e.getComputedStyle(b,null):b.currentStyle;p-=b.scrollTop;n-=b.scrollLeft;if(b===d){p+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){p+=parseFloat(i.borderTopWidth)||
0;n+=parseFloat(i.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&i.overflow!=="visible"){p+=parseFloat(i.borderTopWidth)||0;n+=parseFloat(i.borderLeftWidth)||0}f=i}if(f.position==="relative"||f.position==="static"){p+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){p+=Math.max(j.scrollTop,o.scrollTop);n+=Math.max(j.scrollLeft,o.scrollLeft)}return{top:p,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),
d,f,e,i=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!==i;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(),i=parseInt(c.curCSS(a,"top",true),10)||0,j=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+i,left:b.left-
e.left+j};"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],i;if(!e)return null;if(f!==w)return this.each(function(){if(i=wa(this))i.scrollTo(!a?f:c(i).scrollLeft(),a?f:c(i).scrollTop());else this[d]=f});else return(i=wa(e))?"pageXOffset"in i?i[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&i.document.documentElement[d]||i.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;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);

function MibAjaxCache()
{
}
MibAjaxCache.prototype.items = this.items = Array();
MibAjaxCache.prototype.Add = function(item)
{
this.items.push(item);
}
MibAjaxCache.prototype.Get = function(url)
{
for (var i = 0; i < this.items.length; i++)
{
if (this.items[i].cacheKey == url)
{
return this.items[i];
}
}
return null;
}
function MibAjaxManager()
{
}
MibAjaxManager.prototype.CreateLoading = function() { };
MibAjaxManager.prototype.DestroyLoading = function() { };
MibAjaxManager.prototype.DefaultRequestError = function(xhr, desc, ex) { };
MibAjaxManager.prototype.Cache = new MibAjaxCache();
MibAjaxManager.prototype.Get = function(url, useCache, beginRequest, parseRequest, endRequest, requestError, contentType)
{
var urlPath = url.toString().split(/\?/)[0];
var data = url.toString().split(/\?/)[1];
if (!contentType) contentType = 'html';
if (!data) data = {}; // FDB: jQuery breaks if you use POST with undefined data
var item =
{
beforeSend: beginRequest,
type: "POST",
cacheKey: url,
url: urlPath,
data: data,
error: requestError,
complete: endRequest,
cache: useCache,
success: parseRequest,
dataType: contentType
}
if (useCache)
{
var ajaxItem = this.Cache.Get(url);
if (ajaxItem)
{
if (ajaxItem.beforeSend) ajaxItem.beforeSend();
ajaxItem.success(ajaxItem.content);
if (ajaxItem.complete) ajaxItem.complete();
}
else
{
this.Cache.Add(item);
$.ajax(item);
}
}
else
{
$.ajax(item);
}
}
MibAjaxManager.prototype.GetContent = function(url, target, useCache, beginRequest, endRequest, requestError, disableLoading)
{
this.Get(
url,
useCache,
beginRequest ? function() { beginRequest(); if (!disableLoading) { mibAjaxManager.CreateLoading(); } } : (disableLoading ? null : this.CreateLoading),
function(content)
{
$(target).html(content);
this.content = content;
},
endRequest ? function() { endRequest(); if (!disableLoading) { mibAjaxManager.DestroyLoading(); } } : (disableLoading ? null : this.DestroyLoading),
requestError == null ? mibAjaxManager.DefaultRequestError : requestError,
'html'
);
}
MibAjaxManager.prototype.GetContentAfter = function(url, target, useCache, beginRequest, endRequest, requestError, disableLoading)
{
this.Get(
url,
useCache,
beginRequest ? function() { beginRequest(); if (!disableLoading) { mibAjaxManager.CreateLoading(); } } : (disableLoading ? null : this.CreateLoading),
function(content)
{
$(target).after(content);
this.content = content;
},
endRequest ? function() { endRequest(); if (!disableLoading) { mibAjaxManager.DestroyLoading(); } } : (disableLoading ? null : this.DestroyLoading),
requestError == null ? mibAjaxManager.DefaultRequestError : requestError,
'html'
);
}
MibAjaxManager.prototype.GetContentBefore = function(url, target, useCache, beginRequest, endRequest, requestError, disableLoading)
{
this.Get(
url,
useCache,
beginRequest ? function() { beginRequest(); if (!disableLoading) { mibAjaxManager.CreateLoading(); } } : (disableLoading ? null : this.CreateLoading),
function(content)
{
$(target).before(content);
this.content = content;
},
endRequest ? function() { endRequest(); if (!disableLoading) { mibAjaxManager.DestroyLoading(); } } : (disableLoading ? null : this.DestroyLoading),
requestError == null ? mibAjaxManager.DefaultRequestError : requestError,
'html'
);
}
MibAjaxManager.prototype.GetJson = function(url, callback, useCache, beginRequest, endRequest, requestError, disableLoading)
{
this.Get(
url,
useCache,
beginRequest ? function() { beginRequest(); if (!disableLoading) { mibAjaxManager.CreateLoading(); } } : (disableLoading ? null : this.CreateLoading),
callback,
endRequest ? function() { endRequest(); if (!disableLoading) { mibAjaxManager.DestroyLoading(); } } : (disableLoading ? null : this.DestroyLoading),
requestError == null ? mibAjaxManager.DefaultRequestError : requestError,
'json'
);
}
MibAjaxManager.prototype.GetScript = function(url, callback, useCache, beginRequest, endRequest, requestError, disableLoading)
{
this.Get(
url,
useCache,
beginRequest ? function() { beginRequest(); if (!disableLoading) { mibAjaxManager.CreateLoading(); } } : (disableLoading ? null : this.CreateLoading),
callback,
endRequest ? function() { endRequest(); if (!disableLoading) { mibAjaxManager.DestroyLoading(); } } : (disableLoading ? null : this.DestroyLoading),
requestError == null ? mibAjaxManager.DefaultRequestError : requestError,
'script'
);
}
var mibAjaxManager = new MibAjaxManager();
function Url() { }
Url.Build = function(selector, url) {
url = url ? url : "";
var list = jQuery(selector);
if (url.indexOf("?", 0) < 0) {
url += "?";
}
else {
url += "&";
}
for (var i = 0; i < list.length; i++) {
url += list[i].id + "=" + list[i].value;
if (i < list.length - 1) {
url += "&";
}
}
return url;
}
function MibTranslationManager() {
MibTranslationManager.prototype.Length = this.Length = 0;
MibTranslationManager.prototype.Items = new Array();
for (var i = 0; i < arguments.Length; i += 2) {
if (typeof (arguments[i + 1]) != 'undefined') {
this.Items[arguments[i]] = arguments[i + 1];
this.Length++;
}
}
MibTranslationManager.prototype.RemoveItem = function(section, key) {
var tmpValue;
var itemId = '';
if (section != null && section != '')
itemId += section + '/';
itemId += key;
if (typeof (this.Items[itemId.toLowerCase()]) != 'undefined') {
this.Length--;
tmpValue = this.Items[itemId.toLowerCase()];
delete this.Items[itemId.toLowerCase()];
}
return tmpValue;
}
MibTranslationManager.prototype.GetItem = function(section, key) {
var itemId = '';
if (section != null && section != '')
itemId += section + '/';
itemId += key;
return this.Items[itemId.toLowerCase()];
}
MibTranslationManager.prototype.SetItem = function(section, key, value) {
if (typeof (value) != 'undefined') {
var itemId = '';
if (section != null && section != '')
itemId += section + '/';
itemId += key;
if (typeof (this.Items[itemId.toLowerCase()]) == 'undefined') {
this.Length++;
}
this.Items[itemId.toLowerCase()] = value;
}
return value;
}
MibTranslationManager.prototype.HasItem = function(section, key) {
var itemId = '';
if (section != null && section != '')
itemId += section + '/';
itemId += key;
return typeof (this.Items[itemId.toLowerCase()]) != 'undefined';
}
}
var mibTranslation = new MibTranslationManager();
function Logger() { }
Logger.log = function(message) {
if (window.console) {
window.console.log(message);
}
}
Logger.info = function(message) {
if (window.console) {
window.console.info(message);
}
}
Logger.error = function(message) {
if (window.console) {
window.console.error(message);
}
}
/*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
 * jQuery UI Draggable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Draggables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));a.extend(a.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(b,c){var e=a(this).data("draggable").options;var d=a.makeArray(a(e.stack.group)).sort(function(g,f){return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)});a(d).each(function(f){this.style.zIndex=e.stack.min+f});this[0].style.zIndex=e.stack.min+d.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);;/*
 * jQuery UI Droppable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Droppables
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 */
(function(a){a.widget("ui.droppable",{_init:function(){var c=this.options,b=c.accept;this.isover=0;this.isout=1;this.options.accept=this.options.accept&&a.isFunction(this.options.accept)?this.options.accept:function(e){return e.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};a.ui.ddmanager.droppables[this.options.scope]=a.ui.ddmanager.droppables[this.options.scope]||[];a.ui.ddmanager.droppables[this.options.scope].push(this);(this.options.addClasses&&this.element.addClass("ui-droppable"))},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++){if(b[c]==this){b.splice(c,1)}}this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable")},_setData:function(b,c){if(b=="accept"){this.options.accept=c&&a.isFunction(c)?c:function(e){return e.is(c)}}else{a.widget.prototype._setData.apply(this,arguments)}},_activate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.addClass(this.options.activeClass)}(b&&this._trigger("activate",c,this.ui(b)))},_deactivate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}(b&&this._trigger("deactivate",c,this.ui(b)))},_over:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.addClass(this.options.hoverClass)}this._trigger("over",c,this.ui(b))}},_out:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("out",c,this.ui(b))}},_drop:function(c,d){var b=d||a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return false}var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var f=a.data(this,"droppable");if(f.options.greedy&&a.ui.intersect(b,a.extend(f,{offset:f.element.offset()}),f.options.tolerance)){e=true;return false}});if(e){return false}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("drop",c,this.ui(b));return this.element}return false},ui:function(b){return{draggable:(b.currentItem||b.element),helper:b.helper,position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs}}});a.extend(a.ui.droppable,{version:"1.7.2",eventPrefix:"drop",defaults:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"}});a.ui.intersect=function(q,j,o){if(!j.offset){return false}var e=(q.positionAbs||q.position.absolute).left,d=e+q.helperProportions.width,n=(q.positionAbs||q.position.absolute).top,m=n+q.helperProportions.height;var g=j.offset.left,c=g+j.proportions.width,p=j.offset.top,k=p+j.proportions.height;switch(o){case"fit":return(g<e&&d<c&&p<n&&m<k);break;case"intersect":return(g<e+(q.helperProportions.width/2)&&d-(q.helperProportions.width/2)<c&&p<n+(q.helperProportions.height/2)&&m-(q.helperProportions.height/2)<k);break;case"pointer":var h=((q.positionAbs||q.position.absolute).left+(q.clickOffset||q.offset.click).left),i=((q.positionAbs||q.position.absolute).top+(q.clickOffset||q.offset.click).top),f=a.ui.isOver(i,h,p,g,j.proportions.height,j.proportions.width);return f;break;case"touch":return((n>=p&&n<=k)||(m>=p&&m<=k)||(n<p&&m>k))&&((e>=g&&e<=c)||(d>=g&&d<=c)||(e<g&&d>c));break;default:return false;break}};a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,g){var b=a.ui.ddmanager.droppables[e.options.scope];var f=g?g.type:null;var h=(e.currentItem||e.element).find(":data(droppable)").andSelf();droppablesLoop:for(var d=0;d<b.length;d++){if(b[d].options.disabled||(e&&!b[d].options.accept.call(b[d].element[0],(e.currentItem||e.element)))){continue}for(var c=0;c<h.length;c++){if(h[c]==b[d].element[0]){b[d].proportions.height=0;continue droppablesLoop}}b[d].visible=b[d].element.css("display")!="none";if(!b[d].visible){continue}b[d].offset=b[d].element.offset();b[d].proportions={width:b[d].element[0].offsetWidth,height:b[d].element[0].offsetHeight};if(f=="mousedown"){b[d]._activate.call(b[d],g)}}},drop:function(b,c){var d=false;a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(!this.options){return}if(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)){d=this._drop.call(this,c)}if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element[0],(b.currentItem||b.element))){this.isout=1;this.isover=0;this._deactivate.call(this,c)}});return d},drag:function(b,c){if(b.options.refreshPositions){a.ui.ddmanager.prepareOffsets(b,c)}a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(this.options.disabled||this.greedyChild||!this.visible){return}var e=a.ui.intersect(b,this,this.options.tolerance);var g=!e&&this.isover==1?"isout":(e&&this.isover==0?"isover":null);if(!g){return}var f;if(this.options.greedy){var d=this.element.parents(":data(droppable):eq(0)");if(d.length){f=a.data(d[0],"droppable");f.greedyChild=(g=="isover"?1:0)}}if(f&&g=="isover"){f.isover=0;f.isout=1;f._out.call(f,c)}this[g]=1;this[g=="isout"?"isover":"isout"]=0;this[g=="isover"?"_over":"_out"].call(this,c);if(f&&g=="isout"){f.isout=0;f.isover=1;f._over.call(f,c)}})}}})(jQuery);;/*
 * jQuery UI Resizable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Resizables
 *
 * Depends:
 *	ui.core.js
 */
(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)){s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;/*
 * jQuery UI Selectable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Selectables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.selectable",a.extend({},a.ui.mouse,{_init:function(){var b=this;this.element.addClass("ui-selectable");this.dragged=false;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]);c.each(function(){var d=a(this);var e=d.offset();a.data(this,"selectable-item",{element:this,$element:d,left:e.left,top:e.top,right:e.left+d.outerWidth(),bottom:e.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=c.addClass("ui-selectee");this._mouseInit();this.helper=a(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(d){var b=this;this.opos=[d.pageX,d.pageY];if(this.options.disabled){return}var c=this.options;this.selectees=a(c.filter,this.element[0]);this._trigger("start",d);a(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});if(c.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var e=a.data(this,"selectable-item");e.startselected=true;if(!d.metaKey){e.$element.removeClass("ui-selected");e.selected=false;e.$element.addClass("ui-unselecting");e.unselecting=true;b._trigger("unselecting",d,{unselecting:e.element})}});a(d.target).parents().andSelf().each(function(){var e=a.data(this,"selectable-item");if(e){e.$element.removeClass("ui-unselecting").addClass("ui-selecting");e.unselecting=false;e.selecting=true;e.selected=true;b._trigger("selecting",d,{selecting:e.element});return false}})},_mouseDrag:function(i){var c=this;this.dragged=true;if(this.options.disabled){return}var e=this.options;var d=this.opos[0],h=this.opos[1],b=i.pageX,g=i.pageY;if(d>b){var f=b;b=d;d=f}if(h>g){var f=g;g=h;h=f}this.helper.css({left:d,top:h,width:b-d,height:g-h});this.selectees.each(function(){var j=a.data(this,"selectable-item");if(!j||j.element==c.element[0]){return}var k=false;if(e.tolerance=="touch"){k=(!(j.left>b||j.right<d||j.top>g||j.bottom<h))}else{if(e.tolerance=="fit"){k=(j.left>d&&j.right<b&&j.top>h&&j.bottom<g)}}if(k){if(j.selected){j.$element.removeClass("ui-selected");j.selected=false}if(j.unselecting){j.$element.removeClass("ui-unselecting");j.unselecting=false}if(!j.selecting){j.$element.addClass("ui-selecting");j.selecting=true;c._trigger("selecting",i,{selecting:j.element})}}else{if(j.selecting){if(i.metaKey&&j.startselected){j.$element.removeClass("ui-selecting");j.selecting=false;j.$element.addClass("ui-selected");j.selected=true}else{j.$element.removeClass("ui-selecting");j.selecting=false;if(j.startselected){j.$element.addClass("ui-unselecting");j.unselecting=true}c._trigger("unselecting",i,{unselecting:j.element})}}if(j.selected){if(!i.metaKey&&!j.startselected){j.$element.removeClass("ui-selected");j.selected=false;j.$element.addClass("ui-unselecting");j.unselecting=true;c._trigger("unselecting",i,{unselecting:j.element})}}}});return false},_mouseStop:function(d){var b=this;this.dragged=false;var c=this.options;a(".ui-unselecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-unselecting");e.unselecting=false;e.startselected=false;b._trigger("unselected",d,{unselected:e.element})});a(".ui-selecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-selecting").addClass("ui-selected");e.selecting=false;e.selected=true;e.startselected=true;b._trigger("selected",d,{selected:e.element})});this._trigger("stop",d);this.helper.remove();return false}}));a.extend(a.ui.selectable,{version:"1.7.2",defaults:{appendTo:"body",autoRefresh:true,cancel:":input,option",delay:0,distance:0,filter:"*",tolerance:"touch"}})})(jQuery);;/*
 * jQuery UI Sortable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Sortables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.sortable",a.extend({},a.ui.mouse,{_init:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;if(g.cursorAt){this._adjustOffsetFromHelper(g.cursorAt)}this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return true},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions()},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){continue}var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(d){for(var c=this.containers.length-1;c>=0;c--){if(this._intersectsWith(this.containers[c].containerCache)){if(!this.containers[c].containerCache.over){if(this.currentContainer!=this.containers[c]){var h=10000;var g=null;var e=this.positionAbs[this.containers[c].floating?"left":"top"];for(var b=this.items.length-1;b>=0;b--){if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){continue}var f=this.items[b][this.containers[c].floating?"left":"top"];if(Math.abs(f-e)<h){h=Math.abs(f-e);g=this.items[b]}}if(!g&&!this.options.dropOnEmpty){continue}this.currentContainer=this.containers[c];g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[c].element,true);this._trigger("change",d,this._uiHash());this.containers[c]._trigger("change",d,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder)}this.containers[c]._trigger("over",d,this._uiHash(this));this.containers[c].containerCache.over=1}}else{if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",d,this._uiHash(this));this.containers[c].containerCache.over=0}}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}}));a.extend(a.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}})})(jQuery);;/*
 * jQuery UI Accordion 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.accordion",{_init:function(){var d=this.options,b=this;this.running=0;if(d.collapsible==a.ui.accordion.defaults.collapsible&&d.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){d.collapsible=!d.alwaysOpen}if(d.navigation){var c=this.element.find("a").filter(d.navigationFilter);if(c.length){if(c.filter(d.header).length){this.active=c}else{this.active=c.parent().parent().prev();c.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");this.active=this._findActive(this.active||d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");a("<span/>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);if(a.browser.msie){this.element.find("a").css("zoom","1")}this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(e){return b._keydown(e)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex","0")}else{this.active.attr("aria-expanded","true").attr("tabIndex","0")}if(!a.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(d.event){this.headers.bind((d.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var c=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this.headers.children(".ui-icon").remove();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(c.autoHeight||c.fillHeight){b.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var g=this.options,f=a.ui.keyCode;if(g.disabled||e.altKey||e.ctrlKey){return}var d=this.headers.length;var b=this.headers.index(e.target);var c=false;switch(e.keyCode){case f.RIGHT:case f.DOWN:c=this.headers[(b+1)%d];break;case f.LEFT:case f.UP:c=this.headers[(b-1+d)%d];break;case f.SPACE:case f.ENTER:return this._clickHandler({target:e.target},e.target)}if(c){a(e.target).attr("tabIndex","-1");a(c).attr("tabIndex","0");c.focus();return false}return true},resize:function(){var e=this.options,d;if(e.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}d=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){d-=a(this).outerHeight()});var c=0;this.headers.next().each(function(){c=Math.max(c,a(this).innerHeight()-a(this).height())}).height(Math.max(0,d-c)).css("overflow","auto")}else{if(e.autoHeight){d=0;this.headers.next().each(function(){d=Math.max(d,a(this).outerHeight())}).height(d)}}},activate:function(b){var c=this._findActive(b)[0];this._clickHandler({target:c},c)},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,f){var d=this.options;if(d.disabled){return false}if(!b.target&&d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),e={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:h},c=(this.active=a([]));this._toggle(c,h,e);return false}var g=a(b.currentTarget||f);var i=g[0]==this.active[0];if(this.running||(!d.collapsible&&i)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!i){g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);g.next().addClass("ui-accordion-content-active")}var c=g.next(),h=this.active.next(),e={options:d,newHeader:i&&d.collapsible?a([]):g,oldHeader:this.active,newContent:i&&d.collapsible?a([]):c.find("> *"),oldContent:h.find("> *")},j=this.headers.index(this.active[0])>this.headers.index(g[0]);this.active=i?a([]):g;this._toggle(c,h,e,i,j);return false},_toggle:function(b,i,g,j,k){var d=this.options,m=this;this.toShow=b;this.toHide=i;this.data=g;var c=function(){if(!m){return}return m._completed.apply(m,arguments)};this._trigger("changestart",null,this.data);this.running=i.size()===0?b.size():i.size();if(d.animated){var f={};if(d.collapsible&&j){f={toShow:a([]),toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}else{f={toShow:b,toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}if(!d.proxied){d.proxied=d.animated}if(!d.proxiedDuration){d.proxiedDuration=d.duration}d.animated=a.isFunction(d.proxied)?d.proxied(f):d.proxied;d.duration=a.isFunction(d.proxiedDuration)?d.proxiedDuration(f):d.proxiedDuration;var l=a.ui.accordion.animations,e=d.duration,h=d.animated;if(!l[h]){l[h]=function(n){this.slide(n,{easing:h,duration:e||700})}}l[h](f)}else{if(d.collapsible&&j){b.toggle()}else{i.hide();b.show()}c(true)}i.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();b.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(b){var c=this.options;this.running=b?0:--this.running;if(this.running){return}if(c.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.2",defaults:{active:null,alwaysOpen:true,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(j,h){j=a.extend({easing:"swing",duration:300},j,h);if(!j.toHide.size()){j.toShow.animate({height:"show"},j);return}if(!j.toShow.size()){j.toHide.animate({height:"hide"},j);return}var c=j.toShow.css("overflow"),g,d={},f={},e=["height","paddingTop","paddingBottom"],b;var i=j.toShow;b=i[0].style.width;i.width(parseInt(i.parent().width(),10)-parseInt(i.css("paddingLeft"),10)-parseInt(i.css("paddingRight"),10)-(parseInt(i.css("borderLeftWidth"),10)||0)-(parseInt(i.css("borderRightWidth"),10)||0));a.each(e,function(k,m){f[m]="hide";var l=(""+a.css(j.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);d[m]={value:l[1],unit:l[2]||"px"}});j.toShow.css({height:0,overflow:"hidden"}).show();j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f,{step:function(k,l){if(l.prop=="height"){g=(l.now-l.start)/(l.end-l.start)}j.toShow[0].style[l.prop]=(g*d[l.prop].value)+d[l.prop].unit},duration:j.duration,easing:j.easing,complete:function(){if(!j.autoHeight){j.toShow.css("height","")}j.toShow.css("width",b);j.toShow.css({overflow:c});j.complete()}})},bounceslide:function(b){this.slide(b,{easing:b.down?"easeOutBounce":"swing",duration:b.down?1000:200})},easeslide:function(b){this.slide(b,{easing:"easeinout",duration:700})}}})})(jQuery);;/*
 * jQuery UI Dialog 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Dialog
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 *	ui.resizable.js
 */
(function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||"&nbsp;",e=c.ui.dialog.getTitleId(this.element),k=(this.uiDialog=c("<div/>")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:m.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){(m.closeOnEscape&&n.keyCode&&n.keyCode==c.ui.keyCode.ESCAPE&&l.close(n))}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(n){l.moveToTop(false,n)}),g=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(this.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(n){n.stopPropagation()}).click(function(n){l.close(n);return false}).appendTo(f),h=(this.uiDialogTitlebarCloseText=c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("<span/>").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&this._makeDraggable());(m.resizable&&c.fn.resizable&&this._makeResizable());this._createButtons(m.buttons);this._isOpen=false;(m.bgiframe&&c.fn.bgiframe&&k.bgiframe());(m.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(f){var d=this;if(false===d._trigger("beforeclose",f)){return}(d.overlay&&d.overlay.destroy());d.uiDialog.unbind("keypress.ui-dialog");(d.options.hide?d.uiDialog.hide(d.options.hide,function(){d._trigger("close",f)}):d.uiDialog.hide()&&d._trigger("close",f));c.ui.dialog.overlay.resize();d._isOpen=false;if(d.options.modal){var e=0;c(".ui-dialog").each(function(){if(this!=d.uiDialog[0]){e=Math.max(e,c(this).css("z-index"))}});c.ui.dialog.maxZ=e}},isOpen:function(){return this._isOpen},moveToTop:function(f,e){if((this.options.modal&&!f)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",e)}if(this.options.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=this.options.zIndex}(this.overlay&&this.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var d={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++c.ui.dialog.maxZ);this.element.attr(d);this._trigger("focus",e)},open:function(){if(this._isOpen){return}var e=this.options,d=this.uiDialog;this.overlay=e.modal?new c.ui.dialog.overlay(this):null;(d.next().length&&d.appendTo("body"));this._size();this._position(e.position);d.show(e.show);this.moveToTop(true);(e.modal&&d.bind("keypress.ui-dialog",function(h){if(h.keyCode!=c.ui.keyCode.TAB){return}var g=c(":tabbable",this),i=g.filter(":first")[0],f=g.filter(":last")[0];if(h.target==f&&!h.shiftKey){setTimeout(function(){i.focus()},1)}else{if(h.target==i&&h.shiftKey){setTimeout(function(){f.focus()},1)}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(g){var f=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof g=="object"&&g!==null&&c.each(g,function(){return !(d=true)}));if(d){c.each(g,function(h,i){c('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(h).click(function(){i.apply(f.element[0],arguments)}).hover(function(){c(this).addClass("ui-state-hover")},function(){c(this).removeClass("ui-state-hover")}).focus(function(){c(this).addClass("ui-state-focus")}).blur(function(){c(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var d=this,f=this.options,e;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");(f.dragStart&&f.dragStart.apply(d.element[0],arguments))},drag:function(){(f.drag&&f.drag.apply(d.element[0],arguments))},stop:function(){c(this).removeClass("ui-dialog-dragging").height(e);(f.dragStop&&f.dragStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=this.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:f.minHeight,start:function(){c(this).addClass("ui-dialog-resizing");(f.resizeStart&&f.resizeStart.apply(d.element[0],arguments))},resize:function(){(f.resize&&f.resize.apply(d.element[0],arguments))},handles:e,stop:function(){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();(f.resizeStop&&f.resizeStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(i){var e=c(window),f=c(document),g=f.scrollTop(),d=f.scrollLeft(),h=g;if(c.inArray(i,["center","top","right","bottom","left"])>=0){i=[i=="right"||i=="left"?i:"center",i=="top"||i=="bottom"?i:"middle"]}if(i.constructor!=Array){i=["center","middle"]}if(i[0].constructor==Number){d+=i[0]}else{switch(i[0]){case"left":d+=0;break;case"right":d+=e.width()-this.uiDialog.outerWidth();break;default:case"center":d+=(e.width()-this.uiDialog.outerWidth())/2}}if(i[1].constructor==Number){g+=i[1]}else{switch(i[1]){case"top":g+=0;break;case"bottom":g+=e.height()-this.uiDialog.outerHeight();break;default:case"middle":g+=(e.height()-this.uiDialog.outerHeight())/2}}g=Math.max(g,h);this.uiDialog.css({top:g,left:d})},_setData:function(e,f){(b[e]&&this.uiDialog.data(b[e],f));switch(e){case"buttons":this._createButtons(f);break;case"closeText":this.uiDialogTitlebarCloseText.text(f);break;case"dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass(a+f);break;case"draggable":(f?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(f);break;case"position":this._position(f);break;case"resizable":var d=this.uiDialog,g=this.uiDialog.is(":data(resizable)");(g&&!f&&d.resizable("destroy"));(g&&typeof f=="string"&&d.resizable("option","handles",f));(g||this._makeResizable(f));break;case"title":c(".ui-dialog-title",this.uiDialogTitlebar).html(f||"&nbsp;");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){if(c.ui.dialog.overlay.instances.length){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})}},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove();var e=0;c.each(this.instances,function(){e=Math.max(e,this.css("z-index"))});this.maxZ=e},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e<d){return c(window).height()+"px"}else{return e+"px"}}else{return c(document).height()+"px"}},width:function(){if(c.browser.msie&&c.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var e=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(d<e){return c(window).width()+"px"}else{return d+"px"}}else{return c(document).width()+"px"}},resize:function(){var d=c([]);c.each(c.ui.dialog.overlay.instances,function(){d=d.add(this)});d.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);;/*
 * jQuery UI Slider 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("<div></div>");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length<c.values.length){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d<b))){d=b}if(d!=this.values(e)){var c=this.values();c[e]=d;var h=this._trigger("slide",f,{handle:this.handles[e],value:d,values:c});var b=this.values(e?0:1);if(h!==false){this.values(e,d,(f.type=="mousedown"&&this.options.animate),true)}}}else{if(d!=this.value()){var h=this._trigger("slide",f,{handle:this.handles[e],value:d});if(h!==false){this._setData("value",d,(f.type=="mousedown"&&this.options.animate))}}}},_stop:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("stop",d,b)},_change:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("change",d,b)},value:function(b){if(arguments.length){this._setData("value",b);this._change(null,0)}return this._value()},values:function(b,e,c,d){if(arguments.length>1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.2",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;/*
 * jQuery UI Tabs 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var w=p._tabId(o);o.href="#"+w;var v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return false}})}if(typeof d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var c=a.data(this,"href.tabs");if(c){this.href=c}var d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1<this.anchors.length?1:-1))}d.disabled=a.map(a.grep(d.disabled,function(g,f){return g!=b}),function(g,f){return g>=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var b=this,g=this.options;var c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var i=g.selected;b.select(++i<b.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var e=b._unrotate||(b._unrotate=!f?function(h){if(h.clientX){b.rotate(null)}}:function(h){t=g.selected;c()});if(d){this.element.bind("tabsshow",c);this.anchors.bind(g.event+".tabs",e);c()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",c);this.anchors.unbind(g.event+".tabs",e);delete this._rotate;delete this._unrotate}}})})(jQuery);;/*
 * jQuery UI Datepicker 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	ui.core.js
 */
(function($){$.extend($.ui,{datepicker:{version:"1.7.2"}});var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dateFormat:"mm/dd/yy",firstDay:0,isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,showMonthAfterYear:false,yearRange:"-10:+10",showOtherMonths:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_getInst:function(target){try{return $.data(target,PROP_NAME)}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var inst=this._getInst(target);if(arguments.length==2&&typeof name=="string"){return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))}var settings=name||{};if(typeof name=="string"){settings={};settings[name]=value}if(inst){if(this._curInst==inst){this._hideDatepicker(null)}var date=this._getDateDatepicker(target);extendRemove(inst.settings,settings);this._setDateDatepicker(target,date);this._updateDatepicker(inst)}},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);if(inst){this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date,endDate){var inst=this._getInst(target);if(inst){this._setDate(inst,date,endDate);this._updateDatepicker(inst);this._updateAlternate(inst)}},_getDateDatepicker:function(target){var inst=this._getInst(target);if(inst&&!inst.inline){this._setDateFromField(inst)}return(inst?this._getDate(inst):null)},_doKeyDown:function(event){var inst=$.datepicker._getInst(event.target);var handled=true;var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");inst._keyEvent=true;if($.datepicker._datepickerShowing){switch(event.keyCode){case 9:$.datepicker._hideDatepicker(null,"");break;case 13:var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);if(sel[0]){$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])}else{$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))}return false;break;case 27:$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));break;case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");break;case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");break;case 35:if(event.ctrlKey||event.metaKey){$.datepicker._clearDate(event.target)}handled=event.ctrlKey||event.metaKey;break;case 36:if(event.ctrlKey||event.metaKey){$.datepicker._gotoToday(event.target)}handled=event.ctrlKey||event.metaKey;break;case 37:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")}break;case 38:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,-7,"D")}handled=event.ctrlKey||event.metaKey;break;case 39:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")}break;case 40:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,+7,"D")}handled=event.ctrlKey||event.metaKey;break;default:handled=false}}else{if(event.keyCode==36&&event.ctrlKey){$.datepicker._showDatepicker(this)}else{handled=false}}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyPress:function(event){var inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput")){var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)}},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};var self=this;inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));this._updateDatepicker(inst)}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else{if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){return 1}}}return Math.floor(((checkDate-firstMon)/86400000)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var doy=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var getNumber=function(match){lookAhead(match);var origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));var size=origSize;var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++){size=Math.max(size,names[j].length)}var name="";var iInit=iValue;while(size>0&&iValue<value.length){name+=value.charAt(iValue++);for(var i=0;i<names.length;i++){if(name==names[i]){return i+1}}size--}throw"Unknown name at position "+iInit};var checkLiteral=function(){if(value.charAt(iValue)!=format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":var date=new Date(getNumber("@"));year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(year==-1){year=new Date().getFullYear()}else{if(year<100){year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)}}if(doy>-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match)){while(num.length<len){num="0"+num}}return num};var formatName=function(match,value,shortNames,longNames){return(lookAhead(match)?longNames[value]:shortNames[value])};var output="";var literal=false;if(date){for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":var doy=date.getDate();for(var m=date.getMonth()-1;m>=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst){var dateFormat=this._get(inst,"dateFormat");var dates=inst.input?inst.input.val():null;inst.endDay=inst.endMonth=inst.endYear=null;var date=defaultDate=this._getDefaultDate(inst);var settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){this.log(event);date=defaultDate}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates?date.getDate():0);inst.currentMonth=(dates?date.getMonth():0);inst.currentYear=(dates?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));date=(date&&date.toString()=="Invalid Date"?defaultDate:date);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return this._daylightSavingAdjust(date)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row<numMonths[0];row++){var group="";for(var col=0;col<numMonths[1];col++){var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));var cornerClass=" ui-corner-all";var calender="";if(isMultiMonth){calender+='<div class="ui-datepicker-group ui-datepicker-group-';switch(col){case 0:calender+="first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+="last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+="middle";cornerClass="";break}calender+='">'}calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var thead="";for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"}calender+=thead+"</tr></thead><tbody>";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow<numRows;dRow++){calender+="<tr>";var tbody="";for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);tbody+='<td class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+"</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var changeMonth=this._get(inst,"changeMonth");var changeYear=this._get(inst,"changeYear");var showMonthAfterYear=this._get(inst,"showMonthAfterYear");var html='<div class="ui-datepicker-title">';var monthHtml="";if(secondary||!changeMonth){monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"}}monthHtml+="</select>"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?"&#xa0;":"")}if(secondary||!changeYear){html+='<span class="ui-datepicker-year">'+drawYear+"</span>"}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(;year<=endYear;year++){html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"}html+="</select>"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?"&#xa0;":"")+monthHtml}html+="</div>";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery);;/*
 * jQuery UI Progressbar 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Progressbar
 *
 * Depends:
 *   ui.core.js
 */
(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;/*
 * jQuery UI Effects 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||(function(d){d.effects={version:"1.7.2",save:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.data("ec.storage."+h[f],g[0].style[h[f]])}}},restore:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.css(h[f],g.data("ec.storage."+h[f]))}}},setMode:function(f,g){if(g=="toggle"){g=f.is(":hidden")?"show":"hide"}return g},getBaseline:function(g,h){var i,f;switch(g[0]){case"top":i=0;break;case"middle":i=0.5;break;case"bottom":i=1;break;default:i=g[0]/h.height}switch(g[1]){case"left":f=0;break;case"center":f=0.5;break;case"right":f=1;break;default:f=g[1]/h.width}return{x:f,y:i}},createWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent()}var g={width:f.outerWidth(true),height:f.outerHeight(true),"float":f.css("float")};f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var j=f.parent();if(f.css("position")=="static"){j.css({position:"relative"});f.css({position:"relative"})}else{var i=f.css("top");if(isNaN(parseInt(i,10))){i="auto"}var h=f.css("left");if(isNaN(parseInt(h,10))){h="auto"}j.css({position:f.css("position"),top:i,left:h,zIndex:f.css("z-index")}).show();f.css({position:"relative",top:0,left:0})}j.css(g);return j},removeWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent().replaceWith(f)}return f},setTransition:function(g,i,f,h){h=h||{};d.each(i,function(k,j){unit=g.cssUnit(j);if(unit[0]>0){h[j]=unit[0]*f+unit[1]}});return h},animateClass:function(h,i,k,j){var f=(typeof k=="function"?k:(j?j:null));var g=(typeof k=="string"?k:null);return this.each(function(){var q={};var o=d(this);var p=o.attr("style")||"";if(typeof p=="object"){p=p.cssText}if(h.toggle){o.hasClass(h.toggle)?h.remove=h.toggle:h.add=h.toggle}var l=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.addClass(h.add)}if(h.remove){o.removeClass(h.remove)}var m=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.removeClass(h.add)}if(h.remove){o.addClass(h.remove)}for(var r in m){if(typeof m[r]!="function"&&m[r]&&r.indexOf("Moz")==-1&&r.indexOf("length")==-1&&m[r]!=l[r]&&(r.match(/color/i)||(!r.match(/color/i)&&!isNaN(parseInt(m[r],10))))&&(l.position!="static"||(l.position=="static"&&!r.match(/left|top|bottom|right/)))){q[r]=m[r]}}o.animate(q,i,g,function(){if(typeof d(this).attr("style")=="object"){d(this).attr("style")["cssText"]="";d(this).attr("style")["cssText"]=p}else{d(this).attr("style",p)}if(h.add){d(this).addClass(h.add)}if(h.remove){d(this).removeClass(h.remove)}if(f){f.apply(this,arguments)}})})}};function c(g,f){var i=g[1]&&g[1].constructor==Object?g[1]:{};if(f){i.mode=f}var h=g[1]&&g[1].constructor!=Object?g[1]:(i.duration?i.duration:g[2]);h=d.fx.off?0:typeof h==="number"?h:d.fx.speeds[h]||d.fx.speeds._default;var j=i.callback||(d.isFunction(g[1])&&g[1])||(d.isFunction(g[2])&&g[2])||(d.isFunction(g[3])&&g[3]);return[g[0],i,h,j]}d.fn.extend({_show:d.fn.show,_hide:d.fn.hide,__toggle:d.fn.toggle,_addClass:d.fn.addClass,_removeClass:d.fn.removeClass,_toggleClass:d.fn.toggleClass,effect:function(g,f,h,i){return d.effects[g]?d.effects[g].call(this,{method:g,options:f||{},duration:h,callback:i}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._show.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"show"))}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._hide.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"hide"))}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||(d.isFunction(arguments[0])||typeof arguments[0]=="boolean")){return this.__toggle.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"toggle"))}},addClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{add:g},f,i,h]):this._addClass(g)},removeClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{remove:g},f,i,h]):this._removeClass(g)},toggleClass:function(g,f,i,h){return((typeof f!=="boolean")&&f)?d.effects.animateClass.apply(this,[{toggle:g},f,i,h]):this._toggleClass(g,f)},morph:function(f,h,g,j,i){return d.effects.animateClass.apply(this,[{add:h,remove:f},g,j,i])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(f){var g=this.css(f),h=[];d.each(["em","px","%","pt"],function(j,k){if(g.indexOf(k)>0){h=[parseFloat(g),k]}});return h}});d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(g,f){d.fx.step[f]=function(h){if(h.state==0){h.start=e(h.elem,f);h.end=b(h.end)}h.elem.style[f]="rgb("+[Math.max(Math.min(parseInt((h.pos*(h.end[0]-h.start[0]))+h.start[0],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[1]-h.start[1]))+h.start[1],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[2]-h.start[2]))+h.start[2],10),255),0)].join(",")+")"}});function b(g){var f;if(g&&g.constructor==Array&&g.length==3){return g}if(f=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)){return[parseInt(f[1],10),parseInt(f[2],10),parseInt(f[3],10)]}if(f=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)){return[parseFloat(f[1])*2.55,parseFloat(f[2])*2.55,parseFloat(f[3])*2.55]}if(f=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)){return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]}if(f=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)){return[parseInt(f[1]+f[1],16),parseInt(f[2]+f[2],16),parseInt(f[3]+f[3],16)]}if(f=/rgba\(0, 0, 0, 0\)/.exec(g)){return a.transparent}return a[d.trim(g).toLowerCase()]}function e(h,f){var g;do{g=d.curCSS(h,f);if(g!=""&&g!="transparent"||d.nodeName(h,"body")){break}f="backgroundColor"}while(h=h.parentNode);return b(g)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};d.easing.jswing=d.easing.swing;d.extend(d.easing,{def:"easeOutQuad",swing:function(g,h,f,j,i){return d.easing[d.easing.def](g,h,f,j,i)},easeInQuad:function(g,h,f,j,i){return j*(h/=i)*h+f},easeOutQuad:function(g,h,f,j,i){return -j*(h/=i)*(h-2)+f},easeInOutQuad:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h+f}return -j/2*((--h)*(h-2)-1)+f},easeInCubic:function(g,h,f,j,i){return j*(h/=i)*h*h+f},easeOutCubic:function(g,h,f,j,i){return j*((h=h/i-1)*h*h+1)+f},easeInOutCubic:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h+f}return j/2*((h-=2)*h*h+2)+f},easeInQuart:function(g,h,f,j,i){return j*(h/=i)*h*h*h+f},easeOutQuart:function(g,h,f,j,i){return -j*((h=h/i-1)*h*h*h-1)+f},easeInOutQuart:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h+f}return -j/2*((h-=2)*h*h*h-2)+f},easeInQuint:function(g,h,f,j,i){return j*(h/=i)*h*h*h*h+f},easeOutQuint:function(g,h,f,j,i){return j*((h=h/i-1)*h*h*h*h+1)+f},easeInOutQuint:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h*h+f}return j/2*((h-=2)*h*h*h*h+2)+f},easeInSine:function(g,h,f,j,i){return -j*Math.cos(h/i*(Math.PI/2))+j+f},easeOutSine:function(g,h,f,j,i){return j*Math.sin(h/i*(Math.PI/2))+f},easeInOutSine:function(g,h,f,j,i){return -j/2*(Math.cos(Math.PI*h/i)-1)+f},easeInExpo:function(g,h,f,j,i){return(h==0)?f:j*Math.pow(2,10*(h/i-1))+f},easeOutExpo:function(g,h,f,j,i){return(h==i)?f+j:j*(-Math.pow(2,-10*h/i)+1)+f},easeInOutExpo:function(g,h,f,j,i){if(h==0){return f}if(h==i){return f+j}if((h/=i/2)<1){return j/2*Math.pow(2,10*(h-1))+f}return j/2*(-Math.pow(2,-10*--h)+2)+f},easeInCirc:function(g,h,f,j,i){return -j*(Math.sqrt(1-(h/=i)*h)-1)+f},easeOutCirc:function(g,h,f,j,i){return j*Math.sqrt(1-(h=h/i-1)*h)+f},easeInOutCirc:function(g,h,f,j,i){if((h/=i/2)<1){return -j/2*(Math.sqrt(1-h*h)-1)+f}return j/2*(Math.sqrt(1-(h-=2)*h)+1)+f},easeInElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return -(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f},easeOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return h*Math.pow(2,-10*i)*Math.sin((i*l-j)*(2*Math.PI)/k)+m+f},easeInOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l/2)==2){return f+m}if(!k){k=l*(0.3*1.5)}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}if(i<1){return -0.5*(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f}return h*Math.pow(2,-10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k)*0.5+m+f},easeInBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*(h/=j)*h*((i+1)*h-i)+f},easeOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*((h=h/j-1)*h*((i+1)*h+i)+1)+f},easeInOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}if((h/=j/2)<1){return k/2*(h*h*(((i*=(1.525))+1)*h-i))+f}return k/2*((h-=2)*h*(((i*=(1.525))+1)*h+i)+2)+f},easeInBounce:function(g,h,f,j,i){return j-d.easing.easeOutBounce(g,i-h,0,j,i)+f},easeOutBounce:function(g,h,f,j,i){if((h/=i)<(1/2.75)){return j*(7.5625*h*h)+f}else{if(h<(2/2.75)){return j*(7.5625*(h-=(1.5/2.75))*h+0.75)+f}else{if(h<(2.5/2.75)){return j*(7.5625*(h-=(2.25/2.75))*h+0.9375)+f}else{return j*(7.5625*(h-=(2.625/2.75))*h+0.984375)+f}}}},easeInOutBounce:function(g,h,f,j,i){if(h<i/2){return d.easing.easeInBounce(g,h*2,0,j,i)*0.5+f}return d.easing.easeOutBounce(g,h*2-i,0,j,i)*0.5+j*0.5+f}})})(jQuery);;/*
 * jQuery UI Effects Blind 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Blind
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.blind=function(b){return this.queue(function(){var d=a(this),c=["position","top","left"];var h=a.effects.setMode(d,b.options.mode||"hide");var g=b.options.direction||"vertical";a.effects.save(d,c);d.show();var j=a.effects.createWrapper(d).css({overflow:"hidden"});var e=(g=="vertical")?"height":"width";var i=(g=="vertical")?j.height():j.width();if(h=="show"){j.css(e,0)}var f={};f[e]=h=="show"?i:0;j.animate(f,b.duration,b.options.easing,function(){if(h=="hide"){d.hide()}a.effects.restore(d,c);a.effects.removeWrapper(d);if(b.callback){b.callback.apply(d[0],arguments)}d.dequeue()})})}})(jQuery);;/*
 * jQuery UI Effects Bounce 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Bounce
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.bounce=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"up";var c=b.options.distance||20;var d=b.options.times||5;var g=b.duration||250;if(/show|hide/.test(k)){l.push("opacity")}a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var c=b.options.distance||(f=="top"?e.outerHeight({margin:true})/3:e.outerWidth({margin:true})/3);if(k=="show"){e.css("opacity",0).css(f,p=="pos"?-c:c)}if(k=="hide"){c=c/(d*2)}if(k!="hide"){d--}if(k=="show"){var h={opacity:1};h[f]=(p=="pos"?"+=":"-=")+c;e.animate(h,g/2,b.options.easing);c=c/2;d--}for(var j=0;j<d;j++){var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing);c=(k=="hide")?c*2:c/2}if(k=="hide"){var h={opacity:0};h[f]=(p=="pos"?"-=":"+=")+c;e.animate(h,g/2,b.options.easing,function(){e.hide();a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}else{var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Clip 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Clip
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.clip=function(b){return this.queue(function(){var f=a(this),j=["position","top","left","height","width"];var i=a.effects.setMode(f,b.options.mode||"hide");var k=b.options.direction||"vertical";a.effects.save(f,j);f.show();var c=a.effects.createWrapper(f).css({overflow:"hidden"});var e=f[0].tagName=="IMG"?c:f;var g={size:(k=="vertical")?"height":"width",position:(k=="vertical")?"top":"left"};var d=(k=="vertical")?e.height():e.width();if(i=="show"){e.css(g.size,0);e.css(g.position,d/2)}var h={};h[g.size]=i=="show"?d:0;h[g.position]=i=="show"?0:d/2;e.animate(h,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){f.hide()}a.effects.restore(f,j);a.effects.removeWrapper(f);if(b.callback){b.callback.apply(f[0],arguments)}f.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Drop 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Drop
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.drop=function(b){return this.queue(function(){var e=a(this),d=["position","top","left","opacity"];var i=a.effects.setMode(e,b.options.mode||"hide");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e);var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true})/2:e.outerWidth({margin:true})/2);if(i=="show"){e.css("opacity",0).css(f,c=="pos"?-j:j)}var g={opacity:i=="show"?1:0};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Explode 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Explode
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.explode=function(b){return this.queue(function(){var k=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;var e=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?(a(this).is(":visible")?"hide":"show"):b.options.mode;var h=a(this).show().css("visibility","hidden");var l=h.offset();l.top-=parseInt(h.css("marginTop"),10)||0;l.left-=parseInt(h.css("marginLeft"),10)||0;var g=h.outerWidth(true);var c=h.outerHeight(true);for(var f=0;f<k;f++){for(var d=0;d<e;d++){h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-d*(g/e),top:-f*(c/k)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/e,height:c/k,left:l.left+d*(g/e)+(b.options.mode=="show"?(d-Math.floor(e/2))*(g/e):0),top:l.top+f*(c/k)+(b.options.mode=="show"?(f-Math.floor(k/2))*(c/k):0),opacity:b.options.mode=="show"?0:1}).animate({left:l.left+d*(g/e)+(b.options.mode=="show"?0:(d-Math.floor(e/2))*(g/e)),top:l.top+f*(c/k)+(b.options.mode=="show"?0:(f-Math.floor(k/2))*(c/k)),opacity:b.options.mode=="show"?1:0},b.duration||500)}}setTimeout(function(){b.options.mode=="show"?h.css({visibility:"visible"}):h.css({visibility:"visible"}).hide();if(b.callback){b.callback.apply(h[0])}h.dequeue();a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*
 * jQuery UI Effects Fold 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Fold
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.fold=function(b){return this.queue(function(){var e=a(this),k=["position","top","left"];var h=a.effects.setMode(e,b.options.mode||"hide");var o=b.options.size||15;var n=!(!b.options.horizFirst);var g=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(e,k);e.show();var d=a.effects.createWrapper(e).css({overflow:"hidden"});var i=((h=="show")!=n);var f=i?["width","height"]:["height","width"];var c=i?[d.width(),d.height()]:[d.height(),d.width()];var j=/([0-9]+)%/.exec(o);if(j){o=parseInt(j[1],10)/100*c[h=="hide"?0:1]}if(h=="show"){d.css(n?{height:0,width:o}:{height:o,width:0})}var m={},l={};m[f[0]]=h=="show"?c[0]:o;l[f[1]]=h=="show"?c[1]:0;d.animate(m,g,b.options.easing).animate(l,g,b.options.easing,function(){if(h=="hide"){e.hide()}a.effects.restore(e,k);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(e[0],arguments)}e.dequeue()})})}})(jQuery);;/*
 * jQuery UI Effects Highlight 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.highlight=function(b){return this.queue(function(){var e=a(this),d=["backgroundImage","backgroundColor","opacity"];var h=a.effects.setMode(e,b.options.mode||"show");var c=b.options.color||"#ffff99";var g=e.css("backgroundColor");a.effects.save(e,d);e.show();e.css({backgroundImage:"none",backgroundColor:c});var f={backgroundColor:g};if(h=="hide"){f.opacity=0}e.animate(f,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(h=="hide"){e.hide()}a.effects.restore(e,d);if(h=="show"&&a.browser.msie){this.style.removeAttribute("filter")}if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Pulsate 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Pulsate
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.pulsate=function(b){return this.queue(function(){var d=a(this);var g=a.effects.setMode(d,b.options.mode||"show");var f=b.options.times||5;var e=b.duration?b.duration/2:a.fx.speeds._default/2;if(g=="hide"){f--}if(d.is(":hidden")){d.css("opacity",0);d.show();d.animate({opacity:1},e,b.options.easing);f=f-2}for(var c=0;c<f;c++){d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing)}if(g=="hide"){d.animate({opacity:0},e,b.options.easing,function(){d.hide();if(b.callback){b.callback.apply(this,arguments)}})}else{d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing,function(){if(b.callback){b.callback.apply(this,arguments)}})}d.queue("fx",function(){d.dequeue()});d.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Scale 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Scale
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.puff=function(b){return this.queue(function(){var f=a(this);var c=a.extend(true,{},b.options);var h=a.effects.setMode(f,b.options.mode||"hide");var g=parseInt(b.options.percent,10)||150;c.fade=true;var e={height:f.height(),width:f.width()};var d=g/100;f.from=(h=="hide")?e:{height:e.height*d,width:e.width*d};c.from=f.from;c.percent=(h=="hide")?g:100;c.mode=h;f.effect("scale",c,b.duration,b.callback);f.dequeue()})};a.effects.scale=function(b){return this.queue(function(){var g=a(this);var d=a.extend(true,{},b.options);var j=a.effects.setMode(g,b.options.mode||"effect");var h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:(j=="hide"?0:100));var i=b.options.direction||"both";var c=b.options.origin;if(j!="effect"){d.origin=c||["middle","center"];d.restore=true}var f={height:g.height(),width:g.width()};g.from=b.options.from||(j=="show"?{height:0,width:0}:f);var e={y:i!="horizontal"?(h/100):1,x:i!="vertical"?(h/100):1};g.to={height:f.height*e.y,width:f.width*e.x};if(b.options.fade){if(j=="show"){g.from.opacity=0;g.to.opacity=1}if(j=="hide"){g.from.opacity=1;g.to.opacity=0}}d.from=g.from;d.to=g.to;d.mode=j;g.effect("size",d,b.duration,b.callback);g.dequeue()})};a.effects.size=function(b){return this.queue(function(){var c=a(this),n=["position","top","left","width","height","overflow","opacity"];var m=["position","top","left","overflow","opacity"];var j=["width","height","overflow"];var p=["fontSize"];var k=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"];var f=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"];var g=a.effects.setMode(c,b.options.mode||"effect");var i=b.options.restore||false;var e=b.options.scale||"both";var o=b.options.origin;var d={height:c.height(),width:c.width()};c.from=b.options.from||d;c.to=b.options.to||d;if(o){var h=a.effects.getBaseline(o,d);c.from.top=(d.height-c.from.height)*h.y;c.from.left=(d.width-c.from.width)*h.x;c.to.top=(d.height-c.to.height)*h.y;c.to.left=(d.width-c.to.width)*h.x}var l={from:{y:c.from.height/d.height,x:c.from.width/d.width},to:{y:c.to.height/d.height,x:c.to.width/d.width}};if(e=="box"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(k);c.from=a.effects.setTransition(c,k,l.from.y,c.from);c.to=a.effects.setTransition(c,k,l.to.y,c.to)}if(l.from.x!=l.to.x){n=n.concat(f);c.from=a.effects.setTransition(c,f,l.from.x,c.from);c.to=a.effects.setTransition(c,f,l.to.x,c.to)}}if(e=="content"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(p);c.from=a.effects.setTransition(c,p,l.from.y,c.from);c.to=a.effects.setTransition(c,p,l.to.y,c.to)}}a.effects.save(c,i?n:m);c.show();a.effects.createWrapper(c);c.css("overflow","hidden").css(c.from);if(e=="content"||e=="both"){k=k.concat(["marginTop","marginBottom"]).concat(p);f=f.concat(["marginLeft","marginRight"]);j=n.concat(k).concat(f);c.find("*[width]").each(function(){child=a(this);if(i){a.effects.save(child,j)}var q={height:child.height(),width:child.width()};child.from={height:q.height*l.from.y,width:q.width*l.from.x};child.to={height:q.height*l.to.y,width:q.width*l.to.x};if(l.from.y!=l.to.y){child.from=a.effects.setTransition(child,k,l.from.y,child.from);child.to=a.effects.setTransition(child,k,l.to.y,child.to)}if(l.from.x!=l.to.x){child.from=a.effects.setTransition(child,f,l.from.x,child.from);child.to=a.effects.setTransition(child,f,l.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){if(i){a.effects.restore(child,j)}})})}c.animate(c.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(g=="hide"){c.hide()}a.effects.restore(c,i?n:m);a.effects.removeWrapper(c);if(b.callback){b.callback.apply(this,arguments)}c.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Shake 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Shake
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.shake=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"left";var c=b.options.distance||20;var d=b.options.times||3;var g=b.duration||b.options.duration||140;a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var h={},o={},m={};h[f]=(p=="pos"?"-=":"+=")+c;o[f]=(p=="pos"?"+=":"-=")+c*2;m[f]=(p=="pos"?"-=":"+=")+c*2;e.animate(h,g,b.options.easing);for(var j=1;j<d;j++){e.animate(o,g,b.options.easing).animate(m,g,b.options.easing)}e.animate(o,g,b.options.easing).animate(h,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}});e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Slide 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Slide
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.slide=function(b){return this.queue(function(){var e=a(this),d=["position","top","left"];var i=a.effects.setMode(e,b.options.mode||"show");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e).css({overflow:"hidden"});var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true}):e.outerWidth({margin:true}));if(i=="show"){e.css(f,c=="pos"?-j:j)}var g={};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Transfer 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Transfer
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.transfer=function(b){return this.queue(function(){var f=a(this),h=a(b.options.to),e=h.offset(),g={top:e.top,left:e.left,height:h.innerHeight(),width:h.innerWidth()},d=f.offset(),c=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:d.top,left:d.left,height:f.innerHeight(),width:f.innerWidth(),position:"absolute"}).animate(g,b.duration,b.options.easing,function(){c.remove();(b.callback&&b.callback.apply(f[0],arguments));f.dequeue()})})}})(jQuery);;
(function($) {
$.fn.loading = function(settings) {
settings = jQuery.extend({
loaded: false,
fade: false,
FadeInSpeed: 400,
FadeOutSpeed: 300,
FadeFinal: 0.8
}, settings);
var jQueryObj = this;
function init() {
if (settings.loaded) {
if (settings.fade) {
$(jQueryObj).find('.loading').animate({ opacity: 0 }, settings.fadeInSpeed, function() { $(this).remove() });
} else {
$(jQueryObj).find('.loading').remove();
}
} else {
$(jQueryObj).append('<div class="loading"></div>');
$(jQueryObj).find('.loading').css({ height: $(jQueryObj).height() });
if (settings.fade) {
$(jQueryObj).find('.loading').css({ display: 'block', opacity: 0 }).animate({ opacity: settings.FadeFinal }, settings.fadeOutSpeed);
} else {
$(jQueryObj).find('.loading').css({ display: 'block', opacity: settings.FadeFinal });
}
}
jQueryObj = null;
}
init();
}
})(jQuery);
(function($) {
$.fn.mosaic = function() {
jQueryObj = this;
container = $(jQueryObj).parent().parent().parent().parent();
infoBoxBg = '<div id="mosaicInfoBoxBg" class="infoBoxBg"></div>';
infoBox = '<div id="mosaicInfoBox" class="infoBox"><a href="#" title="' + sonora.translator.translate('close') + '" class="close">' + sonora.translator.translate('close') + '</a><img src="#" alt="[album_name] - [artist_name]" /></div>';
$(jQueryObj)
.unbind()
.bind('mouseover', function() { hover($(this).parent().parent()) })
.bind('mouseout', function() { out($(this).parent().parent()) })
.bind('click', function() { openInfo($(this).parent().parent()); return false; });
function hover(obj) {
$(obj).addClass('info hover');
obj = null;
}
function out(obj) {
$(obj).removeClass('info hover');
obj = null;
}
function openInfo(obj) {
out(obj);
$(container).append(infoBoxBg).append(infoBox);
$('.infoBoxBg,.infoBox').css({ display: 'block', opacity: 0 });
var _infoBox = $('.infoBox');
var _infoBoxTop = $(obj).position().top;
var _infoBoxLeft = $(obj).position().left - (($(_infoBox).width() - $(obj).width()) / 2);
if (_infoBoxLeft < 0) { _infoBoxLeft = 10 };
if (_infoBoxLeft + $(_infoBox).width() > $(container).width()) { _infoBoxLeft = $(container).width() - $(_infoBox).width() - 10 };
var info = $(obj).find('.info').clone();
var actions = $(obj).find('.actions').clone();
$(_infoBox).find('img').attr({ src: $(obj).find('img').attr('src'), alt: $(obj).find('img').attr('alt') });
$(_infoBox).append(info).append(actions);
var infoBoxBgElement = $('.infoBoxBg');
infoBoxBgElement.animate({ opacity: 0.8 }, 200, function() {
$(_infoBox).css({ top: _infoBoxTop, left: _infoBoxLeft }).animate({ opacity: 1 }, 300);
});
$('.infoBoxBg, .infoBox a.close').bind('click', closeInfo);
var params = { isHidden: $('.infoBox').is(":hidden"), offsetTop: $('.infoBox').position().top, offsetLeft: $('.infoBox').position().left, outerHeight: $('.infoBox').outerHeight(), outerWidth: $('.infoBox').outerWidth() };
$("html").bind("click", { obj: params }, closeObjs);
if (sonora.facebookLike.enableFacebookLike) {
var url = $(obj).find('a').attr('href');
url = sonora.pages.commons.fixIEUrl(url);
if (url.charAt(0) != "/") {
url = "/" + url;
}
sonora.facebookLike.loadFacebookLike(_infoBox, url);
}
obj = null;
info = null;
actions = null;
infoBoxBgElement = null;
if (sonora.facebookLike.enableFacebookLike) {
$('.facebookLike').addClass('facebookHome');
}
}
function closeInfo() {
if (sonora.pages.commons.overlays.overlaySelector != null) {
sonora.pages.commons.overlays.hide();
} else {
$('.infoBox').animate({ opacity: 0 }, 100, function() { $(this).remove(); $('.infoBoxBg').animate({ opacity: 0 }, 300).remove(); });
$("html").unbind("click");
sonora.pages.commons.ieMemoryLeakFix($("#mosaicInfoBox"), true);
sonora.pages.commons.ieMemoryLeakFix($("#mosaicInfoBoxBg"), true);
}
return false;
}
function closeObjs(event) {
var params = event.data.obj;
if (!params.isHidden) {
var isOverlay = sonora.pages.commons.overlays.isClickOnIt(event);
if ($('.infoBox').length > 0) {
var x1 = $('.infoBox').position().left + $(".explorer").offset().left;
var x2 = x1 + params.outerWidth;
var y1 = $('.infoBox').position().top + $(".explorer").offset().top;
var y2 = y1 + params.outerHeight;
var log = "x1 = " + x1 + "\n";
log += "x2 = " + x2 + "\n";
log += "y1 = " + y1 + "\n";
log += "y2 = " + y2 + "\n";
log += "pageX = " + event.pageX + "\n";
log += "pageY = " + event.pageY + "\n";
if ((event.pageX > x1 && event.pageX < x2 && event.pageY > y1 && event.pageY < y2) || isOverlay)
return;
}
closeInfo();
};
}
}
})(jQuery);
jQuery().ready(function() {
$('.user_details .avatar')
.bind('mouseenter', function() { $(this).addClass('hover') })
.bind('mouseleave', function() { $(this).removeClass('hover') });
$('.sonora_footer dl dd:last-child').css({ border: 0 });
$('table.music_list input').click(function() { $('.musicControl').animate({ opacity: 1 }); });
$('.musicControl a').click(function() { $('.musicControl').animate({ opacity: 0 }); return false; });
$('.library dl.library_nav dd>a').click(function() {
$('.library dl.library_nav dd>a').removeClass('opened').parent().parent().find('ul').slideUp();
if ($(this).parent().find('ul').is(':hidden')) {
$(this).addClass('opened').parent().find('ul').slideDown();
}
return false;
});
$('.user_info .dropdown,.mysonora .dropdown').dropdown();
$('.fast_playlist .genreBlock ul li .dropdown').dropdown({ oneLine: false });
$('.main_nav ul.nav>li').navigation();
$('.history .btnDetails').click(function() {
var tds = $(this).parent().parent().find('>td');
var details = $(this).parent().parent().find('.details');
var div = $(details).find('.tableDetails');
var tdh = $(tds).outerHeight(true);
$(tds).addClass('disabled');
$(details).removeClass('disabled');
var h = $(div).height();
$(div).css({ height: tdh }).stop().animate({ height: h });
$('.history .btnDetailsOff').bind('click', function() {
$(this).parent().parent().parent().parent().parent().stop().animate({ height: tdh }, function() {
$(this).parent().parent().find('>td').removeClass('disabled');
$(this).parent().parent().find('.details').addClass('disabled');
$(this).css({ height: 'auto' })
});
return false;
});
tds = null;
details = null;
div = null;
tdh = null;
h = null;
return false;
});
$('.devices dd a').click(function() {
var links = $('.devices dd a');
var listId = $(this).attr('href');
var lists = $('.devices ul');
var listHeight = $(listId).height();
if ($(listId).is(':hidden')) {
$(links).removeClass('selected');
$(this).addClass('selected');
$(lists).hide();
$(listId).show();
}
links = null;
listId = null;
lists = null;
listHeight = null;
return false;
})
if($('.sonora_header .search_field .examples').length > 0) {
$('.sonora_header .search_field .examples').searchRanking();
}
});
(function($) {
$.fn.dropdown = function(settings, callback) {
settings = jQuery.extend({
openEffect: "fast",
closeEffect: "fast",
oneLine: true
}, settings);
var jQueryObj = this;
function init() {
$(jQueryObj).hover(function() { $(this).addClass("hover") }, function() { $(this).removeClass("hover"); });
$(jQueryObj).click(
function() {
var dropdown = this;
if ($(dropdown).find("ul:first").is(":hidden")) {
$(jQueryObj).removeClass("selected").find("ul:first").hide();
$(dropdown).addClass("selected");
$(dropdown).css({ "z-index": "9" });
$("html").bind("click", { obj: $(dropdown).find("ul:first") }, closeObjs);
$(dropdown).find('ul li a').unbind('click').bind('click', function() {
if ($(this).hasClass('openpopup')) {
closeDropdown($(dropdown).find('ul:first'));
}
else {
selectItem($(this), $(dropdown));
if ($(this).attr("href")) {
SWFAddress.setValue($(this).attr("href"));
}
}
});
if (settings.openEffect) {
$(this).find("ul:first").slideDown(settings.openEffect);
} else {
$(this).find("ul:first").show();
}
} else {
if (settings.closeEffect) {
$(this).find("ul:first").slideUp(settings.closeEffect, function() { $(jQueryObj).removeClass("selected"); });
} else {
$(this).find("ul:first").hide();
$(this).removeClass("selected");
}
$("html").unbind("click");
}
return false;
}
)
function selectItem(obj, dropdown) {
$(dropdown).find('span').text($(obj).text());
$(dropdown).find('input').attr({ 'value': $(obj).attr('id') });
closeDropdown($(dropdown).find('ul:first'));
if (callback != null && typeof (callback) == 'function') {
callback(dropdown);
}
return false;
}
if (settings.oneLine) {
$(jQueryObj).find("ul:first > li:odd > a").addClass("striped");
} else {
$(jQueryObj).find("ul:first > li").css({ width: "50%", float: "left" });
$(jQueryObj).find("ul:first > li:nth-child(4n) > a, ul:first > li:nth-child(4n+3) > a").addClass("striped");
}
}
function closeDropdown(obj) {
if (settings.closeEffect) {
$(obj).slideUp(settings.closeEffect, function() {
$(jQueryObj).removeClass("selected");
$(jQueryObj).css({ "z-index": "0" });
});
} else {
$(obj).hide();
$(jQueryObj).removeClass("selected");
}
$("html").unbind("click");
}
function closeObjs(event) {
if (!$(event.data.obj).is(":hidden")) {
closeDropdown($(event.data.obj));
};
event = null;
}
init();
}
})(jQuery);
var menuSelectedIndex = -1;
var timerHover = null;
(function($) {
$.fn.navigation = function(settings) {
settings = jQuery.extend({
openEffect: "fast",
closeEffect: "fast",
twoLines: false
}, settings);
var jQueryObj = this;
function init() {
$(jQueryObj).unbind()
.bind('mouseenter', function() { buttonOver($(this)) })
.bind('mouseleave', function() { buttonOut($(this)) })
.find('span').bind('click', function() { openMenu($(this).parent()); return false; });
jQueryObj.each(function(i) {
if ($(this).hasClass('selected')) {
menuSelectedIndex = $(jQueryObj).index($(this));
}
});
}
function buttonOver(obj) {
$(jQueryObj).eq(menuSelectedIndex).removeClass('selected');
$(obj).addClass('hover');
if (timerHover != null) clearInterval(timerHover);
}
function buttonOut(obj) {
if (!$(jQueryObj).hasClass('selected')) {
timerHover = setTimeout(function() {
$(jQueryObj).eq(menuSelectedIndex).addClass('selected');
}, 500);
}
$(obj).removeClass('hover');
}
function openMenu(obj) {
var lists = $(jQueryObj).find("div");
var list = $(obj).find("div");
$(obj).find('a').unbind("click").click(function(e) {
e.preventDefault();
$(this).addClass('visited');
SWFAddress.setValue($(this).attr("href"));
closeMenu(obj, settings.closeEffect);
});
$(obj).find('a.close').unbind("click").click(function(e) {
e.preventDefault();
closeMenu(obj, settings.closeEffect);
});
if (!$(lists).is(":visible")) {
$(obj).addClass("selected");
$("html").bind("click", { obj: list }, closeObjs);
if (settings.openEffect) {
$(list).slideDown(settings.openEffect);
} else {
$(list).show();
}
} else {
var hasSelected = obj.hasClass('selected');
$(jQueryObj).removeClass();
$(lists).hide();
if (!hasSelected)
openMenu(obj);
}
}
function closeMenu(obj, effect) {
var list = $(obj).find("div");
if (effect) {
$(list).slideUp(settings.closeEffect, function() { $(jQueryObj).removeClass("selected"); buttonOut(obj); });
} else {
$(list).hide();
$(obj).removeClass("selected", function() { buttonOut(obj); });
}
$("html").unbind("click");
}
function closeObjs(event) {
if ($(event.data.obj).is(":visible")) {
var outerObj = event.data.obj;
var x1 = outerObj.offset().left;
var x2 = x1 + outerObj.outerWidth();
var y1 = outerObj.offset().top;
var y2 = y1 + outerObj.outerHeight();
if (event.pageX > x1 && event.pageX < x2 && event.pageY > y1 && event.pageY < y2) {
return;
}
else {
closeMenu($(event.data.obj).parent(), settings.closeEffect)
}
}
}
init();
}
})(jQuery);
{
$.fn.filterWithList = function(options) {
return this.each(function() {
return new filterWithList(this, options);
});
};
var filterWithList = function(el, options) {
this.el = $(el);
this.id = this.el.attr('id');
this.el.attr('autocomplete', 'off');
this.suggestions = [];
this.data = [];
this.badQueries = [];
this.useBadQueries = false;
this.selectedIndex = -1;
this.currentValue = this.el.val();
this.intervalId = 0;
this.cachedResponse = [];
this.onChangeInterval = null;
this.ignoreValueChange = false;
this.serviceUrl = options.serviceUrl;
this.options = {
autoSubmit: false,
minChars: 3,
maxHeight: 300,
deferRequestBy: 100,
width: 0,
listContainer: '#filterWithListItensContainer',
MaxItensList: 0,
form: null
};
if (options) { $.extend(this.options, options); }
this.initialize();
};
filterWithList.isArray = function(obj) { return obj && obj.constructor === Array; };
filterWithList.highlight = function(value, re, tm) {
var terms = value.match(re);
for (i = 0; i < terms.length; i++) {
if (terms[i].substr(0, 1) != "<") {
terms[i] = terms[i].replace(eval('/' + tm + '\/gi'), function(match) { return '<strong>' + match + '<\/strong>' });
}
}
value = null;
re = null;
tm = null;
return terms.join("");
};
filterWithList.prototype = {
killerFn: null,
initialize: function() {
var me = this;
this.killerFn = function(e) {
if ($(e.target).parents('.FilterWithList').size() === 0) {
me.killSuggestions();
me.disableKillerFn();
}
};
if (!this.options.width) { this.options.width = this.el.width() + 25; }
this.mainContainerId = 'filterWithListContainter_' + this.id;
$(this.options.listContainer).addClass("FilterWithListItensContainer");
$('<div id="' + this.mainContainerId + '" style="position:absolute;"><div class="FilterWithList-w1"><div class="FilterWithList-w2"><div class="FilterWithList" id="filterWithList_' + this.id + '" style="display:none; width:' + this.options.width + 'px;"></div></div></div></div>').appendTo('body');
this.container = $('#filterWithList_' + this.id);
this.fixPosition();
if (window.opera) {
this.el.keypress(function(e) { me.onKeyPress(e); });
} else {
this.el.keydown(function(e) { me.onKeyPress(e); });
}
this.el.keyup(function(e) { me.onKeyUp(e); });
this.el.blur(function() { me.enableKillerFn(); });
this.el.focus(function() { me.fixPosition(); });
this.container.css({ maxHeight: this.options.maxHeight + 'px' });
},
fixPosition: function() {
var offset = this.el.offset();
$('#' + this.mainContainerId).css({ top: (offset.top + this.el.height()) + 'px', left: offset.left + 'px' });
},
enableKillerFn: function() {
var me = this;
$(document).bind('click', me.killerFn);
},
disableKillerFn: function() {
var me = this;
$(document).unbind('click', me.killerFn);
},
killSuggestions: function() {
var me = this;
this.stopKillSuggestions();
this.intervalId = window.setInterval(function() { me.hide(); me.stopKillSuggestions(); }, 300);
},
stopKillSuggestions: function() {
window.clearInterval(this.intervalId);
},
sendForm: function() {
if ($(this.options.form).length > 0) {
SWFAddress.setValue($(this.options.form).attr("action") + "?q=" + sonora.pages.commons.removeInvalidString(this.currentValue));
return false;
}
},
onKeyPress: function(e) {
if (!this.enabled) { return; }
switch (e.keyCode) {
case 27: //Event.KEY_ESC:
this.onChangeSearchBox(this.getIndexSuggestion(sonora.pages.commons.removeInvalidString(this.currentValue)));
this.hide();
break;
case 9: //Event.KEY_TAB:
case 13: //Event.KEY_RETURN:
if (this.selectedIndex === -1) {
this.hide();
return;
}
this.select(this.selectedIndex);
this.sendForm();
if (e.keyCode === 9) { return; }
break;
case 38: //Event.KEY_UP:
this.moveUp();
break;
case 40: //Event.KEY_DOWN:
this.moveDown();
break;
default:
return;
}
e.stopPropagation();
e.preventDefault();
},
onKeyUp: function(e) {
switch (e.keyCode) {
case 38: //Event.KEY_UP:
case 40: //Event.KEY_DOWN:
return;
}
clearInterval(this.onChangeInterval);
if (this.options.deferRequestBy > 0) {
this.onChangeInterval = setInterval((function() {
this.onValueChange();
}).bind(this), this.options.deferRequestBy);
} else if (this.currentValue !== this.el.val()) {
this.onValueChange();
}
},
onValueChange: function() {
clearInterval(this.onChangeInterval);
this.currentValue = this.el.val();
this.selectedIndex = -1;
if (this.ignoreValueChange) {
this.ignoreValueChange = false;
return;
}
if (this.currentValue === '' || this.currentValue.length < this.options.minChars) {
this.hide();
} else {
this.getSuggestions();
}
},
getSuggestions: function() {
var cr = this.cachedResponse[this.currentValue];
if (cr && filterWithList.isArray(cr.suggestions)) {
this.suggestions = cr.suggestions;
this.data = cr.data;
this.suggest();
} else if (!this.isBadQuery(this.currentValue)) {
var me = this;
if (sonora.autoCompleteUrl != "") {
$.ajax({
url: this.serviceUrl,
dataType: "jsonp",
jsonp: "jsonp", // substitui nome da função callback na url do request
data: {
query: this.currentValue
},
success: function(json) {
me.processResponse(json);
}
});
} else {
$.ajax({
url: this.serviceUrl,
dataType: "json",
data: {
query: this.currentValue
},
success: function(json) {
me.processResponse(json);
}
});
}
}
},
isBadQuery: function(q) {
var i = this.badQueries.length;
while (i--) {
if (q.indexOf(this.badQueries[i]) === 0) { return true; }
}
return false;
},
hide: function() {
this.enabled = false;
this.selectedIndex = -1;
this.container.hide();
},
getIndexSuggestion: function(value) {
try {
for (i = 0; i < this.suggestions.length; i++)
if (this.suggestions[i] == value)
return i;
}
catch (err) {
return -1;
}
return -1;
},
suggest: function() {
if (this.suggestions.length === 0) {
this.hide();
return;
}
var re = new RegExp('(\\x3C(\\w|\\s|\\x3D|\\x22|\\x27|\/)*\\x3E)|((\\w|\\s|\\x26|\\x23|\\x2C|\\x3B|\\x3A|\\x2B|\\x21|\\x133|\\x135|\\x7B|\\x7C|\\x7D)*)', 'gi');
var tm = '\\b' + this.currentValue.match(/\w+/g).join('|\\b');
var me = this;
var len = this.suggestions.length;
var div;
this.container.html('');
for (var i = 0; i < len; i++) {
div = $((me.selectedIndex === i ? '<div class="selected"' : '<div') + '>' + filterWithList.highlight(me.suggestions[i], re, tm) + '</div>');
div.mouseover((function(xi) { return function() { me.activate(xi); }; })(i));
div.click((function(xi) {
return function() {
me.select(xi);
me.sendForm();
};
})(i));
this.container.append(div);
}
this.enabled = true;
this.container.show();
this.fixPosition();
},
processResponse: function(json) {
var response;
try {
response = json;
if (!filterWithList.isArray(response.data)) { response.data = []; }
} catch (err) { return; }
this.suggestions = response.suggestions;
this.data = response.data;
this.cachedResponse[response.query] = response;
if (response.suggestions.length === 0 && this.useBadQueries) { this.badQueries.push(response.query); }
if (response.query === this.currentValue) { this.suggest(); }
$(".FilterWithList-w1").show();
},
activate: function(index) {
var divs = this.container.children();
var activeItem;
if (this.selectedIndex !== -1 && divs.length > this.selectedIndex) {
$(divs.get(this.selectedIndex)).attr('class', '');
}
this.selectedIndex = index;
if (this.selectedIndex !== -1 && divs.length > this.selectedIndex) {
activeItem = divs.get(this.selectedIndex);
$(activeItem).attr('class', 'selected');
}
return activeItem;
},
deactivate: function(div, index) {
div.className = '';
if (this.selectedIndex === index) { this.selectedIndex = -1; }
},
select: function(i) {
var selectedValue = this.suggestions[i];
if (selectedValue) {
this.onChangeSearchBox(i);
if (this.options.autoSubmit) {
var f = this.el.parents('form');
if (f.length > 0) { f.get(0).submit(); }
}
this.ignoreValueChange = true;
this.hide();
this.onSelect(i);
}
},
moveUp: function() {
if (this.selectedIndex === -1) { return; }
if (this.selectedIndex === 0) {
this.container.children().get(0).className = '';
this.selectedIndex = -1;
this.onChangeSearchBox(this.getIndexSuggestion(this.currentValue));
return;
}
this.adjustScroll(this.selectedIndex - 1);
},
moveDown: function() {
if (this.selectedIndex === (this.suggestions.length - 1)) { return; }
this.adjustScroll(this.selectedIndex + 1);
},
adjustScroll: function(i) {
var activeItem = this.activate(i);
var offsetTop = activeItem.offsetTop;
var upperBound = this.container.scrollTop();
var lowerBound = upperBound + this.options.maxHeight - 25;
if (offsetTop < upperBound) {
this.container.scrollTop(offsetTop);
} else if (offsetTop > lowerBound) {
this.container.scrollTop(offsetTop - this.options.maxHeight + 25);
}
this.onChangeSearchBox(i);
},
onChangeSearchBox: function(i) {
var defaultEvent = (function(text, data, currentThis) {
currentThis.el.val(currentThis.suggestions[i]);
currentThis.currentValue = currentThis.el.val();
});
(this.options.onChangeSearchBox || defaultEvent)(this.suggestions[i], this.data[i], this);
},
onSelect: function(i) {
var defaultEvent = (function(text, data, currentThis) {
var containerName = currentThis.options.listContainer.replace("#", "").replace(".", "");
var inputName = "hiddenField_" + containerName + "_" + data;
var divName = "item_" + containerName + "_" + data;
$(currentThis.el).val("");
$(currentThis.el).focus();
if (currentThis.options.MaxItensList > 0 && $(currentThis.options.listContainer).children().length >= currentThis.options.MaxItensList) return;
if ($("input[value='" + data + "']").length > 0) return;
var hidden = $("<input type='hidden'></input>")
.attr("name", inputName)
.attr("value", data);
var close = $("<a href='#'></a>").click(function() {
$("#" + divName).remove();
});
var div = $("<div></div>")
.attr("id", divName)
.text(text)
.append(hidden)
.append(close);
$(currentThis.options.listContainer).append(div);
});
(this.options.onSelect || defaultEvent)(this.suggestions[i], this.data[i], this);
}
};
}
/**
 * Jcrop v.0.9.8 (minimized)
 * (c) 2008 Kelly Hallman and DeepLiquid.com
 * More information: http://deepliquid.com/content/Jcrop.html
 * Released under MIT License - this header must remain with code
 */


(function($){$.Jcrop=function(obj,opt)
{var obj=obj,opt=opt;if(typeof(obj)!=='object')obj=$(obj)[0];if(typeof(opt)!=='object')opt={};if(!('trackDocument'in opt))
{opt.trackDocument=$.browser.msie?false:true;if($.browser.msie&&$.browser.version.split('.')[0]=='8')
opt.trackDocument=true;}
if(!('keySupport'in opt))
opt.keySupport=$.browser.msie?false:true;var defaults={trackDocument:false,baseClass:'jcrop',addClass:null,bgColor:'black',bgOpacity:.6,borderOpacity:.4,handleOpacity:.5,handlePad:5,handleSize:9,handleOffset:5,edgeMargin:14,aspectRatio:0,keySupport:true,cornerHandles:true,sideHandles:true,drawBorders:true,dragEdges:true,boxWidth:0,boxHeight:0,boundary:8,animationDelay:20,swingSpeed:3,allowSelect:true,allowMove:true,allowResize:true,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){}};var options=defaults;setOptions(opt);var $origimg=$(obj);var $img=$origimg.clone().removeAttr('id').css({position:'absolute'});$img.width($origimg.width());$img.height($origimg.height());$origimg.after($img).hide();presize($img,options.boxWidth,options.boxHeight);var boundx=$img.width(),boundy=$img.height(),$div=$('<div />').width(boundx).height(boundy).addClass(cssClass('holder')).css({position:'relative',backgroundColor:options.bgColor}).insertAfter($origimg).append($img);;if(options.addClass)$div.addClass(options.addClass);var $img2=$('<img />').attr('src',$img.attr('src')).css('position','absolute').width(boundx).height(boundy);var $img_holder=$('<div />').width(pct(100)).height(pct(100)).css({zIndex:310,position:'absolute',overflow:'hidden'}).append($img2);var $hdl_holder=$('<div />').width(pct(100)).height(pct(100)).css('zIndex',320);var $sel=$('<div />').css({position:'absolute',zIndex:300}).insertBefore($img).append($img_holder,$hdl_holder);var bound=options.boundary;var $trk=newTracker().width(boundx+(bound*2)).height(boundy+(bound*2)).css({position:'absolute',top:px(-bound),left:px(-bound),zIndex:290}).mousedown(newSelection);var xlimit,ylimit,xmin,ymin;var xscale,yscale,enabled=true;var docOffset=getPos($img),btndown,lastcurs,dimmed,animating,shift_down;var Coords=function()
{var x1=0,y1=0,x2=0,y2=0,ox,oy;function setPressed(pos)
{var pos=rebound(pos);x2=x1=pos[0];y2=y1=pos[1];};function setCurrent(pos)
{var pos=rebound(pos);ox=pos[0]-x2;oy=pos[1]-y2;x2=pos[0];y2=pos[1];};function getOffset()
{return[ox,oy];};function moveOffset(offset)
{var ox=offset[0],oy=offset[1];if(0>x1+ox)ox-=ox+x1;if(0>y1+oy)oy-=oy+y1;if(boundy<y2+oy)oy+=boundy-(y2+oy);if(boundx<x2+ox)ox+=boundx-(x2+ox);x1+=ox;x2+=ox;y1+=oy;y2+=oy;};function getCorner(ord)
{var c=getFixed();switch(ord)
{case'ne':return[c.x2,c.y];case'nw':return[c.x,c.y];case'se':return[c.x2,c.y2];case'sw':return[c.x,c.y2];}};function getFixed()
{if(!options.aspectRatio)return getRect();var aspect=options.aspectRatio,min_x=options.minSize[0]/xscale,min_y=options.minSize[1]/yscale,max_x=options.maxSize[0]/xscale,max_y=options.maxSize[1]/yscale,rw=x2-x1,rh=y2-y1,rwa=Math.abs(rw),rha=Math.abs(rh),real_ratio=rwa/rha,xx,yy;if(max_x==0){max_x=boundx*10}
if(max_y==0){max_y=boundy*10}
if(real_ratio<aspect)
{yy=y2;w=rha*aspect;xx=rw<0?x1-w:w+x1;if(xx<0)
{xx=0;h=Math.abs((xx-x1)/aspect);yy=rh<0?y1-h:h+y1;}
else if(xx>boundx)
{xx=boundx;h=Math.abs((xx-x1)/aspect);yy=rh<0?y1-h:h+y1;}}
else
{xx=x2;h=rwa/aspect;yy=rh<0?y1-h:y1+h;if(yy<0)
{yy=0;w=Math.abs((yy-y1)*aspect);xx=rw<0?x1-w:w+x1;}
else if(yy>boundy)
{yy=boundy;w=Math.abs(yy-y1)*aspect;xx=rw<0?x1-w:w+x1;}}
if(xx>x1){if(xx-x1<min_x){xx=x1+min_x;}else if(xx-x1>max_x){xx=x1+max_x;}
if(yy>y1){yy=y1+(xx-x1)/aspect;}else{yy=y1-(xx-x1)/aspect;}}else if(xx<x1){if(x1-xx<min_x){xx=x1-min_x}else if(x1-xx>max_x){xx=x1-max_x;}
if(yy>y1){yy=y1+(x1-xx)/aspect;}else{yy=y1-(x1-xx)/aspect;}}
if(xx<0){x1-=xx;xx=0;}else if(xx>boundx){x1-=xx-boundx;xx=boundx;}
if(yy<0){y1-=yy;yy=0;}else if(yy>boundy){y1-=yy-boundy;yy=boundy;}
return last=makeObj(flipCoords(x1,y1,xx,yy));};function rebound(p)
{if(p[0]<0)p[0]=0;if(p[1]<0)p[1]=0;if(p[0]>boundx)p[0]=boundx;if(p[1]>boundy)p[1]=boundy;return[p[0],p[1]];};function flipCoords(x1,y1,x2,y2)
{var xa=x1,xb=x2,ya=y1,yb=y2;if(x2<x1)
{xa=x2;xb=x1;}
if(y2<y1)
{ya=y2;yb=y1;}
return[Math.round(xa),Math.round(ya),Math.round(xb),Math.round(yb)];};function getRect()
{var xsize=x2-x1;var ysize=y2-y1;if(xlimit&&(Math.abs(xsize)>xlimit))
x2=(xsize>0)?(x1+xlimit):(x1-xlimit);if(ylimit&&(Math.abs(ysize)>ylimit))
y2=(ysize>0)?(y1+ylimit):(y1-ylimit);if(ymin&&(Math.abs(ysize)<ymin))
y2=(ysize>0)?(y1+ymin):(y1-ymin);if(xmin&&(Math.abs(xsize)<xmin))
x2=(xsize>0)?(x1+xmin):(x1-xmin);if(x1<0){x2-=x1;x1-=x1;}
if(y1<0){y2-=y1;y1-=y1;}
if(x2<0){x1-=x2;x2-=x2;}
if(y2<0){y1-=y2;y2-=y2;}
if(x2>boundx){var delta=x2-boundx;x1-=delta;x2-=delta;}
if(y2>boundy){var delta=y2-boundy;y1-=delta;y2-=delta;}
if(x1>boundx){var delta=x1-boundy;y2-=delta;y1-=delta;}
if(y1>boundy){var delta=y1-boundy;y2-=delta;y1-=delta;}
return makeObj(flipCoords(x1,y1,x2,y2));};function makeObj(a)
{return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]};};return{flipCoords:flipCoords,setPressed:setPressed,setCurrent:setCurrent,getOffset:getOffset,moveOffset:moveOffset,getCorner:getCorner,getFixed:getFixed};}();var Selection=function()
{var start,end,dragmode,awake,hdep=370;var borders={};var handle={};var seehandles=false;var hhs=options.handleOffset;if(options.drawBorders){borders={top:insertBorder('hline').css('top',$.browser.msie?px(-1):px(0)),bottom:insertBorder('hline'),left:insertBorder('vline'),right:insertBorder('vline')};}
if(options.dragEdges){handle.t=insertDragbar('n');handle.b=insertDragbar('s');handle.r=insertDragbar('e');handle.l=insertDragbar('w');}
options.sideHandles&&createHandles(['n','s','e','w']);options.cornerHandles&&createHandles(['sw','nw','ne','se']);function insertBorder(type)
{var jq=$('<div />').css({position:'absolute',opacity:options.borderOpacity}).addClass(cssClass(type));$img_holder.append(jq);return jq;};function dragDiv(ord,zi)
{var jq=$('<div />').mousedown(createDragger(ord)).css({cursor:ord+'-resize',position:'absolute',zIndex:zi});$hdl_holder.append(jq);return jq;};function insertHandle(ord)
{return dragDiv(ord,hdep++).css({top:px(-hhs+1),left:px(-hhs+1),opacity:options.handleOpacity}).addClass(cssClass('handle'));};function insertDragbar(ord)
{var s=options.handleSize,o=hhs,h=s,w=s,t=o,l=o;switch(ord)
{case'n':case's':w=pct(100);break;case'e':case'w':h=pct(100);break;}
return dragDiv(ord,hdep++).width(w).height(h).css({top:px(-t+1),left:px(-l+1)});};function createHandles(li)
{for(i in li)handle[li[i]]=insertHandle(li[i]);};function moveHandles(c)
{var midvert=Math.round((c.h/2)-hhs),midhoriz=Math.round((c.w/2)-hhs),north=west=-hhs+1,east=c.w-hhs,south=c.h-hhs,x,y;'e'in handle&&handle.e.css({top:px(midvert),left:px(east)})&&handle.w.css({top:px(midvert)})&&handle.s.css({top:px(south),left:px(midhoriz)})&&handle.n.css({left:px(midhoriz)});'ne'in handle&&handle.ne.css({left:px(east)})&&handle.se.css({top:px(south),left:px(east)})&&handle.sw.css({top:px(south)});'b'in handle&&handle.b.css({top:px(south)})&&handle.r.css({left:px(east)});};function moveto(x,y)
{$img2.css({top:px(-y),left:px(-x)});$sel.css({top:px(y),left:px(x)});};function resize(w,h)
{$sel.width(w).height(h);};function refresh()
{var c=Coords.getFixed();Coords.setPressed([c.x,c.y]);Coords.setCurrent([c.x2,c.y2]);updateVisible();};function updateVisible()
{if(awake)return update();};function update()
{var c=Coords.getFixed();resize(c.w,c.h);moveto(c.x,c.y);options.drawBorders&&borders['right'].css({left:px(c.w-1)})&&borders['bottom'].css({top:px(c.h-1)});seehandles&&moveHandles(c);awake||show();options.onChange(unscale(c));};function show()
{$sel.show();$img.css('opacity',options.bgOpacity);awake=true;};function release()
{disableHandles();$sel.hide();$img.css('opacity',1);awake=false;};function showHandles()
{if(seehandles)
{moveHandles(Coords.getFixed());$hdl_holder.show();}};function enableHandles()
{seehandles=true;if(options.allowResize)
{moveHandles(Coords.getFixed());$hdl_holder.show();return true;}};function disableHandles()
{seehandles=false;$hdl_holder.hide();};function animMode(v)
{(animating=v)?disableHandles():enableHandles();};function done()
{animMode(false);refresh();};var $track=newTracker().mousedown(createDragger('move')).css({cursor:'move',position:'absolute',zIndex:360})
$img_holder.append($track);disableHandles();return{updateVisible:updateVisible,update:update,release:release,refresh:refresh,setCursor:function(cursor){$track.css('cursor',cursor);},enableHandles:enableHandles,enableOnly:function(){seehandles=true;},showHandles:showHandles,disableHandles:disableHandles,animMode:animMode,done:done};}();var Tracker=function()
{var onMove=function(){},onDone=function(){},trackDoc=options.trackDocument;if(!trackDoc)
{$trk.mousemove(trackMove).mouseup(trackUp).mouseout(trackUp);}
function toFront()
{$trk.css({zIndex:450});if(trackDoc)
{$(document).mousemove(trackMove).mouseup(trackUp);}}
function toBack()
{$trk.css({zIndex:290});if(trackDoc)
{$(document).unbind('mousemove',trackMove).unbind('mouseup',trackUp);}}
function trackMove(e)
{onMove(mouseAbs(e));};function trackUp(e)
{e.preventDefault();e.stopPropagation();if(btndown)
{btndown=false;onDone(mouseAbs(e));options.onSelect(unscale(Coords.getFixed()));toBack();onMove=function(){};onDone=function(){};}
return false;};function activateHandlers(move,done)
{btndown=true;onMove=move;onDone=done;toFront();return false;};function setCursor(t){$trk.css('cursor',t);};$img.before($trk);return{activateHandlers:activateHandlers,setCursor:setCursor};}();var KeyManager=function()
{var $keymgr=$('<input type="radio" />').css({position:'absolute',left:'-30px'}).keypress(parseKey).blur(onBlur),$keywrap=$('<div />').css({position:'absolute',overflow:'hidden'}).append($keymgr);function watchKeys()
{if(options.keySupport)
{$keymgr.show();$keymgr.focus();}};function onBlur(e)
{$keymgr.hide();};function doNudge(e,x,y)
{if(options.allowMove){Coords.moveOffset([x,y]);Selection.updateVisible();};e.preventDefault();e.stopPropagation();};function parseKey(e)
{if(e.ctrlKey)return true;shift_down=e.shiftKey?true:false;var nudge=shift_down?10:1;switch(e.keyCode)
{case 37:doNudge(e,-nudge,0);break;case 39:doNudge(e,nudge,0);break;case 38:doNudge(e,0,-nudge);break;case 40:doNudge(e,0,nudge);break;case 27:Selection.release();break;case 9:return true;}
return nothing(e);};if(options.keySupport)$keywrap.insertBefore($img);return{watchKeys:watchKeys};}();function px(n){return''+parseInt(n)+'px';};function pct(n){return''+parseInt(n)+'%';};function cssClass(cl){return options.baseClass+'-'+cl;};function getPos(obj)
{var pos=$(obj).offset();return[pos.left,pos.top];};function mouseAbs(e)
{return[(e.pageX-docOffset[0]),(e.pageY-docOffset[1])];};function myCursor(type)
{if(type!=lastcurs)
{Tracker.setCursor(type);lastcurs=type;}};function startDragMode(mode,pos)
{docOffset=getPos($img);Tracker.setCursor(mode=='move'?mode:mode+'-resize');if(mode=='move')
return Tracker.activateHandlers(createMover(pos),doneSelect);var fc=Coords.getFixed();var opp=oppLockCorner(mode);var opc=Coords.getCorner(oppLockCorner(opp));Coords.setPressed(Coords.getCorner(opp));Coords.setCurrent(opc);Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect);};function dragmodeHandler(mode,f)
{return function(pos){if(!options.aspectRatio)switch(mode)
{case'e':pos[1]=f.y2;break;case'w':pos[1]=f.y2;break;case'n':pos[0]=f.x2;break;case's':pos[0]=f.x2;break;}
else switch(mode)
{case'e':pos[1]=f.y+1;break;case'w':pos[1]=f.y+1;break;case'n':pos[0]=f.x+1;break;case's':pos[0]=f.x+1;break;}
Coords.setCurrent(pos);Selection.update();};};function createMover(pos)
{var lloc=pos;KeyManager.watchKeys();return function(pos)
{Coords.moveOffset([pos[0]-lloc[0],pos[1]-lloc[1]]);lloc=pos;Selection.update();};};function oppLockCorner(ord)
{switch(ord)
{case'n':return'sw';case's':return'nw';case'e':return'nw';case'w':return'ne';case'ne':return'sw';case'nw':return'se';case'se':return'nw';case'sw':return'ne';};};function createDragger(ord)
{return function(e){if(options.disabled)return false;if((ord=='move')&&!options.allowMove)return false;btndown=true;startDragMode(ord,mouseAbs(e));e.stopPropagation();e.preventDefault();return false;};};function presize($obj,w,h)
{var nw=$obj.width(),nh=$obj.height();if((nw>w)&&w>0)
{nw=w;nh=(w/$obj.width())*$obj.height();}
if((nh>h)&&h>0)
{nh=h;nw=(h/$obj.height())*$obj.width();}
xscale=$obj.width()/nw;yscale=$obj.height()/nh;$obj.width(nw).height(nh);};function unscale(c)
{return{x:parseInt(c.x*xscale),y:parseInt(c.y*yscale),x2:parseInt(c.x2*xscale),y2:parseInt(c.y2*yscale),w:parseInt(c.w*xscale),h:parseInt(c.h*yscale)};};function doneSelect(pos)
{var c=Coords.getFixed();if(c.w>options.minSelect[0]&&c.h>options.minSelect[1])
{Selection.enableHandles();Selection.done();}
else
{Selection.release();}
Tracker.setCursor(options.allowSelect?'crosshair':'default');};function newSelection(e)
{if(options.disabled)return false;if(!options.allowSelect)return false;btndown=true;docOffset=getPos($img);Selection.disableHandles();myCursor('crosshair');var pos=mouseAbs(e);Coords.setPressed(pos);Tracker.activateHandlers(selectDrag,doneSelect);KeyManager.watchKeys();Selection.update();e.stopPropagation();e.preventDefault();return false;};function selectDrag(pos)
{Coords.setCurrent(pos);Selection.update();};function newTracker()
{var trk=$('<div></div>').addClass(cssClass('tracker'));$.browser.msie&&trk.css({opacity:0,backgroundColor:'white'});return trk;};function animateTo(a)
{var x1=a[0]/xscale,y1=a[1]/yscale,x2=a[2]/xscale,y2=a[3]/yscale;if(animating)return;var animto=Coords.flipCoords(x1,y1,x2,y2);var c=Coords.getFixed();var animat=initcr=[c.x,c.y,c.x2,c.y2];var interv=options.animationDelay;var x=animat[0];var y=animat[1];var x2=animat[2];var y2=animat[3];var ix1=animto[0]-initcr[0];var iy1=animto[1]-initcr[1];var ix2=animto[2]-initcr[2];var iy2=animto[3]-initcr[3];var pcent=0;var velocity=options.swingSpeed;Selection.animMode(true);var animator=function()
{return function()
{pcent+=(100-pcent)/velocity;animat[0]=x+((pcent/100)*ix1);animat[1]=y+((pcent/100)*iy1);animat[2]=x2+((pcent/100)*ix2);animat[3]=y2+((pcent/100)*iy2);if(pcent<100)animateStart();else Selection.done();if(pcent>=99.8)pcent=100;setSelectRaw(animat);};}();function animateStart()
{window.setTimeout(animator,interv);};animateStart();};function setSelect(rect)
{setSelectRaw([rect[0]/xscale,rect[1]/yscale,rect[2]/xscale,rect[3]/yscale]);};function setSelectRaw(l)
{Coords.setPressed([l[0],l[1]]);Coords.setCurrent([l[2],l[3]]);Selection.update();};function setOptions(opt)
{if(typeof(opt)!='object')opt={};options=$.extend(options,opt);if(typeof(options.onChange)!=='function')
options.onChange=function(){};if(typeof(options.onSelect)!=='function')
options.onSelect=function(){};};function tellSelect()
{return unscale(Coords.getFixed());};function tellScaled()
{return Coords.getFixed();};function setOptionsNew(opt)
{setOptions(opt);interfaceUpdate();};function disableCrop()
{options.disabled=true;Selection.disableHandles();Selection.setCursor('default');Tracker.setCursor('default');};function enableCrop()
{options.disabled=false;interfaceUpdate();};function cancelCrop()
{Selection.done();Tracker.activateHandlers(null,null);};function destroy()
{$div.remove();$origimg.show();};function interfaceUpdate(alt)
{options.allowResize?alt?Selection.enableOnly():Selection.enableHandles():Selection.disableHandles();Tracker.setCursor(options.allowSelect?'crosshair':'default');Selection.setCursor(options.allowMove?'move':'default');$div.css('backgroundColor',options.bgColor);if('setSelect'in options){setSelect(opt.setSelect);Selection.done();delete(options.setSelect);}
if('trueSize'in options){xscale=options.trueSize[0]/boundx;yscale=options.trueSize[1]/boundy;}
xlimit=options.maxSize[0]||0;ylimit=options.maxSize[1]||0;xmin=options.minSize[0]||0;ymin=options.minSize[1]||0;if('outerImage'in options)
{$img.attr('src',options.outerImage);delete(options.outerImage);}
Selection.refresh();};$hdl_holder.hide();interfaceUpdate(true);var api={animateTo:animateTo,setSelect:setSelect,setOptions:setOptionsNew,tellSelect:tellSelect,tellScaled:tellScaled,disable:disableCrop,enable:enableCrop,cancel:cancelCrop,focus:KeyManager.watchKeys,getBounds:function(){return[boundx*xscale,boundy*yscale];},getWidgetSize:function(){return[boundx,boundy];},release:Selection.release,destroy:destroy};$origimg.data('Jcrop',api);return api;};$.fn.Jcrop=function(options)
{function attachWhenDone(from)
{var loadsrc=options.useImg||from.src;var img=new Image();img.onload=function(){$.Jcrop(from,options);};img.src=loadsrc;};if(typeof(options)!=='object')options={};this.each(function()
{if($(this).data('Jcrop'))
{if(options=='api')return $(this).data('Jcrop');else $(this).data('Jcrop').setOptions(options);}
else attachWhenDone(this);});return this;};})(jQuery);
jQuery.extend({
createUploadIframe: function(id, uri)
{
var frameId = 'jUploadFrame' + id;
if(window.ActiveXObject) {
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
if(typeof uri== 'boolean'){
io.src = 'javascript:false';
}
else if(typeof uri== 'string'){
io.src = uri;
}
}
else {
var io = document.createElement('iframe');
io.id = frameId;
io.name = frameId;
}
io.style.position = 'absolute';
io.style.top = '-1000px';
io.style.left = '-1000px';
document.body.appendChild(io);
return io
},
createUploadForm: function(id, fileElementId)
{
var formId = 'jUploadForm' + id;
var fileId = 'jUploadFile' + id;
var form = $('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
var oldElement = $('#' + fileElementId);
var newElement = $(oldElement).clone();
$(oldElement).attr('id', fileId);
$(oldElement).before(newElement);
$(oldElement).appendTo(form);
$(form).css('position', 'absolute');
$(form).css('top', '-1200px');
$(form).css('left', '-1200px');
$(form).appendTo('body');
return form;
},
ajaxFileUpload: function(s) {
s = jQuery.extend({}, jQuery.ajaxSettings, s);
var id = new Date().getTime()
var form = jQuery.createUploadForm(id, s.fileElementId);
var io = jQuery.createUploadIframe(id, s.secureuri);
var frameId = 'jUploadFrame' + id;
var formId = 'jUploadForm' + id;
if ( s.global && ! jQuery.active++ )
{
jQuery.event.trigger( "ajaxStart" );
}
var requestDone = false;
var xml = {}
if ( s.global )
jQuery.event.trigger("ajaxSend", [xml, s]);
var uploadCallback = function(isTimeout)
{
var io = document.getElementById(frameId);
try
{
if(io.contentWindow)
{
xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
}else if(io.contentDocument)
{
xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
}
}catch(e)
{
jQuery.handleError(s, xml, null, e);
}
if ( xml || isTimeout == "timeout")
{
requestDone = true;
var status;
try {
status = isTimeout != "timeout" ? "success" : "error";
if ( status != "error" )
{
var data = jQuery.uploadHttpData( xml, s.dataType );
if ( s.success )
s.success( data, status );
if( s.global )
jQuery.event.trigger( "ajaxSuccess", [xml, s] );
} else
jQuery.handleError(s, xml, status);
} catch(e)
{
status = "error";
jQuery.handleError(s, xml, status, e);
}
if( s.global )
jQuery.event.trigger( "ajaxComplete", [xml, s] );
if ( s.global && ! --jQuery.active )
jQuery.event.trigger( "ajaxStop" );
if ( s.complete )
s.complete(xml, status);
jQuery(io).unbind()
setTimeout(function()
{ try
{
$(io).remove();
$(form).remove();
} catch(e)
{
jQuery.handleError(s, xml, null, e);
}
}, 100)
xml = null
}
}
if ( s.timeout > 0 )
{
setTimeout(function(){
if( !requestDone ) uploadCallback( "timeout" );
}, s.timeout);
}
try
{
var form = $('#' + formId);
$(form).attr('action', s.url);
$(form).attr('method', 'POST');
$(form).attr('target', frameId);
if(form.encoding)
{
form.encoding = 'multipart/form-data';
}
else
{
form.enctype = 'multipart/form-data';
}
$(form).submit();
} catch(e)
{
jQuery.handleError(s, xml, null, e);
}
if(window.attachEvent){
document.getElementById(frameId).attachEvent('onload', uploadCallback);
}
else{
document.getElementById(frameId).addEventListener('load', uploadCallback, false);
}
return {abort: function () {}};
},
uploadHttpData: function( r, type ) {
var data = !type;
data = type == "xml" || data ? r.responseXML : r.responseText;
if ( type == "script" )
jQuery.globalEval( data );
if ( type == "json" )
eval( "data = " + data );
if ( type == "html" )
jQuery("<div>").html(data).evalScripts();
return data;
}
});
(function($){
$.fn.searchRanking = function(){
var jQueryObj = this;
var btnBack = $(jQueryObj).find('.btnBack');
var btnNext = $(jQueryObj).find('.btnNext');
var content = $(jQueryObj).find('ul');
var itens = $(jQueryObj).find('ul>li');
var pos = 0;
var itemArr = [];
var pageArr = [];
var liSize = 0;
function init(){
$(itens).each(function(){
liSize += $(this).outerWidth(true);
if(liSize <= content.width()){
itemArr.push($(this));
}else{
pageArr.push(itemArr);
itemArr = new Array();
itemArr.push($(this));
liSize = $(this).outerWidth(true);
}
});
pageArr.push(itemArr);
$(pageArr[0]).each(function(){$(this).fadeIn()});
if(pageArr.length > 1){
$(btnNext).bind('click',function(){pos++;_move(pos);return false;});
}else{
$(btnNext).addClass('disabled').animate({opacity:0.2});
}
$(btnBack).addClass('disabled').animate({opacity:0.2});
}
function _move(pos) {
if(pos == 0){
$(btnBack).unbind().bind('click',function(){return false}).addClass('disabled').animate({opacity:0.2});
}else if(pos >= pageArr.length - 1){
$(btnNext).unbind().bind('click',function(){return false}).addClass('disabled').animate({opacity:0.2});
}else{
$(btnNext).unbind().bind('click',function(){pos++;_move(pos);return false;}).removeClass('disabled').animate({opacity:1});
$(btnBack).unbind().bind('click',function(){pos--;_move(pos);return false;}).removeClass('disabled').animate({opacity:1});
}
$(itens).each(function(){$(this).hide();});
$(pageArr[pos]).each(function(){$(this).fadeIn()});
}
init();
}
})(jQuery);
/** * SWFAddress 2.4: Deep linking for Flash and Ajax <http://www.asual.com/swfaddress/> * * SWFAddress is (c) 2006-2009 Rostislav Hristov and contributors * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> * */if(typeof asual=="undefined"){var asual={}}if(typeof asual.util=="undefined"){asual.util={}}asual.util.Browser=new function(){var b=navigator.userAgent.toLowerCase(),a=/webkit/.test(b),e=/opera/.test(b),c=/msie/.test(b)&&!/opera/.test(b),d=/mozilla/.test(b)&&!/(compatible|webkit)/.test(b),f=parseFloat(c?b.substr(b.indexOf("msie")+4):(b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]);this.toString=function(){return"[class Browser]"};this.getVersion=function(){return f};this.isMSIE=function(){return c};this.isSafari=function(){return a};this.isOpera=function(){return e};this.isMozilla=function(){return d}};asual.util.Events=new function(){var c="DOMContentLoaded",j="onstop",k=window,h=document,b=[],a=asual.util,e=a.Browser,d=e.isMSIE(),g=e.isSafari();this.toString=function(){return"[class Events]"};this.addListener=function(n,l,m){b.push({o:n,t:l,l:m});if(!(l==c&&(d||g))){if(n.addEventListener){n.addEventListener(l,m,false)}else{if(n.attachEvent){n.attachEvent("on"+l,m)}}}};this.removeListener=function(p,m,n){for(var l=0,o;o=b[l];l++){if(o.o==p&&o.t==m&&o.l==n){b.splice(l,1);break}}if(!(m==c&&(d||g))){if(p.removeEventListener){p.removeEventListener(m,n,false)}else{if(p.detachEvent){p.detachEvent("on"+m,n)}}}};var i=function(){for(var m=0,l;l=b[m];m++){if(l.t!=c){a.Events.removeListener(l.o,l.t,l.l)}}};var f=function(){if(h.readyState=="interactive"){function l(){h.detachEvent(j,l);i()}h.attachEvent(j,l);k.setTimeout(function(){h.detachEvent(j,l)},0)}};if(d||g){(function(){try{if((d&&h.body)||!/loaded|complete/.test(h.readyState)){h.documentElement.doScroll("left")}}catch(m){return setTimeout(arguments.callee,0)}for(var l=0,m;m=b[l];l++){if(m.t==c){m.l.call(null)}}})()}if(d){k.attachEvent("onbeforeunload",f)}this.addListener(k,"unload",i)};asual.util.Functions=new function(){this.toString=function(){return"[class Functions]"};this.bind=function(f,b,e){for(var c=2,d,a=[];d=arguments[c];c++){a.push(d)}return function(){return f.apply(b,a)}}};var SWFAddressEvent=function(d){this.toString=function(){return"[object SWFAddressEvent]"};this.type=d;this.target=[SWFAddress][0];this.value=SWFAddress.getValue();this.path=SWFAddress.getPath();this.pathNames=SWFAddress.getPathNames();this.parameters={};var c=SWFAddress.getParameterNames();for(var b=0,a=c.length;b<a;b++){this.parameters[c[b]]=SWFAddress.getParameter(c[b])}this.parameterNames=c};SWFAddressEvent.INIT="init";SWFAddressEvent.CHANGE="change";SWFAddressEvent.INTERNAL_CHANGE="internalChange";SWFAddressEvent.EXTERNAL_CHANGE="externalChange";var SWFAddress=new function(){var _getHash=function(){var index=_l.href.indexOf("#");return index!=-1?_ec(_dc(_l.href.substr(index+1))):""};var _getWindow=function(){try{top.document;return top}catch(e){return window}};var _strictCheck=function(value,force){if(_opts.strict){value=force?(value.substr(0,1)!="/"?"/"+value:value):(value==""?"/":value)}return value};var _ieLocal=function(value,direction){return(_msie&&_l.protocol=="file:")?(direction?_value.replace(/\?/,"%3F"):_value.replace(/%253F/,"?")):value};var _searchScript=function(el){if(el.childNodes){for(var i=0,l=el.childNodes.length,s;i<l;i++){if(el.childNodes[i].src){_url=String(el.childNodes[i].src)}if(s=_searchScript(el.childNodes[i])){return s}}}};var _titleCheck=function(){if(_d.title!=_title&&_d.title.indexOf("#")!=-1){_d.title=_title}};var _listen=function(){if(!_silent){var hash=_getHash();var diff=!(_value==hash);if(_safari&&_version<523){if(_length!=_h.length){_length=_h.length;if(typeof _stack[_length-1]!=UNDEFINED){_value=_stack[_length-1]}_update.call(this,false)}}else{if(_msie&&diff){if(_version<7){_l.reload()}else{this.setValue(hash)}}else{if(diff){_value=hash;_update.call(this,false)}}}if(_msie){_titleCheck.call(this)}}};var _bodyClick=function(e){if(_popup.length>0){var popup=window.open(_popup[0],_popup[1],eval(_popup[2]));if(typeof _popup[3]!=UNDEFINED){eval(_popup[3])}}_popup=[]};var _swfChange=function(){for(var i=0,id,obj,value=SWFAddress.getValue(),setter="setSWFAddressValue";id=_ids[i];i++){obj=document.getElementById(id);if(obj){if(obj.parentNode&&typeof obj.parentNode.so!=UNDEFINED){obj.parentNode.so.call(setter,value)}else{if(!(obj&&typeof obj[setter]!=UNDEFINED)){var objects=obj.getElementsByTagName("object");var embeds=obj.getElementsByTagName("embed");obj=((objects[0]&&typeof objects[0][setter]!=UNDEFINED)?objects[0]:((embeds[0]&&typeof embeds[0][setter]!=UNDEFINED)?embeds[0]:null))}if(obj){obj[setter](value)}}}else{if(obj=document[id]){if(typeof obj[setter]!=UNDEFINED){obj[setter](value)}}}}};var _jsDispatch=function(type){this.dispatchEvent(new SWFAddressEvent(type));type=type.substr(0,1).toUpperCase()+type.substr(1);if(typeof this["on"+type]==FUNCTION){this["on"+type]()}};var _jsInit=function(){if(_util.Browser.isSafari()){_d.body.addEventListener("click",_bodyClick)}_jsDispatch.call(this,"init")};var _jsChange=function(){_swfChange();_jsDispatch.call(this,"change")};var _update=function(internal){_jsChange.call(this);if(internal){_jsDispatch.call(this,"internalChange")}else{_jsDispatch.call(this,"externalChange")}_st(_functions.bind(_track,this),10)};var _track=function(){var value=(_l.pathname+(/\/$/.test(_l.pathname)?"":"/")+this.getValue()).replace(/\/\//,"/").replace(/^\/$/,"");var fn=_t[_opts.tracker];if(typeof fn==FUNCTION){fn(value)}else{if(typeof _t.pageTracker!=UNDEFINED&&typeof _t.pageTracker._trackPageview==FUNCTION){_t.pageTracker._trackPageview(value)}else{if(typeof _t.urchinTracker==FUNCTION){_t.urchinTracker(value)}}}};var _htmlWrite=function(){var doc=_frame.contentWindow.document;doc.open();doc.write("<html><head><title>"+_d.title+"</title><script>var "+ID+' = "'+_getHash()+'";<\/script></head></html>');doc.close()};var _htmlLoad=function(){var win=_frame.contentWindow;var src=win.location.href;_value=(typeof win[ID]!=UNDEFINED?win[ID]:"");if(_value!=_getHash()){_update.call(SWFAddress,false);_l.hash=_ieLocal(_value,TRUE)}};var _load=function(){if(!_loaded){_loaded=TRUE;if(_msie&&_version<8){var frameset=_d.getElementsByTagName("frameset")[0];_frame=_d.createElement((frameset?"":"i")+"frame");if(frameset){frameset.insertAdjacentElement("beforeEnd",_frame);frameset[frameset.cols?"cols":"rows"]+=",0";_frame.src="javascript:false";_frame.noResize=true;_frame.frameBorder=_frame.frameSpacing=0}else{_frame.src="javascript:false";_frame.style.display="none";_d.body.insertAdjacentElement("afterBegin",_frame)}_st(function(){_events.addListener(_frame,"load",_htmlLoad);if(typeof _frame.contentWindow[ID]==UNDEFINED){_htmlWrite()}},50)}else{if(_safari){if(_version<418){_d.body.innerHTML+='<form id="'+ID+'" style="position:absolute;top:-9999px;" method="get"></form>';_form=_d.getElementById(ID)}if(typeof _l[ID]==UNDEFINED){_l[ID]={}}if(typeof _l[ID][_l.pathname]!=UNDEFINED){_stack=_l[ID][_l.pathname].split(",")}}}_st(_functions.bind(function(){_jsInit.call(this);_jsChange.call(this);_track.call(this)},this),1);if(_msie&&_version>=8){_d.body.onhashchange=_functions.bind(_listen,this);_si(_functions.bind(_titleCheck,this),50)}else{_si(_functions.bind(_listen,this),50)}}};var ID="swfaddress",FUNCTION="function",UNDEFINED="undefined",TRUE=true,FALSE=false,_util=asual.util,_browser=_util.Browser,_events=_util.Events,_functions=_util.Functions,_version=_browser.getVersion(),_msie=_browser.isMSIE(),_mozilla=_browser.isMozilla(),_opera=_browser.isOpera(),_safari=_browser.isSafari(),_supported=FALSE,_t=_getWindow(),_d=_t.document,_h=_t.history,_l=_t.location,_si=setInterval,_st=setTimeout,_dc=decodeURI,_ec=encodeURI,_frame,_form,_url,_title=_d.title,_length=_h.length,_silent=FALSE,_loaded=FALSE,_justset=TRUE,_juststart=TRUE,_ref=this,_stack=[],_ids=[],_popup=[],_listeners={},_value=_getHash(),_opts={history:TRUE,strict:TRUE};if(_msie&&_d.documentMode&&_d.documentMode!=_version){_version=_d.documentMode!=8?7:8}_supported=(_mozilla&&_version>=1)||(_msie&&_version>=6)||(_opera&&_version>=9.5)||(_safari&&_version>=312);if(_supported){if(_opera){history.navigationMode="compatible"}for(var i=1;i<_length;i++){_stack.push("")}_stack.push(_getHash());if(_msie&&_l.hash!=_getHash()){_l.hash="#"+_ieLocal(_getHash(),TRUE)}_searchScript(document);var _qi=_url?_url.indexOf("?"):-1;if(_qi!=-1){var param,params=_url.substr(_qi+1).split("&");for(var i=0,p;p=params[i];i++){param=p.split("=");if(/^(history|strict)$/.test(param[0])){_opts[param[0]]=(isNaN(param[1])?/^(true|yes)$/i.test(param[1]):(parseInt(param[1])!=0))}if(/^tracker$/.test(param[0])){_opts[param[0]]=param[1]}}}if(_msie){_titleCheck.call(this)}if(window==_t){_events.addListener(document,"DOMContentLoaded",_functions.bind(_load,this))}_events.addListener(_t,"load",_functions.bind(_load,this))}else{if((!_supported&&_l.href.indexOf("#")!=-1)||(_safari&&_version<418&&_l.href.indexOf("#")!=-1&&_l.search!="")){_d.open();_d.write('<html><head><meta http-equiv="refresh" content="0;url='+_l.href.substr(0,_l.href.indexOf("#"))+'" /></head></html>');_d.close()}else{_track()}}this.toString=function(){return"[class SWFAddress]"};this.back=function(){_h.back()};this.forward=function(){_h.forward()};this.up=function(){var path=this.getPath();this.setValue(path.substr(0,path.lastIndexOf("/",path.length-2)+(path.substr(path.length-1)=="/"?1:0)))};this.go=function(delta){_h.go(delta)};this.href=function(url,target){target=typeof target!=UNDEFINED?target:"_self";if(target=="_self"){self.location.href=url}else{if(target=="_top"){_l.href=url}else{if(target=="_blank"){window.open(url)}else{_t.frames[target].location.href=url}}}};this.popup=function(url,name,options,handler){try{var popup=window.open(url,name,eval(options));if(typeof handler!=UNDEFINED){eval(handler)}}catch(ex){}_popup=arguments};this.getIds=function(){return _ids};this.getId=function(index){return _ids[0]};this.setId=function(id){_ids[0]=id};this.addId=function(id){this.removeId(id);_ids.push(id)};this.removeId=function(id){for(var i=0;i<_ids.length;i++){if(id==_ids[i]){_ids.splice(i,1);break}}};this.addEventListener=function(type,listener){if(typeof _listeners[type]==UNDEFINED){_listeners[type]=[]}_listeners[type].push(listener)};this.removeEventListener=function(type,listener){if(typeof _listeners[type]!=UNDEFINED){for(var i=0,l;l=_listeners[type][i];i++){if(l==listener){break}}_listeners[type].splice(i,1)}};this.dispatchEvent=function(event){if(this.hasEventListener(event.type)){event.target=this;for(var i=0,l;l=_listeners[event.type][i];i++){l(event)}return TRUE}return FALSE};this.hasEventListener=function(type){return(typeof _listeners[type]!=UNDEFINED&&_listeners[type].length>0)};this.getBaseURL=function(){var url=_l.href;if(url.indexOf("#")!=-1){url=url.substr(0,url.indexOf("#"))}if(url.substr(url.length-1)=="/"){url=url.substr(0,url.length-1)}return url};this.getStrict=function(){return _opts.strict};this.setStrict=function(strict){_opts.strict=strict};this.getHistory=function(){return _opts.history};this.setHistory=function(history){_opts.history=history};this.getTracker=function(){return _opts.tracker};this.setTracker=function(tracker){_opts.tracker=tracker};this.getTitle=function(){return _d.title};this.setTitle=function(title){if(!_supported){return null}if(typeof title==UNDEFINED){return}if(title=="null"){title=""}title=_dc(title);_st(function(){_title=_d.title=title;if(_juststart&&_frame&&_frame.contentWindow&&_frame.contentWindow.document){_frame.contentWindow.document.title=title;_juststart=FALSE}if(!_justset&&_mozilla){_l.replace(_l.href.indexOf("#")!=-1?_l.href:_l.href+"#")}_justset=FALSE},10)};this.getStatus=function(){return _t.status};this.setStatus=function(status){if(!_supported){return null}if(typeof status==UNDEFINED){return}if(status=="null"){status=""}status=_dc(status);if(!_safari){status=_strictCheck((status!="null")?status:"",TRUE);if(status=="/"){status=""}if(!(/http(s)?:\/\//.test(status))){var index=_l.href.indexOf("#");status=(index==-1?_l.href:_l.href.substr(0,index))+"#"+status}_t.status=status}};this.resetStatus=function(){_t.status=""};this.getValue=function(){if(!_supported){return null}return _dc(_strictCheck(_ieLocal(_value,FALSE),FALSE))};this.setValue=function(value){if(!_supported){return null}if(typeof value==UNDEFINED){return}if(value=="null"){value=""}value=_ec(_dc(_strictCheck(value,TRUE)));if(value=="/"){value=""}if(_value==value){return}_justset=TRUE;_value=value;_silent=TRUE;_update.call(SWFAddress,true);_stack[_h.length]=_value;if(_safari){if(_opts.history){_l[ID][_l.pathname]=_stack.toString();_length=_h.length+1;if(_version<418){if(_l.search==""){_form.action="#"+_value;_form.submit()}}else{if(_version<523||_value==""){var evt=_d.createEvent("MouseEvents");evt.initEvent("click",TRUE,TRUE);var anchor=_d.createElement("a");anchor.href="#"+_value;anchor.dispatchEvent(evt)}else{_l.hash="#"+_value}}}else{_l.replace("#"+_value)}}else{if(_value!=_getHash()){if(_opts.history){_l.hash="#"+_dc(_ieLocal(_value,TRUE))}else{_l.replace("#"+_dc(_value))}}}if((_msie&&_version<8)&&_opts.history){_st(_htmlWrite,50)}if(_safari){_st(function(){_silent=FALSE},1)}else{_silent=FALSE}};this.getPath=function(){var value=this.getValue();if(value.indexOf("?")!=-1){return value.split("?")[0]}else{if(value.indexOf("#")!=-1){return value.split("#")[0]}else{return value}}};this.getPathNames=function(){var path=this.getPath(),names=path.split("/");if(path.substr(0,1)=="/"||path.length==0){names.splice(0,1)}if(path.substr(path.length-1,1)=="/"){names.splice(names.length-1,1)}return names};this.getQueryString=function(){var value=this.getValue(),index=value.indexOf("?");if(index!=-1&&index<value.length){return value.substr(index+1)}};this.getParameter=function(param){var value=this.getValue();var index=value.indexOf("?");if(index!=-1){value=value.substr(index+1);var p,params=value.split("&"),i=params.length,r=[];while(i--){p=params[i].split("=");if(p[0]==param){r.push(p[1])}}if(r.length!=0){return r.length!=1?r:r[0]}}};this.getParameterNames=function(){var value=this.getValue();var index=value.indexOf("?");var names=[];if(index!=-1){value=value.substr(index+1);if(value!=""&&value.indexOf("=")!=-1){var params=value.split("&"),i=0;while(i<params.length){names.push(params[i].split("=")[0]);i++}}}return names};this.onInit=null;this.onChange=null;this.onInternalChange=null;this.onExternalChange=null;(function(){var _args;if(typeof FlashObject!=UNDEFINED){SWFObject=FlashObject}if(typeof SWFObject!=UNDEFINED&&SWFObject.prototype&&SWFObject.prototype.write){var _s1=SWFObject.prototype.write;SWFObject.prototype.write=function(){_args=arguments;if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue());((typeof _args[0]=="string")?document.getElementById(_args[0]):_args[0]).so=this}var success;if(success=_s1.apply(this,_args)){_ref.addId(this.getAttribute("id"))}return success}}if(typeof swfobject!=UNDEFINED){var _s2r=swfobject.registerObject;swfobject.registerObject=function(){_args=arguments;_s2r.apply(this,_args);_ref.addId(_args[0])};var _s2c=swfobject.createSWF;swfobject.createSWF=function(){_args=arguments;var swf=_s2c.apply(this,_args);if(swf){_ref.addId(_args[0].id)}return swf};var _s2e=swfobject.embedSWF;swfobject.embedSWF=function(){_args=arguments;if(typeof _args[8]==UNDEFINED){_args[8]={}}if(typeof _args[8].id==UNDEFINED){_args[8].id=_args[1]}_s2e.apply(this,_args);_ref.addId(_args[8].id)}}if(typeof UFO!=UNDEFINED){var _u=UFO.create;UFO.create=function(){_args=arguments;_u.apply(this,_args);_ref.addId(_args[0].id)}}if(typeof AC_FL_RunContent!=UNDEFINED){var _a=AC_FL_RunContent;AC_FL_RunContent=function(){_args=arguments;_a.apply(this,_args);for(var i=0,l=_args.length;i<l;i++){if(_args[i]=="id"){_ref.addId(_args[i+1])}}}}})()};
Function.prototype.bind = function (object)
{
var method = this;
return function ()
{
return method.apply(object, arguments);
};
};
function EventBroadcaster()
{
this.x={};
this.events = [];
this.builtinEvts = [];
}
EventBroadcaster.prototype.getActionIdx = function(obj,evt,action,binding)
{
if(obj && evt)
{
var curel = this.events[obj][evt];
if(curel)
{
var len = curel.length;
for(var i = len-1;i >= 0;i--)
{
if(curel[i].action == action && curel[i].binding == binding)
{
return i;
}
}
}
else
{
return -1;
}
}
return -1;
};
EventBroadcaster.prototype.addListener = function(evt,action,binding)
{
obj=this;
if(this.events[obj]){
if(this.events[obj][evt]) {
if(this.getActionIdx(obj,evt,action,binding) == -1) {
var curevt = this.events[obj][evt];
curevt[curevt.length] = {action:action,binding:binding};
}
}
else {
this.events[obj][evt] = [];
this.events[obj][evt][0] = {action:action,binding:binding};
}
}
else {
this.events[obj] = [];
this.events[obj][evt] = [];
this.events[obj][evt][0] = {action:action,binding:binding};
}
};
EventBroadcaster.prototype.removeListener = function(obj,evt,action,binding)
{ obj=this;
if(this.events[obj])
{
if(this.events[obj][evt])
{
var idx = this.actionExists(obj,evt,action,binding);
if(idx >= 0)
{
this.events[obj][evt].splice(idx,1);
}
}
}
};
EventBroadcaster.prototype.dispatchEvent = function(evt,e,args)
{
obj=this ;
if(!e){e = window.event;}
if(obj && this.events)
{
var evtel = this.events[obj];
if(evtel)
{
var curel = evtel[evt];
if(curel)
{
for(var act in curel)
{
var action = curel[act].action;
if(curel[act].binding)
{
action = action.bind(curel[act].binding);
}
action(e,args);
}
}
}
}
};
function CookieManager(cookieName, expirationDate, domain) {
this.cookieName = cookieName;
this.expirationDate = expirationDate;
this.domain = domain;
this.getValue = cm_getValue;
this.setValue = cm_setValue;
function cm_getValue(key) {
var i;
var result;
result = document.cookie.match(key + '=([^;&]*)'); // value will be in the position 1 (first group)
return (result != null) ? result[1] : null;
}
function cm_setValue(key, val)
{
var result = '';
var expiration = this.expirationDate == null ? '' : 'expires=' + this.expirationDate.toGMTString() + ';';
result = document.cookie.match(this.cookieName + '=([^;]*)');
if(result == null)
result = "";
else
result = result[1];
if(result.indexOf(key) > -1)
result = result.replace(new RegExp(key + '=[^&]*'), key + '=' + val);
else // If key does not exist int the cookie, put it
result += ((result != '') ? '&' : '') + key + '=' + val;
document.cookie = this.cookieName + '=' + result + ';domain=' + this.domain + ';path=/;' + expiration;
}
}
/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
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;

//+ Carlos R. L. Rodrigues
//@ http://jsfromhell.com/number/zero-format [rev. #1]

Number.prototype.zeroFormat = function(n, f, r){
	return n = new Array((++n, f ? (f = (this + "").length) < n ? n - f : 0 : n)).join(0), r ? this + n : n + this;
};
function PlayerType ()
{
this.Unsupported = 0;
this.WindowsMedia = 1;
this.Quicktime = 2;
this.Silverlight = 3;
}
var SonoraBrowserDetect = {
init: function() {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
this.OS_version = this.searchOSVersion(navigator.userAgent) || "an unknown OS Version";
},
searchString: function(data) {
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function(dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
},
searchOSVersion: function(dataString) {
var index = dataString.lastIndexOf(this.versionSearchStringOs);
if (index == -1) return;
version = dataString.substring(index + this.versionSearchStringOs.length + 1, dataString.indexOf(";", index + this.versionSearchStringOs.length + 1));
if (version.indexOf(".") == -1) {
version = version.replace(/_/g, ".");
try {
} catch (err) {
}
}
return parseFloat(version);
},
dataBrowser: [
{
string: navigator.userAgent,
subString: "Chrome",
identity: "Chrome"
},
{ string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari",
versionSearch: "Version"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{ // for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS: [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.userAgent,
subString: "iPhone",
identity: "iPhone/iPod"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]
};
SonoraBrowserDetect.init();
var alternateWmpRender = false;
function GetPlayerType()
{
var player = null;
var playerType = new PlayerType();
if (window.ActiveXObject) {
try {
player = new ActiveXObject("WMPlayer.OCX.7");
}
catch (e) { }
if (player) {
return (playerType.WindowsMedia);
}
}
if (window.ActiveXObject)
{
try
{
player = new ActiveXObject("AgControl.AgControl");
}
catch(e) {}
if (player) {
return (playerType.Silverlight);
}
}
if(HasPlugin("Silverlight"))
{
var slSupported = false;
slSupported |= (SonoraBrowserDetect.browser == "Firefox" || SonoraBrowserDetect.browser == "Chrome");
slSupported |= (SonoraBrowserDetect.browser == "Safari" && (SonoraBrowserDetect.OS == "Mac" || SonoraBrowserDetect.OS == "Windows"));
if (slSupported) {
return playerType.Silverlight;
}
}
if (window.ActiveXObject)
{
try
{
player = new ActiveXObject("MediaPlayer.MediaPlayer.1");
}
catch(e) {}
if(player)
return (playerType.WindowsMedia);
}
if(HasPlugin("Windows Media Player Firefox"))
{
alternateWmpRender = true; // Uses
return (playerType.WindowsMedia);
}
if (window.GeckoActiveXObject)
{
try
{
player = new GeckoActiveXObject("MediaPlayer.MediaPlayer.1");
}
catch (e) {}
if(player)
return (playerType.WindowsMedia);
}
return (playerType.Unsupported);
}
function HasPlugin(plugin)
{
for(var i = 0; i < navigator.plugins.length; i++)
{
if(navigator.plugins[i].name.indexOf(plugin) != -1)
return (true);
}
return (false);
}
function EventManager() {
this.add = em_Add;
this.exec = em_Exec;
this.eventItems = new Array();
function em_Add(obj, method) {
this.eventItems.push(new EventItem(obj, method));
}
function em_Exec() {
var i;
for(i = 0; i < this.eventItems.length; i++)
{
if(this.eventItems[i].object)
{
eval(this.eventItems[i].object + '.' + this.eventItems[i].method + '()');
}
else
{
eval(this.eventItems[i].method + '()');
}
}
}
}
function EventItem(object, method) {
this.object = object;
this.method = method;
}
var lastMediaItemId = 0;
var uniqueUrl = true;
function MediaItem(id, title, image, duration, ads, bitrate) {
this.contentId = id; // Media's content id
this.title = title; // Media's title
this.imgUrl = image; // Media's playlist image
this.duration = duration; // Media's duration
this.ads = ads; // Array of advertisements media items
this.bitRate = bitrate; // Current Media BitRate
this.getUrl = mediaItem_GetUrl; // Gets url for a quality
this.setUrl = mediaItem_SetUrl; // Sets url for a quality
this.mediaUrls = new Array(); // Holds the urls for all media item qualities
this.spot = false;
this.isBlocked = false;
function mediaItem_GetUrl(quality) {
return this.mediaUrls[quality];
}
function mediaItem_SetUrl(quality, url)
{
if(url && url != "")
{
if(uniqueUrl && !sonora.wmp.isInWMP)
{
if(url.indexOf('?') > -1)
{
url = url.replace('?', '?' + 'uid=' + (lastMediaItemId++) + '&');
}
else
{
url += '?' + 'uid=' + (lastMediaItemId++);
}
}
this.mediaUrls[quality] = url;
}
else
{
this.mediaUrls[quality] = "";
}
}
}
function PlayerMac(objName, playerObject)
{
this.getCurrentMediaDuration = mac_GetCurrentMediaDuration;
this.getPosition = mac_GetPosition;
this.setPosition = mac_SetPosition;
this.next = mac_Next;
this.pause = mac_Pause;
this.play = mac_Play;
this.playItem = mac_PlayItem;
this.playUrl = mac_PlayUrl;
this.previous = mac_Previous;
this.stop = mac_Stop;
this.fastForward = mac_FastForward;
this.rewind = mac_Rewind;
this.getMute = mac_GetMute;
this.setMute = mac_SetMute;
this.getRepeat = mac_GetRepeat;
this.setRepeat = mac_SetRepeat;
this.getVolume = mac_GetVolume;
this.setVolume = mac_SetVolume;
this.getQuality = mac_GetQuality;
this.setQuality = mac_SetQuality;
this.getCurrentPlaylist = mac_GetCurrentPlaylist;
this.setCurrentPlaylist = mac_SetCurrentPlaylist;
this.getPlayState = mac_GetPlayState;
this.getCurrentMedia = mac_GetCurrentMedia;
this.getStatus = mac_GetStatus;
this.getBitrate = mac_GetBitrate;
this.fullScreen = mac_FullScreen;
this.resize = mac_Resize;
this.onCurrentMediaChange = new EventManager(); // Occurs when the current media changes
this.onCurrentPositionChange = new EventManager(); // Occurs when the current position in the media item changes
this.onMuteChange = new EventManager(); // Occurs when the mute state changes
this.onPlayerStateStringChange = new EventManager(); // Occurs when the player state string changes
this.onPlayStateChange = new EventManager(); // Occurs when the play state changes
this.currentPlaylist = null;
this.objName = objName;
this.playerObject = playerObject;
this.playState = new PlayState();
this.quality = new Quality().low;
this.repeat = false;
this.paused = false;
this.lastCurrentPosition = 0;
this.lastMediaUrl = '';
this.lastMute = false;
this.lastPlayState = this.playState.undefined;
this.lastStateStr = '';
this.sync = mac_Sync;
this.createInternalPlaylist = mac_CreateInternalPlaylist;
this.getCurrentPlaySequenceIndex = mac_GetCurrentPlaySequenceIndex;
this.getCurrentIndex = mac_GetCurrentIndex;
this.tick = mac_Tick;
this.createInternalPlaylist();
this.manualStop = true;
setTimeout(this.objName +'.tick();', 1000);
function mac_Next() {
if(this.getCurrentIndex()<this.currentPlaylist.count()-1)
{
this.playItem(this.getCurrentIndex()+1);
}
else
{
this.playItem(0);
}
}
function mac_Pause()
{
try
{
this.playerObject.Stop();
this.paused = true;
}catch(e){}
}
function mac_Play(wait)
{
if(this.currentPlaylist!=null && this.getPlayState()!=this.playState.paused && this.getPlayState()!=this.playState.playing)
{
this.playItem(0);
}
else
{
try
{
this.playerObject.Play();
this.paused = false;
}catch(e){}
}
}
function mac_PlayItem(index, wait)
{
if(this.currentPlaylist.count() > 0 && index < this.currentPlaylist.count())
{
var playSequence = this.currentPlaylist.getPlaySequence();
var psIndex = this.currentPlaylist.getPlaySequenceIndex(index);
this.playerObject.SetResetPropertiesOnReload(false);
this.playerObject.SetURL(playSequence[psIndex].mediaUrls[this.quality]);
this.playerObject.Play();
this.paused = false;
this.manualStop = false;
}
}
function mac_PlayUrl(url)
{
this.playerObject.SetResetPropertiesOnReload(false);
this.playerObject.SetURL(url);
this.playerObject.Play();
this.paused = false;
this.manualStop = false;
}
function mac_Previous()
{
if(this.getCurrentIndex()>0)
{
this.playItem(this.getCurrentIndex()-1);
}
else
{
this.playItem(this.currentPlaylist.count()-1);
}
}
function mac_Stop()
{
try
{
this.playerObject.Stop();
this.paused = false;
this.manualStop = true;
}
catch(e){}
}
function mac_FastForward()
{
}
function mac_Rewind()
{
}
function mac_GetCurrentMediaDuration()
{
try
{
return(this.playerObject.GetDuration() / this.playerObject.GetTimeScale());
}
catch(e)
{
return(0);
}
}
function mac_GetPosition()
{
try
{
return(this.playerObject.GetTime() / this.playerObject.GetTimeScale());
}
catch(e)
{
return(0);
}
}
function mac_SetPosition(position)
{
if(this.playerObject)
this.playerObject.SetTime(position * this.playerObject.GetTimeScale());
}
function mac_SetVolume(val)
{
try
{
this.playerObject.SetVolume(val * 2.56);
}
catch(e){}
}
function mac_GetVolume()
{
try
{
return this.playerObject.GetVolume() / 2.56;
}
catch(e)
{
return(0);
}
}
function mac_SetMute(mute)
{
this.playerObject.SetMute(mute);
}
function mac_GetMute()
{
return this.playerObject.GetMute();
}
function mac_GetRepeat()
{
return(this.repeat);
}
function mac_SetRepeat(state)
{
this.repeat = state;
}
function mac_GetCurrentPlaylist()
{
return(this.currentPlaylist);
}
function mac_SetCurrentPlaylist(playlist)
{
this.currentPlaylist = playlist;
}
function mac_Sync()
{
}
function mac_GetQuality()
{
return this.quality;
}
function mac_SetQuality(quality)
{
this.quality = quality;
}
function mac_GetPlayState()
{
var playerState = this.playerObject.GetPluginStatus();
if(playerState=="Waiting" || playerState=="Loading")
{
return this.playState.buffering;
}
if(this.manualStop)
{
return(this.playState.stopped);
}
try
{
var duration = this.playerObject.GetDuration();
var time = this.playerObject.GetTime();
if(time>0 && duration>0 && Math.abs(duration-time)<100)
{
return(this.playState.stopped)
}
}
catch(e)
{
}
if(this.paused)
{
return(this.playState.paused);
}
else
{
return this.playState.playing;
}
}
function mac_GetCurrentMedia()
{
if(this.currentPlaylist == null)
return null;
var playSequence = this.currentPlaylist.getPlaySequence();
var index = this.getCurrentPlaySequenceIndex();
return (index >= 0) ? playSequence[index] : null;
}
function mac_GetStatus()
{
var status = '';
try
{
status = this.playerObject.GetPluginStatus();
}
catch(e){}
return(status);
}
function mac_GetBitrate()
{
return -1; // Not implemented
}
function mac_FullScreen()
{
}
function mac_Resize(width, height)
{
this.playerObject.width = width;
this.playerObject.height = height;
}
function mac_CreateInternalPlaylist() {
}
function mac_GetCurrentIndex() {
for(var i = 0; i < this.currentPlaylist.mediaItems.length; i++)
{
var url = this.currentPlaylist.mediaItems[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.playerObject.GetURL().indexOf(url)>0)
{
return i;
}
else
{
for(var j = 0; j < this.currentPlaylist.mediaItems[i].ads.length;j++)
{
var urlAd = this.currentPlaylist.mediaItems[i].ads[j].mediaUrls[this.quality];
urlAd = urlAd.substring(urlAd.indexOf("://") + 3);
if(this.playerObject.GetURL().indexOf(urlAd)>0)
{
return i;
}
}
}
}
return -1;
}
function mac_GetCurrentPlaySequenceIndex()
{
var playSequence = this.currentPlaylist.getPlaySequence();
try
{
if(playSequence!=null)
{
for(i = 0; i < playSequence.length; i++)
{
var url = playSequence[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.playerObject.GetURL().indexOf(url)>0)
return i;
}
}
}
catch(e)
{
return -1;
}
}
function mac_Tick()
{
var currentMedia = this.getCurrentMedia();
var currentMediaUrl = currentMedia != null ? currentMedia.mediaUrls[this.quality] : '';
if(this.getPlayState()==this.playState.stopped && !this.manualStop)
{
if(this.currentPlaylist)
{
var playSequence = this.currentPlaylist.getPlaySequence();
var currentIndex = this.getCurrentPlaySequenceIndex();
if(playSequence!=null)
{
if(currentIndex<playSequence.length-1)
{
this.playerObject.SetURL(playSequence[currentIndex+1].mediaUrls[this.quality]);
this.playerObject.Play();
}
else
{
if(this.repeat)
{
this.playItem(0);
}
else
{
this.manualStop = true;
this.paused = false;
}
}
}
}
}
if(this.playerObject)
{
if(this.getStatus() != this.lastStateStr)
{
this.onPlayerStateStringChange.exec();
this.lastStateStr = this.getStatus();
}
}
if(currentMediaUrl != this.lastMediaUrl)
{
this.onCurrentMediaChange.exec();
this.lastMediaUrl = currentMediaUrl;
}
if(this.lastCurrentPosition != this.getPosition())
{
this.onCurrentPositionChange.exec();
this.lastCurrentPosition = this.getPosition();
}
if(this.lastMute != this.getMute())
{
this.onMuteChange.exec();
this.lastMute = this.getMute();
}
if(this.lastPlayState != this.getPlayState())
{
this.onPlayStateChange.exec();
this.lastPlayState = this.getPlayState();
}
setTimeout(this.objName +'.tick();', 1000);
}
}
function PlayerReal(objName, playerObject) {
this.getCurrentMediaDuration = rm_GetCurrentMediaDuration;
this.getPosition = rm_GetPosition;
this.setPosition = rm_SetPosition;
this.next = rm_Next;
this.pause = rm_Pause;
this.play = rm_Play;
this.playItem = rm_PlayItem;
this.playUrl = rm_PlayUrl;
this.previous = rm_Previous;
this.stop = rm_Stop;
this.fastForward = rm_FastForward;
this.rewind = rm_Rewind;
this.getMute = rm_GetMute;
this.setMute = rm_SetMute;
this.getRepeat = rm_GetRepeat;
this.setRepeat = rm_SetRepeat;
this.getVolume = rm_GetVolume;
this.setVolume = rm_SetVolume;
this.getQuality = rm_GetQuality;
this.setQuality = rm_SetQuality;
this.getCurrentPlaylist = rm_GetCurrentPlaylist;
this.setCurrentPlaylist = rm_SetCurrentPlaylist;
this.getPlayState = rm_GetPlayState;
this.getCurrentMedia = rm_GetCurrentMedia;
this.getStatus = rm_GetStatus;
this.getBitrate = rm_GetBitrate;
this.fullScreen = rm_FullScreen;
this.resize = rm_Resize;
this.onCurrentMediaChange = new EventManager(); // Occurs when the current media changes
this.onCurrentPositionChange = new EventManager(); // Occurs when the current position in the media item changes
this.onMuteChange = new EventManager(); // Occurs when the mute state changes
this.onPlayerStateStringChange = new EventManager(); // Occurs when the player state string changes
this.onPlayStateChange = new EventManager(); // Occurs when the play state changes
this.currentPlaylist = null;
this.objName = objName;
this.playerObject = playerObject;
this.playState = new PlayState();
this.quality = new Quality().low;
this.repeat = false;
this.lastCurrentPosition = 0;
this.lastMediaUrl = '';
this.lastMute = false;
this.lastPlayState = this.playState.undefined;
this.lastStateStr = '';
this.sync = rm_Sync;
this.createInternalPlaylist = rm_CreateInternalPlaylist;
this.getCurrentPlaySequenceIndex = rm_GetCurrentPlaySequenceIndex;
this.getCurrentIndex = rm_GetCurrentIndex;
this.tick = rm_Tick;
this.createInternalPlaylist();
this.manualStop = true;
setTimeout(this.objName +'.tick();', 500);
function rm_Next() {
if(this.getCurrentIndex()<this.currentPlaylist.count()-1)
{
this.playItem(this.getCurrentIndex()+1);
}
else
{
this.playItem(0);
}
}
function rm_Pause() {
this.playerObject.DoPause();
}
function rm_Play() {
if(this.currentPlaylist!=null && this.getPlayState()!=this.playState.paused && this.getPlayState()!=this.playState.playing)
{
this.playItem(0);
}
else
{
this.playerObject.DoPlay();
}
}
function rm_PlayItem(index)
{
if(this.currentPlaylist.count() > 0 && index < this.currentPlaylist.count())
{
var playSequence = this.currentPlaylist.getPlaySequence();
var psIndex = this.currentPlaylist.getPlaySequenceIndex(index);
this.playerObject.SetSource(playSequence[psIndex].mediaUrls[this.quality]);
this.playerObject.DoPlay();
this.manualStop = false;
}
}
function rm_PlayUrl(url) {
this.playerObject.SetSource(url);
this.playerObject.DoPlay();
this.manualStop = false;
}
function rm_Previous() {
if(this.getCurrentIndex()>0)
{
this.playItem(this.getCurrentIndex()-1);
}
else
{
this.playItem(this.currentPlaylist.count()-1);
}
}
function rm_Stop() {
this.playerObject.DoStop();
this.manualStop = true;
}
function rm_FastForward() {
}
function rm_Rewind() {
}
function rm_GetCurrentMediaDuration() {
if(this.playerObject)
return(this.playerObject.GetLength()/1000);
return(0);
}
function rm_GetPosition() {
if(this.playerObject)
return(this.playerObject.GetPosition()/1000);
return(0);
}
function rm_SetPosition(position) {
if(this.playerObject)
this.playerObject.SetPosition(position*1000);
}
function rm_SetVolume(val)
{
this.playerObject.SetVolume(val);
}
function rm_GetVolume()
{
return this.playerObject.GetVolume();
}
function rm_SetMute(mute)
{
this.playerObject.SetMute(mute);
}
function rm_GetMute()
{
return this.playerObject.GetMute();
}
function rm_GetRepeat()
{
return(this.repeat);
}
function rm_SetRepeat(state)
{
this.repeat = state;
}
function rm_GetCurrentPlaylist() {
return(this.currentPlaylist);
}
function rm_SetCurrentPlaylist(playlist) {
this.currentPlaylist = playlist;
}
function rm_Sync() {
}
function rm_GetQuality() {
return this.quality;
}
function rm_SetQuality(quality) {
this.quality = quality;
}
function rm_GetPlayState() {
var playerState;
playerState = (this.playerObject) ? this.playerObject.GetPlayState() : 0;
switch(playerState) {
case 0: // Stopped
return this.playState.stopped;
case 1: // Contacting
case 2: // Buffering
case 5: // Seeking
return this.playState.buffering;
case 3: // Playing
return this.playState.playing;
case 4: // Paused
return this.playState.paused;
default :
return this.playState.undefined;
}
}
function rm_GetCurrentMedia() {
if(this.currentPlaylist == null)
return null;
var playSequence = this.currentPlaylist.getPlaySequence();
var index = this.getCurrentPlaySequenceIndex();
return (index >= 0) ? playSequence[index] : null;
}
function rm_GetStatus() {
var status = '';
try
{
status = this.playerObject.GetLastStatus();
}
catch(e){}
return(status);
}
function rm_GetBitrate()
{
return -1; // Not implemented
}
function rm_FullScreen() {
this.playerObject.SetFullScreen();
}
function rm_Resize(width, height) {
this.playerObject.width = width;
this.playerObject.height = height;
}
function rm_CreateInternalPlaylist() {
}
function rm_GetCurrentIndex() {
for(var i = 0; i < this.currentPlaylist.mediaItems.length; i++)
{
var url = this.currentPlaylist.mediaItems[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.playerObject.GetSource().indexOf(url)>0)
{
return i;
}
else
{
for(var j = 0; j < this.currentPlaylist.mediaItems[i].ads.length;j++)
{
var urlAd = this.currentPlaylist.mediaItems[i].ads[j].mediaUrls[this.quality];
urlAd = urlAd.substring(urlAd.indexOf("://") + 3);
if(this.playerObject.GetSource().indexOf(urlAd)>0)
{
return i;
}
}
}
}
return -1;
}
function rm_GetCurrentPlaySequenceIndex() {
var playSequence = this.currentPlaylist.getPlaySequence();
if(playSequence!=null)
{
for(i = 0; i < playSequence.length; i++)
{
var url = playSequence[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.playerObject.GetSource().indexOf(url)>0)
return i;
}
}
return -1;
}
function rm_Tick() {
var currentMedia = this.getCurrentMedia();
var currentMediaUrl = currentMedia != null ? currentMedia.mediaUrls[this.quality] : '';
if(this.getPlayState()==this.playState.stopped && !this.manualStop)
{
if(this.currentPlaylist)
{
var playSequence = this.currentPlaylist.getPlaySequence();
var currentIndex = this.getCurrentPlaySequenceIndex();
if(playSequence!=null)
{
if(currentIndex<playSequence.length-1)
{
this.playerObject.SetSource(playSequence[currentIndex+1].mediaUrls[this.quality]);
this.playerObject.DoPlay();
}
else
{
if(this.repeat)
{
this.playItem(0);
}
else
{
this.manualStop = true;
}
}
}
}
}
if(this.playerObject)
{
if(this.getStatus() != this.lastStateStr) {
this.onPlayerStateStringChange.exec();
this.lastStateStr = this.getStatus();
}
}
if(currentMediaUrl != this.lastMediaUrl) {
this.onCurrentMediaChange.exec();
this.lastMediaUrl = currentMediaUrl;
}
if(this.lastCurrentPosition != this.getPosition()) {
this.onCurrentPositionChange.exec()
this.lastCurrentPosition = this.getPosition();
}
if(this.lastMute != this.getMute()) {
this.onMuteChange.exec();
this.lastMute = this.getMute();
}
if(this.lastPlayState != this.getPlayState()) {
this.onPlayStateChange.exec();
this.lastPlayState = this.getPlayState();
}
setTimeout(this.objName +'.tick();', 500);
}
}
function PlayerSilverlight(objName, playerObject) {
this.getCurrentMediaDuration = sl_GetCurrentMediaDuration;
this.getPosition = sl_GetPosition;
this.setPosition = sl_SetPosition;
this.next = sl_Next;
this.pause = sl_Pause;
this.play = sl_Play;
this.playItem = sl_PlayItem;
this.playUrl = sl_PlayUrl;
this.previous = sl_Previous;
this.stop = sl_Stop;
this.fastForward = sl_FastForward;
this.rewind = sl_Rewind;
this.getMute = sl_GetMute;
this.setMute = sl_SetMute;
this.getRepeat = sl_GetRepeat;
this.setRepeat = sl_SetRepeat;
this.getVolume = sl_GetVolume;
this.setVolume = sl_SetVolume;
this.getQuality = sl_GetQuality;
this.setQuality = sl_SetQuality;
this.getCurrentPlaylist = sl_GetCurrentPlaylist;
this.setCurrentPlaylist = sl_SetCurrentPlaylist;
this.getPlayState = sl_GetPlayState;
this.getCurrentMedia = sl_GetCurrentMedia;
this.getStatus = sl_GetStatus;
this.getBitrate = sl_GetBitrate;
this.fullScreen = sl_FullScreen;
this.resize = sl_Resize;
this.onCurrentMediaChange = new EventManager(); // Occurs when the current media changes
this.onCurrentPositionChange = new EventManager(); // Occurs when the current position in the media item changes
this.onMuteChange = new EventManager(); // Occurs when the mute state changes
this.onPlayerStateStringChange = new EventManager(); // Occurs when the player state string changes
this.onPlayStateChange = new EventManager(); // Occurs when the play state changes
this.currentPlaylist = null;
this.objName = objName;
this.playerObject = playerObject;
this.playState = new PlayState();
this.quality = new Quality().low;
this.repeat = false;
this.lastCurrentPosition = 0;
this.lastMediaUrl = '';
this.lastMute = false;
this.lastPlayState = this.playState.undefined;
this.lastStateStr = '';
this.sync = sl_Sync;
this.createInternalPlaylist = sl_CreateInternalPlaylist;
this.getCurrentPlaySequenceIndex = sl_GetCurrentPlaySequenceIndex;
this.getCurrentIndex = sl_GetCurrentIndex;
this.tick = sl_Tick;
this.getMediaObject = sl_GetMediaObject;
this.mediaEnd = sl_MediaEnd;
this.next = sl_Next;
this.createInternalPlaylist();
this.manualStop = true;
setTimeout(this.objName +'.tick();', 500);
function sl_Next()
{
var cIndex = this.getCurrentPlaySequenceIndex();
if(cIndex < this.currentPlaylist.count()-1)
{
if(this.getCurrentMedia().isAd)
{
this.playItem(cIndex);
}
else
{
this.playItem(cIndex + 1);
}
}
else
{
this.playItem(0);
}
}
function sl_MediaEnd()
{
var currentMedia = this.getCurrentMedia();
var currentMediaUrl = currentMedia != null ? currentMedia.mediaUrls[this.quality] : '';
this.getMediaObject().Stop();
try
{
if(this.currentPlaylist)
{
var playSequence = this.currentPlaylist.getPlaySequence();
var currentIndex = this.getCurrentPlaySequenceIndex();
if(playSequence!=null)
{
if(currentIndex < playSequence.length - 1)
{
var iURL = playSequence[currentIndex+1].mediaUrls[this.quality];
this.getMediaObject().Source = iURL;
this.getMediaObject().Play();
this.onCurrentMediaChange.exec();
this.lastMediaUrl = currentMediaUrl;
}
else
{
if(this.repeat)
{
this.playItem(0);
}
else
{
this.manualStop = true;
}
}
}
}
}
catch(e){}
}
function sl_GetMediaObject()
{
return this.playerObject.Content.findName("media");
}
function sl_Pause() {
this.getMediaObject().Pause();
}
function sl_Play()
{
if(this.currentPlaylist!=null && this.getPlayState()!=this.playState.paused && this.getPlayState()!=this.playState.playing)
{
this.playItem(0);
}
else
{
this.getMediaObject().Play();
this.currentPlayState = this.playState.playing;
}
}
function sl_PlayItem(index, wait)
{
if(this.currentPlaylist.count() > 0 && index < this.currentPlaylist.count())
{
var playSequence = this.currentPlaylist.getPlaySequence();
this.getMediaObject().Source = playSequence[index].mediaUrls[this.quality];
this.getMediaObject().Play();
this.manualStop = false;
this.onCurrentMediaChange.exec();
}
}
function sl_PlayUrl(url)
{
this.getMediaObject().Source = url;
this.getMediaObject().Play();
this.manualStop = false;
}
function sl_Previous() {
var currentPlaySequenceIndex = this.getCurrentPlaySequenceIndex();
if(currentPlaySequenceIndex > 0)
{
this.playItem(currentPlaySequenceIndex - 1);
}
else
{
this.playItem(this.currentPlaylist.count()-1);
}
}
function sl_Stop() {
this.getMediaObject().Stop();
this.manualStop = true;
}
function sl_FastForward() {
}
function sl_Rewind() {
}
function sl_GetCurrentMediaDuration() {
if (this.playerObject && this.getMediaObject() && this.getMediaObject().NaturalDuration && this.getMediaObject().NaturalDuration.Seconds > 0) {
return (this.getMediaObject().NaturalDuration.Seconds);
}
else {
return sonora.player.getCurrentMedia().duration;
}
return(0);
}
function sl_GetPosition()
{
if(this.playerObject)
return(this.getMediaObject().Position.Seconds);
return(0);
}
function sl_SetPosition(position) {
if(this.playerObject)
{
var pos = this.getMediaObject().Position;
pos.Seconds = position;
this.getMediaObject().Position = pos;
}
}
function sl_SetVolume(val)
{
this.getMediaObject().Volume = val / 100;
}
function sl_GetVolume()
{
return this.getMediaObject().Volume * 100;
}
function sl_SetMute(mute)
{
try
{
this.getMediaObject().IsMuted = mute;
}
catch(e){}
}
function sl_GetMute()
{
return this.getMediaObject().IsMuted;
}
function sl_GetRepeat()
{
return(this.repeat);
}
function sl_SetRepeat(state)
{
this.repeat = state;
}
function sl_GetCurrentPlaylist() {
return(this.currentPlaylist);
}
function sl_SetCurrentPlaylist(playlist) {
this.currentPlaylist = playlist;
}
function sl_Sync() {
}
function sl_GetQuality() {
return this.quality;
}
function sl_SetQuality(quality) {
this.quality = quality;
}
function sl_GetPlayState() {
var playerState;
playerState = (this.playerObject && this.getMediaObject() && this.getMediaObject().CurrentState) ? this.getMediaObject().CurrentState.toString() : 0;
switch(playerState) {
case "Stopped":
return this.playState.stopped;
case "Opening":
case "Buffering":
return this.playState.buffering;
case "Playing":
return this.playState.playing;
case "Paused":
return this.playState.paused;
case "Buffering":
return this.playState.buffering;
default :
return this.playState.undefined;
}
}
function sl_GetCurrentMedia()
{
if(this.currentPlaylist == null)
return null;
var playSequence = this.currentPlaylist.getPlaySequence();
var index = this.getCurrentPlaySequenceIndex();
return (index >= 0) ? playSequence[index] : null;
}
function sl_GetStatus() {
return this.getPlayState();
}
function sl_GetBitrate()
{
return -1; // Not implemented
}
function sl_FullScreen()
{
toggle_fullScreen();
}
function sl_Resize(width, height)
{
this.playerObject.width = width;
this.playerObject.height = height;
this.getMediaObject().Width = width;
this.getMediaObject().Height = height;
}
function sl_CreateInternalPlaylist() {
}
function sl_GetCurrentIndex() {
for(var i = 0; i < this.currentPlaylist.mediaItems.length; i++)
{
var url = this.currentPlaylist.mediaItems[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.getMediaObject().Source.indexOf(url)>0)
{
return i;
}
else
{
for(var j = 0; j < this.currentPlaylist.mediaItems[i].ads.length;j++)
{
var urlAd = this.currentPlaylist.mediaItems[i].ads[j].mediaUrls[this.quality];
urlAd = urlAd.substring(urlAd.indexOf("://") + 3);
if(this.getMediaObject().Source.indexOf(urlAd)>0)
{
return i;
}
}
}
}
return -1;
}
function sl_GetCurrentPlaySequenceIndex()
{
var playSequence = this.currentPlaylist.getPlaySequence();
if(playSequence!=null)
{
for(i = 0; i < playSequence.length; i++)
{
var url = playSequence[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
var playerUrl = this.getMediaObject().Source;
if(this.getMediaObject() && playerUrl.indexOf(url) > 0)
{
return i;
}
}
}
return -1;
}
function sl_Tick()
{
var positionChanged = false;
if(this.lastCurrentPosition != this.getPosition())
{
positionChanged = true;
this.onCurrentPositionChange.exec()
this.lastCurrentPosition = this.getPosition();
}
setTimeout(this.objName +'.tick();', 1000);
var newPlayState = this.getPlayState();
if(this.lastPlayState != newPlayState) {
this.onPlayStateChange.exec();
this.lastPlayState = newPlayState;
}
else
{
if(this.lastPlayState == 4 && this.lastCurrentPosition == 0 )
{
this.getMediaObject().Play();
}else if( this.lastPlayState == 4 && positionChanged )
{
this.onPlayStateChange.exec();
}
}
}
}
function PlayerWmSimple(objName, playerObject) {
this.getCurrentMediaDuration = wm_GetCurrentMediaDuration;
this.getPosition = wm_GetPosition;
this.setPosition = wm_SetPosition;
this.next = wm_Next;
this.pause = wm_Pause;
this.play = wm_Play;
this.playItem = wm_PlayItem;
this.playUrl = wm_PlayUrl;
this.previous = wm_Previous;
this.stop = wm_Stop;
this.fastForward = wm_FastForward;
this.rewind = wm_Rewind;
this.getMute = wm_GetMute;
this.setMute = wm_SetMute;
this.getRepeat = wm_GetRepeat;
this.setRepeat = wm_SetRepeat;
this.getVolume = wm_GetVolume;
this.setVolume = wm_SetVolume;
this.getQuality = wm_GetQuality;
this.setQuality = wm_SetQuality;
this.getCurrentPlaylist = wm_GetCurrentPlaylist;
this.setCurrentPlaylist = wm_SetCurrentPlaylist;
this.getPlayState = wm_GetPlayState;
this.getCurrentMedia = wm_GetCurrentMedia;
this.getStatus = wm_GetStatus;
this.getBitrate = wm_GetBitrate;
this.fullScreen = wm_FullScreen;
this.resize = wm_Resize;
this.onCurrentMediaChange = new EventManager(); // Occurs when the current media changes
this.onCurrentPositionChange = new EventManager(); // Occurs when the current position in the media item changes
this.onMuteChange = new EventManager(); // Occurs when the mute state changes
this.onPlayerStateStringChange = new EventManager(); // Occurs when the player state string changes
this.onPlayStateChange = new EventManager(); // Occurs when the play state changes
this.currentPlaylist = null;
this.objName = objName;
this.playerObject = playerObject;
this.playState = new PlayState();
this.quality = new Quality().low;
this.repeat = false;
this.lastCurrentPosition = 0;
this.lastMediaUrl = '';
this.lastMute = false;
this.lastPlayState = this.playState.undefined;
this.lastStateStr = '';
this.sync = wm_Sync;
this.createInternalPlaylist = wm_CreateInternalPlaylist;
this.getCurrentPlaySequenceIndex = wm_GetCurrentPlaySequenceIndex;
this.getCurrentIndex = wm_GetCurrentIndex;
this.tick = wm_Tick;
this.createInternalPlaylist();
this.manualStop = true;
setTimeout(this.objName +'.tick();', 500);
function wm_Next() {
if(this.getCurrentIndex()<this.currentPlaylist.count()-1)
{
this.playItem(this.getCurrentIndex()+1);
}
else
{
this.playItem(0);
}
}
function wm_Pause() {
this.playerObject.controls.pause();
}
function wm_Play() {
if(this.currentPlaylist!=null && this.getPlayState()!=this.playState.paused && this.getPlayState()!=this.playState.playing)
{
this.playItem(0);
}
else
{
this.playerObject.controls.play();
}
this.currentPlayState = this.playState.playing;
}
function wm_PlayItem(index)
{
if(this.currentPlaylist.count() > 0 && index < this.currentPlaylist.count())
{
var playSequence = this.currentPlaylist.getPlaySequence();
if (index > -1) {
this.playerObject.URL = playSequence[index].mediaUrls[this.quality];
this.playerObject.controls.play();
this.manualStop = false;
}
}
}
function wm_PlayUrl(url) {
this.playerObject.URL = url;
this.playerObject.controls.play();
this.manualStop = false;
}
function wm_Previous() {
if(this.getCurrentIndex()>0)
{
this.playItem(this.getCurrentIndex()-1);
}
else
{
this.playItem(this.currentPlaylist.count()-1);
}
}
function wm_Stop() {
this.playerObject.controls.stop();
this.manualStop = true;
}
function wm_FastForward() {
this.playerObject.controls.fastForward();
}
function wm_Rewind() {
this.playerObject.controls.fastReverse();
}
function wm_GetCurrentMediaDuration() {
if(this.playerObject.currentMedia != null)
return this.playerObject.currentMedia.duration;
return 0;
}
function wm_GetPosition() {
if(this.playerObject)
if(this.playerObject.controls)
return parseInt(this.playerObject.controls.currentPosition);
return 0;
}
function wm_SetPosition(position) {
this.playerObject.controls.currentPosition = position;
}
function wm_SetVolume(val)
{
if(this.playerObject.settings)
{
this.playerObject.settings.volume = val;
}
}
function wm_GetVolume()
{
if(this.playerObject.settings)
{
return this.playerObject.settings.volume;
}
}
function wm_SetMute(mute)
{
if(this.playerObject.settings)
{
this.playerObject.settings.mute = mute;
}
}
function wm_GetMute()
{
if(this.playerObject)
if(this.playerObject.settings)
return this.playerObject.settings.mute;
return(false);
}
function wm_GetRepeat()
{
return(this.repeat);
}
function wm_SetRepeat(state)
{
this.repeat = state;
}
function wm_GetCurrentPlaylist() {
return(this.currentPlaylist);
}
function wm_SetCurrentPlaylist(playlist) {
this.currentPlaylist = playlist;
}
function wm_Sync() {
}
function wm_GetQuality() {
return this.quality;
}
function wm_SetQuality(quality) {
this.quality = quality;
}
function wm_GetPlayState() {
var playerState;
playerState = (this.playerObject) ? this.playerObject.playState : 0;
switch(playerState) {
case 1 : // Stopped
case 10 : // Ready
return this.playState.stopped;
case 2 : // Paused
return this.playState.paused;
case 7 : // Waiting
this.next(); // End of live, go to next and return 'playing'
case 4 : // ScanForward
return this.playState.forwarding;
case 5 : // ScanReverse
return this.playState.rewinding;
case 3 : // Playing
case 8 : // MediaEnded
return this.playState.playing;
case 6 : // Buffering
case 9 : // Transitioning
case 11 : // Reconnecting
return this.playState.buffering;
default :
return this.playState.undefined;
}
}
function wm_GetCurrentMedia() {
if(this.currentPlaylist == null)
return null;
var playSequence = this.currentPlaylist.getPlaySequence();
var index = this.getCurrentPlaySequenceIndex();
return (index >= 0) ? playSequence[index] : null;
}
function wm_GetStatus() {
return this.playerObject.status;
}
function wm_GetBitrate()
{
if(this.playerObject)
if(this.playerObject.currentMedia != null)
return this.playerObject.currentMedia.getItemInfo("Bitrate");
return 0;
}
function wm_FullScreen() {
try {
this.playerObject.fullScreen = 'true';
} catch(e) {}
try {
this.playerObject.fullScreen = true;
} catch(e) {}
}
function wm_Resize(width, height)
{
this.playerObject.width = width;
this.playerObject.height = height;
if(window.GeckoActiveXObject)
{
document.getElementsByTagName("body")[0].style.height = '1px';
window.setTimeout('document.getElementsByTagName("body")[0].style.height = \'auto\';',100); // Apparently a small delay is required
}
}
function wm_CreateInternalPlaylist() {
}
function wm_GetCurrentIndex() {
for(var i = 0; i < this.currentPlaylist.mediaItems.length; i++)
{
var url = this.currentPlaylist.mediaItems[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.playerObject.URL.indexOf(url)>0)
{
return i;
}
else
{
for(var j = 0; j < this.currentPlaylist.mediaItems[i].ads.length;j++)
{
var urlAd = this.currentPlaylist.mediaItems[i].ads[j].mediaUrls[this.quality];
urlAd = urlAd.substring(urlAd.indexOf("://") + 3);
if(this.playerObject.URL.indexOf(urlAd)>0)
{
return i;
}
}
}
}
return -1;
}
function wm_GetCurrentPlaySequenceIndex() {
var playSequence = this.currentPlaylist.getPlaySequence();
if(playSequence!=null && this.playerObject!=null)
{
for(i = 0; i < playSequence.length; i++)
{
var url = playSequence[i].mediaUrls[this.quality];
url = url.substring(url.indexOf("://") + 3);
if(this.playerObject.URL!=null)
{
if(this.playerObject.URL.indexOf(url)>0)
return i;
}
}
}
return -1;
}
function wm_Tick() {
var currentMedia = this.getCurrentMedia();
var currentMediaUrl = currentMedia != null ? currentMedia.mediaUrls[this.quality] : '';
if(this.getPlayState()==this.playState.stopped && !this.manualStop)
{
if(this.currentPlaylist)
{
var playSequence = this.currentPlaylist.getPlaySequence();
var currentIndex = this.getCurrentPlaySequenceIndex();
if(playSequence!=null)
{
if(currentIndex<playSequence.length-1)
{
this.playerObject.URL = playSequence[currentIndex+1].mediaUrls[this.quality];
this.playerObject.controls.play();
}
else
{
if(this.repeat)
{
this.playItem(0);
}
else
{
this.manualStop = true;
}
}
}
}
}
if(this.getStatus() != this.lastStateStr) {
this.onPlayerStateStringChange.exec();
this.lastStateStr = this.getStatus();
}
if(currentMediaUrl != this.lastMediaUrl && this.getPlayState()!=this.playState.stopped) {
this.onCurrentMediaChange.exec();
this.lastMediaUrl = currentMediaUrl;
}
if(this.lastCurrentPosition != this.getPosition()) {
this.onCurrentPositionChange.exec()
this.lastCurrentPosition = this.getPosition();
}
if(this.lastMute != this.getMute()) {
this.onMuteChange.exec();
this.lastMute = this.getMute();
}
if(this.lastPlayState != this.getPlayState()) {
this.onPlayStateChange.exec();
this.lastPlayState = this.getPlayState();
}
setTimeout(this.objName +'.tick();', 500);
}
}
function Playlist() {
this.id = 0;
this.title = '';
this.adsFrequency = 3; // Advertisements frequency
this.maxAdsFirst = -1; // Maximum number of advertisements before the first item (negative number for all ads)
this.maxAds = -1; // Maximum number of advertisements before the media items (but the first, negative number for all ads)
this.adsStartAt = 0; // Position of the first ad (zero-based)
this.appendItem = pl_AppendItem;
this.clear = pl_Clear;
this.insertItem = pl_InsertItem;
this.getDuration = pl_GetDuration;
this.getItem = pl_getItem;
this.getPlaySequence = pl_GetPlaySequence;
this.getPlaySequenceIndex = pl_GetPlaySequenceIndex;
this.getPlayIndex = pl_GetPlayIndex;
this.indexOf = pl_IndexOf;
this.indexOfPlaySequence = pl_IndexOfPlaySequence;
this.count = pl_Count;
this.moveItem = pl_moveItem;
this.removeAt = pl_RemoveAt;
this.setShuffle = pl_setShuffle;
this.getShuffle = pl_GetShuffle;
this.getPlaySequenceItem = pl_GetPlaySequenceItem;
this.onChange = new EventManager(); // Occurs when the number of items or them order changes
this.curMediaIndex = null; // Used for shuffle
this.mediaItems = new Array(); // The playlist items
this.plItemsOrder = new Array();
this.playSequence;
this.shuffle = false;
this.plIndexToPlaySequenceIndex = new Array();
this.genPlaySequence = genPlaySequence;
function pl_AppendItem(mediaItem)
{
this.mediaItems.push(mediaItem);
this.genPlaySequence();
}
function pl_Clear() {
this.mediaItems = new Array();
this.genPlaySequence();
}
function pl_Count() {
return this.mediaItems.length;
}
function pl_GetDuration()
{
var sum = 0, i;
for(i = 0; i < this.mediaItems.length; i++)
sum += this.mediaItems[i].duration;
return sum;
}
function pl_getItem(index) {
return this.mediaItems[index];
}
function pl_GetPlaySequenceIndex(plIndex)
{
return this.plIndexToPlaySequenceIndex[this.plItemsOrder[plIndex]];
}
function pl_GetPlayIndex(plIndex)
{
return this.indexOfPlaySequence(this.mediaItems[plIndex]);
}
function pl_IndexOf(mediaItem)
{
var i, j;
for(i = 0; i < this.mediaItems.length; i++)
{
if(mediaItem == this.mediaItems[i]) // Check if the wanted item is the current
{
return i;
}
else if(this.mediaItems[i].ads != null) // Search for the item in ads
{
for(j = 0; j < this.mediaItems[i].ads.length; j++)
{
if(this.mediaItems[i].ads[j] == mediaItem)
{
return i;
}
}
}
}
return -1;
}
function pl_IndexOfPlaySequence(mediaItem)
{
var i, j;
if (this.playSequence == null || this.playSequence == "undefined")
return -1;
for(i = 0; i < this.playSequence.length; i++)
{
if(mediaItem.contentId == this.playSequence[i].contentId) // Check if the wanted item is the current
{
return i;
}
else if(this.playSequence[i].ads != null) // Search for the item in ads
{
for(j = 0; j < this.playSequence[i].ads.length; j++)
{
if(this.playSequence[i].ads[j] == mediaItem)
{
return i;
}
}
}
}
return -1;
}
function pl_GetPlaySequence()
{
return this.playSequence;
}
function pl_GetPlaySequenceItem(index)
{
if(index < this.count() && this.playSequence)
{
return this.playSequence[index];
}
else
{
return null;
}
}
function pl_InsertItem(index, mediaItem) {
this.mediaItems.splice(index, 0, mediaItem);
this.genPlaySequence();
}
function pl_moveItem(oldIndex, newIndex)
{
var temp;
if(oldIndex == newIndex) return; // Do not exchange the same position
temp = this.mediaItems.splice(oldIndex, 1)[0];
this.mediaItems.splice(newIndex, 0, temp);
this.genPlaySequence();
}
function pl_RemoveAt(index)
{
this.mediaItems.splice(index, 1);
this.genPlaySequence();
}
function pl_setShuffle(shuffle, curItem)
{
this.shuffle = shuffle;
this.curMediaIndex = curItem;
this.genPlaySequence();
}
function pl_GetShuffle()
{
return this.shuffle;
}
function genPlaySequence()
{
var i, j, plItem;
this.plItemsOrder = new Array();
this.playSequence = new Array();
this.plIndexToPlaySequenceIndex = new Array();
for(i = 0; i < this.mediaItems.length; i++)
{
this.plItemsOrder.push(i);
}
if (this.shuffle)
{
mixArray(this.plItemsOrder, this.curMediaIndex);
this.shuffle = false;
}
var firstAdItem = true;
for(i = 0; i < this.plItemsOrder.length; i++)
{
plItem = this.mediaItems[this.plItemsOrder[i]];
this.plIndexToPlaySequenceIndex.push(this.playSequence.length);
var hasAds = false;
if(i>=this.adsStartAt)
{
hasAds = ((i-this.adsStartAt)%this.adsFrequency)==0;
}
if(hasAds)
{
var adCount = this.maxAds;
if(firstAdItem)
{
adCount = this.maxAdsFirst; // First position may have more ads
firstAdItem = false; // Following items will have less ads
}
mixArray2(plItem.ads);
for(j = 0; j < plItem.ads.length && (j < adCount || adCount == -1); j++)
{
if(plItem.ads[j])
{
this.playSequence.push(plItem.ads[j]);
}
}
}
this.playSequence.push(plItem);
}
this.onChange.exec();
}
function mixArray(array, cur)
{
var i, j, temp;
if(cur > 0)
{
temp = array[0];
array[0] = array[cur];
array[cur] = temp;
}
for(i = 1; i < array.length - 1; i++)
{
j = Math.round(Math.random() * (array.length - i - 2)) + i + 1;
temp = array[i];
array[i] = null;
array[i] = array[j];
array[j] = temp;
}
}
function mixArray2(array)
{
for(var i = 0, rand, temp; i < array.length; i++)
{
rand = Random(0, array.length -1);
temp = array[i];
array[i] = array[rand];
array[rand] = temp;
}
}
function Random(min, max)
{
var seed = Math.random();
return Math.round(seed * (max - min)) + min;
}
}
Playlist.prototype.getItems = function(){
if( this.playSequence )
return this.playSequence;
return this.mediaItems;
}
function PlayState() {
this.undefined = 0;
this.stopped = 1;
this.paused = 2;
this.playing = 3;
this.buffering = 4;
this.forwarding = 5;
this.rewinding = 6;
}
function Quality() {
this.low = 0;
this.high = 1;
}
function Sonora() { }
Sonora.prototype.instanceId = 0;
Sonora.prototype.instanceLang = '';
Sonora.prototype.instanceCookieDomain = '';
Sonora.prototype.instanceTgmKey = '';
Sonora.prototype.instanceCountryCode = '';
Sonora.prototype.instanceCurrency = '';
Sonora.prototype.disableTerraScripts = false;
Sonora.prototype.enableDynamicMessages = false;
Sonora.prototype.openIdEnable = false;
var hash2 = null;
Sonora.prototype.currentPage = '';
Sonora.prototype.events =
{
APPLICATION_INITED: "applicationInited",
PAGE_LOADED: "pageLoaded",
PAGE_LOAD_COMPLETED: "pageLoadedCompleted",
DATA_READY: "dataReady",
ZOOM: "zoom",
LOGGED_IN: "loggedIn",
LOGGED_OUT: "loggedOut",
PLAYLIST_CREATED: "playlistCreated",
PLAYLIST_REMOVED: "playlistRemoved",
PLAYLIST_EDITED: "playlistEdited",
PLAYLIST_RENAMED: "playlistRenamed",
PLAYLIST_SONG_ADDED: "playlistSongAdded",
PLAYLIST_SONGS_ADDED: "playlistSongsAdded",
PLAYLIST_SONG_REMOVED: "playlistSongRemoved",
PLAYLIST_ACCESS_CHANGED: "playlistAccessChanged",
HISTORY_CHANGED: "historyChanged",
SHOPPING_CART_MODIFIED: "shoppingCartModified",
PLAYER_SONG_COMPLETE: "playerSongComplete",
PLAYER_UNKNOWN_ALERT: "playerUNKNOWNAlert",
PLAYER_FREE_SONG_COMPLETE: "playerFreeSongComplete",
PLAYER_20HRS_COMPLETE: "player20HrsComplete",
PLAYER_SONG_CHANGED: "playerSongChanged",
PLAYER_PLAYLIST_COMPLETE: "playerPlaylistComplete",
PLAYER_BUFFERING: "playerBuffering",
PLAYER_STOPPED: "playerStopped",
PLAYER_STARTED: "playerStarted",
PLAYER_POPPED_OUT: "playerPoppedOut",
PLAYER_POPPED_IN: "playerPoppedIn",
PLAYER_ADVERTISEMENT_START: "playerAdvertisementStart",
PLAYER_ADVERTISEMENT_COMPLETE: "playerAdvertisementComplete",
PLAYER_PLAYHEAD_UPDATE: "playHeadUpdated",
PLAYER_QUEUE_READY: "playerQueueReady",
PLAYER_QUEUE_CLOSED: "playerQueueClosed",
PLAYER_QUEUE_CLEARED: "playerQueueCleared",
PLAYER_POPUP_PLAYER_STARTED: "playerPopUpPlayerStarted",
SONG_LIKE: "songLike",
SONG_DISLIKE: "songDislike",
SONG_DEFAULT: "songDefault"
}
Sonora.prototype.types =
{
HOME: "home",
PICKS: "Picks",
POPULAR: "Popular",
NOW: "Now",
SONG: "Music",
ARTIST: "Artist",
ALBUM: "Album",
PLAYLIST: "Playlist",
RADIO: "Radio",
MIX: "Mix",
ACERVO: "Acervo",
MY_SONORA: "MySonora",
MY_HISTORY: "MyHistory",
MY_PLAYLIST: "MyPlaylist",
OTHER_USER: "OtherUser",
SHOPPING_CART: "ShoppingCart",
ACCOUNT: "account",
UPDATE_ACCOUNT: "update_account",
POPOUT_PLAYER: "player",
HELP: "help",
SEARCH: "search",
WIZARD: "playlistrapida",
TOUR: "tour",
LEGAL_TERM: "legal_term",
PLUGINS: "plugins"
}
var sonora = new Sonora();
Date.prototype.format = function(a) {
var f = {
d: ((t = this.getDate().toString()) && t.length == 1) ? "0" + t : t,
j: this.getDate(),
m: ((t = (this.getMonth() + 1).toString()) && t.length == 1) ? "0" + t : t,
n: this.getMonth() + 1,
Y: this.getFullYear(),
y: this.getFullYear().toString().substring(2),
H: ((t = this.getHours().toString()) && t.length == 1) ? "0" + t : t,
G: this.getHours(),
i: ((t = this.getMinutes().toString()) && t.length == 1) ? "0" + t : t,
s: ((t = this.getSeconds().toString()) && t.length == 1) ? "0" + t : t,
u: this.getMilliseconds()
}, b = a;
for (var i=0; i < a.length; i++)
if ((t = a.substr(i, 1)) && f[t])
b = b.replace(t, f[t]);
return b;
}
function Degustation() {
var cookie = null;
}
Degustation.prototype.enableDegustation = false;
Degustation.prototype.isPlayerBlocked = false;
Degustation.prototype.blockedDays = 0;
Degustation.prototype.totalMusicsDegustation = 0;
Degustation.prototype.day = 0;
Degustation.prototype.month = 0;
Degustation.prototype.year = 0;
Degustation.prototype.spotsHeared = 0;
Degustation.prototype.init = function() {
if (this.cookie == null) {
this.cookie = new CookieManager("SONORA_DEGUSTATION", new Date(sonora.degustation.year, sonora.degustation.month - 1, sonora.degustation.day + 1), sonora.instanceCookieDomain);
}
}
Degustation.prototype.blockPlayer = function() {
sonora.player.pause();
sonora.degustation.isPlayerBlocked = true;
sonora.metrics.clearMetricRadio();
sonora.player.addSpot(function() {
sonora.pages.commons.playerHtml.queue.clear(false);
});
}
Degustation.prototype.addSpot = function(callback) {
if (sonora.player) {
var url = '/Media/GetSpots.json';
var currentPlayer = sonora.player;
try {
if(sonora.player.windowHandler != null && sonora.player.windowHandler.sonora != null) {
currentPlayer = sonora.player.windowHandler.sonora.player;
}
} catch(Exception){
sonora.player.windowHandler = null;
window.sonora.player.clear();
}
try {
var access = currentPlayer.playlist.count();
} catch(Exception) {
var newPlaylist = new PlaylistSonora('sonora.player.playlist');
currentPlayer.playlist = newPlaylist;
sonora.player.setCurrentPlaylist(newPlaylist);
}
var play = (currentPlayer.playlist.count() == 0);
var data = "";
if(url.length > 0 && url.indexOf("?") > 0) {
data = url.split("?")[1];
url = url.split("?")[0];
}
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "json",
success: function(json) {
var playlistItems = currentPlayer.playlist.getItems();
if (playlistItems.length == 0) {
sonora.pages.commons.playerHtml.show();
sonora.pages.commons.playerHtml.queue.show();
}
var currentIndex = currentPlayer.getCurrentIndex();
if (json.length && json.length > 0) // Is Array
{
if (playlistItems.length > 0) {
for (var i = json.length - 1; i >= 0; i--) {
var mi = ParseMedia_Json(json[i]);
if(playlistItems.length == 0) {
currentPlayer.playlist.insertItem(0, mi);
} else {
currentPlayer.playlist.insertItem(currentIndex, mi);
}
}
}
}
currentPlayer.playlistStateChange();
currentPlayer.playItem(currentIndex);
if (callback && typeof (callback == 'function')) {
Logger.log('remover: calling sonora.player.getMedias callback');
Logger.log('remover: sonora.player.getMedias callback is ' + callback);
callback(json);
}
return false;
}
});
}
}
Degustation.prototype.reset = function() {
this.cookie.setValue("items", "");
}
Degustation.prototype.isExceeded = function() {
return sonora.degustation.getArrayCookieItens().length >= sonora.degustation.totalMusicsDegustation;
}
Degustation.prototype.blockedItems = function() {
return sonora.degustation.getArrayCookieItens().length;
}
Degustation.prototype.addItem = function(id) {
var items = sonora.degustation.getArrayCookieItens();
if(items.length < 10) {
items.push(new Array());
items[items.length - 1].push(new Array());
items[items.length- 1][0].push(id);
items[items.length - 1][0].push(new Date().format('d/m/Y'));
}
this.cookie.setValue("items", sonora.degustation.getStringCookieItens(items));
}
Degustation.prototype.getArrayCookieItens = function() {
var cookieContent = this.cookie.getValue("items");
if(cookieContent == null || cookieContent == "") return new Array();
var contentItems = cookieContent.split("|");
var returnItems = new Array();
for(var i=0;i<contentItems.length;i++) {
returnItems.push(new Array());
returnItems[returnItems.length - 1].push(new Array());
returnItems[returnItems.length - 1][0].push(contentItems[i].split(",")[0]);
returnItems[returnItems.length - 1][0].push(contentItems[i].split(",")[1]);
}
return returnItems;
}
Degustation.prototype.getStringCookieItens = function(array) {
var returnString = "";
for(var i=0;i<array.length;i++) {
var line = "";
if(i > 0) line += "|";
line += array[i][0][0] + "," + array[i][0][1];
returnString += line;
}
return returnString;
}
Sonora.prototype.degustation = new Degustation();
function FacebookLike() {
}
FacebookLike.prototype.enableFacebookLike = false;
FacebookLike.prototype.loadFacebookLike = function(selector, url) {
$(selector).find('.actions').append('<li><div class="facebookLike facebookHome"></div></li>');
$(selector).find('.facebookLike').append('<iframe src="http://www.facebook.com/plugins/like.php?href=' + sonora.translator.translateRoute('sonoraMainUrl') + url + '&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;font&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>');
}
Sonora.prototype.facebookLike = new FacebookLike();
function Sso() {
}
Sso.prototype.enableSSO = false;
Sso.prototype.ssoInterval = 0;
Sso.prototype.ssoTimer = null;
Sonora.prototype.sso = new Sso();
function WMP() { }
WMP.prototype.isInWMP = false;
WMP.prototype.disableNamesInPlaylist = false;
$(function() {
if (sonora.wmp.isInWMP) {
sonora.wmp.downloadManager.InitDownloadManager();
}
});
Sonora.prototype.wmp = new WMP();
Sonora.prototype.audienceLoggerUrl = 'http://aud.sonora.terra.com.br/PlayEvent.aspx';
Sonora.prototype.defaultUrl = 'http://sonora.terra.com.br/';
Sonora.prototype.autoCompleteUrl = 'http://p1.trrsf.com.br/snr/';
sonora.wmp.isInWMP = false;
sonora.wmp.disableNamesInPlaylist = false;
sonora.instanceId = 1;
sonora.enableDynamicMessages = false;
sonora.openIdEnable = true;
sonora.instanceName = 'BRAZIL';
sonora.disableTerraScripts = false;
sonora.instanceLang = 'PT-BR';
sonora.instanceCookieDomain = 'terra.com.br';
sonora.saveCookiePlaylist = false;
sonora.instanceCountryCode = 'br';
sonora.instanceCurrency = 'R$';
sonora.instanceTagMan = 'http://stf.terra.com.br/tagman/js/tagman.js';
sonora.instanceTgmKey = 'br.novosonora.';
sonora.tgmKeyHomeContext = 'home';
sonora.tgmKeyHighlightContext = 'destaque';
sonora.tgmKeyLibraryContext = 'acervo';
sonora.tgmKeyRankingContext = 'ranking';
sonora.tgmKeyNowContext = 'agora';
sonora.tgmKeyQuickPlaylistContext = 'destaque';
sonora.tgmKeyMySonoraContext = 'meusonora';
sonora.tgmKeyPlayerContext = 'player';
sonora.tgmKeyArtistContext = 'content';
sonora.tgmKeyRadioContext = 'radios';
sonora.cocacolaHotsitePlaylist = '946';
sonora.degustation.enableDegustation = false;
sonora.degustation.blockedDays = 0;
sonora.degustation.totalMusicsDegustation = 0;
sonora.facebookLike.enableFacebookLike = true;
sonora.sso.enableSSO = true;
sonora.sso.ssoInterval = 3600000;
sonora.degustation.day = 31;
sonora.degustation.month = 7;
sonora.degustation.year = 2010;
sonora.instanceCountry = {"id":1,"name":"BRAZIL","code":"BR"};
function MediaUnbound(){ }
MediaUnbound.prototype.submitTrackEvent = function(musicId) {
var url = '/MediaUnbound/SubmitEvent/ActivePlay/Track/' + musicId;
$.ajax({
type: "GET",
url: url
});
}
MediaUnbound.prototype.submitTrackEventSkip = function(musicId) {
var url = '/MediaUnbound/SubmitEvent/Skip/Track/' + musicId;
$.ajax({
type: "GET",
url: url
});
}
MediaUnbound.prototype.submitPassiveTrackEvent = function(musicId) {
var url = '/MediaUnbound/SubmitEvent/PassivePlay/Track/' + musicId;
$.ajax({
type: "GET",
url: url
});
}
Sonora.prototype.mediaUnbound = new MediaUnbound();
function ActionHelper(url){
url = url.toLowerCase().replace("popupplayer/index", "")
url = sonora.pages.commons.fixIEUrl(url);
if(url.length > 0 && url.indexOf("/") > 0) {
url = url.replace("#", "");
this.url = url.toLowerCase();
this.action = url.split("/")[0];
this.mediaType = url.split("/")[1];
this.mediaId = Number(url.split("/")[2]);
}
}
function GetUrlParameters(name, id) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(id);
if (results == null)
return "";
else
return results[1];
}
ActionHelper.prototype.url = '';
ActionHelper.prototype.action = '';
ActionHelper.prototype.mediaType = '';
ActionHelper.prototype.mediaId = 0;
ActionHelper.prototype.getPermissionAction = function() {
var toReturnAction = '';
Logger.log("Action -> " + this.action);
switch(this.action) {
case sonora.translator.translateLower("listen"):
toReturnAction = this.getPlayAction();
break;
case sonora.translator.translateLower("add"):
toReturnAction = this.getAddAction();
break;
case sonora.translator.translateLower("buy"):
toReturnAction = this.getDownloadAction();
break;
}
return toReturnAction;
}
ActionHelper.prototype.getPlayAction = function() {
var actionName = '';
switch (this.mediaType) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
actionName = 'playMusic';
break;
case sonora.translator.translateRoute("explorerSectionRadio").toLowerCase():
actionName = 'playRadio';
break;
case sonora.translator.translateRoute("explorerSectionMix").toLowerCase():
actionName = 'playMix';
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
actionName = 'playCd';
break;
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
actionName = 'playArtist';
break;
case 'hotsiteplaylist':
actionName = 'hotsitePlaylist';
break;
case 'radiomediaunbound':
actionName = 'playRadioMediaUnbound';
break;
}
Logger.log("actionName -> " + actionName);
return actionName;
}
ActionHelper.prototype.getAddAction = function() {
var actionName = '';
switch (this.mediaType) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
actionName = 'addMusic';
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
actionName = 'addCd';
break;
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
actionName = 'addArtist';
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
actionName = 'addCd';
break;
case sonora.translator.translateRoute("explorerSectionRadio").toLowerCase():
actionName = 'addRadio';
break;
case sonora.translator.translateRoute("explorerSectionMix").toLowerCase():
actionName = 'addMix';
break;
case 'radiomediaunbound':
actionName = 'addRadioMediaUnbound';
break;
}
Logger.log("actionName -> " + actionName);
return actionName;
}
ActionHelper.prototype.getDownloadAction = function(type) {
var actionName = '';
Logger.log("MediaType --> " + this.mediaType);
switch (this.mediaType) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
actionName = "downloadMusic";
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
actionName = "downloadCd";
break;
}
return actionName;
}
function DownloadHelper() {
}
DownloadHelper.prototype.Add = function(ids, type, callback) {
var url = '/Download/DownloadFreeRequest';
var data = "ids=" + ids + "&type=" + type;
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "json",
success: function(json) {
if (json.status == "ok") {
var downloadHelper = new DownloadHelper();
downloadHelper.SowAddedMessage();
sonora.pages.commons.boxLogin.updateUserDownloadsFreeCount(json.downFreeCount);
if (callback && typeof (callback) == 'function') {
Logger.log("Add item to My Downloads loaded!");
callback(json);
}
}
else {
Logger.error("No add items to Free Downloads!");
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
error = textStatus;
if (error == null) {
error = errorThrown;
}
Logger.error("Erro on loading \"Add item to My Downloads Free\" \nError Message:" + error);
}
});
}
DownloadHelper.prototype.SowAddedMessage = function() {
$("#DownloadOverlayAllowed .download").hide();
$("#DownloadOverlayAllowed .download_thankyou").show();
}
function DetectPlugins() { }
DetectPlugins.prototype.init = function() {
$("#system_error").show();
var countFails = 0;
SonoraBrowserDetect.init();
if ((SonoraBrowserDetect.OS.indexOf("Windows") >= 0 && parseFloat(SonoraBrowserDetect.OS_version) >= 5.0) || (SonoraBrowserDetect.OS.indexOf("Mac") >= 0 && (parseFloat(SonoraBrowserDetect.OS_version) >= 10.2) || SonoraBrowserDetect.OS_version == "an unknown OS Version")) {
$(".plugins .system_ok").show();
$(".plugins .system_error").hide();
} else {
$(".plugins .system_ok").hide();
$(".plugins .system_error").show();
countFails++;
}
if ((SonoraBrowserDetect.browser.indexOf("Chrome") >= 0 && SonoraBrowserDetect.OS.indexOf("Windows") >= 0) || (SonoraBrowserDetect.browser.indexOf("Firefox") >= 0 && parseFloat(SonoraBrowserDetect.version) >= 2.0) || (SonoraBrowserDetect.browser.indexOf("Explorer") >= 0 && parseFloat(SonoraBrowserDetect.version) >= 6.0) || (SonoraBrowserDetect.browser.indexOf("Safari") >= 0 && parseFloat(SonoraBrowserDetect.version) >= 2.0)) {
$(".plugins .browser_ok").show();
$(".plugins .browser_error").hide();
} else {
$(".plugins .browser_ok").hide();
$(".plugins .browser_error").show();
countFails++;
}
if (GetPlayerType() != 0) {
$(".plugins .mediaplayer_ok").show();
$(".plugins .mediaplayer_error").hide();
} else {
$(".plugins .mediaplayer_ok").hide();
$(".plugins .mediaplayer_error").show();
countFails++;
}
return countFails;
}
DetectPlugins.prototype.hasCorrectConfig = function() {
cookieManager = new CookieManager("FREE_PASS", new Date(2020, 12, 31), sonora.instanceCookieDomain);
var cookie = cookieManager.getValue("un");
var countFails = sonora.plugins.init();
if (countFails == 0) {
return true;
}
else if (cookie == null) {
return false;
}
return true;
}
Sonora.prototype.plugins = new DetectPlugins();
function Pages() { }
Pages.prototype.list = new Array();
Pages.prototype.bindPage = function(routeUrl) {
var page = null;
if (routeUrl && routeUrl.length > 0) {
var parts = routeUrl.split('/');
if (parts.length > 0) {
if (parts[0] == '/' && parts.length > 1) {
page = parts[1];
}
else if (parts[0] != '/') {
page.parts = parts[0];
}
}
}
if (page) {
try {
eval('sonora.pages.' + page + '.bindEvents();');
} catch (ex) {
Logger.error('Function bindEvents not implemented or page ' + page + ' does not exist');
}
}
}
Sonora.prototype.pages = new Pages();
function GlobalBinds() { }
GlobalBinds.prototype.doBinds = function() {
Logger.log('called global binds');
sonora.pages.commons.boxLogin.bindEvents();
$('#nav a.btnHome').live('click', function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$(".actions li .play, .radio_content .generic_list li .info .play").live('click', function(e) {
e.preventDefault();
sonora.pages.binds.actions.play($(this));
return false;
});
$(".actions li .share, .action li .btnMail").live('click', function(e) {
e.preventDefault();
sonora.pages.binds.actions.share($(this));
return false;
});
$(".actions li .btnDown, .action li .btnDown, .actions li .buy").live('click', function(e) {
e.preventDefault();
sonora.pages.binds.actions.download($(this));
return false;
});
$(".actions li .add, .action li .btnAdd, .radio_content .generic_list li .actions .add").live('click', function(e) {
e.preventDefault();
sonora.pages.binds.actions.add($(this));
return false;
});
$(".music_list tbody tr th.musicPlay input").live('click', function(e) {
sonora.pages.commons.musicList.selectAll($(this));
});
$(".music_list tbody tr td input[type=checkbox]").live('click', function(e) {
var totalSelected = sonora.pages.commons.musicList.getCount();
var totalCount = $(".music_list tbody tr td input[type=checkbox]").length;
if (totalCount > totalSelected) {
$(".music_list tbody tr th.musicPlay input[type=checkbox]").attr("checked", false);
}
sonora.pages.commons.musicList.showMusicCount();
});
$(".musicControl > a").live('click', function(e) {
e.preventDefault();
sonora.pages.commons.musicList.hideMusicCount();
return false;
});
$(".actionsMusic dd .play").live('click', function(e) {
e.preventDefault();
var item = $(this);
sonora.pages.commons.musicList.play(item);
return false;
});
$(".actionsMusic dd .add").live('click', function(e) {
e.preventDefault();
sonora.pages.commons.musicList.add($(this));
return false;
});
$(".actionsMusic dd .buy").live('click', function(e) {
e.preventDefault();
sonora.pages.commons.musicList.download($(this));
return false;
});
$(".actionsMusic dd .more").live('click', function(e) {
e.preventDefault();
sonora.pages.commons.musicList.moreActions($(this));
return false;
});
$(".music_list tbody tr td .rating li a").live("click", function(e) {
e.preventDefault();
var item = $(this);
var id = sonora.pages.commons.fixIEUrl(item.attr("href")).split("/")[1];
if (item.hasClass("like")) {
if (sonora.user.loggedIn) {
if (item.parent().hasClass("selected")) {
sonora.pages.commons.rateSong(id, 0);
} else {
sonora.pages.commons.rateSong(id, 1);
}
}
}
if (item.hasClass("dontLike")) {
if (sonora.user.loggedIn) {
if (item.parent().hasClass("selected")) {
sonora.pages.commons.rateSong(id, 0);
} else {
sonora.pages.commons.rateSong(id, -1);
}
}
}
return false;
});
$("#sonora_content .ad_explorer .ad a").live('click', function(e) {
if ($(this).attr('target') != '_blank') {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
}
});
$("#spot_upgrade_link").unbind('click').click(function(e) {
e.preventDefault();
if(sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
try {
opener.SWFAddress.setValue($(this).attr('href'));
} catch(Exception) {
window.open($(this).attr('href'), 'Sonora');
}
} else {
SWFAddress.setValue($(this).attr('href'));
}
});
if (sonora.openIdEnable) {
$('#LoginFooterSocial h5 a, .user_login_openid').live('click', function(e) {
sonora.pages.commons.notLoggedSocial(false);
return false;
});
$('.sonora_header .user_info .user_login #callRpxDiv').live('click', function(e) {
sonora.pages.commons.notLoggedSocial(false);
return false;
});
$("#LoginFooterSocial .content .play").live('click', function(e) {
e.preventDefault();
$('.loginFooter').loading();
sonora.pages.binds.actions.play($(this));
setTimeout(function() { $("#LoginFooterSocial").hide(); }, 4000);
return false;
});
}
}
Pages.prototype.binds = new GlobalBinds();
function GlobalBindActions() { }
GlobalBindActions.prototype.play = function(item) {
item.addClass("load");
var helper = new ActionHelper(item.attr("href"));
var permissionAction = helper.getPermissionAction();
var params = new Array();
params.push(helper.mediaId);
params.push(helper.mediaType);
params = params.join("|");
if (item.hasClass("Sponsored")) {
sonora.player.clear();
}
sonora.metrics._public = false;
switch (permissionAction) {
case "playArtist":
sonora.artist.GetMusics(helper.mediaId, 0, 20, "json", function(data, textStatus) {
var musics = [];
for (var i = 0; i < data.length; i++) {
musics.push(data[i]);
}
if (musics.length > 0) {
arrayMusics = musics.join(',');
}
sonora.pages.commons.permission.authorize(
'playmusics',
arrayMusics,
item,
function() {
sonora.player.addMusic(musics, function() { item.removeClass("load"); }, true);
},
params
);
});
break;
case "playCd":
sonora.pages.commons.permission.authorize('playCd',
helper.mediaId,
item,
function() {
sonora.player.addCd(helper.mediaId, function() { item.removeClass("load"); }, true);
},
params
);
break;
case "playMusic":
sonora.pages.commons.permission.authorize(
'playMusic',
helper.mediaId,
item,
function() {
var musicArray = new Array();
musicArray.push(helper.mediaId);
sonora.player.addMusic(musicArray, function() { item.removeClass("load"); }, true);
},
params
);
break;
case "playRadio":
sonora.pages.commons.permission.authorize(
'playradio',
helper.mediaId,
item,
function() {
sonora.player.isSponsored = item.hasClass('Sponsored');
if (!item.hasClass("OpenPopUp") || sonora.wmp.isInWMP) {
sonora.pages.commons.playerHtml.genericRadioPlayer(false);
sonora.player.addGenrePlaylist(helper.mediaId, function() { item.removeClass("load"); }, true);
sonora.metrics.setMetricRadio('radio', helper.mediaId);
}
else {
sonora.pages.commons.playerHtml.genericRadioPlayer(true);
item.removeClass("load");
sonora.player.popupPlayer.open(helper.mediaId, "radio", item.offset());
}
},
params
);
break;
case "playMix":
sonora.pages.commons.permission.authorize(
'playmix',
helper.mediaId,
item,
function() {
sonora.player.isSponsored = item.hasClass('Sponsored');
if (!item.hasClass("OpenPopUp") || sonora.wmp.isInWMP) {
sonora.pages.commons.playerHtml.genericRadioPlayer(false);
sonora.player.addEditorPlaylist(helper.mediaId, function() { item.removeClass("load"); }, true);
sonora.metrics.setMetricRadio('mix', helper.mediaId);
}
else {
sonora.pages.commons.playerHtml.genericRadioPlayer(true);
item.removeClass("load");
sonora.player.popupPlayer.open(helper.mediaId, "mix", item.offset());
}
},
params
);
break;
case "playRadioMediaUnbound":
sonora.player.isSponsored = item.hasClass('Sponsored');
if (!item.hasClass("OpenPopUp") || sonora.wmp.isInWMP) {
sonora.pages.commons.playerHtml.genericRadioPlayer(false);
sonora.player.addRadioMediaUnbound(helper.mediaId, function() { item.removeClass("load"); }, true);
sonora.metrics.setMetricRadio('radioMediaUnbound', helper.mediaId);
} else {
sonora.pages.commons.playerHtml.genericRadioPlayer(true);
item.removeClass("load");
sonora.player.popupPlayer.open(helper.mediaId, "radioMediaUnbound", item.offset());
}
break;
case "hotsitePlaylist":
sonora.player.isSponsored = false;
sonora.pages.commons.playerHtml.genericRadioPlayer(false);
sonora.player.addHotsitePlaylist(helper.mediaId, function() { item.removeClass("load"); }, true);
sonora.metrics.setMetricRadio('mix', helper.mediaId);
break;
default:
Logger.error("Not implemented function: " + permissionAction);
break;
}
return false;
}
GlobalBindActions.prototype.download = function(item) {
item.addClass("load");
var helper = new ActionHelper(item.attr("href"));
var permissionAction = helper.getPermissionAction();
var params = new Array();
params.push(helper.mediaId)
params.push(helper.mediaType);
params = params.join("|");
switch (permissionAction) {
case "downloadCd":
sonora.pages.commons.permission.authorize("downloadCd",
helper.mediaId,
item,
function() {
if (sonora.wmp.isInWMP) {
sonora.wmp.downloadManager.addCd(helper.mediaId, function() {
var msg = "Músicas(s) adicionada(s) ao Gerenciador de Downloads";
sonora.pages.commons.overlays.genericMessage(msg, item.offset(), 3000);
sonora.wmp.downloadManager.ShowDownloadMgrBox();
item.removeClass("load");
});
} else {
item.removeClass("load");
}
},
params
);
break;
case "downloadMusic":
sonora.pages.commons.permission.authorize("downloadMusic",
helper.mediaId,
item,
function() {
if (sonora.wmp.isInWMP) {
sonora.wmp.downloadManager.addMusic(helper.mediaId, function() {
var msg = "Músicas(s) adicionada(s) ao Gerenciador de Downloads";
sonora.pages.commons.overlays.genericMessage(msg, item.offset(), 3000);
sonora.wmp.downloadManager.ShowDownloadMgrBox();
item.removeClass("load");
});
} else {
item.removeClass("load");
}
},
params
);
break;
default:
Logger.error("Not implemented function: " + permissionAction);
}
}
GlobalBindActions.prototype.add = function(item) {
item.addClass("load");
var helper = new ActionHelper(item.attr("href"));
var permissionAction = helper.getPermissionAction();
var params = new Array();
params.push(helper.mediaId)
params.push(helper.mediaType);
params.push($(item).hasClass("fromPlayer"));
params = params.join("|");
switch (permissionAction) {
case "addMusic":
sonora.pages.commons.permission.authorize("addMusic",
helper.mediaId,
item,
function() {
item.removeClass("load");
},
params
);
break;
case "addCd":
sonora.pages.commons.permission.authorize("addCd",
helper.mediaId,
item,
function() {
item.removeClass("load");
},
params
);
break;
case "addArtist":
sonora.pages.commons.permission.authorize("addArtist",
helper.mediaId,
item,
function() {
item.removeClass("load");
},
params
);
break;
case "addMix":
sonora.pages.commons.musicList.addRadio(item, 'PlaylistEditor', helper.mediaId);
break;
case "addRadio":
sonora.pages.commons.musicList.addRadio(item, 'GenreRadio', helper.mediaId);
break;
case "addRadioMediaUnbound":
sonora.pages.commons.musicList.addRadio(item, 'RadioMediaUnbound', helper.mediaId);
break;
default:
Logger.error("Not implemented function: " + permissionAction);
}
}
GlobalBindActions.prototype.share = function(item) {
item.addClass("load");
var params = new Array();
if($(item).hasClass("fromPlayer")) {
params.push(sonora.pages.commons.playerHtml.currentMedia)
params.push('music');
} else {
var helper = new ActionHelper(item.attr("href"));
var permissionAction = helper.getPermissionAction();
params.push(helper.mediaId)
params.push(helper.mediaType);
}
sonora.pages.commons.overlays.init($("#share_overlay"), function() {
if(params.length > 1) {
sonora.pages.commons.overlays.bindActionButtonsShareOverlay(params[0], params[1]);
sonora.pages.commons.overlays.setPosition(item.offset());
item.removeClass("load");
}
});
}
Pages.prototype.binds.actions = new GlobalBindActions();
function Commons(){ }
Commons.prototype.killedItems = 0;
Commons.prototype.moreSearchedArtistsIndex = 0;
Commons.prototype.notLoggedUserActions = function(item) {
var params = new Array();
var musics = new Array();
musics.push(1);
params.push(musics);
params.push('musics');
sonora.pages.commons.permission.authorize(
'informationNotLogged',
musics,
item,
function() {
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayPlayButton(musics, item, false, true);
});
}, params);
}
Commons.prototype.notLoggedSmall = function(item) {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init($("#StaticNotLoggedSmallOverlay"), function() {
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
$("#static_link_large_overlay").unbind("click").click(function() {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.notLoggedSocial(false);
return false;
});
});
}
Commons.prototype.notLoggedSocialMyAccountRPX = function(item) {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init($("#MyAccountNotLoggedSocialOverlay"), function() {
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
$('#MyAccountNotLoggedSocialOverlay').css({ width: 434 });
});
}
Commons.prototype.notLoggedSocialMyAccountSonora = function(item) {
sonora.pages.commons.overlays.hide();
var loginoverlay = $("#MyAccountSonoraNotLoggedSocialOverlay");
sonora.pages.commons.overlays.init(loginoverlay, function() {
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
sonora.pages.commons.overlays.setup.NotLoggedMyAccountSonoraSocialOverlay();
});
}
Commons.prototype.notLoggedSocial = function(showerrormsg) {
var overlayholder = $("#NotLoggedSocialOverlay");
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init(overlayholder, function() {
sonora.pages.commons.overlays.showInCenterPage('#NotLoggedSocialOverlay');
sonora.pages.commons.overlays.setup.NotLoggedSocialOverlay();
if (showerrormsg) {
overlayholder.find('.content h4').html('<p \'style=color:red;font-size:14px;\'>' + sonora.translator.translate('rpxLoginErrorMessage') + '</p>');
}
});
}
Commons.prototype.ieMemoryLeakFix = function(jqueryElement, killparent) {
if(jqueryElement && jqueryElement.length > 0 ) {
sonora.pages.commons.killElements(jqueryElement[0]);
if(killparent) {
jqueryElement.unbind();
jqueryElement.parent()[0].removeChild(jqueryElement[0]);
}
}
sonora.pages.commons.killedItems = 0;
}
Commons.prototype.killElements = function(elements) {
try {
while(elements.children.length > 0) {
var item = elements.children[0];
$(item).unbind();
sonora.pages.commons.killElements(item);
if(item != null && $(item).length > 0 && $(item).parent().length > 0) {
$(item).parent()[0].removeChild(item);
}
item = null;
sonora.pages.commons.killedItems += 1;
}
} catch(Exception) {}
}
Commons.prototype.increaseMoreSearchedArtistsIndex = function() {
if (sonora.pages.commons.moreSearchedArtistsIndex < 10) {
sonora.pages.commons.moreSearchedArtistsIndex += 5;
if(sonora.pages.commons.moreSearchedArtistsIndex == 10) {
$(".examples .btnNext").addClass("disabled");
}
$(".examples .btnBack").removeClass("disabled");
}
else {
$(".examples .btnNext").addClass("disabled");
}
sonora.pages.commons.refreshMoreSearchedArtistsIndex();
}
Commons.prototype.decreaseMoreSearchedArtistsIndex = function() {
if (sonora.pages.commons.moreSearchedArtistsIndex > 0) {
sonora.pages.commons.moreSearchedArtistsIndex -= 5;
if(sonora.pages.commons.moreSearchedArtistsIndex == 0) {
$(".examples .btnBack").addClass("disabled");
}
$(".examples .btnNext").removeClass("disabled");
}
else {
$(".examples .btnBack").addClass("disabled");
}
sonora.pages.commons.refreshMoreSearchedArtistsIndex();
}
Commons.prototype.refreshMoreSearchedArtistsIndex = function() {
$(".examples ul li").hide();
var itens = sonora.pages.commons.moreSearchedArtistsIndex;
for(var i=itens;i<(itens + 5);i++) {
$(".examples ul #li_" + i).show();
}
}
Commons.prototype.removeInvalidString = function(text) {
var chrEspeciais = new Array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë",
"í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö",
"ú", "ù", "û", "ü", "ç",
"Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë",
"Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö",
"Ú", "Ù", "Û", "Ü", "Ç");
var chrNormais = new Array("a", "a", "a", "a", "a", "e", "e", "e", "e",
"i", "i", "i", "i", "o", "o", "o", "o", "o",
"u", "u", "u", "u", "c",
"A", "A", "A", "A", "A", "E", "E", "E", "E",
"I", "I", "I", "I", "O", "O", "O", "O", "O",
"U", "U", "U", "U", "C");
for (index in chrEspeciais) {
text = text.replace(chrEspeciais[index], chrNormais[index]);
}
return text;
}
Commons.prototype.fixIEUrl = function(url) {
if (!url)
return "";
url = url.replace(/\ /g, "%20");
if (url.indexOf("http://") == 0) {
url = url.substr(url.indexOf("/", 10)+1);
}
return url;
}
Commons.prototype.getController = function(url) {
if(url) {
url = url.toLowerCase();
url = url.replace("/", "");
if(url.indexOf("/") > 0) {
url = url.split('/')[0];
}
switch(url) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
return "artist";
break;
case sonora.translator.translateRoute("explorerSectionRadio").toLowerCase():
case sonora.translator.translateRoute("explorerSectionMix").toLowerCase():
return "radio";
break;
case sonora.translator.translateRoute("explorerSectionLibrary").toLowerCase():
return "library";
break;
case sonora.translator.translateRoute("explorerSectionPopularSongs").toLowerCase():
case sonora.translator.translateRoute("explorerSectionPopularArtists").toLowerCase():
case sonora.translator.translateRoute("explorerSectionPopularAlbuns").toLowerCase():
return "ranking";
break;
case sonora.translator.translateRoute("explorerSectionNow").toLowerCase():
return "now";
break;
case sonora.translator.translateRoute("explorerSectionWizard").toLowerCase():
return "quickPlaylist";
break;
case sonora.translator.translateRoute("defaultUrlSearch").toLowerCase():
return "search";
break;
case sonora.translator.translateRoute("defaultUrlMySonora").toLowerCase():
case sonora.translator.translateRoute("defaultUrlMyPlaylists").toLowerCase():
case sonora.translator.translateRoute("defaultUrlOtherUsers").toLowerCase():
return "user";
break;
case sonora.translator.translateRoute("sectionMyAcount").toLowerCase():
case sonora.translator.translateRoute("defaultUrlMyDownloads").toLowerCase():
case sonora.translator.translateRoute("defaultUrlMyDownloadsFree").toLowerCase():
case sonora.translator.translateRoute("defaultUrlDownloadFree").toLowerCase():
case sonora.translator.translateRoute("defaultUrlMyDownloadsClub").toLowerCase():
case sonora.translator.translateRoute("defaulUrlDownloadManager").toLowerCase():
case sonora.translator.translateRoute("defaultUrlMyDevices").toLowerCase():
case sonora.translator.translateRoute("defaultUrlPurchaseHistory").toLowerCase():
return "myAccount";
break;
case sonora.translator.translateRoute("defaultUrlShoppingCart").toLowerCase():
return "shoppingCart";
break;
default:
return "home";
}
}
}
Commons.prototype.setNavigationUrl = function(url) {
if (jQuery.browser.version != "6.0") {
SWFAddress.removeEventListener(SWFAddressEvent.CHANGE, swfAddressChangeValue);
url = url.toString();
if(url.charAt(0) != "/" && url.charAt(0) != "#") {
url = "#/" + url;
}
if(url.charAt(0) == "/") {
url = "#" + url;
}
window.location.href = url;
clearInterval(this.bindClock);
sonora.pages.commons.bindNavigationUrl(url.replace("#", ""));
}
}
Commons.prototype.bindNavigationUrl = function(url) {
if(url != SWFAddress.getValue()) {
this.bindClock = setTimeout("sonora.pages.commons.bindNavigationUrl('" + url + "')", 1000);
} else {
SWFAddress.addEventListener(SWFAddressEvent.CHANGE, swfAddressChangeValue);
}
}
Commons.prototype.bindClock = null;
Commons.prototype.rateSongGroup = function(json) {
Logger.log("Rate Song Group");
for(var i=0;i<json.musicIds.length;i++) {
sonora.pages.commons.setRateSong(json.musicIds[i], json.rate);
}
sonora.pages.commons.overlays.hide();
}
Commons.prototype.rateSong = function(music, rate) {
Logger.log("Rate song: " + music + " - " + rate);
sonora.user.rateSong(music, rate, function(json) {
if(json != null) {
var music = json.musicId;
var rate = json.rate;
sonora.pages.commons.setRateSong(music, rate);
}
});
}
Commons.prototype.setRateSong = function(music, rate) {
var currentPlayer = sonora.player;
var currentPlayerHtml = sonora.pages.commons.playerHtml;
if(sonora.player.windowHandler) {
try {
currentPlayer = sonora.player.windowHandler.sonora.player;
currentPlayerHtml = sonora.player.windowHandler.sonora.pages.commons.playerHtml;
} catch(Exception) {
sonora.player.windowHandler = null;
}
}
if(opener) {
opener.sonora.pages.commons.musicList.setSongRating(music, rate);
} else {
sonora.pages.commons.musicList.setSongRating(music, rate);
}
if(!($(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).is(":hidden"))) {
sonora.pages.commons.playerHtml.similar.rateSong(music, rate);
}
if(opener) {
if(!$(opener.sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).is(":hidden")) {
opener.sonora.pages.commons.playerHtml.similar.rateSong(music, rate);
}
}
if (!sonora.wmp.isInWMP && currentPlayer.playlist.count() > 0) {
currentPlayerHtml.queue.setSongRating(music, rate);
if(music == currentPlayerHtml.currentMedia) {
currentPlayerHtml.setSongRating(rate);
if(rate == -1) {
sonora.pages.commons.playerHtml.dontLikeSkip();
}
}
if(currentPlayerHtml.nextMediaItem) {
if(music == currentPlayerHtml.nextMediaItem.contentId) {
currentPlayerHtml.setNextSongRating(rate);
}
}
}
}
Commons.prototype.resetActions = function() {
Logger.log("Reset Actions!");
if ($("#mosaicContainer").length > 0) {
$('.infoBox').animate({ opacity: 0 }, 100, function() { $(this).remove(); $('.infoBoxBg').animate({ opacity: 0 }, 300).remove(); });
$("html").unbind("click");
} else {
sonora.pages.commons.musicList.cleanSelectedChecks();
}
if (sonora.player.playlist.getItems().length > 0) {
sonora.pages.commons.playerHtml.queue.cleanSelectedChecks();
sonora.pages.commons.playerHtml.similar.cleanSelectedChecks();
}
}
Commons.prototype.refreshPage = function() {
doAjax(SWFAddress.getValue());
}
Commons.prototype.makeTextAutoDisappear = function(textField, defaultText) {
if (defaultText == null) {
defaultText = textField.val();
}
textField.focus(function() {
if ($(this).val() == $(this).data("default_value"))
$(this).val("");
});
textField.blur(function() {
if ($(this).val() == "")
$(this).val($(this).data("default_value"));
});
textField.data("default_value", defaultText);
}
Commons.prototype.getTinyURL = function(longURL, success) {
var API = 'http://api.bit.ly/shorten?version=2.0.1&login=sonora&apiKey=R_a16fbc68388dae43658dbb713e9c7778&longUrl=',
URL = API + encodeURIComponent(longURL) + "&format=json&callback=?";
$.getJSON(URL, function(data){
var result = null;
for (var r in data.results) {
if (data.results[r].shortUrl) {
result = data.results[r].shortUrl;
break;
}
}
if(result) {
success && success(result);
}
});
}
Commons.prototype.showMusicInfo = function(id, offset) {
var url = '/' + sonora.translator.translateRoute("defaultUrlMusic") + '/ShowInfo/' + id;
mibAjaxManager.GetContent(
url, // URL
'#overlay_container', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
function() {
sonora.pages.commons.overlays.init($("#overlay_container"), null);
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.overlaySelector.find("> div").show();
sonora.pages.commons.overlays.setPosition(offset, true);
}); // END REQUEST
}
Commons.prototype.showcdinfo = function(id, offset) {
var url = '/' + sonora.translator.translateRoute("defaultUrlCd") + '/ShowInfo/' + id;
mibAjaxManager.GetContent(
url, // URL
'#overlay_container', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
function() {
sonora.pages.commons.overlays.init($("#overlay_container"), function() {
sonora.pages.commons.overlays.setup.albumInfoOverlay();
});
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.overlaySelector.find("> div").show();
sonora.pages.commons.overlays.setPosition(offset, true);
}); // END REQUEST
}
Commons.prototype.fillZeroOnLeft = function(total) {
if (total < 10) {
return "00" + total;
}
else if (total > 9 && total < 100) {
return "0" + total;
}
else {
return total;
}
}
Commons.prototype.trim = function(string) {
if(!string) { return "" }
return string.replace(/^\s+|\s+$/g,"");
}
Commons.prototype.selectMenu = function() {
$("#nav li").removeClass("selected");
switch (sonora.currentPage) {
case sonora.translator.translateRoute('explorerSectionPiks'):
$("#nav li .btnHome").parent().addClass("selected");
break;
case sonora.translator.translateRoute('explorerSectionLibrary'):
$("#nav li .btnLibrary").parent().addClass("selected");
break;
case sonora.translator.translateRoute('explorerSectionPopularArtists'):
$("#nav li .btnRanking").parent().addClass("selected");
break;
case sonora.translator.translateRoute('explorerSectionNow'):
$("#nav li .btnNow").parent().addClass("selected");
break;
case sonora.translator.translateRoute('explorerSectionRadio'):
$("#nav li .btnRadio").parent().addClass("selected");
break;
}
$("#nav>li").each(function(i) {
if ($(this).hasClass('selected')) {
menuSelectedIndex = $("#nav>li").index($(this));
}
});
}
Commons.prototype.echeck = function(str) {
var at = "@"
var dot = "."
var lat = str.indexOf(at)
var lstr = str.length
var ldot = str.indexOf(dot)
if (str.indexOf(at) == -1) {
return false
}
if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
return false
}
if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
return false
}
if (str.indexOf(at, (lat + 1)) != -1) {
return false
}
if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
return false
}
if (str.indexOf(dot, (lat + 2)) == -1) {
return false
}
if (str.indexOf(" ") != -1) {
return false
}
return true
}
Commons.prototype.postSocialEvent = function(data) {
$.ajax({
type: "POST",
url: "/User/UserSocialEvents",
data: data
});
}
Commons.prototype.subscriptionLink = function(item) {
if (sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
try {
if (item.hasClass('openpopup')) {
opener.window.open(item.attr('href'));
}
else {
opener.SWFAddress.setValue(item.attr('href'));
}
} catch (Exception) {
window.open(item.attr('href'), 'Sonora');
}
} else {
if (item.hasClass('openpopup')) {
window.open(item.attr('href'));
}
else {
SWFAddress.setValue(item.attr('href'));
}
}
sonora.pages.commons.overlays.hide();
}
Commons.prototype.GetSubscriptionHotsitesUrl = function(key, source, campaign) {
var hotsiteUrl = sonora.translator.translateSubscriptionHotsite(key);
var parameters = "";
if (source.length > 0) {
parameters += sonora.translator.translateSubscriptionHotsite(source);
if (sonora.user.loggedIn) {
if (sonora.user.current.businessModel.allowStreaming.isLimited) {
parameters += "-assinantefree";
}
else if (!sonora.user.current.businessModel.allowStreaming.isLimited && !sonora.user.current.businessModel.allowDownloadSubscription) {
parameters += "-assinanteplus";
}
else if (sonora.user.current.businessModel.allowDownloadSubscription && !sonora.user.current.businessModel.allowPortableSubscription) {
parameters += "-assinanteclube";
}
else if (sonora.user.current.businessModel.allowPortableSubscription) {
parameters += "-assinanteclubepc";
}
}
}
if (campaign.length > 0) {
parameters += sonora.translator.translateSubscriptionHotsite(campaign);
}
if (parameters.length > 0) {
var utmSourceDefault = sonora.translator.translateSubscriptionHotsite("utmSourceDefault");
hotsiteUrl = hotsiteUrl.replace("#params#", utmSourceDefault + parameters);
}
return hotsiteUrl;
}
Commons.prototype.BuildSSOiFrame = function(parameter) {
param = (parameter == null || parameter.length > 0) ? parameter : '';
var ssoForm = "<form id=\"SSOForm\" name=\"SSOForm\" action=\"" + sonora.translator.translateRoute("ssoBaseUrl") + param + "\" method=\"POST\"></form>";
if ($("#SSOIframe").length > 0) {
$("#SSOIframe").remove();
}
var iFrame = $("<iframe></iframe>")
.attr('id', 'SSOIframe')
.attr('name', 'SSOIframe')
.attr('frameborder', 'no')
.css("position", "absolute")
.css("display", "none")
.css("top", "0px")
.css("left", "0px")
.css("border", "none")
.css("margin", "0px")
.css("padding", "0px")
.css("width", "0px")
.css("height", "0px");
$("body").append(iFrame);
var iframe_body = $("#SSOIframe").contents().find("body");
iframe_body.html(ssoForm);
iframe_body.find("#SSOForm").submit();
}
Pages.prototype.commons = new Commons();
function Messages() {
}
Messages.prototype.ShareArtist = function(toName, toMail, fromName, fromMail, shareMessage, artistID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=Artist&actionID=' + artistID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Artist Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareMusic = function(toName, toMail, fromName, fromMail, shareMessage, songID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=Music&actionID=' + songID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Music Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareCd = function(toName, toMail, fromName, fromMail, shareMessage, cdID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=Cd&actionID=' + cdID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Cd Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareRadio = function(toName, toMail, fromName, fromMail, shareMessage, radioID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=Radio&actionID=' + radioID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Radio Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareMix = function(toName, toMail, fromName, fromMail, shareMessage, mixID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=Mix&actionID=' + mixID;
Logger.log("mix:" + url);
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Mix Shared!");
callback(json)
}
}
});
}
Messages.prototype.SharePlayer = function(toName, toMail, fromName, fromMail, shareMessage, songID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=Player&actionID=' + songID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Player Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareAllSongs = function(toName, toMail, fromName, fromMail, shareMessage, artistID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=AllSongs&actionID=' + artistID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("All Songs Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareAlbumView = function(toName, toMail, fromName, fromMail, shareMessage, cdID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=AlbumView&actionID=' + cdID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Album View Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareDetailsPageSong = function(toName, toMail, fromName, fromMail, shareMessage, songID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=DetailsPageSong&actionID=' + songID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("Details Page Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareCuratedPlayList = function(toName, toMail, fromName, fromMail, shareMessage, radioID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=CuratedPlayList&actionID=' + radioID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareSoundTrackCompilation = function(toName, toMail, fromName, fromMail, shareMessage, cdID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=SoundTrackCompilation&actionID=' + cdID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareOtherSongLists = function(toName, toMail, fromName, fromMail, shareMessage, songID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=OtherSongLists&actionID=' + songID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareMySonoraMyHystory = function(toName, toMail, fromName, fromMail, shareMessage, historyID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=MySonoraMyHystory&actionID=' + historyID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareMySonoraMyLibrary = function(toName, toMail, fromName, fromMail, shareMessage, other, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=MySonoraMyLibrary&actionID=0';
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareUserCreatedPlaylist = function(toName, toMail, fromName, fromMail, shareMessage, playlistID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=UserCreatedPlaylist&actionID=' + playlistID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareUserSonoraMyHistory = function(toName, toMail, fromName, fromMail, shareMessage, historyID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=UserSonoraMyHistory&actionID=' + historyID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareUserSonoraMyLibrary = function(toName, toMail, fromName, fromMail, shareMessage, playListID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=UserSonoraMyLibrary&actionID=' + playListID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Messages.prototype.ShareUserSonoraPlayListOther = function(toName, toMail, fromName, fromMail, shareMessage, playListID, callback) {
var url = '/SendMail/RegisterMailToSend?toName=' + toName + '&toMail=' + toMail + '&fromName=' + fromName + '&fromMail=' + fromMail + '&shareMessage=' + shareMessage + '&sendType=UserSonoraPlayListOther&actionID=' + playListID;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if (callback && typeof (callback) == 'function') {
Logger.log("History Shared!");
callback(json)
}
}
});
}
Commons.prototype.messages = new Messages();
function MusicList(){ }
MusicList.prototype.play = function(item, ids) {
item.addClass("load");
var musicItems = new Array();
if (ids != null && ids.length > 0) {
$(ids).each(function() {
musicItems.push($(this).get(0));
});
}
else {
musicItems = this.getSelectedIds();
}
if (musicItems.length == 0 && item.hasClass("isRadio")) {
sonora.pages.binds.actions.play(item);
return;
}
if (sonora.user.loggedIn && musicItems.length == 0) {
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayPlayButton(musicItems, item, false);
});
item.removeClass("load");
} else {
if (!sonora.user.loggedIn) {
musicItems = this.getIds();
}
var params = new Array();
params.push(musicItems.join(","));
params.push(sonora.translator.translateRoute("defaultUrlMusic"));
sonora.pages.commons.permission.authorize(
'playmusics',
musicItems.join(","),
item,
function() {
sonora.player.addMusic(musicItems, function() { item.removeClass("load"); sonora.pages.commons.musicList.cleanSelectedChecks(); }, true);
},
params.join("|")
);
}
}
MusicList.prototype.add = function(item) {
item.addClass("load");
var musicItems = this.getSelectedIds();
if (!sonora.user.loggedIn) {
musicItems = this.getIds();
var params = new Array();
params.push(musicItems.join(','));
params.push(sonora.translator.translateRoute("defaultUrlMusic"));
sonora.pages.commons.permission.authorize(
'addMusic',
musicItems.join(','),
item,
function() {
item.removeClass("load");
},
params
);
}
else {
sonora.pages.commons.overlays.init($("#ActionButtonAddOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonAddOverlay(musicItems, false);
sonora.pages.commons.overlays.setPosition(item.offset());
});
item.removeClass("load");
}
}
MusicList.prototype.addRadio = function(item, type, id) {
item.addClass("load");
if (sonora.user.loggedIn) {
var musicItems = new Array();
var url = '/Media/RadioItems/' + type + '/true/' + id + ".json";
var data;
if (url.length > 0 && url.indexOf("?") > 0) {
data = url.split("?")[1];
url = url.split("?")[0];
}
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "json",
success: function(json) {
var musics = [];
for (var i = 0; i < json.length; i++) {
musics.push(json[i].id);
}
sonora.pages.commons.overlays.init($("#ActionButtonAddOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonAddOverlay(musics, false);
sonora.pages.commons.overlays.setPosition(item.offset());
item.removeClass("load");
});
}
});
}
else {
item.removeClass("load");
sonora.pages.commons.notLoggedSmall(item);
}
}
MusicList.prototype.download = function(item) {
item.addClass("load");
var helper = new ActionHelper(item.attr('href'));
var musicItems = this.getSelectedIds();
if (sonora.user.loggedIn && musicItems == 0) {
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayDownButton(musicItems, item);
});
item.removeClass("load");
} else {
var musicList = this.getIds();
var params = new Array();
if (musicList.length == musicItems.length && helper.mediaType == sonora.translator.translateRoute("defaultUrlCd").toLowerCase()) {
params.push(helper.mediaId)
params.push(helper.mediaType);
params = params.join("|");
sonora.pages.commons.permission.authorize(
'downloadCd',
helper.mediaId,
item,
function() {
if (sonora.wmp.isInWMP) {
sonora.wmp.downloadManager.addCd(helper.mediaId, function() {
var msg = sonora.translator.translate("musicsAddedSussessfully") + ' ao ' + sonora.translator.translate("downloadManager");
sonora.pages.commons.overlays.genericMessage(msg, item.offset());
item.removeClass("load");
});
} else {
item.removeClass("load");
}
},
params
);
}
else {
params.push(musicItems.join(","));
params.push(sonora.translator.translateRoute("defaultUrlMusic"));
sonora.pages.commons.permission.authorize(
'downloadmusics',
musicItems.join(","),
item,
function() {
if (sonora.wmp.isInWMP) {
sonora.wmp.downloadManager.addMusics(musicItems,
function() {
var msg = sonora.translator.translate("musicsAddedSussessfully") + ' ao ' + sonora.translator.translate("downloadManager");
sonora.pages.commons.overlays.genericMessage(msg, item.offset());
item.removeClass("load");
});
} else {
item.removeClass("load");
}
},
params.join("|")
);
}
}
}
MusicList.prototype.moreActions = function(item) {
item.addClass("load");
var musicItems = this.getSelectedIds();
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayMoreActions(musicItems, false);
sonora.pages.commons.overlays.setPosition(item.offset());
item.removeClass("load");
});
}
MusicList.prototype.setSongRating = function(id, rate) {
var classe = "";
var identifier = "";
if(rate == -1) {
identifier = sonora.translator.translateLower("heartDislikeIdentifier");
} else if(rate == 1) {
identifier = sonora.translator.translateLower("heartLikeIdentifier");
} else {
identifier = sonora.translator.translateLower("heartLikeIdentifier");
}
$(".music_list tbody tr td .rating li a[rel=#" + identifier + "/" + id + "]").parent().parent().find("li").removeClass("selected");
if(rate != 0) {
$(".music_list tbody tr td .rating li a[rel=#" + identifier + "/" + id + "]").parent().addClass("selected");
}
}
MusicList.prototype.setMusicListRating = function() {
if(!sonora.user.loggedIn) {
Logger.info("There is no need to ask for unlogged music list user rating");
} else {
var ids = this.getRateIds();
sonora.user.getMusicRate(ids, function(json) {
Logger.info(json)
var musics = json.musics;
var rates = json.rates;
for(var i=0;i<musics.length;i++) {
sonora.pages.commons.setRateSong(musics[i], rates[i]);
}
});
Logger.info("Music list user rating loaded!");
}
}
MusicList.prototype.selectAll = function(item) {
if(item.is(':checked')) {
this.SelectAllChecks();
} else {
this.cleanSelectedChecks();
}
}
MusicList.prototype.SelectAllChecks = function() {
$(".music_list tbody tr td input[type=checkbox]").each(function() {
$(this).attr("checked", true);
});
this.showMusicCount();
}
MusicList.prototype.cleanSelectedChecks = function() {
$(".music_list tbody tr td input[type=checkbox]").each(function() {
$(this).attr("checked", false);
});
this.showMusicCount();
}
MusicList.prototype.showMusicCount = function() {
if(this.getCount() > 0) {
if($('.musicControl').css("opacity") == "0") {
$('.musicControl').css("opacity", "100");
}
$('.musicControl h4 span').html(this.getCount());
} else {
this.hideMusicCount();
}
}
MusicList.prototype.hideMusicCount = function() {
if(!$('.musicControl').is(":hidden")) {
$(".music_list tbody tr th input[type=checkbox]").attr("checked", false);
$(".music_list tbody tr td input[type=checkbox]").each(function() {
$(this).attr("checked", false);
});
$('.musicControl').css("opacity", "0");
return false;
}
}
MusicList.prototype.getCount = function() {
var selectedChecks = 0;
$(".music_list tbody tr td input[type=checkbox]").each(function() {
var item = $(this);
if(item.is(':checked')) {
selectedChecks++;
}
});
return selectedChecks;
}
MusicList.prototype.getSelectedIds = function() {
var selectedChecks = new Array();
$(".music_list tbody tr td input[type=checkbox]").each(function() {
var item = $(this);
if(item.is(':checked')) {
selectedChecks.push(item.attr("id"));
}
});
return selectedChecks;
}
MusicList.prototype.getIds = function() {
var selectedChecks = new Array();
$(".music_list tbody tr td input[type=checkbox]").each(function() {
selectedChecks.push($(this).attr("id"));
});
return selectedChecks;
}
MusicList.prototype.getRateIds = function() {
var idRates = new Array();
$(".music_list tbody tr td .rating li a.like").each(function() {
idRates.push(sonora.pages.commons.fixIEUrl($(this).attr("href")).split("/")[1]);
});
return idRates;
}
Commons.prototype.musicList = new MusicList();
function Permission() {}
Permission.prototype.authorize = function(action, objectIds, item, defaultActionCallback, params) {
var offset = item.offset();
Logger.log('Calling sonora.permission.authorize');
Logger.log('action = ' + action);
Logger.log('objectIds = ' + objectIds);
Logger.log('offset = ' + offset);
var url = '/Permission/Authorize';
$.ajax({
type: "POST",
url: url,
data: "actionType=" + action + "&ids=" + objectIds,
dataType: "html",
success: function(html) {
if (html && html != '') {
var container = $('#overlay_container');
container.html(html);
var divs = container.find("> div");
if (divs.length > 1) {
sonora.pages.commons.overlays.init(container, function() {
for (i = 0; i < divs.length; i++) {
var divId = $(divs[i]).attr("id");
if (divId != null && divId != "") {
try {
Logger.log("sonora.pages.commons.overlays.setup." + divId + "('" + params + "')");
eval("sonora.pages.commons.overlays.setup." + divId + "('" + params + "')");
} catch (Exception) {
Logger.info("Not Implemented function callback: sonora.pages.commons.overlays.setup." + divId);
}
}
}
sonora.pages.commons.overlays.overlaySelector.find("> div").addClass("warning");
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(offset, true);
item.removeClass("load");
sonora.pages.commons.overlays.initMultipleOverlays();
});
}
else {
sonora.pages.commons.overlays.init(container, function() {
var divId = container.find("> div").attr("id");
if (divId != null && divId != "") {
try {
Logger.log("sonora.pages.commons.overlays.setup." + divId + "('" + params + "')");
eval("sonora.pages.commons.overlays.setup." + divId + "('" + params + "')");
} catch (Exception) {
Logger.info("Not Implemented function callback: sonora.pages.commons.overlays.setup." + divId);
}
}
sonora.pages.commons.overlays.overlaySelector.find("> div").addClass("warning");
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.overlaySelector.find("> div").show();
sonora.pages.commons.overlays.setPosition(offset, true);
item.removeClass("load");
});
}
if ($(divs[0]).hasClass("musicLimit")) {
container.addClass("doubleSize");
}
}
if (defaultActionCallback && typeof (defaultActionCallback) == 'function' && html == '') {
Logger.log("remover: calling defaultActionCallback function");
defaultActionCallback();
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
error = textStatus;
if (error == null) {
error = errorThrown;
}
Logger.log('Error on sonora.permission.authorize.\nXMLHttpRequest: ' + XMLHttpRequest.responseText);
Logger.error("Error on sonora.permission.authorize.\nError Message:" + error);
$('#overlay_container').empty();
$('#overlay_container').html($('#overlay_error').html());
sonora.pages.commons.overlays.init($("#overlay_container"), null);
sonora.pages.commons.overlays.overlaySelector.find("> div").addClass("warning");
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.overlaySelector.find("> div").show();
sonora.pages.commons.overlays.setPosition(offset, true);
item.removeClass("load");
}
});
}
Commons.prototype.permission = new Permission();
function ShareSocialEvents() {
}
ShareSocialEvents.prototype.open = function(url, socialNetwork, offset) {
var left = offset.left;
var top = offset.top;
sonora.pages.commons.shareSocialEvents.windowHandler = window.open(url, socialNetwork, 'width=790,height=415,resizable=no');
window.setTimeout("sonora.pages.commons.shareSocialEvents.openPopUpWindow('" + url + "', '" + socialNetwork + "', " + left + ", " + top + ")", 500);
}
ShareSocialEvents.prototype.openPopUpWindow = function(url, socialNetwork, left, top) {
var offset = { "left": left, "top": top };
sonora.pages.commons.overlays.hide();
if (sonora.pages.commons.shareSocialEvents.windowHandler == null || sonora.pages.commons.shareSocialEvents.innerWidth == 0) {
if (sonora.pages.commons.shareSocialEvents.windowHandler != null && sonora.pages.commons.shareSocialEvents.windowHandler.innerWidth == 0) {
sonora.pages.commons.shareSocialEvents.windowHandler.close();
sonora.pages.commons.shareSocialEvents.windowHandler = null;
}
sonora.pages.commons.overlays.init($("#blocked_popup_overlay"), function() {
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(offset);
$("#blocked_popup_overlay .btnContinue").unbind().click(function(e) {
e.preventDefault();
sonora.pages.commons.shareSocialEvents.windowHandler = window.open(url, socialNetwork, 'width=790,height=415,resizable=no,screenY=1');
sonora.pages.commons.overlays.hide();
});
$("#blocked_popup_overlay .btnCancel").unbind().click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
});
});
}
}
ShareSocialEvents.prototype.windowHandler = null;
Commons.prototype.shareSocialEvents = new ShareSocialEvents();
function HomePlayerConfig(){ }
HomePlayerConfig.prototype.isPopup = false;
HomePlayerConfig.prototype.playerDiv = "div.player";
HomePlayerConfig.prototype.PlayPauseButton = "div.player div.wrapper div.controls #play_pause";
HomePlayerConfig.prototype.PreviousButton = "div.player div.wrapper div.controls .btnBack";
HomePlayerConfig.prototype.NextButton = "div.player div.wrapper div.controls .btnNext";
HomePlayerConfig.prototype.ProgressDiv = "div.player div.wrapper div.nowPlaying .progress div";
HomePlayerConfig.prototype.ProgressIndicator = "div.player div.wrapper div.nowPlaying .progress div span";
HomePlayerConfig.prototype.ProgressCurrent = "div.player div.wrapper div.nowPlaying .progress .progressCurrent"
HomePlayerConfig.prototype.ProgressTotal = "div.player div.wrapper div.nowPlaying .progress .progressTotal"
HomePlayerConfig.prototype.HasProgressBarLoading = false;
HomePlayerConfig.prototype.ProgressBarDiv = "div.player div.wrapper div.controls .progress .progressBar .bar";
HomePlayerConfig.prototype.ProgressLoadingBarDiv = "div.player div.wrapper div.controls .progress .progressBar .loading";
HomePlayerConfig.prototype.progressBarSize = 100;
HomePlayerConfig.prototype.volumeBarSize = 65;
HomePlayerConfig.prototype.VolumeButton = "div.player div.wrapper div.controls .volume div a.btnVolume";
HomePlayerConfig.prototype.VolumeButtonContainer = "parent";
HomePlayerConfig.prototype.MuteButton = "div.player div.wrapper div.controls .volume .btnMute";
HomePlayerConfig.prototype.AddButton = "div.player div.wrapper ul.action li .btnAdd";
HomePlayerConfig.prototype.DownButton = "div.player div.wrapper ul.action li .btnDown";
HomePlayerConfig.prototype.SimilarButton = "div.player div.wrapper ul.action li .btnSimilars";
HomePlayerConfig.prototype.EmailButton = "div.player div.wrapper ul.action li .btnMail";
HomePlayerConfig.prototype.DislikeButton = "div.player div.wrapper > .share li .btnDontLike";
HomePlayerConfig.prototype.LikeButton = "div.player div.wrapper > .share li .btnLike";
HomePlayerConfig.prototype.FacebookButton = "div.player div.wrapper .share li .btnFacebook";
HomePlayerConfig.prototype.TwitterButton = "div.player div.wrapper .share li .btnTwitter";
HomePlayerConfig.prototype.OrkutButton = "div.player div.wrapper .share li .btnOrkut";
HomePlayerConfig.prototype.MusicIndex = "div.player div.wrapper div.nowPlaying h3 span";
HomePlayerConfig.prototype.MusicTitle = "div.player div.wrapper div.nowPlaying h3 a";
HomePlayerConfig.prototype.ArtistTitle = "div.player div.wrapper div.nowPlaying h4 a";
HomePlayerConfig.prototype.CoverImage = "div.player div.wrapper div.nowPlaying > a > img";
HomePlayerConfig.prototype.CoverImageLink = "div.player div.wrapper div.nowPlaying > a";
HomePlayerConfig.prototype.NextMediaItemDiv = "div.player div.wrapper div.nextSong *";
HomePlayerConfig.prototype.NextMediaItemMusicIndex = "div.player div.wrapper div.nextSong h3 span";
HomePlayerConfig.prototype.NextMediaItemMusicAlbum = "div.player div.wrapper div.nextSong a.coverUrl";
HomePlayerConfig.prototype.NextMediaItemMusicAlbumCover = "div.player div.wrapper div.nextSong a.coverUrl img.coverImg";
HomePlayerConfig.prototype.NextMediaItemMusicTitle = "div.player div.wrapper div.nextSong h3 a";
HomePlayerConfig.prototype.NextMediaItemArtistTitle = "div.player div.wrapper div.nextSong h4 a";
HomePlayerConfig.prototype.NextMediaItemLike = "div.player div.wrapper div.nextSong .share li .btnLike";
HomePlayerConfig.prototype.NextMediaItemDislike = "div.player div.wrapper div.nextSong .share li .btnDontLike";
HomePlayerConfig.prototype.NextMediaItemDelete = "div.player div.wrapper div.nextSong .share li .btnDelete";
HomePlayerConfig.prototype.shuffleButton = "div.player div.wrapper div.playlist div.playlistCommands .shuffle";
HomePlayerConfig.prototype.clearButton = "div.player div.wrapper div.playlist div.playlistCommands .clear";
HomePlayerConfig.prototype.OpenPopup = ".player .wrapper .btnMaximize";
HomePlayerConfig.prototype.similarDiv = ".player .wrapper .similars";
HomePlayerConfig.prototype.similarCloseButton = ".player .wrapper .similars .title a";
HomePlayerConfig.prototype.advertisementHolder = ".player .wrapper .ad_player";
HomePlayerConfig.prototype.advertisementBannerTag = "bannerSealChannel";
HomePlayerConfig.prototype.advertisementSection = "bannerHome";
function PopupPlayerConfig(){ }
PopupPlayerConfig.prototype.isPopup = true;
PopupPlayerConfig.prototype.playerDiv = "div.playerPopup";
PopupPlayerConfig.prototype.PlayPauseButton = "div.playerInfo div.controls #play_pause";
PopupPlayerConfig.prototype.PreviousButton = "div.playerInfo div.controls .btnBack";
PopupPlayerConfig.prototype.NextButton = "div.playerInfo div.controls .btnNext";
PopupPlayerConfig.prototype.ProgressDiv = "div.playerInfo div.controls .progress div";
PopupPlayerConfig.prototype.ProgressIndicator = "div.playerInfo div.controls .progress div span";
PopupPlayerConfig.prototype.ProgressCurrent = "div.playerInfo div.controls .progress .progressCurrent"
PopupPlayerConfig.prototype.ProgressTotal = "div.playerInfo div.controls .progress .progressTotal"
PopupPlayerConfig.prototype.HasProgressBarLoading = false;
PopupPlayerConfig.prototype.ProgressBarDiv = "div.player div.wrapper div.controls .progress .progressBar .bar";
PopupPlayerConfig.prototype.ProgressLoadingBarDiv = "div.player div.wrapper div.controls .progress .progressBar .loading";
PopupPlayerConfig.prototype.progressBarSize = 175;
PopupPlayerConfig.prototype.volumeBarSize = 80;
PopupPlayerConfig.prototype.VolumeButton = "div.playerInfo div.controls .volume div a.btnVolume";
PopupPlayerConfig.prototype.VolumeButtonContainer = "parent";
PopupPlayerConfig.prototype.MuteButton = "div.playerInfo div.controls .volume .btnMute";
PopupPlayerConfig.prototype.AddButton = "div.playerInfo div.nowPlaying ul.action li .btnAdd";
PopupPlayerConfig.prototype.DownButton = "div.playerInfo div.nowPlaying ul.action li .btnDown";
PopupPlayerConfig.prototype.SimilarButton = "div.playerInfo div.nowPlaying ul.action li .btnSimilars";
PopupPlayerConfig.prototype.EmailButton = "div.playerInfo div.nowPlaying ul.action li .btnMail";
PopupPlayerConfig.prototype.DislikeButton = "div.playerInfo div.nowPlaying > .share li .btnDontLike";
PopupPlayerConfig.prototype.LikeButton = "div.playerInfo div.nowPlaying > .share li .btnLike";
PopupPlayerConfig.prototype.FacebookButton = "div.playerInfo div.nowPlaying .share li .btnFacebook";
PopupPlayerConfig.prototype.TwitterButton = "div.playerInfo div.nowPlaying .share li .btnTwitter";
PopupPlayerConfig.prototype.OrkutButton = "div.playerInfo div.nowPlaying .share li .btnOrkut";
PopupPlayerConfig.prototype.MusicIndex = "div.playerInfo div.nowPlaying h3 span";
PopupPlayerConfig.prototype.MusicTitle = "div.playerInfo div.nowPlaying h3 a";
PopupPlayerConfig.prototype.ArtistTitle = "div.playerInfo div.nowPlaying h4 a";
PopupPlayerConfig.prototype.CoverImage = "div.playerInfo div.nowPlaying > a img";
PopupPlayerConfig.prototype.CoverImageLink = "div.playerInfo div.nowPlaying > a";
PopupPlayerConfig.prototype.NextMediaItemDiv = "div.playerInfo div.nextSong *";
PopupPlayerConfig.prototype.NextMediaItemMusicIndex = "div.playerInfo div.nextSong h3 span";
PopupPlayerConfig.prototype.NextMediaItemMusicTitle = "div.playerInfo div.nextSong h3 a";
PopupPlayerConfig.prototype.NextMediaItemArtistTitle = "div.playerInfo div.nextSong h4 a";
PopupPlayerConfig.prototype.NextMediaItemLike = "div.playerInfo div.nextSong .share li .btnLike";
PopupPlayerConfig.prototype.NextMediaItemDislike = "div.playerInfo div.nextSong .share li .btnDontLike";
PopupPlayerConfig.prototype.NextMediaItemDelete = "div.playerInfo div.nextSong .share li .btnDelete";
PopupPlayerConfig.prototype.shuffleButton = "div.playerInfo div.controls .btnShuffle";
PopupPlayerConfig.prototype.clearButton = "div.playlist div.title a";
PopupPlayerConfig.prototype.OpenPopup = ".player .wrapper .btnMaximize";
PopupPlayerConfig.prototype.similarDiv = "div.playerPopup .similars";
PopupPlayerConfig.prototype.similarCloseButton = "div.playerPopup .similars .title a";
PopupPlayerConfig.prototype.advertisementHolder = ".playerPopup .ad";
PopupPlayerConfig.prototype.advertisementBannerTag = "bannerBoxChannel";
PopupPlayerConfig.prototype.advertisementSection = "bannerPlayer"
function PlayerHtml() { }
PlayerHtml.prototype.playerHtmlConfig = null;
PlayerHtml.prototype.currentMedia = 0;
PlayerHtml.prototype.currentMediaItem = null;
PlayerHtml.prototype.nextMediaItem = null;
PlayerHtml.prototype.mediaDuration = 0;
PlayerHtml.prototype.mediaTime = 0;
PlayerHtml.prototype.progressBarSize = 0;
PlayerHtml.prototype.volumeBarSize = 0;
PlayerHtml.prototype.currentState = 0;
PlayerHtml.prototype.isFromPopup = false;
PlayerHtml.prototype.popupPos = 0;
PlayerHtml.prototype.dontLikeSkipFoward = true;
PlayerHtml.prototype.initializePlayerAttempts = 0;
PlayerHtml.prototype.show = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).show();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).loading({ loaded: false });
if (jQuery.browser.version == "6.0") {
$('.fakeBody').css({ height: $('.fakeBody').height() - $('.player').height() });
$(window).bind("resize", function() {
$('.fakeBody').css({ height: $('.fakeBody').height() - $('.player').height() });
});
}
sonora.pages.commons.playerHtml.updatePlaylistsActions();
sonora.pages.commons.playerHtml.showPlayerLoginOptions();
}
PlayerHtml.prototype.hide = function() {
if(!sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).hide();
sonora.pages.commons.playerHtml.similar.close();
$('.player .wrapper .playlist').height(22).removeClass("opened");
if (jQuery.browser.version == "6.0") {
$('.fakeBody').css({ height: $('.fakeBody').height() + $('.player').height() });
$(window).unbind("resize");
};
}
sonora.metrics.clearMetricRadio();
}
PlayerHtml.prototype.showPlayerLoginOptions = function() {
if (sonora.instanceId == 1) {
if (sonora.user.current == "" || (!sonora.user.current.businessModel.allowDownloadSubscription)) {
$(".player .wrapper .userIdentifier").show();
$(".player .wrapper .userIdentifier .notLoggedIn").unbind().click(function(e) {
e.preventDefault();
sonora.pages.commons.notLoggedSocial(false);
return false;
});
if (sonora.user.current.id == 0) {
$(".player .wrapper .userIdentifier .notLoggedIn").show();
$(".player .wrapper .userIdentifier .loggedIn").hide();
} else {
var nome = sonora.user.current.name;
if (nome && nome.indexOf(" ") > -1) nome = nome.substring(0, nome.indexOf(" "));
$(".player .wrapper .userIdentifier .notLoggedIn").hide();
$(".player .wrapper .userIdentifier .loggedIn").show();
$(".player .wrapper .userIdentifier .loggedIn p strong").html(nome);
}
} else {
$(".player .wrapper .userIdentifier").hide();
}
}
}
PlayerHtml.prototype.updatePlaylistsActions = function() {
try {
if (sonora.player.windowHandler != null && sonora.player.windowHandler.sonora != null) {
if (sonora.user.loggedIn) {
sonora.player.windowHandler.window.$(sonora.player.windowHandler.sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).removeClass('userNotLogged');
}
else {
sonora.player.windowHandler.window.$(sonora.player.windowHandler.sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).addClass('userNotLogged');
}
}
else {
if (sonora.user.loggedIn) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).removeClass('userNotLogged');
}
else {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).addClass('userNotLogged');
}
}
}
catch (Exception) {
sonora.player.windowHandler = null;
if (sonora.user.loggedIn) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).removeClass('userNotLogged');
}
else {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).addClass('userNotLogged');
}
}
}
PlayerHtml.prototype.genericRadioPlayer = function(isPopup) {
if(isPopup) {
try {
if (sonora.player.windowHandler && sonora.player.windowHandler.sonora) {
sonora.player.windowHandler.sonora.player.clear();
}
} catch(Exception) {
sonora.player.windowHandler = null;
}
} else {
if (sonora.player.windowHandler) {
try{
if (sonora.player.windowHandler.sonora) {
sonora.player.windowHandler.sonora.player.clear();
}
sonora.player.windowHandler.close();
sonora.player.windowHandler = null;
} catch(Exception) {
sonora.player.windowHandler = null;
}
} else {
sonora.player.stop();
sonora.player.playlist.clear();
}
}
}
PlayerHtml.prototype.dontLikeSkip = function() {
var currentIndex = sonora.player.getCurrentIndex();
var firstIndex = -1;
var nextIndex = -1;
var previousIndex = -1;
var list = sonora.player.playlist.getItems();
for(var i=0;i<list.length;i++) {
if(list[i].rating > -1) {
if(firstIndex == -1 && i != currentIndex) firstIndex = i;
if(nextIndex == -1 && i > currentIndex) {
nextIndex = i;
}
if(previousIndex == -1 && i < previousIndex) {
previousIndex = i;
}
if(nextIndex > -1 && firstIndex > -1 && previousIndex > -1) break;
}
}
var foward = sonora.pages.commons.playerHtml.dontLikeSkipFoward;
var newIndex = -1;
if(foward && nextIndex > -1) {
newIndex = nextIndex;
} else if((!foward) && previousIndex > -1) {
newIndex = previousIndex;
sonora.pages.commons.playerHtml.dontLikeSkipFoward = true;
} else if(firstIndex > -1) {
newIndex = firstIndex;
sonora.pages.commons.playerHtml.dontLikeSkipFoward = true;
}
var log = "nextIndex --> " + nextIndex + "\n";
log += "previousIndex --> " + previousIndex + "\n";
log += "newIndex --> " + newIndex + "\n";
if(nextIndex > -1) {
sonora.player.playItem(newIndex);
} else if(newIndex == 0){
sonora.player.playItem(0);
}
return newIndex;
}
PlayerHtml.prototype.initBinds = function(playerHtmlConfig) {
sonora.pages.commons.playerHtml.playerHtmlConfig = playerHtmlConfig;
sonora.pages.commons.playerHtml.bindEvents();
sonora.pages.commons.playerHtml.progressBarSize = playerHtmlConfig.progressBarSize;
sonora.pages.commons.playerHtml.volumeBarSize = playerHtmlConfig.volumeBarSize;
sonora.player.addMediaChangeCallback(function(newMediaItem) {
if (newMediaItem) {
if (newMediaItem.rating == -1) {
if (sonora.pages.commons.playerHtml.dontLikeSkip() > -1) {
return;
}
}
sonora.pages.commons.playerHtml.currentMediaItem = newMediaItem;
sonora.pages.commons.playerHtml.loadSongInfo(newMediaItem);
sonora.pages.commons.playerHtml.keepMuteUnmute();
if (!playerHtmlConfig.isPopup)
sonora.pages.commons.playerHtml.setNextSong(newMediaItem);
sonora.pages.commons.playerHtml.queue.updateQueue(sonora.player.getItems());
if (newMediaItem == null) {
return;
}
if (!sonora.player.isChangeUnattended) {
sonora.player.isChangeUnattended = true;
}
if (playerHtmlConfig.isPopup) {
if (!newMediaItem.spot) {
sonora.pages.commons.playerHtml.nowChannelSongs(newMediaItem.contentId, newMediaItem.genreId);
}
}
sonora.pages.commons.playerHtml.updateAdvertisement(newMediaItem.artistUrl);
sonora.pages.commons.playerHtml.currentMedia = newMediaItem.contentId;
sonora.pages.commons.playerHtml.updateDisclaimer();
sonora.pages.commons.playerHtml.similar.updateSimilarDiv(newMediaItem.spot);
if (sonora.degustation.enableDegustation && sonora.metrics.playlistId == 0 && !sonora.user.loggedIn) {
if (!newMediaItem.spot) {
switch (sonora.degustation.blockedItems()) {
case 1:
if (sonora.degustation.spotsHeared < 1) {
sonora.player.pause();
sonora.degustation.addSpot(function() { });
}
sonora.degustation.spotsHeared = 1;
break;
case 4:
if (sonora.degustation.spotsHeared < 4) {
sonora.player.pause();
sonora.degustation.addSpot(function() { });
}
sonora.degustation.spotsHeared = 4;
break;
case 8:
if (sonora.degustation.spotsHeared < 8) {
sonora.player.pause();
sonora.degustation.addSpot(function() { });
}
sonora.degustation.spotsHeared = 8;
break;
}
}
if (sonora.degustation.isExceeded()) {
if (!sonora.degustation.isPlayerBlocked) {
sonora.degustation.blockPlayer();
return;
}
}
}
}
});
sonora.player.addStateChangeCallback(function(state) {
switch (state) {
case 1:
if (sonora.degustation.enableDegustation) {
if (sonora.user.loggedIn) {
sonora.pages.commons.playerHtml.resetProgress();
} else {
if (sonora.metrics.playlistId != null) {
if (sonora.metrics.playlistId == 0) {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.notLoggedSocial(false);
sonora.degustation.isPlayerBlocked = false;
} else {
sonora.pages.commons.playerHtml.resetProgress();
}
}
}
} else {
sonora.pages.commons.playerHtml.resetProgress();
}
break;
case 3:
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressDiv).removeClass("buffer");
break;
case 4:
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressDiv).addClass("buffer");
break;
}
sonora.pages.commons.playerHtml.currentState = state;
sonora.pages.commons.playerHtml.updatePlayButton(state);
sonora.pages.commons.playerHtml.updateDisclaimer();
sonora.pages.commons.playerHtml.queue.updateQueue(sonora.player.getItems());
});
sonora.player.addPositionChangeCallback(function(duration, position) {
sonora.pages.commons.playerHtml.mediaDuration = Math.round(duration);
sonora.pages.commons.playerHtml.mediaTime = Math.round(position);
sonora.pages.commons.playerHtml.updateProgress();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).loading({ loaded: true });
});
sonora.player.addPlaylistChangedCallback(function() {
if (sonora.player.playlist.getItems().length > 0) {
sonora.pages.commons.playerHtml.reloadQueue();
if (!sonora.pages.commons.playerHtml.isPopup) {
sonora.pages.commons.playerHtml.setNextSong();
}
sonora.pages.commons.playerHtml.loadNextSongInfo();
} else {
if (!sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
sonora.pages.commons.playerHtml.hide();
} else {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).loading({ loaded: true });
}
}
sonora.pages.commons.resetActions();
});
}
PlayerHtml.prototype.updateAdvertisement = function(artistUrl) {
var bannerHolder = $(sonora.pages.commons.playerHtml.playerHtmlConfig.advertisementHolder);
var bannerTag = sonora.translator.translateBanners(sonora.pages.commons.playerHtml.playerHtmlConfig.advertisementBannerTag);
var path = "/Templates/AdIframes/adIframeSelo.htm";
switch (sonora.currentPage) {
case sonora.translator.translateRoute("explorerSectionPopularArtists"):
section = sonora.translator.translateBanners("bannerRanking");
break;
case sonora.translator.translateRoute("explorerSectionPiks"):
section = sonora.translator.translateBanners("bannerHome");
break;
case sonora.translator.translateRoute("explorerSectionLibrary"):
section = sonora.translator.translateBanners("bannerLibrary");
break;
case sonora.translator.translateRoute("explorerSectionNow"):
section = sonora.translator.translateBanners("bannerNow");
break;
case sonora.translator.translateRoute("explorerSectionRadio"):
section = sonora.translator.translateBanners("bannerRadios");
break;
case sonora.translator.translateRoute("explorerFilterArtists"):
section = sonora.translator.translateBanners("bannerArtist");
break;
default:
section = sonora.translator.translateBanners("bannerOthers");
break;
}
if (sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup == true) {
section = sonora.translator.translateBanners("bannerPlayer");
path = "";
}
if ($("div.playerPopup").hasClass("sponsor")) {
applyBannerSponsored();
} else {
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, path, 0, artistUrl, sonora.instanceTgmKey + sonora.tgmKeyPlayerContext);
}
}
PlayerHtml.prototype.nowChannelSongs = function(music, genre) {
var html = "";
if(!$("div.playerPopup").hasClass("sponsor")) {
if(genre != null) {
mibAjaxManager.GetJson('/Now/PopupPlayerNowData?musicId=' + music + '&genreId=' + genre, function(json) {
if(json) {
for(var i=0;i<json.length;i++) {
var item = json[i];
html += "<li>";
html += " <a title=\"" + item.Cd.Title + " - " + item.Artist.Title + "\" href=\"" + item.Cd.Url + "\"><img alt=\"" + item.Cd.Title + " - " + item.Artist.Title + "\" src=\"" + item.Cd.ImageUrl + "\"/></a>";
html += " <h4><a title=\"" + item.Title + "\" href=\"" + item.Url + "\">" + item.Title + "</a></h4>";
html += " <h4><a title=\"" + item.Artist.Title + "\" href=\"" + item.Artist.Url + "\">" + item.Artist.Title + "</a></h4>";
if(item.User.Id > 0) {
html += " <a class=\"user\" title=\"" + item.User.Name + "\" href=\"" + item.User.Url + "\">";
html += " <img alt=\"" + item.User.Name + "\" src=\"" + item.User.ImageUrl + "\"/>";
html += " <strong>" + item.User.Name + "</strong>";
html += " </a>";
}
html += "</li>";
}
$(".playerPopup .now ul").html(html);
$(".playerPopup .now ul li a").unbind("click").click(function(e) {
e.preventDefault();
var url = $(this).attr("href");
if(window.opener) {
window.opener.SWFAddress.setValue(sonora.pages.commons.fixIEUrl(url));
}
else
{
window.open(url);
}
});
}
});
}
}
}
PlayerHtml.prototype.reloadQueue = function() {
sonora.pages.commons.playerHtml.queue.show();
}
PlayerHtml.prototype.bindEvents = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.DislikeButton).unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user.loggedIn) {
if ($(this).parent().hasClass("selected")) {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.currentMedia, 0);
}
else {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.currentMedia, -1);
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.LikeButton).unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user.loggedIn) {
if ($(this).parent().hasClass("selected")) {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.currentMedia, 0);
}
else {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.currentMedia, 1);
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.FacebookButton).unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (sonora.user.loggedIn) {
data = '?type=' + $('.btnFacebook').attr('id') + '&id=' + sonora.pages.commons.playerHtml.currentMediaItem.contentId;
sonora.pages.commons.postSocialEvent(data);
}
sonora.pages.commons.getTinyURL(sonora.defaultUrl.substring(0, sonora.defaultUrl.length - 1) + sonora.pages.commons.playerHtml.currentMediaItem.albumUrl, function(tinyurl) {
var message = sonora.translator.translate("iAmListening") + " \"" + sonora.pages.commons.playerHtml.currentMediaItem.title.replace("\"", "'").replace("\"", "'").replace("&", "e") + "\" ## " + sonora.translator.translate("inSonora");
if (message.length > 140) {
message = sonora.translator.translate("iAmListening") + " \"" + sonora.pages.commons.playerHtml.currentMediaItem.title.substring(0, Math.min(140, message.length)) + "\" ## " + sonora.translator.translate("inSonora");
} else {
if (message.length + sonora.pages.commons.playerHtml.currentMediaItem.artist.length > 140) {
message = message.replace("##", "");
} else {
message = message.replace("##", "- " + sonora.pages.commons.playerHtml.currentMediaItem.artist.replace("&", "e"));
}
}
var finalUrl = "http://www.facebook.com/sharer.php?t=" + encodeURI(message) + "&u=" + tinyurl;
sonora.pages.commons.shareSocialEvents.open(finalUrl, 'Facebook', item.offset());
});
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.TwitterButton).unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (sonora.user.loggedIn) {
data = '?type=' + $('.btnTwitter').attr('id') + '&id=' + sonora.pages.commons.playerHtml.currentMediaItem.contentId;
sonora.pages.commons.postSocialEvent(data);
}
if (sonora.pages.commons.playerHtml.currentMediaItem != null) {
sonora.pages.commons.getTinyURL(sonora.defaultUrl.substring(0, sonora.defaultUrl.length - 1) + sonora.pages.commons.playerHtml.currentMediaItem.albumUrl, function(tinyurl) {
var message = sonora.translator.translate("iAmListening") + " \"" + sonora.pages.commons.playerHtml.currentMediaItem.title.replace("\"", "'").replace("\"", "'").replace("&", "e") + "\" ## " + sonora.translator.translate("inSonora") + " " + tinyurl;
if (message.length > 140) {
message = sonora.translator.translate("iAmListening") + " \"" + sonora.pages.commons.playerHtml.currentMediaItem.title.substring(0, Math.min(140, message.length)) + "\" ## " + sonora.translator.translate("inSonora");
} else {
if (message.length + sonora.pages.commons.playerHtml.currentMediaItem.artist.length > 140) {
message = message.replace("##", "");
} else {
message = message.replace("##", "- " + sonora.pages.commons.playerHtml.currentMediaItem.artist.replace("&", "e"));
}
}
var finalUrl = "http://twitter.com/home?status=" + encodeURI(message);
sonora.pages.commons.shareSocialEvents.open(finalUrl, 'Twitter', item.offset());
});
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.OrkutButton).unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (sonora.user.loggedIn) {
data = '?type=' + $('.btnOrkut').attr('id') + '&id=' + sonora.pages.commons.playerHtml.currentMediaItem.contentId;
sonora.pages.commons.postSocialEvent(data);
}
if (sonora.pages.commons.playerHtml.currentMediaItem != null) {
sonora.pages.commons.getTinyURL(sonora.defaultUrl.substring(0, sonora.defaultUrl.length - 1) + sonora.pages.commons.playerHtml.currentMediaItem.albumUrl, function(tinyurl) {
var message = sonora.translator.translate("iAmListening") + " \"" + sonora.pages.commons.playerHtml.currentMediaItem.title.replace("\"", "'").replace("\"", "'").replace("&", "e") + "\" ## " + sonora.translator.translate("inSonora") + " " + tinyurl;
if (message.length > 140) {
message = sonora.translator.translate("iAmListening") + " \"" + sonora.pages.commons.playerHtml.currentMediaItem.title.substring(0, Math.min(140, message.length)) + "\" ## " + sonora.translator.translate("inSonora");
} else {
if (message.length + sonora.pages.commons.playerHtml.currentMediaItem.artist.length > 140) {
message = message.replace("##", "");
} else {
message = message.replace("##", "- " + sonora.pages.commons.playerHtml.currentMediaItem.artist.replace("&", "e"));
}
}
var finalUrl = "http://promote.orkut.com/preview?nt=orkut.com&tt=" + encodeURI(sonora.translator.translate("listenSonora")) + "&du=" + tinyurl + "&cn=" + encodeURI(message);
sonora.pages.commons.shareSocialEvents.open(finalUrl, 'Orkut', item.offset());
});
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.PlayPauseButton).unbind("click").click(function(e) {
e.preventDefault();
if (sonora.pages.commons.playerHtml.nextMediaItem == null && sonora.pages.commons.playerHtml.currentState == 1) {
sonora.player.playItem(0);
}
else {
sonora.pages.commons.playerHtml.playPause();
return false;
}
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.PreviousButton).unbind("click").click(function(e) { e.preventDefault(); sonora.player.isChangeUnattended = false; sonora.pages.commons.playerHtml.previous(); return false; });
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextButton).unbind("click").click(function(e) { e.preventDefault(); sonora.player.isChangeUnattended = false; sonora.pages.commons.playerHtml.next(); return false; });
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressDiv).css("cursor", "pointer").unbind("click").click(function(e) {
e.preventDefault();
var bar = $(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressIndicator);
var pos = ((e.pageX - bar.offset().left) / sonora.pages.commons.playerHtml.progressBarSize) * sonora.pages.commons.playerHtml.mediaDuration;
sonora.pages.commons.playerHtml.seek(pos);
bar = null;
pos = null;
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.VolumeButton).unbind("click").css("cursor", "pointer").draggable({ containment: sonora.pages.commons.playerHtml.playerHtmlConfig.VolumeButtonContainer, axis: 'x', drag: function(event, ui) { sonora.pages.commons.playerHtml.volumeDrag(event, ui); } });
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton).unbind("click").click(function(e) { e.preventDefault(); sonora.pages.commons.playerHtml.muteUnmute(); });
$(sonora.pages.commons.playerHtml.playerHtmlConfig.SimilarButton).unbind().click(function(e) {
e.preventDefault();
if (sonora.pages.commons.playerHtml.currentMedia > 0) {
sonora.pages.commons.playerHtml.similar.getSimilars(sonora.pages.commons.playerHtml.currentMedia, sonora.translator.translateRoute("defaultUrlMusic").toLowerCase(), 0, 40, null);
}
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.shuffleButton).unbind("click").click(function(e) {
e.preventDefault();
sonora.player.shuffle(true);
sonora.pages.commons.playerHtml.queue.updateQueue(sonora.player.getItems());
sonora.pages.commons.playerHtml.setNextSong(); sonora.pages.commons.playerHtml.loadNextSongInfo();
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.clearButton).unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.playerHtml.queue.clear(false);
sonora.metrics.clearMetricRadio();
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.OpenPopup).unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
sonora.pages.commons.overlays.init($("#open_popup_overlay"), function() {
sonora.pages.commons.overlays.bindOpenPopupOverlay();
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
item.removeClass("load");
});
return false;
});
sonora.pages.commons.playerHtml.queue.init();
}
PlayerHtml.prototype.volumeDrag = function(event, ui) {
var left = ui.position.left;
if(left == 37) left += 8;
if(left == 7) left -= 7;
var volume = (100.0 * (left)) / sonora.pages.commons.playerHtml.volumeBarSize;
event = null;
ui = null;
sonora.player.changeVolume(volume);
}
PlayerHtml.prototype.setSongRating = function(rating) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.DislikeButton).parent().removeClass("selected");
$(sonora.pages.commons.playerHtml.playerHtmlConfig.LikeButton).parent().removeClass("selected");
if (rating == -1) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.DislikeButton).parent().addClass("selected");
} else if (rating == 1) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.LikeButton).parent().addClass("selected");
}
}
PlayerHtml.prototype.setNextSongRating = function(rating) {
$(".player .wrapper .nextSong .share li .btnDontLike").parent().removeClass("selected");
$(".player .wrapper .nextSong .share li .btnLike").parent().removeClass("selected");
if (rating == -1)
$(".player .wrapper .nextSong .share li .btnDontLike").parent().addClass("selected");
else if (rating == 1)
$(".player .wrapper .nextSong .share li .btnLike").parent().addClass("selected");
}
PlayerHtml.prototype.getMusicIndex = function(id) {
return Number($(".playlist .scroll ul li input[id=" + id + "]").parent().find("h3").attr("id"));
}
PlayerHtml.prototype.loadSongInfo = function(newMediaItem) {
var pos = Number($(".playlist .scroll ul li input[id=" + newMediaItem.contentId + "]").parent().attr("id"));
if(isNaN(pos)) pos = 0;
sonora.pages.commons.playerHtml.setSongRating(newMediaItem.rating);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MusicIndex).html(sonora.pages.commons.playerHtml.getMusicNumber(pos + 1));
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MusicTitle).attr("href", "#" + newMediaItem.musicUrl).text(newMediaItem.title).attr("title", newMediaItem.title).unbind("click").click(function(e) { e.preventDefault(); SWFAddress.setValue($(this).attr("href")); });
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ArtistTitle).attr("href", "#" + newMediaItem.artistUrl).text(newMediaItem.artist).attr("title", newMediaItem.artist).unbind("click").click(function(e) { e.preventDefault(); SWFAddress.setValue($(this).attr("href")); });
if(newMediaItem.cdCoverHigh != null && newMediaItem.cdCoverHigh != "") {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.CoverImage)[0].src = newMediaItem.cdCoverHigh;
} else {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.CoverImage)[0].src = "/Content/Images/generic_album.jpg";
}
$(sonora.pages.commons.playerHtml.playerHtmlConfig.CoverImage).attr("alt", newMediaItem.album + " - " + newMediaItem.artist);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.CoverImageLink).attr("href", newMediaItem.albumUrl).attr("title", newMediaItem.album).unbind("click").click(function(e) { e.preventDefault(); SWFAddress.setValue($(this).attr("href")); });
$(sonora.pages.commons.playerHtml.playerHtmlConfig.AddButton).attr("href", "#" + sonora.translator.translate("add") + "/" + sonora.translator.translateRoute("defaultUrlMusic") + "/" + newMediaItem.contentId);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.RelatedButton).attr("href", "#related/" + sonora.translator.translateRoute("defaultUrlMusic") + "/" + newMediaItem.contentId);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.DownButton).attr("href", "#" + sonora.translator.translate("buy") + "/" + sonora.translator.translateRoute("defaultUrlMusic") + "/" + newMediaItem.contentId);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.EmailButton).attr("href", "#share/" + sonora.translator.translateRoute("defaultUrlMusic") + "/" + newMediaItem.contentId);
if (sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.CoverImageLink).unbind("click").click(function(e) {
e.preventDefault();
if(sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
if(window.opener)
window.opener.SWFAddress.setValue(newMediaItem.albumUrl);
else
window.open(newMediaItem.albumUrl);
} else {
SWFAddress.setValue(newMediaItem.musicUrl);
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MusicTitle).unbind("click").click(function(e) {
e.preventDefault();
if(sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
if(window.opener)
window.opener.SWFAddress.setValue(newMediaItem.musicUrl);
else
window.open(newMediaItem.musicUrl);
} else {
SWFAddress.setValue(newMediaItem.musicUrl);
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ArtistTitle).unbind("click").click(function(e) {
e.preventDefault();
if(sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
if(window.opener)
window.opener.SWFAddress.setValue(newMediaItem.artistUrl);
else
window.open(newMediaItem.artistUrl);
} else {
SWFAddress.setValue(newMediaItem.musicUrl);
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.CoverImage).unbind("click").click(function(e) {
e.preventDefault();
if(sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
if(window.opener)
window.opener.SWFAddress.setValue(newMediaItem.albumUrl);
else
window.open(newMediaItem.albumUrl);
} else {
SWFAddress.setValue(newMediaItem.musicUrl);
}
return false;
});
}
}
PlayerHtml.prototype.setNextSong = function(currentMedia) {
if(!sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
var nextItem = null;
var pos = 0;
var spotCount = 0;
var items = sonora.player.playlist.getItems();
if(currentMedia == null) currentMedia = sonora.pages.commons.playerHtml.currentMediaItem;
if(currentMedia != null) {
pos = 1 + Number($(".playlist .scroll ul li input[id=" + currentMedia.contentId + "]").parent().attr("id"));
}
if(pos < items.length) {
for(var i=0;i<=pos;i++) {
if(items[i].spot) spotCount++;
}
if((spotCount + pos) >= items.length) {
nextItem = null;
} else {
nextItem = sonora.player.playlist.getItems()[spotCount + pos];
while(nextItem && nextItem.spot) {
spotCount++;
if((spotCount + pos) > sonora.player.playlist.getItems().length) nextItem = null;
nextItem = sonora.player.playlist.getItems()[spotCount + pos];
}
}
}
sonora.pages.commons.playerHtml.nextMediaItem = nextItem;
sonora.pages.commons.playerHtml.loadNextSongInfo();
}
}
PlayerHtml.prototype.loadNextSongInfo = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemDiv).hide();
if (sonora.pages.commons.playerHtml.nextMediaItem != null) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemDiv).show();
var pos = Number($(".playlist .scroll ul li input[id=" + sonora.pages.commons.playerHtml.nextMediaItem.contentId + "]").parent().attr("id"));
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemMusicIndex).html(sonora.pages.commons.playerHtml.getMusicNumber(pos + 1));
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemMusicAlbum).attr("title", sonora.pages.commons.playerHtml.nextMediaItem.album).attr("href", "#" + sonora.pages.commons.playerHtml.nextMediaItem.albumUrl);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemMusicAlbumCover).attr("title", sonora.pages.commons.playerHtml.nextMediaItem.album).attr("src", sonora.pages.commons.playerHtml.nextMediaItem.cdCoverMed);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemMusicTitle).attr("title", sonora.pages.commons.playerHtml.nextMediaItem.title).attr("href", "#" + sonora.pages.commons.playerHtml.nextMediaItem.musicUrl).text(sonora.pages.commons.playerHtml.nextMediaItem.title);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemArtistTitle).attr("title", sonora.pages.commons.playerHtml.nextMediaItem.artist).attr("href", "#" + sonora.pages.commons.playerHtml.nextMediaItem.artistUrl).text(sonora.pages.commons.playerHtml.nextMediaItem.artist);
sonora.pages.commons.playerHtml.setNextSongRating(sonora.pages.commons.playerHtml.nextMediaItem.rating);
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemLike).unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (sonora.user.loggedIn) {
if (item.parent().hasClass("selected")) {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.nextMediaItem.contentId, 0);
}
else {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.nextMediaItem.contentId, 1);
}
}
else {
sonora.pages.commons.notLoggedSmall(item);
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemDislike).unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user.loggedIn) {
if ($(this).parent().hasClass("selected")) {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.nextMediaItem.contentId, 0);
}
else {
sonora.pages.commons.rateSong(sonora.pages.commons.playerHtml.nextMediaItem.contentId, -1);
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.NextMediaItemDelete).unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user.loggedIn) {
sonora.player.removeItem(sonora.player.getCurrentIndex() + 1);
sonora.pages.commons.playerHtml.setNextSong();
sonora.pages.commons.playerHtml.loadNextSongInfo();
sonora.metrics.clearMetricRadio();
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
return false;
});
}
}
PlayerHtml.prototype.getMusicNumber = function(index) {
if(index < 10) {
index = "0" + index;
}
return index + ". ";
}
PlayerHtml.prototype.updateDisclaimer = function() {
if(sonora.pages.commons.playerHtml.currentMediaItem && sonora.pages.commons.playerHtml.currentMediaItem.spot) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).addClass("spot");
} else {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).removeClass("spot");
}
}
PlayerHtml.prototype.resetProgress = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressCurrent).text(" ");
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressTotal).text(" ");
if (sonora.player.playlist.count() > 5 && !sonora.wmp.isInWMP) {
sonora.player.playItem(0);
}
}
PlayerHtml.prototype.showLoadingBar = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressBarDiv).hide();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressLoadingBarDiv).show();
}
PlayerHtml.prototype.hideLoadingBar = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressBarDiv).show();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressLoadingBarDiv).hide();
}
PlayerHtml.prototype.updateProgress = function() {
if (this.mediaDuration > 0) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressIndicator).css("width", (this.progressBarSize * (this.mediaTime / this.mediaDuration)));
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressCurrent).text(sonora.pages.commons.playerHtml.formatTime(this.mediaTime));
$(sonora.pages.commons.playerHtml.playerHtmlConfig.ProgressTotal).text(sonora.pages.commons.playerHtml.formatTime(this.mediaDuration));
}
}
PlayerHtml.prototype.formatTime = function(timeInSeconds) {
var seconds = parseInt(timeInSeconds % 60, 10);
var minutes = parseInt(timeInSeconds / 60, 10);
var time = minutes.toString(10) + ":";
time += seconds < 10 ? "0" + seconds.toString(10) : seconds.toString(10);
return time;
}
PlayerHtml.prototype.playPause = function() {
if(sonora.pages.commons.playerHtml.currentState != 4) {
if (sonora.pages.commons.playerHtml.currentState == 2) {
sonora.pages.commons.playerHtml.updatePlayButton(3);
sonora.player.play();
}
else if(sonora.pages.commons.playerHtml.currentState == 3) {
if (sonora.pages.commons.playerHtml.currentMediaItem != null && (!sonora.pages.commons.playerHtml.currentMediaItem.spot)) {
sonora.pages.commons.playerHtml.updatePlayButton(2);
sonora.player.pause();
}
}
}
}
PlayerHtml.prototype.updatePlayButton = function() {
if (sonora.pages.commons.playerHtml.currentState != 3) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.PlayPauseButton).attr("title", sonora.translator.translate("play")).removeClass("btnPause").addClass("btnPlay");
}
else {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.PlayPauseButton).attr("title", sonora.translator.translate("pause")).removeClass("btnPlay").addClass("btnPause");
}
}
PlayerHtml.prototype.previous = function() {
if (sonora.user && (sonora.user.loggedIn || (!sonora.user.loggedIn && !sonora.player.isSponsored))) {
if (this.currentMediaItem != null && !this.currentMediaItem.spot) {
sonora.player.previous();
}
}
else if (sonora.user && sonora.user.loggedIn == false) {
sonora.pages.commons.notLoggedSmall($(sonora.pages.commons.playerHtml.playerHtmlConfig.PreviousButton));
}
}
PlayerHtml.prototype.next = function() {
if (sonora.user && (sonora.user.loggedIn || (!sonora.user.loggedIn && !sonora.player.isSponsored))) {
if (this.currentMediaItem != null && !this.currentMediaItem.spot)
sonora.player.next();
}
else if (sonora.user && sonora.user.loggedIn == false) {
sonora.pages.commons.notLoggedSmall($(sonora.pages.commons.playerHtml.playerHtmlConfig.NextButton));
}
}
PlayerHtml.prototype.seek = function(pos) {
if (sonora.user && sonora.user.loggedIn && (this.currentMediaItem != null && (!this.currentMediaItem.spot)))
sonora.player.setPosition(pos);
}
PlayerHtml.prototype.muteUnmute = function() {
var button = $(sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton);
if (button.parent().hasClass("selected")) {
button.parent().removeClass("selected");
sonora.player.unmute();
}
else {
button.parent().addClass("selected");
sonora.player.mute();
}
button = null;
}
PlayerHtml.prototype.keepMuteUnmute = function() {
var button = $(sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton);
if (button.parent().hasClass("selected")) {
sonora.player.mute();
} else {
sonora.player.unmute();
}
button = null;
}
PlayerHtml.prototype.showPlaylist = function() {
this.closeQueue();
$("div.playerNew div.playlist .interactions .btnList a").addClass("selected");
sonora.pages.commons.playerHtml.queue.show();
sonora.pages.commons.playerHtml.queue.init();
}
PlayerHtml.prototype.showRelated = function(mediaId) {
this.closeQueue();
$("div.playerNew div.playlist .btnRelated a").addClass("selected");
}
PlayerHtml.prototype.closeQueue = function() {
$("div.playerNew div.playlist .btnRelated a").removeClass("selected");
$("div.playerNew div.playlist .btnList a").removeClass("selected");
}
PlayerHtml.prototype.closePlayer = function() {
if (!sonora.wmp.isInWMP && sonora.player.playlist.count() > 0) {
return sonora.translator.translate("closePlayer");
}
}
PlayerHtml.prototype.verifyClosePlayer = function() {
if(sonora.player.playlist.getItems().length > 0) {
}
}
PlayerHtml.prototype.saveCookiePlaylist = function() {
var contentCookie = "musicIds=";
var items = sonora.player.playlist.getItems();
for(var i=0;i<items.length;i++) {
if(i>0) {
contentCookie += ",";
}
contentCookie += items[i].contentId;
}
contentCookie += "|currentIndex=" + sonora.player.getCurrentIndex();
cookieManager = new CookieManager("SONORA_PLAYLIST", new Date(2020, 12, 31), sonora.instanceCookieDomain);
cookieManager.setValue("p", contentCookie);
}
PlayerHtml.prototype.loadCookiePlaylist = function(callback) {
var cookieManager = new CookieManager("SONORA_PLAYLIST", new Date(2020, 12, 31), sonora.instanceCookieDomain);
var p = cookieManager.getValue("p");
if(p != null && p != "" && p.indexOf("musicIds") > -1 && p.indexOf("currentIndex") > -1) {
p = p.replace("musicIds=", "").replace("currentIndex=", "");
var musicsIds = p.split("|")[0].split(",");
var currentIndex = p.split("|")[1];
sonora.player.addMusic(musicsIds, function() {
sonora.player.playItem(currentIndex);
}, false);
sonora.pages.commons.playerHtml.cleanCookiePlaylist();
if(callback != null && typeof(callback) == "function") {
callback();
}
}
}
PlayerHtml.prototype.cleanCookiePlaylist = function() {
cookieManager = new CookieManager("SONORA_PLAYLIST", new Date(2020, 12, 31), sonora.instanceCookieDomain);
cookieManager.setValue("p", "");
}
PlayerHtml.prototype.showCookiePlaylistOverlay = function() {
var cookieManager = new CookieManager("SONORA_PLAYLIST", new Date(2020, 12, 31), sonora.instanceCookieDomain);
var p = cookieManager.getValue("p");
if(p != null && p != "" && p.indexOf("musicIds") > -1 && p.indexOf("currentIndex") > -1) {
$("#saved_cookie_playlist_overlay").css("bottom", "54px").css("left", "50%").css("margin-left", "-470px").show();
$("#saved_cookie_playlist_overlay .close").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.playerHtml.closeCookiePlaylistOverlay();
});
$("#saved_cookie_playlist_overlay .btnCancel").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.playerHtml.closeCookiePlaylistOverlay();
});
$("#saved_cookie_playlist_overlay .btnContinue").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.playerHtml.loadCookiePlaylist(function() {
sonora.pages.commons.playerHtml.closeCookiePlaylistOverlay();
});
});
}
}
PlayerHtml.prototype.closeCookiePlaylistOverlay = function() {
$("#saved_cookie_playlist_overlay *").unbind();
$("#saved_cookie_playlist_overlay").hide();
sonora.pages.commons.playerHtml.cleanCookiePlaylist();
}
PlayerHtml.prototype.checkShowPlayerActions = function() {
if (!sonora.pages.hotsite.isFromPlaylistHotsite) {
$('.player .wrapper .action li').show();
$('.player .wrapper .btnMaximize').show();
$('.player .wrapper .share li').show();
sonora.advertisement.showSealSponsor = true;
if (sonora.pages.hotsite.isHotsitePlaylist()) {
sonora.player.clear();
}
}
else {
$('.player .wrapper .action li').hide();
$('.player .wrapper .btnMaximize').hide();
$('.player .wrapper .share li').hide();
sonora.advertisement.showSealSponsor = false;
}
sonora.pages.hotsite.isFromPlaylistHotsite = false;
}
PlayerHtml.prototype.checkPlayer = function() {
var player_obj = document.playerSonoraObject; // Player
var playerType = new PlayerType();
if(Player.playerUsed == playerType.Silverlight)
{
var mediaObj = null
try
{
mediaObj = player_obj.Content.findName("media");
}
catch(e) {
}
if(mediaObj)
{
mediaObj.addEventListener("mediaEnded", "slMediaEnd");
return true;
}
else
{
return false;
}
}
if (player_obj) {
if(player_obj.settings || player_obj.GetURL)
{
return(true);
}
}
return(false);
}
PlayerHtml.prototype.initializePlayer = function(page) {
if(sonora.pages.commons.playerHtml.initializePlayerAttempts == 0) {
var config = null;
if (page == "Home") {
config = new HomePlayerConfig();
} else {
config = new PopupPlayerConfig();
}
sonora.pages.commons.playerHtml.playerHtmlConfig = config;
config = null;
}
sonora.pages.commons.playerHtml.initializePlayerAttempts += 1;
if (sonora.pages.commons.playerHtml.checkPlayer()) {
var config = null;
if (page == "Home") {
config = new HomePlayerConfig();
} else {
config = new PopupPlayerConfig();
}
sonora.pages.commons.playerHtml.performInitialize(config);
config = null;
} else {
if(sonora.pages.commons.playerHtml.initializePlayerAttempts <= 10) {
Logger.info(sonora.pages.commons.playerHtml.initializePlayerAttempts)
window.setTimeout('sonora.pages.commons.playerHtml.initializePlayer(\'' + page + '\')', 500);
} else {
sonora.pages.commons.playerHtml.initializePlayerAttempts = 0;
}
}
}
PlayerHtml.prototype.performInitialize = function(configuration) {
sonora.player = new Player('sonora.player');
sonora.player.playlist = new PlaylistSonora('sonora.player.playlist');
sonora.player.setCurrentPlaylist(sonora.player.playlist);
sonora.player.addMediaChangeCallback(function(mediaItem) {
if (!sonora.wmp.isInWMP) {
if (mediaItem && mediaItem.contentId != null && mediaItem.contentId > 0) {
Logger.log('[MediaUnbound] - Submiting Track Event to MusicId = ' + mediaItem.contentId);
if (!sonora.player.isChangeUnattended) {
sonora.mediaUnbound.submitTrackEvent(mediaItem.contentId);
} else {
sonora.mediaUnbound.submitPassiveTrackEvent(mediaItem.contentId);
sonora.player.isChangeUnatted = false;
}
}
}
});
sonora.pages.commons.playerHtml.initBinds(configuration);
if (!configuration.isPopup)
sonora.pages.commons.playerHtml.hide();
if (configuration.isPopup) {
sonora.player.popupPlayer.init();
}
}
PlayerHtml.prototype.renderPlayer = function() {
var playerType = new PlayerType();
if (Player.playerUsed == playerType.WindowsMedia) {
if(alternateWmpRender)
{
document.write('<OBJECT id=\"playerSonoraObject\" name=\"playerSonoraObject\" trr.id=\"son\" type=\"application/x-ms-wmp\" height=\"0\">\n');
}
else
{
document.write('<OBJECT id=\"playerSonoraObject\" name=\"playerSonoraObject\" trr.id=\"son\" CLASSID=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" width=\"0\" height=\"0\">\n');
}
document.write('<param name=\"AutoStart\" value=\"False\">\n');
document.write('<param name=\"TransparentAtStart\" value=\"0\">\n');
document.write('<param name=\"ShowStatusBar\" value=\"0\">\n');
document.write('<param name=\"ShowDisplay\" value=\"0\">\n');
document.write('<param name=\"AutoSize value=\"0\">\n');
document.write('<param name=\"UImode\" value=\"none\">\n');
document.write('<param name=\"AnimationAtStart\" value=\"True\">\n');
document.write('<param name=\"StretchToFit\" value=\"False\">\n');
document.write('<param name=\"EnableContextMenu\" value=\"False\">\n');
document.write('</OBJECT>\n');
}
else if(Player.playerUsed == playerType.Quicktime)
{
document.write("<EMBED width=\"1\" height=\"1\"\n");
document.write("controller=\"False\"\n");
document.write("scale=\"ToFit\"\n");
document.write("src=\"\"\n");
document.write("TYPE=\"video/quicktime\"\n");
document.write("PLUGINSPAGE=\"www.apple.com/quicktime/download\"\n");
document.write("name=\"playerSonoraObject\"\n");
document.write("id=\"playerSonoraObject\"\n");
document.write("enablejavascript=\"true\"\n");
document.write("volume=\"50\"\n");
document.write("bgcolor=\"#000000\">\n");
document.write("</EMBED>\n");
}
else if (Player.playerUsed == playerType.Silverlight) {
document.write('<object width="10" height="10" id="playerSonoraObject" name="playerSonoraObject" type="application/x-silverlight" style=\"left:15px;position:absolute;top:2px;width:1px;height:1px;\">\n');
document.write('<param value="#FF9900" name="background"/>\n');
document.write('<param value="/Content/Xaml/playerSilverlight.xaml" name="source"/>\n');
document.write('<param value="false" name="windowless"/>\n');
document.write('<param value="__slLoad0" name="onLoad"/>\n');
document.write('<param value="__slError0" name="onError"/>\n');
document.write('</object>');
}
}
function slMediaEnd() {
sonora.player.player.mediaEnd();
}
Commons.prototype.playerHtml = new PlayerHtml();
function Queue() { }
Queue.prototype.position = 0,
Queue.prototype.count = 0,
Queue.prototype.playing = 0,
Queue.prototype.deleting = false,
Queue.prototype.currentPosition = 0,
Queue.prototype.init = function() {
$('.player .wrapper .playlist .title').unbind("click").bind('click', function(e) {
e.preventDefault();
if ($(this).parent().hasClass('opened')) {
if (!$.browser.msie) {
$(this).parent().animate({ height: 22 }, function() { $(this).removeClass('opened'); });
} else {
$(this).parent().height("22px").removeClass('opened');
}
} else {
if (!$.browser.msie) {
$(this).parent().animate({ height: 400 }, function() { $(this).addClass('opened'); });
} else {
$(this).parent().height("400px").addClass('opened');
}
sonora.pages.commons.playerHtml.queue.show();
}
return false;
});
$(".playlist .playlistFilter #all").unbind("click").bind('click', function(e) {
var check = $(this);
if (check.is(':checked')) {
sonora.pages.commons.playerHtml.queue.SelectAllChecks();
} else {
sonora.pages.commons.playerHtml.queue.cleanSelectedChecks();
}
sonora.pages.commons.playerHtml.queue.countCheckedMusics();
check = null;
});
$(".playlist .playlistActions dd .play").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
var musics = sonora.pages.commons.playerHtml.queue.getSelectedMusics();
var params = new Array();
params.push(musics.join(","));
params.push('musics');
params = params.join("|");
sonora.pages.commons.permission.authorize(
'playmusics',
musics,
item,
function() {
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayPlayButton(musics, item, true);
});
},
params
);
return false;
});
$(".playlist .playlistActions dd .add").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
var musics = sonora.pages.commons.playerHtml.queue.getSelectedMusics();
var params = new Array();
params.push(musics.join(","));
params.push('musics');
if (sonora.user.loggedIn) {
sonora.pages.commons.overlays.init($("#ActionButtonAddOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonAddOverlay(musics, true);
sonora.pages.commons.overlays.setPosition(item.offset());
});
}
else {
sonora.pages.commons.notLoggedSmall(item);
}
return false;
});
$(".playlist .playlistActions dd .more").unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user.loggedIn) {
var item = $(this);
var musics = sonora.pages.commons.playerHtml.queue.getSelectedMusics();
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayMoreActions(musics, true);
sonora.pages.commons.overlays.setPosition(item.offset());
});
return false;
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
});
}
Queue.prototype.getSelectedMusics = function() {
var musics = new Array();
$(".playlist .scroll ul li input[type=checkbox]").each(function() {
if($(this).attr("checked")) {
musics.push($(this).attr("id"));
}
});
return musics;
}
Queue.prototype.cleanFilterHeader = function() {
$(".playlist .playlistFilter #all").attr("checked", false);
sonora.pages.commons.playerHtml.queue.countCheckedMusics();
}
Queue.prototype.SelectAllChecks = function() {
$(".playlist .scroll ul li input[type=checkbox]").each(function() {
$(this).attr("checked", true);
});
}
Queue.prototype.cleanSelectedChecks = function() {
$(".playlist .scroll ul li input[type=checkbox]").each(function() {
$(this).attr("checked", false);
});
}
Queue.prototype.countCheckedMusics = function() {
var selectedChecks = 0;
$(".playlist .scroll ul li input[type=checkbox]").each(function() {
var item = $(this);
if(item.is(':checked')) {
selectedChecks++;
}
});
$(".playlist .playlistFilter h3 span").html(selectedChecks);
}
Queue.prototype.CountMusics = function() {
return $(".playlist .scroll ul li input[type=checkbox]").length;
}
Queue.prototype.bindQueueActions = function() {
sonora.pages.commons.playerHtml.queue.cleanFilterHeader();
$(".playlist .scroll ul li input").unbind("click").click(function(e) {
sonora.pages.commons.playerHtml.queue.countCheckedMusics();
});
}
Queue.prototype.getUrlMusic = function() {
return sonora.translator.translateRoute("defaultUrlMusic");
}
Queue.prototype.show = function() {
this.updateQueue(sonora.player.getItems());
}
Queue.prototype.shuffle = function() {
sonora.player.shuffle(true);
this.updateQueue(sonora.player.getItems());
}
Queue.prototype.updateQueue = function(plItems) {
this.current = 0;
this.count = 0;
var queue_item_prototype = "<li id=''>";
queue_item_prototype += "<input id='' name='' type=\"checkbox\"/>";
queue_item_prototype += "<h3><a title=\"\" href=\"#\">[music_name]</a></h3>"
queue_item_prototype += "<h4><a title=\"\" href=\"#\">[artist_name]</a></h4>"
queue_item_prototype += "<ul class=\"share\">"
queue_item_prototype += "<li><a class=\"btnDontLike\" title=\"" + sonora.translator.translate("heartDislikeText") + "\" href=\"#\">" + sonora.translator.translate("heartDislikeText") + "</a></li>"
queue_item_prototype += "<li><a class=\"btnLike\" title=\"" + sonora.translator.translate("heartLikeText") + "\" href=\"#\">" + sonora.translator.translate("heartLikeText") + "</a></li>"
queue_item_prototype += "<li><a id='' class=\"btnDelete\" title=\"" + sonora.translator.translate("excludeAction") + "\" href=\"#\">" + sonora.translator.translate("excludeAction") + "</a></li>"
queue_item_prototype += "</ul>"
queue_item_prototype += "</li>";
queue_item_prototype = $(queue_item_prototype);
var queue_list = $(".playlist .scroll ul")
queue_list.find("*").unbind();
queue_list.empty();
var currentSong = sonora.player.getCurrentMedia();
var aux = 0;
if (plItems.length > 0) {
for (var i = 0; i < plItems.length; i++) {
if (plItems[i].spot) {
continue;
} else {
this.count++;
aux++;
}
var newItem = queue_item_prototype.clone();
newItem.attr("id", (aux - 1));
newItem.find("input").attr("name", plItems[i].contentId);
newItem.find("input").attr("id", plItems[i].contentId);
newItem.find("h3").attr("id", i);
newItem.find("h3 a").html(sonora.pages.commons.playerHtml.getMusicNumber(aux) + plItems[i].title);
newItem.find("h3 a").attr("title", plItems[i].title);
newItem.find("h4 a").html(plItems[i].artist);
newItem.find("h4 a").attr("title", plItems[i].artist);
newItem.find("h4 a").attr("href", "#" + plItems[i].artistUrl);
newItem.find(".share li .btnDelete").attr("id", i);
if (plItems[i].rating != 0) {
if (plItems[i].rating == -1) {
newItem.find(".share li .btnDontLike").parent().addClass("selected");
} else if (plItems[i].rating == 1) {
newItem.find(".share li .btnLike").parent().addClass("selected");
}
}
if (currentSong && plItems[i].contentId == currentSong.contentId) {
newItem.addClass("selected");
}
queue_list.append(newItem);
}
queue_list = null;
$(".playlist .scroll ul li h3 a").unbind("click").click(function(e) {
e.preventDefault();
sonora.player.isChangeUnattended = false;
if (sonora.user && sonora.user.loggedIn) {
sonora.player.playItem($(this).parent().attr("id"));
} else {
if(sonora.degustation.enableDegustation && (!sonora.degustation.isExceeded())) {
sonora.player.playItem($(this).parent().attr("id"));
} else {
sonora.pages.commons.notLoggedUserActions($(this));
}
}
return false;
});
$(".playlist .scroll ul li h4 a").unbind("click").click(function(e) {
e.preventDefault();
var url = $(this).attr("href");
if (sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
try {
if (window.opener != null) {
window.opener.SWFAddress.setValue(url);
} else {
window.open(url, 'Sonora');
}
} catch (Exception) {
window.open(url, 'Sonora');
}
} else {
SWFAddress.setValue(url);
}
return false;
});
$(".playlist .scroll ul li .share li .btnDelete").unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user && sonora.user.loggedIn) {
if (sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
if (sonora.player.playlist.getItems().length == 1) {
if (confirm(sonora.translator.translate("removeItemPlaylist"))) {
sonora.player.removeItem(Number($(this).attr("id")));
window.close();
return;
}
} else {
sonora.player.removeItem(Number($(this).attr("id")));
}
} else {
sonora.player.removeItem(Number($(this).attr("id")));
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
return false;
});
$(".playlist .scroll ul li .share li .btnDontLike").unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user && sonora.user.loggedIn) {
var item = $(this);
if ($(this).parent().hasClass("selected")) {
sonora.pages.commons.rateSong(item.parent().parent().parent().find("input").attr("id"), 0);
}
else {
sonora.pages.commons.rateSong(item.parent().parent().parent().find("input").attr("id"), -1);
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
});
$(".playlist .scroll ul li .share li .btnLike").unbind("click").click(function(e) {
e.preventDefault();
if (sonora.user && sonora.user.loggedIn) {
var item = $(this);
if ($(this).parent().hasClass("selected")) {
sonora.pages.commons.rateSong(item.parent().parent().parent().find("input").attr("id"), 0);
}
else {
sonora.pages.commons.rateSong(item.parent().parent().parent().find("input").attr("id"), 1);
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
});
$(".player_queue .content dl").show();
}
$(".playlist .title h4").html("(" + this.count + ")");
sonora.pages.commons.playerHtml.queue.bindQueueActions();
setTimeout("sonora.pages.commons.playerHtml.queue.scrollQueueForCurrentSong()", 1000);
}
Queue.prototype.setSongRating = function(musicId, rating) {
var item = $(".playlist .scroll ul li").find("input[id=" + musicId + "]").parent();
var index = 0;
var items = sonora.player.playlist.getItems();
for(var i=0;i<items.length;i++) {
var currentItem = items[i];
if(currentItem.contentId == musicId) {
index = i;
break;
}
}
items[index].rating = rating;
item.find(".share li .btnLike").parent().removeClass("selected");
item.find(".share li .btnDontLike").parent().removeClass("selected");
if (rating == -1)
item.find(".share li .btnDontLike").parent().addClass("selected");
else if (rating == 1)
item.find(".share li .btnLike").parent().addClass("selected");
}
Queue.prototype.scrollQueueForCurrentSong = function() {
var index = $(".playlist .scroll ul li input[id=" + sonora.pages.commons.playerHtml.currentMedia + "]").parent().attr("id");
if(index != null && index != "undefined") {
var currentPosition = index * 38;
$(".playlist .scroll").animate({scrollTop: currentPosition}, 500);
}
index = null;
}
Queue.prototype.clear = function(clearAll) {
var items = 1;
if(clearAll) items = 0;
var currentPlayer = sonora.player;
if(opener) {
if(opener.sonora.player.windowHandler)
currentPlayer = opener.sonora.player.windowHandler.sonora.player;
}
while(currentPlayer.playlist.getItems().length > items) {
if(clearAll) {
currentPlayer.playlist.removeItem(0);
} else {
if(currentPlayer.getCurrentIndex() == 0) {
currentPlayer.playlist.removeItem(1);
} else {
currentPlayer.playlist.removeItem(0);
}
}
}
if(!clearAll) {
currentPlayer.playlistStateChange();
sonora.pages.commons.playerHtml.loadSongInfo(sonora.pages.commons.playerHtml.currentMediaItem);
}
this.currentPage = 1;
this.transitioning = null;
this.position = 0;
this.count = 0;
this.playing = 0;
this.deleting = false;
this.currentPosition = 0;
this.pages = 0;
currentPlayer = null;
}
PlayerHtml.prototype.queue = new Queue();
function Similar() { }
Similar.prototype.getSimilars = function(id, mediaType, offset, limit, callback) {
sonora.pages.commons.playerHtml.similar.show();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).loading();
var url = "/Related/GetRelatedMusic?musicid=" + id + "&offset=" + offset + "&limit=" + limit;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
if(json != null) {
sonora.pages.commons.playerHtml.similar.fillContent(json.content);
sonora.pages.commons.playerHtml.similar.fillRelatedItems(json.related);
sonora.pages.commons.playerHtml.similar.binds();
$(".similars div.title span").html($(".similars .scroll > ul > li").length + "&nbsp;");
$('.similars .scroll li').unbind()
.bind('mouseenter',function(){$(this).addClass('hover')})
.bind('mouseleave', function(){$(this).removeClass('hover')});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).loading( {loaded: true} );
}
if (callback && typeof (callback) == 'function') {
callback(json);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).loading( {loaded: true} );
sonora.pages.commons.playerHtml.similar.binds();
}
});
}
Similar.prototype.setMusicListRating = function() {
if (!sonora.user.loggedIn) {
Logger.info("There is no need to ask for unlogged music list user rating");
} else {
var ids = this.getIds();
sonora.user.getMusicRate(ids, function(json) {
Logger.info(json)
var musics = json.musics;
var rates = json.rates;
for (var i = 0; i < musics.length; i++) {
sonora.pages.commons.setRateSong(musics[i], rates[i]);
}
});
Logger.info("Music similar list user rating loaded!");
}
}
Similar.prototype.binds = function() {
$(".similars a").unbind("click").click(function(e) {
e.preventDefault();
try {
opener.SWFAddress.setValue($(this).attr("href"));
} catch (Exception) {
SWFAddress.setValue($(this).attr("href"));
}
});
$(".similars .playlistFilter #allSim").unbind("click").click(function(e) {
sonora.pages.commons.playerHtml.similar.selectAll($(this));
});
$(".similars .scroll ul li input[type=checkbox]").unbind("click").click(function(e) {
var totalSelected = sonora.pages.commons.playerHtml.similar.getCount();
var totalCount = $(".similars .scroll ul li input[type=checkbox]").length;
if (totalCount > totalSelected) {
$(".similars .playlistFilter #allSim").attr("checked", false);
}
sonora.pages.commons.playerHtml.similar.showMusicCount();
});
$(".similars .scroll ul li .share li a").unbind("click").click(function(e) {
e.preventDefault();
var href = sonora.pages.commons.fixIEUrl($(this).attr("href")).split("/");
if (sonora.user.loggedIn) {
if (href.length > 1) {
if ($(this).parent().hasClass("selected")) {
sonora.pages.commons.rateSong(href[href.length - 2], 0);
}
else {
sonora.pages.commons.rateSong(href[href.length - 2], href[href.length - 1]);
}
}
}
else {
sonora.pages.commons.notLoggedSmall($(this));
}
});
$(".similars .scroll ul li h6 a").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.binds.actions.play($(this));
});
$(".similars .playlistActions dd .play").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
var musics = sonora.pages.commons.playerHtml.similar.getSelectedIds();
var params = new Array();
params.push(musics.join(","));
params.push('musics');
params = params.join("|");
sonora.pages.commons.permission.authorize(
'playmusics',
musics,
item,
function() {
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayPlayButton(musics, item, false, true);
});
},
params
);
return false;
});
$(".similars .playlistActions dd .add").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
var musics = sonora.pages.commons.playerHtml.similar.getSelectedIds();
var params = new Array();
params.push(musics.join(","));
params.push('musics');
if (sonora.user.loggedIn) {
sonora.pages.commons.overlays.init($("#ActionButtonAddOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonAddOverlay(musics, false);
sonora.pages.commons.overlays.setPosition(item.offset());
});
}
else {
sonora.pages.commons.notLoggedSmall(item);
}
return false;
});
$(".similars .playlistActions dd .more").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (sonora.user.loggedIn) {
var musics = sonora.pages.commons.playerHtml.similar.getSelectedIds();
sonora.pages.commons.overlays.init($("#ActionButtonsInfoOverlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsInfoOverlayMoreActions(musics, false);
sonora.pages.commons.overlays.setPosition(item.offset());
});
}
else {
sonora.pages.commons.notLoggedSmall(item);
}
return false;
});
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarCloseButton).unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.playerHtml.similar.close();
});
}
Similar.prototype.fillContent = function(content) {
var composeTitle = content.musicTitle + " - " + content.albumTitle + " - " + content.artistTitle;
var albumInfo = $(".similars .album_info");
albumInfo.find("> a").attr("title", composeTitle).attr("href", content.albumUrl);
albumInfo.find("> a img").attr("title", composeTitle).attr("alt", composeTitle).attr("src", content.albumImage);
albumInfo.find("h3 a").attr("title", content.musicTitle).attr("href", content.musicUrl);
albumInfo.find("h3 a").html(content.musicTitle);
albumInfo.find("h4 a").attr("title", content.artistTitle).attr("href", content.artistUrl)
albumInfo.find("h4 a").html(content.artistTitle);
albumInfo.find("h5 a").attr("title", content.genreTitle).attr("href", content.genreUrl)
albumInfo.find("h5 a").html(content.genreTitle);
}
Similar.prototype.fillRelatedItems = function(relatedItems) {
if(relatedItems.ListRelatedItems != null && relatedItems.ListRelatedItems.length > 0) {
relatedItems = relatedItems.ListRelatedItems;
var queue_prototype = "";
var count = 1;
var cssClass = '';
for(var i=0;i<relatedItems.length;i++) {
var likeClass = "btnLike";
var dontLikeClass = "btnDontLike";
cssClass = '';
if(i % 2 == 0)
{
cssClass = 'striped';
}
if(relatedItems[i].Id > 0) {
if(relatedItems[i].Rating == 1) {
likeClass += " selected";
} else if(relatedItems[i].Rating == -1) {
dontLikeClass += " selected";
}
queue_prototype += "<li id='" + relatedItems[i].Id + "' class='" + cssClass + "'>";
queue_prototype += "<input id='" + relatedItems[i].Id + "' name='" + relatedItems[i].Id + "' type=\"checkbox\"/>";
queue_prototype += "<h6><a title=\"Tocar " + relatedItems[i].MainTitle + "\" href=\"#" + sonora.translator.translate("listen") + "/" + sonora.translator.translateRoute("defaultUrlMusic") + "/" + relatedItems[i].Id + "\">" + count + ".</a></h6>";
queue_prototype += "<h3><a class=\"" + relatedItems[i].Id + "\" title=\"" + relatedItems[i].MainTitle + "\" href=\"" + relatedItems[i].MusicUrl + "\">" + relatedItems[i].MainTitle + "</a></h3>";
queue_prototype += "<h4><a class=\"" + relatedItems[i].ArtistName + "\" title=\"" + relatedItems[i].ArtistName + "\" href=\"" + relatedItems[i].ArtistUrl + "\">" + relatedItems[i].ArtistName + "</a></h4>";
queue_prototype += "<ul class=\"share\">";
queue_prototype += "<li><a class=\"" + dontLikeClass + "\" title=\"" + sonora.translator.translate("heartDislikeText") + "\" href=\"" + relatedItems[i].Id + "/-1\">" + sonora.translator.translate("heartDislikeText") + "</a></li>";
queue_prototype += "<li><a class=\"" + likeClass + "\" title=\"" + sonora.translator.translate("heartLikeText") + "\" href=\"" + relatedItems[i].Id + "/1\">" + sonora.translator.translate("heartLikeText") + "</a></li>";
queue_prototype += "</ul>";
queue_prototype += "</li>";
count++;
}
}
$(".similars .scroll ul").html(queue_prototype);
sonora.pages.commons.playerHtml.similar.setMusicListRating();
}
}
Similar.prototype.rateSong = function(musicId, rating) {
var item = $(".similars .scroll ul li").find("input[id=" + musicId + "]").parent();
item.find(".share li .btnLike").parent().removeClass("selected");
item.find(".share li .btnDontLike").parent().removeClass("selected");
if (rating == -1) {
item.find(".share li .btnDontLike").parent().addClass("selected");
} else if (rating == 1) {
item.find(".share li .btnLike").parent().addClass("selected");
}
}
Similar.prototype.show = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).show();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.SimilarButton).parent().addClass("selected");
sonora.pages.commons.playerHtml.similar.cleanSelectedChecks();
}
Similar.prototype.close = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).unbind();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).find("*").unbind();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).hide();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.SimilarButton).parent().removeClass("selected");
var composeTitle = "";
var albumInfo = $(".similars .album_info");
albumInfo.find("> a").attr("title", "").attr("href", "");
albumInfo.find("> a img").attr("title", "").attr("alt", "").attr("src", "/Content/Images/generic_album.jpg");
albumInfo.find("h3 a").attr("title", "").attr("href", "");
albumInfo.find("h3 a").html("");
albumInfo.find("h4 a").attr("title", "").attr("href", "")
albumInfo.find("h4 a").html("");
albumInfo.find("h5 a").attr("title", "").attr("href", "")
albumInfo.find("h5 a").html("");
$(".similars .scroll ul").html("");
}
Similar.prototype.selectAll = function(item) {
if(item.is(':checked')) {
sonora.pages.commons.playerHtml.similar.SelectAllChecks();
} else {
sonora.pages.commons.playerHtml.similar.cleanSelectedChecks();
}
}
Similar.prototype.SelectAllChecks = function() {
$(".similars .scroll ul li input[type=checkbox]").each(function() {
$(this).attr("checked", true);
});
sonora.pages.commons.playerHtml.similar.showMusicCount();
}
Similar.prototype.cleanSelectedChecks = function() {
$(".similars .playlistFilter #allSim").attr("checked", false);
$(".similars .scroll ul li input[type=checkbox]").each(function() {
$(this).attr("checked", false);
});
sonora.pages.commons.playerHtml.similar.showMusicCount();
}
Similar.prototype.showMusicCount = function() {
$('.similars .playlistFilter h3 span').html(this.getCount());
}
Similar.prototype.getCount = function() {
var selectedChecks = 0;
$(".similars .scroll ul li input[type=checkbox]").each(function() {
var item = $(this);
if(item.is(':checked')) {
selectedChecks++;
}
});
return selectedChecks;
}
Similar.prototype.getSelectedIds = function() {
var selectedChecks = new Array();
$(".similars .scroll ul li input[type=checkbox]").each(function() {
var item = $(this);
if(item.is(':checked')) {
selectedChecks.push(item.attr("id"));
}
});
return selectedChecks;
}
Similar.prototype.getIds = function() {
var selectedChecks = new Array();
$(".similars .scroll ul li input[type=checkbox]").each(function() {
var item = $(this);
selectedChecks.push(item.attr("id"));
});
return selectedChecks;
}
Similar.prototype.updateSimilarDiv = function(mediaIsSpot) {
if ($(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).css("display") == "block") {
if (mediaIsSpot) {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.similarDiv).hide();
}
else {
sonora.pages.commons.playerHtml.similar.getSimilars(sonora.pages.commons.playerHtml.currentMedia, sonora.translator.translateRoute("defaultUrlMusic").toLowerCase(), 0, 40, null);
}
}
}
PlayerHtml.prototype.similar = new Similar();
function BoxLogin() { }
BoxLogin.prototype.init = function() {
sonora.pages.commons.makeTextAutoDisappear($('.sonora_header .user_info .user_login #login_email'), sonora.translator.translate("userName"));
}
BoxLogin.prototype.execLogin = function(logindata) {
var loginContainer = $('.sonora_header .user_info .user_login');
var loggedContainer = $('.sonora_header .user_info .user_details');
sonora.pages.commons.overlays.hide();
Logger.log('login submitted');
var loginCont = $('.user_info .user_login_openid');
if (logindata.username != '' && logindata.password != '') {
loginContainer.loading();
sonora.user.processLogin(logindata.username, logindata.password, logindata.savelogin, function(result) {
sonora.pages.commons.boxLogin.setUserProperties(result);
sonora.pages.commons.boxLogin.logIn();
var playerTitle = $('.playerPopup .playerTitle h2');
if (playerTitle.length > 0) {
playerTitle.html('');
playerTitle = null;
if (opener) {
try {
opener.sonora.pages.commons.boxLogin.init();
opener.sonora.pages.commons.boxLogin.isLogged();
} catch (Exception) { }
sonora.pages.commons.playerHtml.updatePlaylistsActions();
}
}
if (!opener) {
sonora.pages.commons.boxLogin.loggedInPopupPlayer();
}
loginContainer.loading({ loaded: true });
sonora.pages.commons.boxLogin.loadWarningCollection(true);
});
}
else {
sonora.pages.commons.boxLogin.loginMessage("#invalidrequest", "#InvalidrequestOverlay");
}
return false;
}
BoxLogin.prototype.bindEvents = function() {
var loginContainer = $('.sonora_header .user_info .user_login');
var loggedContainer = $('.sonora_header .user_info .user_details');
loginContainer.find(".input_data .submit").live('click', function(e) {
e.preventDefault();
Logger.log('login submitted');
var loginCont = $('.user_info .user_login');
var username = loginCont.find("#login_email").val();
var password = loginCont.find("#login_password").val();
var savelogin = loginCont.find("#remember:checked").length == 1;
if (username != "" && password != "") {
loginContainer.loading();
sonora.user.processLogin(username, password, savelogin, function(result) {
sonora.pages.commons.boxLogin.setUserProperties(result);
sonora.pages.commons.boxLogin.logIn();
sonora.pages.commons.boxLogin.loggedInPopupPlayer();
loginContainer.loading({ loaded: true });
sonora.pages.commons.boxLogin.loadWarningCollection(true);
sonora.pages.commons.playerHtml.showPlayerLoginOptions();
});
}
else {
sonora.pages.commons.boxLogin.loginMessage("#invalidrequest", "#InvalidrequestOverlay");
}
return false;
});
loginContainer.find("#userhelp").live('click', function(e) {
e.preventDefault();
sonora.pages.commons.boxLogin.openHelp();
});
loggedContainer.find("#userlogout").live('click', function(e) {
e.preventDefault();
sonora.user.logout(function(result) {
var logoutHolder = $('.user_info .user_login');
logoutHolder.show();
logoutHolder.find('#login_email').val("");
logoutHolder.find('#login_password').val("");
$('.user_info .user_details').hide();
$('.sonora_footer').find('.footer_links_logged').hide();
sonora.pages.commons.boxLogin.setUserProperties(result);
sonora.pages.commons.footerLinks.refreshUserLinks();
if (SWFAddress.getValue() == "/home") {
sonora.pages.commons.refreshPage();
} else {
SWFAddress.setValue("#/home");
}
if (sonora.player.windowHandler) {
try {
sonora.player.windowHandler.sonora.player.clear();
sonora.player.windowHandler.close();
sonora.player.windowHandler = null;
} catch (Exception) {
sonora.player.clear();
}
} else {
sonora.player.clear();
}
sonora.pages.commons.setNavigationUrl("home");
if (sonora.openIdEnable) {
$('#LoginFooterSocial').show();
$('.user_info .user_login_openid').show();
}
sonora.pages.commons.playerHtml.showPlayerLoginOptions();
clearInterval(sonora.sso.ssoTimer);
sonora.sso.ssoTimer = null;
});
return false;
});
loggedContainer.find(".avatar").live('click', function(e) {
e.preventDefault();
if ($('.sonora_header .user_info .user_details .avatar img').attr('src') == '/Content/Images/avatar.gif') {
SWFAddress.setValue('/User/UploadPhoto');
}
else {
SWFAddress.setValue("/" + sonora.translator.translateRoute("defaultUrlMySonora"));
sonora.currentPage = sonora.translator.translateRoute("defaultUrlMySonora");
}
return false;
});
$(".sonora_header .user_info .user_details .dropdown #menu_upgrade_link").unbind('click').click(function(e) {
e.preventDefault();
if (sonora.wmp.isInWMP && sonora.user.current.businessModel.allowDownloadSubscription) {
SWFAddress.setValue(sonora.translator.translateRoute('defaulUrlDownloadManager'));
} else {
var item = $(this).find('>a');
sonora.pages.commons.subscriptionLink(item);
}
return false;
});
loggedContainer.find("#down, #cart, #downFree, #downClub, #manager").live('click', function(e) {
e.preventDefault();
if ($(this).html() != '000') {
SWFAddress.setValue($(this).attr('href'));
}
else {
id = "#" + $(this).attr('id') + "Empty";
sonora.pages.commons.boxLogin.loginMessage(id, id + "Message");
}
});
loggedContainer.find("#mail").live('click', function(e) {
e.preventDefault();
if ($(this).html() != '000') {
sonora.pages.commons.boxLogin.showMessage();
}
else {
id = "#" + $(this).attr('id') + "Empty";
sonora.pages.commons.boxLogin.loginMessage("#msgempty", "#mailEmptyMessage");
}
});
}
BoxLogin.prototype.openHelp = function() {
SWFAddress.setValue('/' + sonora.translator.translateRoute("defaultUrlTerraTemplates") + '/Faq');
return false;
}
BoxLogin.prototype.logIn = function(doNotRefresh) {
if (!doNotRefresh) doNotRefresh = false;
if (sonora.user.loggedIn) {
$('#LoginFooterSocial').hide();
var loginContainer = $('.user_info .user_login');
var loginContainerSocial = $('.user_info .user_login_openid');
var loggedContainer = $('.user_info .user_details');
$(".user_info .user_details .details h3").text(sonora.user.current.name.split(' ')[0]);
if (sonora.user.current.businessModel.allowPurchase) {
if (sonora.user.current.businessModel.allowDownloadSubscription && sonora.wmp.isInWMP) {
$("#cart").hide();
$("#down").hide();
$("#downFree").hide();
$("#downClub").text(sonora.user.current.downloadsCount);
} else {
$("#downFree").hide();
$("#downClub").hide();
$("#manager").hide();
$("#cart").text(sonora.user.current.basketCount);
$("#down").text(sonora.user.current.downloadsCount);
}
}
else {
$("#downClub").hide();
$("#manager").hide();
$("#down").hide();
$("#cart").hide();
$("#cart").parent().parent().addClass('center');
}
if (!sonora.user.current.businessModel.allowPurchase && sonora.user.current.businessModel.allowDownload.isAllowed) {
$("#downFree").text(sonora.user.current.downloadsCount).show();
}
var imgUrl = sonora.user.current.imgurl;
if (imgUrl != null && imgUrl.length > 0) {
var imgTitle = '';
var img = new Image();
$(img).load(function(e) { img = loggedContainer.find(".avatar img").attr("src", imgUrl).attr("title", imgTitle); });
$(img).attr("src", imgUrl);
$(img).attr("title", imgTitle);
if (imgUrl == '/Content/Images/avatar.gif') {
imgTitle = sonora.translator.translate("changePicture");
loggedContainer.find('.avatar').append('<span>&nbsp;</span>');
$(".user_details .avatar").addClass('hover');
$(".user_details .avatar").unbind()
.bind('mouseenter', function() {
if (imgUrl == '/Content/Images/avatar.gif') {
$(this).addClass('hover');
}
})
.bind('mouseleave', function() { $(this).addClass('hover') });
}
else {
imgTitle = sonora.translator.translate("mySonora");
}
}
loginContainer.hide();
loginContainerSocial.hide();
loggedContainer.show();
sonora.pages.commons.footerLinks.refreshUserLinks();
if (!sonora.enableDynamicMessages && sonora.user.messageId.length > 1 && sonora.user.loggedIn) {
sonora.pages.commons.boxLogin.updateMailCount('001');
sonora.pages.commons.boxLogin.showMessage();
}
sonora.pages.commons.boxLogin.addUpgradeLink();
if (sonora.currentPage != sonora.translator.translateRoute('explorerSectionWizard')) {
if (!doNotRefresh) {
sonora.pages.commons.refreshPage();
}
}
$(".userShortNameOverlay").html(sonora.user.current.name.split(' ')[0]);
if (sonora.saveCookiePlaylist) {
sonora.pages.commons.playerHtml.showCookiePlaylistOverlay();
}
}
else {
Logger.log('invalid user name or password');
if (sonora.user.messageId != null && sonora.user.messageId != "") {
sonora.pages.commons.boxLogin.loginMessage('#' + sonora.user.messageId, "#loginErrorOverlay");
$("#login_email").val("");
$("#login_password").val("");
}
}
}
BoxLogin.prototype.showMessage = function() {
sonora.pages.commons.overlays.hide();
sonora.user.getCustomMessages(function(result) {
sonora.pages.commons.boxLogin.loginMessage(sonora.user.messageId, "#overlay_container");
});
}
BoxLogin.prototype.loginMessage = function(messageId, overlay) {
sonora.pages.commons.overlays.init(
$(overlay),
function() {
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.overlaySelector.find("> div").show();
$(messageId).find("h4").hide();
$(messageId).show();
var offset = $(".user_details").offset();
if (offset.top <= 0 && offset.left <= 0) {
if($(".user_login").length > 0) {
offset = $(".user_login").offset();
offset.top += $(".user_login").outerHeight();
} else if($(".user_login_openid").length > 0) {
offset = $(".user_login_openid").offset();
offset.top += $(".user_login_openid").outerHeight();
}
} else {
offset.top += $(".user_details").outerHeight();
}
sonora.pages.commons.overlays.setPosition(offset, true);
},
true);
}
BoxLogin.prototype.isLogged = function(doNotRefresh) {
sonora.user.isLogged(function(result) {
if (!sonora.user.loggedIn) {
sonora.pages.commons.boxLogin.setUserProperties(result);
if (result.loggedIn) {
sonora.pages.commons.boxLogin.logIn(doNotRefresh);
if (sonora.sso.enableSSO) {
if (sonora.sso.ssoTimer == null) {
var parameter = "?_serv=" + result.userData.serv;
sonora.sso.ssoTimer = setInterval(function() { sonora.pages.commons.BuildSSOiFrame(parameter) }, sonora.sso.ssoInterval);
}
}
sonora.pages.commons.boxLogin.loadWarningCollection(false);
}
}
});
}
BoxLogin.prototype.updateUserBasketCount = function(count) {
$("#cart").text(parseInt(count, 10).zeroFormat(3, true));
}
BoxLogin.prototype.updateUserDownloadsCount = function(count) {
$("#down").text(parseInt(count, 10).zeroFormat(3, true));
}
BoxLogin.prototype.updateUserDownloadsFreeCount = function(count) {
$("#downFree").text(parseInt(count, 10).zeroFormat(3, true));
}
BoxLogin.prototype.addUpgradeLink = function() {
var liUpgrade = $('.user_info .user_details .details .dropdown ul li#menu_upgrade_link');
var linkurl = '#';
var linkname = '';
var link = sonora.pages.commons.GetSubscriptionHotsitesUrl("subscriptionCompare", "utmMediumBoxLogin", "utmCampaign");
if (sonora.user.current && sonora.user.current.businessModel) {
if (sonora.user.current.businessModel.allowStreaming.isLimited) {
linkname = sonora.translator.translate("sectionUpgradeNone") + ' / ' + sonora.translator.translate("buttonChange");
}
else if (!sonora.user.current.businessModel.allowStreaming.isLimited && !sonora.user.current.businessModel.allowDownloadSubscription) {
linkname = sonora.translator.translate("sectionUpgradeStreaming") + ' / ' + sonora.translator.translate("buttonChange");
}
else if (sonora.user.current.businessModel.allowDownloadSubscription && !sonora.user.current.businessModel.allowPortableSubscription) {
if (!sonora.wmp.isInWMP) {
linkname = sonora.translator.translate("sectionUpgradeDownload") + ' / ' + sonora.translator.translate("acess");
} else {
linkurl = '/' + sonora.translator.translateRoute("defaulUrlDownloadManager");
linkname = sonora.translator.translate("downloadManager");
}
}
else if (sonora.user.current.businessModel.allowPortableSubscription) {
if (!sonora.isInWMP) {
linkurl = '/' + sonora.translator.translateRoute("defaultUrlClub");
linkname = sonora.translator.translate("sectionUpgradePortatil") + ' / ' + sonora.translator.translate("acess");
} else {
linkurl = '/' + sonora.translator.translateRoute("defaultUrlClub") + '?master=MyAccount&pagina=2';
linkname = '<span class="dropdown_change">' + sonora.translator.translate("downloadManager") + '</span>';
}
}
else {
linkurl = '';
linkname = '';
}
}
else {
linkurl = '';
linkname = '';
}
if (linkurl.length > 0) {
liUpgrade.html('<a ' + link + ' >' + linkname + '</a>');
}
}
BoxLogin.prototype.updateMailCount = function(count) {
$('.user_info .user_details').find('#mail').html(count);
}
BoxLogin.prototype.setUserProperties = function(result) {
sonora.user.loggedIn = result.loggedIn;
sonora.user.current = result.userData;
if (!sonora.enableDynamicMessages) {
sonora.user.messageId = result.messageId;
}
else {
if(result.warning) {
sonora.user.warningCount = result.warning.count;
sonora.user.warningAutomaticClose = result.warning.automaticlose;
sonora.user.warningPosition = result.warning.position;
sonora.pages.commons.boxLogin.updateMailCount(result.warning.messagesCount > 0 ? sonora.pages.commons.fillZeroOnLeft(result.warning.messagesCount) : '000');
}
}
}
BoxLogin.prototype.loadWarningCollection = function(automaticShow) {
if (sonora.enableDynamicMessages && sonora.user.loggedIn) {
sonora.user.getWarningCollection(function(result) {
sonora.user.warningCount = result.warning.count;
sonora.user.warningAutomaticClose = result.warning.automaticlose;
sonora.user.warningPosition = result.warning.position;
sonora.pages.commons.boxLogin.updateMailCount(result.warning.count > 0 ? sonora.pages.commons.fillZeroOnLeft(result.warning.count) : '000');
if (automaticShow && result.warning.count > 0) {
setTimeout(function() {
sonora.pages.commons.boxLogin.warningOverlay(0);
if (result.warning.automaticlose > 0 && result.warning.automaticlose < 3000) {
setTimeout(function() { sonora.pages.commons.overlays.hide(); }, result.warning.automaticlose);
}
}, 3000);
}
});
}
}
BoxLogin.prototype.loggedInPopupPlayer = function() {
try {
if (sonora.player.windowHandler != null && sonora.player.windowHandler.sonora != null) {
sonora.player.windowHandler.sonora.user = sonora.user;
if (sonora.user.loggedIn)
sonora.player.windowHandler.window.$(".playerPopup h2").html("&nbsp;");
}
}
catch (Exception) {
sonora.player.windowHandler = null;
}
sonora.pages.commons.playerHtml.updatePlaylistsActions();
}
BoxLogin.prototype.warningOverlay = function(currentPage) {
sonora.pages.commons.overlays.hide();
sonora.user.getCustomMessagesPaging(function(result) {
sonora.pages.commons.boxLogin.loginMessage(sonora.user.messageId, "#overlay_container");
}, currentPage); }
Commons.prototype.boxLogin = new BoxLogin();
function FooterLinks() { }
FooterLinks.prototype.refreshUserLinks = function() {
var linksNotLogged = $('.container .sonora_footer #footer_links_notlogged');
var linksLogged = $('.container .sonora_footer .footer_links_logged');
if (sonora.user.loggedIn) {
linksNotLogged.hide();
linksLogged.show();
}
else {
linksNotLogged.show();
linksLogged.hide();
}
linksNotLogged = null;
linksLogged = null;
}
Commons.prototype.footerLinks = new FooterLinks();
function Overlays() { }
Overlays.prototype.overlaySelector = null;
Overlays.prototype.isMultipleOverlay = false;
Overlays.prototype.multipleOverlayIds = null;
Overlays.prototype.multipleCurrentOverlay = 0;
Overlays.prototype.multipleOverlay = new Array();
Overlays.prototype.init = function(overlay, callback, initialBinds) {
sonora.pages.commons.overlays.overlaySelector = overlay;
sonora.pages.commons.overlays.overlaySelector.removeClass("warningContainer");
sonora.pages.commons.overlays.overlaySelector.removeClass("doubleSize");
if (initialBinds != null && initialBinds == true) {
sonora.pages.commons.overlays.overlaySelector.find("a").unbind().click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
if ($(this).hasClass('openpopup')) {
window.open($(this).attr('href'));
}
else {
SWFAddress.setValue($(this).attr("href"));
}
});
}
sonora.pages.commons.overlays.bindClose(overlay);
if (callback && typeof (callback) == "function")
callback();
}
Overlays.prototype.show = function(time) {
sonora.pages.commons.overlays.overlaySelector.show();
if (time && !isNaN(time) && parseInt(time) > 0) {
sonora.pages.commons.overlays.timeToHide(time);
}
}
Overlays.prototype.showInCenterPage = function(className) {
$('html,body').stop().animate({ scrollTop: 0 }, 200, function() {
$(className).css({ display: 'block', opacity: 0 }).animate({ top: '11%', opacity: '1' }, 200).stop().animate({ top: '10%' }, 200);
});
}
Overlays.prototype.resetPosition = function() {
var offset = sonora.pages.commons.overlays.overlaySelector.offset();
if($.browser.msie) {
if(sonora.pages.commons.overlays.overlaySelector.find("> div").css("position") == "fixed") {
offset.top += $(window).scrollTop();
}
}
sonora.pages.commons.overlays.setPosition(offset);
}
Overlays.prototype.isClickOnIt = function(event) {
var overlay = null;
if (sonora.pages.commons.overlays.isMultipleOverlay) {
sonora.pages.commons.overlays.isMultipleOverlay = false;
return true;
}
else
sonora.pages.commons.overlays.isMultipleOverlay = false;
if (sonora.pages.commons.overlays.overlaySelector != null) {
if (sonora.pages.commons.overlays.overlaySelector.hasClass("warning") || sonora.pages.commons.overlays.overlaySelector.hasClass("loginBox")) {
overlay = sonora.pages.commons.overlays.overlaySelector;
}
else {
overlay = sonora.pages.commons.overlays.overlaySelector.find("> div.warning");
}
var outerOverlay = sonora.pages.commons.overlays.overlaySelector;
if (overlay.is(":visible")) {
if (sonora.pages.commons.overlays.overlaySelector.hasClass("loginBox"))
return true;
var x1 = outerOverlay.position().left;
var x2 = x1 + overlay.outerWidth();
var y1 = outerOverlay.position().top;
if($.browser.msie) {
if(sonora.pages.commons.overlays.overlaySelector.find("> div").css("position") == "fixed") {
y1 += $(window).scrollTop();
}
}
var y2 = y1 + overlay.outerHeight();
var fullLog = "x1 --> " + x1 + "\n";
fullLog += "x2 --> " + x2 + "\n";
fullLog += "y1 --> " + y1 + "\n";
fullLog += "y2 --> " + y2 + "\n";
fullLog += "event.pageX --> " + event.pageX + "\n";
fullLog += "event.pageY --> " + event.pageY + "\n";
fullLog += "click --> " + (event.pageX > x1 && event.pageX < x2 && event.pageY > y1 && event.pageY < y2) + "\n";
Logger.log(fullLog)
if (event.pageX > x1 && event.pageX < x2 && event.pageY > y1 && event.pageY < y2)
return true;
else
return false;
};
outerOverlay = null;
overlay = null;
}
}
Overlays.prototype.closeObjs = function(event) {
if (!sonora.pages.commons.overlays.isClickOnIt(event)) {
sonora.pages.commons.overlays.hide();
$("html").unbind("click");
event = null;
}
}
Overlays.prototype.hide = function() {
if (sonora.pages.commons.overlays.overlaySelector != null) {
sonora.pages.commons.overlays.overlaySelector.find("*").each(function() {
var el = $(this);
var el2 = this;
if(el && el2) {
el.unbind();
if(el2.dispose) el2.dispose = null;
el = null;
el2 = null;
}
});
sonora.pages.commons.overlays.overlaySelector.hide();
sonora.pages.commons.overlays.overlaySelector = null;
}
}
Overlays.prototype.timeToHide = function(time) {
setTimeout("sonora.pages.commons.overlays.hide()", time);
}
Overlays.prototype.setPosition = function(offset, isDynamic) {
sonora.pages.commons.overlays.overlaySelector.css("z-index", "999999");
var overlay = null;
if (sonora.pages.commons.overlays.overlaySelector.hasClass("warning")) {
overlay = sonora.pages.commons.overlays.overlaySelector;
} else {
overlay = sonora.pages.commons.overlays.overlaySelector.find("div.warning");
}
var realHeight = overlay.outerHeight();
var realWidth = overlay.outerWidth();
var positionTop = 0;
var playerHeight = 0;
if ((!$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).is(":hidden")) && !sonora.pages.commons.playerHtml.playerHtmlConfig.isPopup) {
playerHeight = $(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).outerHeight();
}
if (((offset.top - $(window).scrollTop()) + realHeight + playerHeight) > $(window).height()) {
var overflow = (offset.top - $(window).scrollTop() + realHeight) - $(window).height() + playerHeight;
positionTop = offset.top - overflow - $(window).scrollTop();
} else {
positionTop = offset.top - $(window).scrollTop();
}
var offsetLeft = 0;
if (((offset.left - $(window).scrollLeft()) + realWidth) > $(window).width()) {
var overflow = (offset.left - $(window).scrollLeft() + realWidth) - $(window).width();
offsetLeft = offset.left - overflow;
} else {
offsetLeft = offset.left;
}
if ($.browser.msie) {
sonora.pages.commons.overlays.overlaySelector.css("position", "absolute");
sonora.pages.commons.overlays.overlaySelector.hide().show();
if (sonora.pages.commons.overlays.overlaySelector.hasClass("ieScrollBar"))
positionTop += $(window).scrollTop();
} else {
sonora.pages.commons.overlays.overlaySelector.css("position", "fixed");
}
sonora.pages.commons.overlays.overlaySelector.css("top", positionTop);
sonora.pages.commons.overlays.overlaySelector.css("left", offsetLeft);
}
Overlays.prototype.bindClose = function(overlay) {
$("html").bind("click",{obj: $("div.warning")}, sonora.pages.commons.overlays.closeObjs);
sonora.pages.commons.overlays.overlaySelector.find("a.close").unbind("click").click(function(e) {
e.preventDefault();
$("html").unbind("click");
overlay.hide();
return false;
});
}
Overlays.prototype.bindActionButtonsInfoOverlayMoreActions = function(musics, fromPlayer) {
sonora.pages.commons.overlays.overlaySelector.find("div").hide();
if(musics.length == 0) {
$("#ActionButtonsInfoOverlay #DownInfo").show();
$("#ActionButtonsInfoOverlay #DownInfo h4").show();
}
else if(musics.length > 0)
{
$("#ActionButtonsInfoOverlay #MusicNumber, #ActionButtonsInfoOverlay #MusicNumber *").show();
$("#ActionButtonsInfoOverlay #MusicNumber h4 span").html(musics.length);
$("#ActionButtonsInfoOverlay #MusicNumber h4 span").html(musics.length);
$("#ActionButtonsInfoOverlay #sharedActions, #ActionButtonsInfoOverlay #sharedActions*").show();
$("#ActionButtonsInfoOverlay #fullActions, #ActionButtonsInfoOverlay #fullActions *").show();
$("#ActionButtonsInfoOverlay #fullActions .mail").hide();
if(sonora.user.loggedIn) {
$("#ActionButtonsInfoOverlay #fullActions").show();
} else {
$("#ActionButtonsInfoOverlay #fullActions").hide();
}
if(fromPlayer) {
$("#ActionButtonsInfoOverlay #ExcludeAction").show();
$("#ActionButtonsInfoOverlay #ExcludeAction #exclude").show();
$("#ActionButtonsInfoOverlay #ExcludeAction #to_exclude_itens").val(musics.join(","));
} else {
$("#ActionButtonsInfoOverlay #ExcludeAction").hide();
}
sonora.pages.commons.overlays.overlaySelector.find("#fullActions #like").unbind("click").click(function(e) {
e.preventDefault();
sonora.user.rateMusicGroup(1, musics, function(json) {
if (json != null) {
sonora.pages.commons.rateSongGroup(json);
}
return false;
});
return false;
});
sonora.pages.commons.overlays.overlaySelector.find("#fullActions #dislike").unbind("click").click(function(e) {
e.preventDefault();
sonora.user.rateMusicGroup(-1, musics, function(json) {
if (json != null) {
sonora.pages.commons.rateSongGroup(json);
}
return false;
});
return false;
});
sonora.pages.commons.overlays.overlaySelector.find("#fullActions #blank").unbind("click").click(function(e) {
e.preventDefault();
sonora.user.rateMusicGroup(0, musics, function(json) {
if (json != null) {
sonora.pages.commons.rateSongGroup(json);
}
return false;
});
return false;
});
sonora.pages.commons.overlays.overlaySelector.find("#fullActions .mail").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
sonora.pages.commons.overlays.init($("#share_overlay"), function() {
sonora.pages.commons.overlays.bindActionButtonsShareOverlay(musics, 'music');
sonora.pages.commons.overlays.setPosition(item.offset());
item.parent().parent().parent().hide();
});
return false;
});
sonora.pages.commons.overlays.overlaySelector.find("#ExcludeAction #exclude").unbind("click").click(function(e) {
e.preventDefault();
var musics = $("#ActionButtonsInfoOverlay #ExcludeAction #to_exclude_itens").val().split(",");
if(sonora.pages.commons.playerHtml.queue.CountMusics() <= musics.length) {
sonora.pages.commons.playerHtml.queue.clear(false);
} else {
for(var i=0;i<musics.length;i++) {
var index = sonora.pages.commons.playerHtml.getMusicIndex(musics[i]);
sonora.player.removeItem(index);
sonora.pages.commons.overlays.hide();
}
if(sonora.pages.commons.playerHtml.queue.CountMusics() == 0) {
window.close();
}
}
return false;
});
}
sonora.pages.commons.overlays.show();
}
Overlays.prototype.bindActionButtonsInfoOverlayPlayButton = function(musics, item, isPlayer, isSimilar) {
$("#ActionButtonsInfoOverlay div").hide();
$("#ActionButtonsInfoOverlay div h4").hide();
if (isPlayer && musics.length == 0) {
$("#ActionButtonsInfoOverlay #PlayInfo").show();
$("#ActionButtonsInfoOverlay #PlayInfo #select_musics").show();
$("#ActionButtonsInfoOverlay #PlayInfo #want_listen_more").hide();
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
} else if (musics.length == 0) {
$("#ActionButtonsInfoOverlay #PlayInfo").show();
$("#ActionButtonsInfoOverlay #PlayInfo #select_musics").show();
$("#ActionButtonsInfoOverlay #PlayInfo #want_listen_more").show();
$("#PlayInfoListenAll").unbind("click").click(function(e) {
e.preventDefault();
if (isSimilar) {
item.addClass("load");
var musics = sonora.pages.commons.playerHtml.similar.getIds();
sonora.player.addMusic(musics, function() { item.removeClass("load"); }, true);
}
else if (sonora.currentPage == sonora.translator.translateRoute('explorerFilterArtists') || sonora.currentPage == sonora.translator.translateRoute('explorerSectionWizard')) {
sonora.pages.commons.musicList.SelectAllChecks();
sonora.pages.commons.musicList.play(item);
}
else {
var musicItems = new Array();
var search = sonora.pages.commons.trim($('#sonora_content .mysonora .list_content').find('.filters #searchfield').attr('value'));
switch (sonora.currentPage) {
case sonora.translator.translateRoute('defaultUrlMySonora').toLowerCase():
var data = '?context=0';
if (search != '') {
data += '&query=' + search;
}
if (sonora.pages.user.visitorId != null) {
data += '&visitorId=' + sonora.pages.user.visitorId;
}
sonora.pages.user.postAction('User/GetMusicsIds' + data, '', 'json', function(result) {
sonora.pages.commons.musicList.play(item, result.ids);
});
break;
case sonora.translator.translateRoute('defaultUrlHistory').toLowerCase():
var data = '?context=2';
if (sonora.pages.user.year != null && sonora.pages.user.month != null) {
data += '&month=' + sonora.pages.user.month + '&year=' + sonora.pages.user.year;
}
if (search != '') {
data += '&query=' + search;
}
if (sonora.pages.user.visitorId != null) {
data += '&visitorId=' + sonora.pages.user.visitorId;
}
sonora.pages.user.postAction('User/GetMusicsIds' + data, '', 'json', function(result) {
sonora.pages.commons.musicList.play(item, result.ids);
});
break;
case sonora.translator.translateRoute('defaultUrlMyPlaylists').toLowerCase():
var data = '';
if (sonora.pages.user.playlistId == 0) {
data = '?context=0';
} else {
data = '?context=1&playlistId=' + sonora.pages.user.playlistId;
}
if (search != '') {
data += '&query=' + search;
}
if (sonora.pages.user.visitorId != null) {
data += '&visitorId=' + sonora.pages.user.visitorId;
}
sonora.pages.user.postAction('User/GetMusicsIds' + data, '', 'json', function(result) {
sonora.pages.commons.musicList.play(item, result.ids);
});
break;
default:
sonora.pages.commons.musicList.SelectAllChecks();
sonora.pages.commons.musicList.play(item);
break;
}
}
sonora.pages.commons.overlays.hide();
return false;
});
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
}
else if (musics.length > 0) {
sonora.player.addMusic(musics, function() { sonora.pages.commons.overlays.hide(); }, true);
}
}
Overlays.prototype.bindActionButtonsInfoOverlayDownButton = function(musics, item) {
$("#ActionButtonsInfoOverlay *").hide();
$("#ActionButtonsInfoOverlay .close").show();
$("#ActionButtonsInfoOverlay #DownInfo").show();
$("#ActionButtonsInfoOverlay #DownInfo *").show();
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(item.offset());
}
Overlays.prototype.bindOpenPopupOverlay = function() {
$("#open_popup_overlay .btnCancel").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
});
$("#open_popup_overlay .btnContinue").unbind("click").click(function(e) {
e.preventDefault();
var offset = $(this).offset();
$("#LoginFooterSocial").hide();
sonora.player.popupPlayer.open(sonora.metrics.playlistId, sonora.metrics.playlistType, offset);
});
}
Overlays.prototype.bindActionButtonsShareOverlay = function(id, type) {
var sentThankYouSelector = $("#sent_thank_you");
var noSentSelector = $("#no_sent");
var inValidMailSelector = $("#invalid_mail");
var shareFormSelector = $("#share_form");
var toNameSelector = shareFormSelector.find("#to_name");
var toEmailSelector = shareFormSelector.find("#to_email");
var fromNameSelector = shareFormSelector.find("#from_name");
var fromEmailSelector = shareFormSelector.find("#from_email");
var shareMsgSelector = shareFormSelector.find("#share_message");
sonora.pages.commons.makeTextAutoDisappear(toNameSelector);
sonora.pages.commons.makeTextAutoDisappear(toEmailSelector);
sonora.pages.commons.makeTextAutoDisappear(fromNameSelector);
sonora.pages.commons.makeTextAutoDisappear(fromEmailSelector);
sonora.pages.commons.makeTextAutoDisappear(shareMsgSelector);
sentThankYouSelector.hide();
noSentSelector.hide();
inValidMailSelector.hide();
shareFormSelector.show();
if (sonora.user.loggedIn) {
fromNameSelector.val(sonora.user.current.name.split(' ')[0]);
fromEmailSelector.val(sonora.user.current.email);
}
else {
fromNameSelector.val(sonora.translator.translate("shareOverlayYourName"));
fromEmailSelector.val(sonora.translator.translate("shareOverlayYourEmail"));
}
shareFormSelector.find("fieldset #submit").unbind("click").click(function(e) {
e.preventDefault();
var toName = toNameSelector.val();
var toMail = toEmailSelector.val();
var fromName = fromNameSelector.val();
var fromMail = fromEmailSelector.val();
var shareMessage = shareMsgSelector.val();
if (toMail.toLowerCase() == sonora.translator.translateLower("shareOverlayFriendEmail") || toMail.toLowerCase() == "") {
noSentSelector.show();
}
else if (!sonora.pages.commons.echeck(toMail) || !sonora.pages.commons.echeck(fromMail)) {
inValidMailSelector.show();
}
else {
switch (type.toLowerCase()) {
case "song":
case "music":
case "musica":
case "mais-ouvidos":
case "mais-ouvidas":
case sonora.translator.translateRoute("explorerSectionNow"):
case sonora.translator.translateRoute("explorerSectionPopularAlbuns"):
case sonora.translator.translateRoute("explorerSectionPopularArtists"):
case sonora.translator.translateRoute("explorerSectionPopularSongs"):
case sonora.translator.translateRoute("defaultUrlMusic"):
sonora.pages.commons.messages.ShareMusic(toName, toMail, fromName, fromMail, shareMessage, id);
break;
case "cd":
case "album":
case sonora.translator.translateRoute("defaultUrlCd"):
sonora.pages.commons.messages.ShareCd(toName, toMail, fromName, fromMail, shareMessage, id);
break;
case "artista":
case "artist":
case sonora.translator.translateRoute("defaultUrlArtist"):
sonora.pages.commons.messages.ShareArtist(toName, toMail, fromName, fromMail, shareMessage, id);
break;
case "radio":
case sonora.translator.translateRoute("explorerSectionRadio"):
sonora.pages.commons.messages.ShareRadio(toName, toMail, fromName, fromMail, shareMessage, id);
break;
case "mix":
sonora.pages.commons.messages.ShareMix(toName, toMail, fromName, fromMail, shareMessage, id);
break;
case "playlist":
if (id == "mymusic") {
sonora.pages.commons.messages.ShareMySonoraMyLibrary(toName, toMail, fromName, fromMail, shareMessage);
}
else if (id == "myhistory") {
sonora.pages.commons.messages.ShareUserHistory(toName, toMail, fromName, fromMail, shareMessage);
}
else {
sonora.pages.commons.messages.ShareUserCreatedPlaylist(toName, toMail, fromName, fromMail, shareMessage, id);
}
break;
}
toNameSelector.val(sonora.translator.translate("shareOverlayFriendName"));
toEmailSelector.val(sonora.translator.translate("shareOverlayFriendEmail"));
shareMsgSelector.val(sonora.translator.translate("shareMessageDefault"));
sentThankYouSelector.show();
noSentSelector.hide();
shareFormSelector.hide();
inValidMailSelector.hide();
}
return false;
});
sentThankYouSelector.find("#close_link").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
return false;
});
sentThankYouSelector.find("#send_another_link").unbind("click").click(function(e) {
e.preventDefault();
sentThankYouSelector.hide();
noSentSelector.hide();
shareFormSelector.show();
toNameSelector.focus();
return false;
});
sonora.pages.commons.overlays.show();
}
Overlays.prototype.bindActionButtonAddOverlay = function(musics, isPlayer) {
$("#ActionButtonAddOverlay h4").hide();
$("#ActionButtonAddOverlay .my_playlist_container").hide();
$("#ActionButtonAddOverlay .closeList, #ActionButtonAddOverlay .openList").removeClass("closeList").addClass("openList").hide();
if (musics.length > 0) {
if (!sonora.user.loggedIn) {
$("#ActionButtonAddOverlay #login").show();
}
else {
if (!isPlayer) {
if (sonora.currentPage != sonora.translator.translateRoute('defaultUrlMySonora') ||
sonora.pages.user.visitorId != null) {
$("#ActionButtonAddOverlay h4 #addToMyLibrary").parent().show();
}
$("#ActionButtonAddOverlay h4 #listen").parent().show();
$("#ActionButtonAddOverlay h4 #listen").unbind("click").click(function(e) {
e.preventDefault();
sonora.player.addMusic(musics, function() { sonora.pages.commons.overlays.hide() });
return false;
});
}
else {
$("#ActionButtonAddOverlay h4 #addToMyLibrary").parent().show();
}
$("#ActionButtonAddOverlay h4 #addToMyLibrary").unbind("click").click(function(e) {
e.preventDefault();
var url = '/User/AddMusicListUserLibrary?ids=' + musics.join(",");
mibAjaxManager.GetJson(url, function(data) {
var text = "";
if (data.result) {
text = sonora.translator.translateLower("addedMyMusics");
} else {
text = sonora.translator.translateLower("error");
}
$("#ActionButtonAddOverlay #addToMyLibrary").parent().hide();
$("#ActionButtonAddOverlay #listen").parent().hide();
$("#ActionButtonAddOverlay #add_list_new_playlist").parent().hide();
$("#ActionButtonAddOverlay .closeList, #ActionButtonAddOverlay .openList").hide();
$("#ActionButtonAddOverlay .my_playlist_container").hide();
$("#ActionButtonAddOverlay .add_thank_you").html(text);
$("#ActionButtonAddOverlay .add_thank_you").show();
sonora.pages.commons.overlays.timeToHide(3000);
});
return false;
});
$("#ActionButtonAddOverlay h4 #add_list_new_playlist").parent().show();
$("#ActionButtonAddOverlay h4 #add_list_new_playlist").unbind("click").click(function(e) {
e.preventDefault();
var offset = $(this).offset();
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init($("#new_playlist_overlay"), function() {
sonora.pages.commons.overlays.bindNewPlaylistOverlay(musics, sonora.translator.translate("typePlaylistName"), "", 0, true, function(data) {
if (sonora.currentPage == sonora.translator.translateRoute('defaultUrlMySonora') ||
sonora.currentPage == sonora.translator.translateRoute('defaultUrlMyPlaylists') ||
sonora.currentPage == sonora.translator.translateRoute('defaultUrlHistory')) {
sonora.pages.user.updatePlaylistsMenu(data);
}
});
$("#new_playlist_overlay").show();
sonora.pages.commons.overlays.setPosition(offset);
});
return false;
});
$("#ActionButtonAddOverlay .openList").css("display", "block");
$("#ActionButtonAddOverlay .closeList, #ActionButtonAddOverlay .openList").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (item.hasClass("closeList")) {
$("#ActionButtonAddOverlay .my_playlist_container").hide();
$("#ActionButtonAddOverlay .closeList, #ActionButtonAddOverlay .openList").removeClass("closeList").addClass("openList");
return;
}
mibAjaxManager.GetContent(
'/User/LoadPlaylists', // URL
'#ActionButtonAddOverlay .my_playlist_container ul', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
function() {
$("#ActionButtonAddOverlay .my_playlist_container .add_toplaylist").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
var span = item.parent().find("span");
var data = "?playlistId=" + $(this).attr("id") + "&musics=" + musics.join(",");
$("#ActionButtonAddOverlay .my_playlist_container").loading({ loaded: false });
mibAjaxManager.GetJson('/User/AddMusicsToPlaylist' + data, function(data) {
if (data.result) {
sonora.pages.user.updatePlaylistsMenu(data);
$("#ActionButtonAddOverlay .my_playlist_container").loading({ loaded: true });
span.html(" (" + data.count + ")");
$("#ActionButtonAddOverlay .my_playlist_container").hide();
$("#ActionButtonAddOverlay h4").hide();
$("#ActionButtonAddOverlay .closeList, #ActionButtonAddOverlay .openList").hide();
$("#ActionButtonAddOverlay .add_thank_you").show();
$("#ActionButtonAddOverlay .add_thank_you").html(sonora.translator.translate("musicsAddedSussessfully"));
setTimeout("sonora.pages.commons.overlays.closeActionButtonAddOverlay()", 3000);
}
});
return false;
});
$("#ActionButtonAddOverlay .my_playlist_container").show();
$("#ActionButtonAddOverlay .closeList, #ActionButtonAddOverlay .openList").removeClass("openList").addClass("closeList");
sonora.pages.commons.overlays.resetPosition();
});
});
}
} else {
$("#ActionButtonAddOverlay #msg").show();
}
sonora.pages.commons.overlays.show();
}
Overlays.prototype.closeActionButtonAddOverlay = function() {
if((!$("#ActionButtonAddOverlay").is(":hidden")) && (!$("#ActionButtonAddOverlay .add_thank_you").is(":hidden"))) {
sonora.pages.commons.overlays.hide();
}
if ((!$("#AddOverlayUserHasAddedToPlayer").is(":hidden")) && (!$("#AddOverlayUserHasAddedToPlayer .add_thank_you").is(":hidden"))) {
sonora.pages.commons.overlays.hide();
}
}
Overlays.prototype.bindNewPlaylistOverlay = function(musics, msg, playlistname, playlistid, create, callback) {
var default_value = sonora.translator.translate('yourPlaylistName');
var newplaylistHolder = $('#new_playlist_overlay');
newplaylistHolder.find(".success").hide();
newplaylistHolder.find("#create_playlist_form").show();
newplaylistHolder.find(".share_header").html(msg);
newplaylistHolder.find("#playlist_name").val(playlistname);
newplaylistHolder.find("#playlisid").val(playlistid);
if (playlistname == "") {
newplaylistHolder.find("#playlist_name").val(default_value)
}
newplaylistHolder.find("#playlist_name").unbind("focus")
.focus(function() {
if ($(this).attr("value") == default_value)
$(this).attr("value", "");
});
newplaylistHolder.find("#playlist_name").unbind("keydown")
.keydown(function(e) {
if (e.keyCode == 13) {
e.preventDefault();
sonora.pages.commons.overlays.createOrUpdatePlaylist(playlistid, create, musics, callback);
}
});
newplaylistHolder.find("#playlist_submit").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.createOrUpdatePlaylist(playlistid, create, musics, callback);
});
}
Overlays.prototype.createOrUpdatePlaylist = function(playlistid, create, musics, callback) {
var newplaylistHolder = $('#new_playlist_overlay');
var playlist_name = $("#new_playlist_overlay #create_playlist_form #playlist_name").val();
if (playlist_name == "" || playlist_name == sonora.translator.translate("yourPlaylistName")) {
alert(sonora.translator.translate("requestPlaylistName"));
return false;
}
var data = "?playlistName=" + playlist_name;
var url = '';
var msg = '';
if (create) {
url = '/User/CreatePlaylist';
data += "&musics=" + musics.join(",");
msg = sonora.translator.translate("playlistCreatedSuccessfully");
}
else {
url = '/User/UpdatePlaylist';
data += '&playlistId=' + playlistid;
msg = sonora.translator.translate("playlistChangedSucessfully");
}
mibAjaxManager.GetJson(url + data, function(data) {
if (data.result.action == 'created' || data.result.action == 'updated') {
newplaylistHolder.find("#create_playlist_form").hide();
newplaylistHolder.find(".success").show();
newplaylistHolder.find(".success").html(msg);
sonora.pages.commons.overlays.timeToHide(3000);
if (callback != null && typeof (callback) == "function") {
callback(data);
}
}
});
return false;
}
Overlays.prototype.initMultipleOverlays = function() {
sonora.pages.commons.overlays.overlaySelector.addClass("warningContainer");
sonora.pages.commons.overlays.multipleCurrentOverlay = 0;
sonora.pages.commons.overlays.multipleOverlay = new Array();
arViews = sonora.pages.commons.overlays.multipleOverlayIds.split(",");
for (i = 0; i < arViews.length - 1; i++) {
sonora.pages.commons.overlays.multipleOverlay.push(arViews[i]);
}
$("#next").unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.showNextMultipleOverlay();
});
$("#previous").hide().unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.showPreviousMultipleOverlay();
});
$("#overlay_container .pag_buttons").show();
$("#" + sonora.pages.commons.overlays.multipleOverlay[0]).show();
for (i = 1; i < sonora.pages.commons.overlays.multipleOverlay.length; i++) {
$("#" + sonora.pages.commons.overlays.multipleOverlay[i]).hide();
}
}
Overlays.prototype.showPreviousMultipleOverlay = function() {
sonora.pages.commons.overlays.isMultipleOverlay = true;
if (sonora.pages.commons.overlays.multipleCurrentOverlay > 0) {
$("#" + sonora.pages.commons.overlays.multipleOverlay[sonora.pages.commons.overlays.multipleCurrentOverlay]).hide();
sonora.pages.commons.overlays.multipleCurrentOverlay -= 1;
if ("#" + $(sonora.pages.commons.overlays.multipleOverlay[sonora.pages.commons.overlays.multipleCurrentOverlay]).hasClass("musicLimit")) {
sonora.pages.commons.overlays.overlaySelector.addClass("doubleSize");
}
else {
sonora.pages.commons.overlays.overlaySelector.removeClass("doubleSize");
}
$("#" + sonora.pages.commons.overlays.multipleOverlay[sonora.pages.commons.overlays.multipleCurrentOverlay]).show("fast");
}
if (sonora.pages.commons.overlays.multipleCurrentOverlay == 0) {
$("#previous").hide();
}
$("#next").show();
}
Overlays.prototype.showNextMultipleOverlay = function() {
sonora.pages.commons.overlays.isMultipleOverlay = true;
if (sonora.pages.commons.overlays.multipleCurrentOverlay < (sonora.pages.commons.overlays.multipleOverlay.length - 1)) {
$("#" + sonora.pages.commons.overlays.multipleOverlay[sonora.pages.commons.overlays.multipleCurrentOverlay]).hide();
sonora.pages.commons.overlays.multipleCurrentOverlay += 1;
if ($("#" + sonora.pages.commons.overlays.multipleOverlay[sonora.pages.commons.overlays.multipleCurrentOverlay]).hasClass("musicLimit")) {
sonora.pages.commons.overlays.overlaySelector.addClass("doubleSize");
}
else {
sonora.pages.commons.overlays.overlaySelector.removeClass("doubleSize");
}
$("#" + sonora.pages.commons.overlays.multipleOverlay[sonora.pages.commons.overlays.multipleCurrentOverlay]).show("fast");
}
if (sonora.pages.commons.overlays.multipleCurrentOverlay >= (sonora.pages.commons.overlays.multipleOverlay.length - 1)) {
$("#next").hide();
}
$("#previous").show();
}
Overlays.prototype.genericMessage = function(msg, offset, timeOut) {
$('#generic_message_overlay h3').text(msg);
sonora.pages.commons.overlays.init($("#generic_message_overlay"), null, true);
sonora.pages.commons.overlays.setPosition(offset, true);
sonora.pages.commons.overlays.show();
if (timeOut && !isNaN(timeOut)) {
$("#generic_message_overlay").delay(timeOut).fadeOut('slow');
}
}
Commons.prototype.overlays = new Overlays();
function OverlayCallback(){ }
OverlayCallback.prototype.NotLoggedOverlay = function(params) {
params = params.split("|");
var mediaId = params[0];
var mediaType = params[1];
$('#notlogged_submit').unbind("click").click(function(e) {
e.preventDefault();
var username = $('#notlogged_login_email_field').val();
var password = $('#notlogged_password_field').val();
if (username != "" && password != "") {
sonora.user.processLogin(username, password, false, function(result) {
sonora.pages.commons.overlays.hide();
sonora.user.loggedIn = result.loggedIn;
sonora.user.current = result.userData;
sonora.user.messageId = result.messageId;
sonora.pages.commons.boxLogin.logIn();
var playerTitle = $('.playerPopup .playerTitle h2');
if (playerTitle.length > 0) {
playerTitle.html('');
playerTitle = null;
if (opener) {
try {
opener.sonora.pages.commons.boxLogin.init();
opener.sonora.pages.commons.boxLogin.isLogged();
} catch (Exception) { }
sonora.pages.commons.playerHtml.updatePlaylistsActions();
}
}
if (!opener)
sonora.pages.commons.boxLogin.loggedInPopupPlayer();
playerTitle = null;
});
}
else {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.boxLogin.loginMessage("#invalidrequest", "#InvalidrequestOverlay");
}
return false;
});
}
OverlayCallback.prototype.NotLoggedMyAccountSonoraSocialOverlay = function() {
var form = $('#MyAccountSonoraNotLoggedSocialOverlay .content fieldset');
form.find('#login_email_field').val('');
form.find('#password_field').val('');
form.find('#password_field').unbind("keydown").keydown(function(e) {
if (e.keyCode == 13) {
e.preventDefault();
sonora.pages.commons.overlays.setup.SetLoginDataValuesMyAccount(form);
}
});
form.find('.btnSend').unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.setup.SetLoginDataValuesMyAccount(form);
});
return false;
}
OverlayCallback.prototype.SetLoginDataValuesMyAccount = function(form) {
var logindata = { username: form.find('#login_email_field').val(),
password: form.find('#password_field').val()
};
if (logindata.username != '' && logindata.password != '') {
sonora.user.checkSonoraUser(logindata, function(result) {
if (result.synchronized) {
$('#MyAccountSonoraNotLoggedSocialOverlay').hide();
$('.sonora_header .user_info #mail').html('000');
sonora.pages.myAccount.renderOpenIdInfo();
}
else {
$('#MyAccountSonoraNotLoggedSocialOverlay .content h3').css({ color: '#FF0F19' }).html('&nbsp;&nbsp;&nbsp;' + result.text);
}
});
}
else {
sonora.pages.commons.boxLogin.loginMessage("#invalidrequest", "#InvalidrequestOverlay");
}
return false;
}
OverlayCallback.prototype.NotLoggedSocialOverlay = function() {
var form = $('.loginBox .content fieldset');
form.find('#login_email_field').val('');
form.find('#password_field').val('');
form.find('#savePass').attr('checked', false);
form.find('#password_field').unbind("keydown").keydown(function(e) {
if (e.keyCode == 13) {
e.preventDefault();
sonora.pages.commons.overlays.setup.SetLoginDataValues(form);
}
});
form.find('.data .btnSend').unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.setup.SetLoginDataValues(form);
});
}
OverlayCallback.prototype.SetLoginDataValues = function(form) {
var logindata = { username: form.find('#login_email_field').val(),
password: form.find('#password_field').val(),
savelogin: form.find("#savePass:checked").length == 1
};
sonora.pages.commons.boxLogin.execLogin(logindata);
return false;
}
OverlayCallback.prototype.NotLoggedSmallOverlay = function(params) {
params = params.split("|");
var mediaId = params[0];
var mediaType = params[1];
$("#link_large_overlay").unbind("click").click(function() {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.notLoggedSocial(false);
return false;
});
}
OverlayCallback.prototype.AddOverlayUserHasAddedToPlayer = function(params) {
params = params.split("|");
var mediaId = params[0];
var mediaType = params[1];
var fromPlayer = params[2];
$("#AddOverlayUserHasAddedToPlayer h4").hide();
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").hide();
$("#AddOverlayUserHasAddedToPlayer .closeList, #AddOverlayUserHasAddedToPlayer .openList").removeClass("closeList").addClass("openList").hide();
var musics = new Array();
switch (mediaType) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
case 'musics':
musics.push(mediaId);
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
mibAjaxManager.GetJson("/Artist/AlbumIndex?cdId=" + mediaId, function(data) {
for (var i = 0; i < data.length; i++) {
musics.push(data[i]);
}
});
break;
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
sonora.artist.GetMusics(mediaId, 0, 20, "json", function(data, textStatus) {
for (var i = 0; i < data.length; i++) {
musics.push(data[i]);
}
});
break;
}
if (mediaType == sonora.translator.translateRoute("defaultUrlArtist").toLowerCase()) {
$("#AddOverlayUserHasAddedToPlayer .artistTop20Header").show();
}
else {
$("#AddOverlayUserHasAddedToPlayer .artistTop20Header").hide();
}
if (sonora.user.loggedIn) {
if (fromPlayer == "true") {
$("#AddOverlayUserHasAddedToPlayer h4 #add_to_library").parent().show();
} else {
if (sonora.currentPage != sonora.translator.translateRoute('defaultUrlMySonora') ||
sonora.pages.user.visitorId != null) {
$("#AddOverlayUserHasAddedToPlayer h4 #add_to_library").parent().show();
}
$("#AddOverlayUserHasAddedToPlayer h4 #add_to_upcoming").parent().show();
$("#AddOverlayUserHasAddedToPlayer h4 #add_to_upcoming").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.setup.playerCallback(mediaId, mediaType, function() {
sonora.pages.commons.overlays.hide();
}, false);
sonora.metrics.playlistId = 0
sonora.metrics.playlistType = "";
return false;
});
}
$("#AddOverlayUserHasAddedToPlayer h4 #add_to_library").unbind("click").click(function(e) {
e.preventDefault();
var url = "";
switch (mediaType) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
case 'musics':
url = '/User/AddMusicListUserLibrary?ids=' + mediaId;
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
url = '/User/AddCdUserLibrary?id=' + mediaId;
break;
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
url = '/User/AddArtistUserLibrary?id=' + mediaId;
break;
}
mibAjaxManager.GetJson(url, function(data) {
var text = "";
if (data.result) {
text = sonora.translator.translateLower("addedMyMusics");
} else {
text = sonora.translator.translateLower("error");
}
$("#AddOverlayUserHasAddedToPlayer #add_to_upcoming").parent().hide();
$("#AddOverlayUserHasAddedToPlayer #add_to_library").parent().hide();
$("#AddOverlayUserHasAddedToPlayer #add_create_playlist").parent().hide();
$("#AddOverlayUserHasAddedToPlayer .artistTop20Header").hide();
$("#AddOverlayUserHasAddedToPlayer .closeList, #AddOverlayUserHasAddedToPlayer .openList").hide();
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").hide();
$("#AddOverlayUserHasAddedToPlayer .add_thank_you").text(text);
$("#AddOverlayUserHasAddedToPlayer .add_thank_you").show();
sonora.pages.commons.overlays.timeToHide(3000);
});
});
$("#AddOverlayUserHasAddedToPlayer h4 #add_create_playlist").parent().show();
$("#AddOverlayUserHasAddedToPlayer h4 #add_create_playlist").unbind("click").click(function(e) {
e.preventDefault();
var offset = $(this).offset();
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init($("#new_playlist_overlay"), function() {
sonora.pages.commons.overlays.bindNewPlaylistOverlay(musics, sonora.translator.translate("typePlaylistName"), "", 0, true, function(data) {
if (sonora.currentPage == sonora.translator.translateRoute('defaultUrlMySonora') ||
sonora.currentPage == sonora.translator.translateRoute('defaultUrlMyPlaylists') ||
sonora.currentPage == sonora.translator.translateRoute('defaultUrlHistory')) {
sonora.pages.user.updatePlaylistsMenu(data);
}
});
$("#new_playlist_overlay").show();
sonora.pages.commons.overlays.setPosition(offset);
});
return false;
});
$("#AddOverlayUserHasAddedToPlayer .openList").css("display", "block");
$("#AddOverlayUserHasAddedToPlayer .closeList, #AddOverlayUserHasAddedToPlayer .openList").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
if (item.hasClass("closeList")) {
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").hide();
$("#AddOverlayUserHasAddedToPlayer .closeList, #AddOverlayUserHasAddedToPlayer .openList").removeClass("closeList").addClass("openList");
return;
}
mibAjaxManager.GetContent(
'/User/LoadPlaylists', // URL
'#AddOverlayUserHasAddedToPlayer .my_playlist_container ul', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
function() {
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container .add_toplaylist").unbind("click").click(function(e) {
e.preventDefault();
var item = $(this);
var span = item.parent().find("span");
var data = "?playlistId=" + $(this).attr("id") + "&musics=" + musics.join(",");
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").loading({ loaded: false });
mibAjaxManager.GetJson('/User/AddMusicsToPlaylist' + data, function(data) {
if (data.result) {
sonora.pages.user.updatePlaylistsMenu(data);
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").loading({ loaded: true });
span.html(" (" + data.count + ")");
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").hide();
$("#AddOverlayUserHasAddedToPlayer h4").hide();
$("#AddOverlayUserHasAddedToPlayer .artistTop20Header").hide();
$("#AddOverlayUserHasAddedToPlayer .closeList, #AddOverlayUserHasAddedToPlayer .openList").hide();
$("#AddOverlayUserHasAddedToPlayer .add_thank_you").show();
$("#AddOverlayUserHasAddedToPlayer .add_thank_you").html(sonora.translator.translate("musicsAddedSussessfully"));
setTimeout("sonora.pages.commons.overlays.closeActionButtonAddOverlay()", 3000);
}
});
return false;
});
$("#AddOverlayUserHasAddedToPlayer .my_playlist_container").show();
$("#AddOverlayUserHasAddedToPlayer .closeList, #AddOverlayUserHasAddedToPlayer .openList").removeClass("openList").addClass("closeList");
sonora.pages.commons.overlays.resetPosition();
});
return false;
});
}
}
OverlayCallback.prototype.AddOverlayArtist = function(params) {
params = params.split("|");
var mediaId = params[0];
var mediaType = params[1];
var fromPlayer = params[2];
if(fromPlayer == "true") {
$("#AddOverlayArtist #add_to_upcoming").parent().hide();
} else {
$("#AddOverlayArtist #add_to_upcoming").parent().show();
$("#AddOverlayArtist #add_to_upcoming").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.setup.playerCallback(mediaId, mediaType, function() {
sonora.pages.commons.overlays.hide();
}, false);
return false;
});
}
if(sonora.user.loggedIn) {
$("#AddOverlayArtist #add_to_library").parent().show();
$("#AddOverlayArtist #add_to_library").unbind("click").click(function(e) {
e.preventDefault();
var url = "";
switch(mediaType) {
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
url = '/User/AddArtistUserLibrary?id=' + mediaId;
break;
}
mibAjaxManager.GetJson(url, function(data) {
var text = "";
if(data.result) {
text = sonora.translator.translateLower("addedMyMusics");
} else {
text = sonora.translator.translateLower("error");
}
$("#AddOverlayArtist .artistTop20Header").hide();
$("#AddOverlayArtist #add_to_upcoming").parent().hide();
$("#AddOverlayArtist #add_to_library").parent().hide();
$("#AddOverlayArtist #thank_you").show();
$("#AddOverlayArtist #thank_you").text(text);
sonora.pages.commons.overlays.timeToHide(3000);
});
return false;
});
} else {
$("#AddOverlayArtist #add_to_library").parent().hide();
}
if(sonora.user.loggedIn || fromPlayer == "true") {
$("#AddOverlayArtist #make_login").hide();
} else {
$("#AddOverlayArtist #make_login").parent().show();
}
}
OverlayCallback.prototype.playerCallback = function(mediaId, mediaType, callback, insertInFront) {
if(insertInFront == null) insertInFront = false;
switch(mediaType) {
case sonora.translator.translateRoute("defaultUrlMusic").toLowerCase():
case 'musics':
var array = new Array();
if(mediaId.indexOf(",") > 0)
array = mediaId.split(",")
else
array.push(mediaId);
sonora.player.addMusic(array, callback, insertInFront);
if(callback != null && typeof(callback) == "function") callback();
break;
case sonora.translator.translateRoute("defaultUrlCd").toLowerCase():
sonora.player.addCd(mediaId);
if(callback != null && typeof(callback) == "function") callback();
break;
case sonora.translator.translateRoute("defaultUrlArtist").toLowerCase():
sonora.artist.GetMusics(mediaId, 0, 20, "json", function(data, textStatus) {
var musics = [];
for (var i = 0; i < data.length; i++) {
musics.push(data[i]);
}
sonora.player.addMusic(musics);
if(callback != null && typeof(callback) == "function") callback();
});
break;
}
}
OverlayCallback.prototype.highlightUserBox = function(number) {
if (number % 2 != 0)
$('.sonora_header .user_info .user_login').css({ 'border-width': '2px', 'border-style': 'solid', 'border-color': '#FF9900' });
else
$('.sonora_header .user_info .user_login').css({ 'border-width': '2px', 'border-style': 'solid', 'border-color': '#FFFFFF' });
if (number >= 10) {
$('.sonora_header .user_info .user_login').css({ 'border': 'none' });
return true;
}
return false;
}
OverlayCallback.prototype.DownloadOverlayAllowed = function(params) {
params = params.split("|");
var mediaId = params[0];
var mediaType = params[1];
$("#download_link").unbind("click").click(function(e) {
e.preventDefault();
var download = new DownloadHelper();
download.Add(mediaId, mediaType);
});
$("#show_my_free_downloads").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
SWFAddress.setValue($(this).attr('href'));
});
}
OverlayCallback.prototype.commonsBuyOverlay = function(params, isListDownload) {
if(!sonora.pages.commons.isMultipleOverlay)
$(".music_list .cant_sell_individually").each(function() {
$(this).removeClass("red");
});
params = params.split("|");
var mediaId = params[0];
var mediaType = params[1];
var isList = (isListDownload != null && isListDownload == true);
$("#buy_link").unbind("click").click(function(e) {
e.preventDefault();
if (isList) {
$(sonora.pages.commons.overlays.overlaySelector).removeClass("doubleSize");
$(sonora.pages.commons.overlays.overlaySelector).find(" > ul.pagination").hide();
}
if (opener) {
opener.sonora.pages.shoppingCart.add(mediaId, mediaType, isList);
} else {
sonora.pages.shoppingCart.add(mediaId, mediaType, isList);
}
});
$("#show_shopping_cart, #show_cart").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
if (opener) {
opener.SWFAddress.setValue($(this).attr('href'));
} else {
SWFAddress.setValue($(this).attr('href'));
}
});
$("#buy_thankyou").hide();
if (isList)
$("#items_already_added").hide();
}
OverlayCallback.prototype.BuyOverlayGoToWmp = function(params) {
sonora.pages.commons.overlays.setup.commonsBuyOverlay(params);
$("#sonora_club_link").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
if(opener) {
opener.SWFAddress.setValue($(this).attr('href'));
} else {
SWFAddress.setValue($(this).attr('href'));
}
});
}
OverlayCallback.prototype.BuyOverlayUpgrade = function(params) {
sonora.pages.commons.overlays.setup.commonsBuyOverlay(params);
$("#upgrade_link_tiny, #upgrade_link").unbind("click").click(function(e) {
sonora.pages.commons.overlays.hide();
if (opener) {
opener.window.open($(this).attr('href'));
} else {
window.open($(this).attr('href'));
}
});
}
OverlayCallback.prototype.BuyLargeOverlayGoToWmp = function(params) {
sonora.pages.commons.overlays.setup.commonsBuyOverlay(params, true);
$("#sonora_club_link").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
if(opener) {
opener.window.open($(this).attr('href'));
} else {
window.open($(this).attr('href'));
}
});
}
OverlayCallback.prototype.BuyLargeOverlayUpgrade = function(params) {
sonora.pages.commons.overlays.setup.commonsBuyOverlay(params, true);
$("#upgrade_link, #upgrade_link_tiny").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
window.open($(this).attr('href'));
});
}
OverlayCallback.prototype.albumInfoOverlay = function(params) {
$(".rights .scroll a").unbind("click").click(function(e) {
e.preventDefault();
var helper = new ActionHelper($(this).attr("href"));
sonora.pages.commons.showMusicInfo(helper.mediaId, $(this).offset());
});
}
OverlayCallback.prototype.BuyLargeOverlayCannotSellMusicsIndividually = function(params) {
$("#upgrade_link").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
SWFAddress.setValue($(this).attr('href'));
});
$(".music_list .cant_sell_individually").each(function() {
$(this).addClass("red");
});
}
OverlayCallback.prototype.albumInfoOverlay = function(params) {
$(".rights .scroll a").unbind("click").click(function(e) {
e.preventDefault();
var helper = new ActionHelper($(this).attr("href"));
sonora.pages.commons.showMusicInfo(helper.mediaId, $(this).offset());
});
}
OverlayCallback.prototype.DownloadOverlayNotAllowed = function() {
$("#DownloadOverlayNotAllowed h4 a").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.subscriptionLink($(this));
return false;
});
}
Overlays.prototype.setup = new OverlayCallback();
function HomePage() {
}
HomePage.prototype.bindEvents = function() {
if (!$(".ad_right").length > 0) {
if (document.body.clientWidth > 1300) {
$(".sonora_footer").after("<div class='ad_right'></div>");
}
}
$(".examples .btnBack").addClass("disabled");
sonora.currentPage = sonora.translator.translateRoute('explorerSectionPiks');
searchHolder = $('.sonora_header .search_field');
var mosaicList = $('#mosaicContainer .generic_list li img')
mosaicList.mosaic();
mosaicList = null;
$('#mosaicContainer div.infoBox div.info a').live('click', function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
var searchField = $(".sonora_header .search_field input[type=text]");
searchField.unbind().filterWithList({
serviceUrl: sonora.autoCompleteUrl + '/Search/AutoComplete',
minChars: 3,
maxHeight: 400,
deferRequestBy: 50,
form: "#search_form",
onChangeSearchBox: function(text, data, currentThis) {
$(currentThis.el).val(data);
$(currentThis.el).focus();
currentThis.currentValue = $(currentThis.el).val();
},
onSelect: function(text, data, currentThis) {
$(currentThis.el).val(data);
$(currentThis.el).focus();
currentThis.currentValue = $(currentThis.el).val();
}
});
sonora.pages.commons.makeTextAutoDisappear(searchField, sonora.translator.translate("mainSearchField"));
sonora.pages.commons.makeTextAutoDisappear($('.sonora_header .user_info .user_login #login_email'), sonora.translator.translate("userName"));
$(".examples .btnRanking a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
searchHolder.find('#search_form ul li a').unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
searchHolder.find('#search_form h4 a').unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
searchHolder.find('.search_btn').unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.search.searchHit(searchField.val());
return false;
});
searchHolder.find('#search_form').unbind().submit(function(e) {
e.preventDefault();
sonora.pages.search.searchHit(searchField.val());
return;
});
$(".container .sonora_header h1").find("a").unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
$(".container .main_nav .btnFastPlaylist").unbind('click').click(function(e) {
e.preventDefault();
if (sonora.currentPage == sonora.translator.translateRoute('explorerSectionWizard')) {
doAjax(SWFAddress.getValue());
} else {
SWFAddress.setValue($(this).attr("href"));
}
});
$(".container .main_nav .btnTour").unbind('click').click(function(e) {
e.preventDefault();
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.Tour, 'tour');
SWFAddress.setValue($(this).attr("href"));
});
$(".sonora_footer a").unbind('click').click(function(e) {
e.preventDefault();
var helper = $(this).attr("href").split('/');
var section = '';
if (helper.length > 2)
section = helper[2].toLowerCase();
if (section == sonora.translator.translateRoute('defaultUrlFaq')) {
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.Help, 'help');
}
else if (section == sonora.translator.translateRoute('defaulUrlGeneralConditions')) {
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.LegalTerm, 'legalTerm');
}
if ($(this).attr("href").indexOf('http://') > -1 || $(this).attr("href").indexOf('https://vendasonline.terra.com.br/') > -1) {
window.open($(this).attr("href"), "Terra");
}
else {
SWFAddress.setValue($(this).attr("href"));
}
});
$("#footer_advertisement a").unbind();
$("#footer_advertisement #help").unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
$("#footer_upgrade_link").unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.commons.subscriptionLink($(this));
return false;
});
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .rail_banner');
var section = sonora.translator.translateBanners("bannerHome");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyHomeContext);
rpxfail = SWFAddress.getParameter('rpxfail');
if (rpxfail != undefined && rpxfail == 'true' && !sonora.user.loggedIn) {
setTimeout(function() {sonora.pages.commons.notLoggedSocial(true)}, 2000);
}
}
HomePage.prototype.unbindEvents = function() {
bannerTag = null;
bannerHolder = null;
section = null;
bannerTag1280 = null;
bannerHolder1280 = null;
section1280 = null;
searchField = null;
searchHolder = null;
}
Pages.prototype.home = new HomePage();
function PluginsPage() { }
PluginsPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlBrowserRequirements');
sonora.plugins.init();
}
PluginsPage.prototype.unbindEvents = function() {
}
Pages.prototype.plugins = new PluginsPage();
function Artist() {}
Artist.prototype.GetMusics = function(artistId, offset, limit, datatype, callback) {
var url = '/Artist/GetMusicsIds';
var data = 'artistId=' + artistId + '&offset=' + offset + '&limit=' + limit;
sonora.artist.postAction(url, data, datatype, callback);
}
Artist.prototype.GetAlbums = function(datatype, callback) {
var url = '/Artist/GetAlbums';
var data = 'id=5';
sonora.artist.postAction(url, data, datatype, callback);
}
Artist.prototype.postAction = function(url, data, datatype, callback) {
$.ajax({
type: "POST",
url: url,
data: data,
dataType: datatype,
success: function(result) {
if (callback && typeof (callback) == 'function') callback(result);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
callback(false, (textStatus != null ? textStatus : errorThrown));
}
});
}
Sonora.prototype.artist = new Artist();
function ArtistPage() { }
ArtistPage.prototype.init = function() {
ArtistPage.prototype.bindEvents();
}
ArtistPage.prototype.bindEvents = function() {
var url = document.location + '';
url = url.substring(url.indexOf("#"), url.length)
if ($(".sonora_content .artist .artist_nav h3 .musics").length > 0) {
var artistId = sonora.pages.commons.fixIEUrl($(".sonora_content .artist .artist_nav h3 .musics").attr("href")).split('/');
if (artistId[0] != '') {
artistId = artistId[1];
} else {
artistId = artistId[2];
}
if (sonora.facebookLike.enableFacebookLike) {
$('.artist .artist_header .data h5 .facebookLike').addClass('facebookArtist');
}
sonora.currentPage = sonora.translator.translateRoute('explorerFilterArtists');
if (!$("#sonora_content .artist .artist_header #artist_image").length > 0) {
$("#sonora_content .artist .artist_header .data").css({ "margin-left": "20px" });
}
var index_url = sonora.pages.artist.urlHelper(window.location + '');
switch (index_url[1]) {
case sonora.translator.translateRoute('defaultUrlArtist'):
$(".sonora_content .artist .artist_nav h3 .musics").addClass("selected");
sonora.pages.artist.getRelateds('Related/GetRelatedArtist?artistid=' + artistId);
break;
case sonora.translator.translateRoute('defaulUrlAllCds'):
$(".sonora_content .artist .artist_nav h3 .albums").addClass("selected");
sonora.pages.artist.getRelateds('Related/GetRelatedArtist?artistid=' + artistId);
break;
case sonora.translator.translateRoute('defaultUrlCd'):
var scroll_first_child = $(".sonora_content .artist .artist_nav .scroll ul li").get(0);
if (url.split('/')[2] > 0)
sonora.pages.artist.getRelateds('Related/GetRelatedCd?cdid=' + url.split('/')[2]);
$(scroll_first_child).find("a").addClass("selected");
break;
}
if (artistId > 0)
mibAjaxManager.GetContent("/Artist/GetTopFans/?artistId=" + artistId, '.artist div.top_fans');
}
$('.artist div.top_fans a').live("click", function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
var links = $(".artist_nav h3");
var scroll = $(".artist_nav .scroll ul li a");
var typeAlbumList = $(".artist_content .filter");
if ($(".artist_nav h3 .musics").length > 0) {
var url_artist = $(".artist_nav h3 .musics").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
}
this.bindRelatedsPaging();
this.bindMusicsPaging();
this.bindRelatedMusics();
this.bindAlbumInfo();
sonora.pages.artist.bindAlbumAllCds();
links.find(".musics").unbind('click').click(function(e) {
e.preventDefault();
$(".sonora_content .artist .artist_content").loading({ loaded: false });
var url = sonora.pages.artist.urlHelper($(this).attr("href"));
var artistId = 0;
if (url[0] != '') {
artistId = url[1];
} else {
artistId = url[2];
}
if (url.length > 0) {
sonora.pages.commons.setNavigationUrl(url.join("/"));
$(".selected").removeClass("selected");
$(this).addClass("selected");
sonora.pages.artist.getAllMusics(artistId, 'GetMusics');
}
});
links.find(".albums").unbind('click').click(function(e) {
e.preventDefault();
$(".sonora_content .artist .artist_content").loading({ loaded: false });
var url = sonora.pages.artist.urlHelper($(this).attr("href"));
var artistId = 0;
if (url[0] != '') {
artistId = url[2];
} else {
artistId = url[3];
}
if (url.length > 0) {
sonora.pages.commons.setNavigationUrl(url.join("/"));
$(".selected").removeClass("selected");
$(this).addClass("selected");
sonora.pages.artist.getAllAlbuns(artistId);
}
});
scroll.unbind('click').click(function(e) {
e.preventDefault();
$(".sonora_content .artist .artist_content").loading({ loaded: false });
$(".selected").removeClass("selected");
$(this).addClass("selected");
cd_url = $(this).attr("href").replace(/\ /g, "%20");
var url = sonora.pages.artist.urlHelper($(this).attr("href"));
var artistId = 0;
if (url[0] != '') {
artistId = url[1];
} else {
artistId = url[2];
}
if (url.length > 0) {
sonora.pages.artist.getAllMusics(artistId, 'AlbumIndex');
sonora.pages.commons.setNavigationUrl(url.join("/"));
}
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.Artist);
});
typeAlbumList.find(".new").live('click', function(e) {
e.preventDefault();
$(".sonora_content .artist .artist_content").loading({ loaded: false });
var url = sonora.pages.artist.urlHelper($(this).attr("href"));
var artistId = 0;
artistId = url[2];
if (url.length > 0) {
sonora.pages.artist.getAllAlbuns(artistId, "CdDateDesc");
sonora.pages.commons.setNavigationUrl(url.join("/"));
}
});
typeAlbumList.find(".top").live('click', function(e) {
e.preventDefault();
$(".sonora_content .artist .artist_content").loading({ loaded: false });
var url = sonora.pages.artist.urlHelper($(this).attr("href"));
var artistId = 0;
artistId = url[2];
if (url.length > 0) {
sonora.pages.artist.getAllAlbuns(artistId, "CdAudienceDesc");
sonora.pages.commons.setNavigationUrl(url.join("/"));
}
});
$(".artist .generic_list li")
.bind('mouseenter', function() { $(this).addClass('hover') })
.bind('mouseleave', function() { $(this).removeClass('hover') });
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .rail_banner');
var section = sonora.translator.translateBanners("bannerContent");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", artistId, null, sonora.instanceTgmKey + sonora.tgmKeyArtistContext);
if (sonora.user.loggedIn)
setTimeout(function() { sonora.pages.commons.musicList.setMusicListRating(); }, 1500);
links = null;
scroll = null;
typeAlbumList = null;
bannerTag = null;
bannerHolder = null;
section = null;
}
ArtistPage.prototype.unbindEvents = function() {
bannerTag = null;
bannerHolder = null;
section = null;
links = null;
scroll = null;
typeAlbumList = null;
music_id = null;
musicList = null;
album_info =null;
url = null;
artistId = null;
}
ArtistPage.prototype.getAllMusics = function(id, action) {
sonora.pages.artist.getMusics(null, null, id, action, 'text/html', function() {
switch (action) {
case 'GetMusics':
sonora.pages.artist.getRelateds('Related/GetRelatedArtist?artistid=' + id);
break;
case 'AlbumIndex':
sonora.pages.artist.getRelateds('Related/GetRelatedCd?cdid=' + id);
if (sonora.facebookLike.enableFacebookLike) {
$('.artist .artist_content .album_header h3 .facebookLike').addClass('facebookAlbum');
}
break;
}
sonora.pages.artist.bindMusicsPaging();
sonora.pages.artist.bindRelatedMusics();
sonora.pages.commons.musicList.setMusicListRating();
sonora.pages.artist.bindAlbumInfo();
$(".sonora_content .artist .artist_content").loading({ loaded: true });
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .rail_banner');
var section = sonora.translator.translateBanners("bannerArtist");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyArtistContext);
});
}
ArtistPage.prototype.getAllAlbuns = function(artistId, order) {
sonora.pages.artist.getAlbuns(artistId, order, function() {
sonora.pages.artist.getRelateds('Related/GetRelatedArtist?artistid=' + artistId);
sonora.pages.commons.musicList.setMusicListRating();
$(".sonora_content .artist .artist_content").loading({ loaded: true });
$(".artist .artist_content .generic_list li").unbind()
.bind('mouseenter', function() { $(this).addClass('hover') })
.bind('mouseleave', function() { $(this).removeClass('hover') });
sonora.pages.artist.bindAlbumAllCds();
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .rail_banner');
var section = sonora.translator.translateBanners("bannerArtist");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyArtistContext);
bannerTag = null;
bannerHolder = null;
section = null;
});
}
ArtistPage.prototype.getMusics = function(offset, limit, id, action, typeData, callback) {
var data = '';
var url = '';
switch (action.toLowerCase()) {
case 'getmusics':
data = 'artistid=' + id + '&offset=' + offset + '&limit=' + limit;
url = '/Artist/GetMusics?' + data;
break;
case 'albumindex':
data = "?cdId=" + id + '&offset=' + offset + '&limit=' + limit;
url = 'Artist/AlbumIndex' + data;
break;
}
if (typeData && typeData == 'json') {
mibAjaxManager.GetJson(url, callback);
}
else {
mibAjaxManager.GetContent(
url, // URL
'.artist .artist_content', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
callback // END REQUEST
);
}
}
ArtistPage.prototype.getAlbuns = function(artistId, order, callback) {
var data = 'artistId=' + artistId + '&order=' + order;
var url = '/Artist/AllCDS?' + data;
mibAjaxManager.GetContent(
url, // URL
'.artist .artist_content', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
callback // END REQUEST
);
}
ArtistPage.prototype.getRelateds = function(url) {
mibAjaxManager.GetContent(
url, // URL
'.artist .related_list', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
this.bindRelatedsPaging);
}
ArtistPage.prototype.bindRelatedsPaging = function() {
$(".sonora_content .artist .related_list .pagination").find("a").unbind('click').click(function(e) {
e.preventDefault();
var url = $(this).attr("href");
sonora.pages.artist.getRelateds(url);
});
$(".sonora_content .artist .related_list .generic_list").find("a").unbind("click").click(function(e) {
e.preventDefault();
if (!($(this).hasClass('share') || $(this).hasClass('buy') || $(this).hasClass('play') || $(this).hasClass('add'))) {
SWFAddress.setValue($(this).attr('href'));
}
});
$(".artist .related_list .generic_list li")
.bind('mouseenter', function() { $(this).addClass('hover') })
.bind('mouseleave', function() { $(this).removeClass('hover') });
}
ArtistPage.prototype.bindMusicsPaging = function() {
$(".sonora_content .artist .artist_content .pagination").find("a").unbind('click').click(function(e) {
e.preventDefault();
var url = $(this).attr("href");
var parameter = new sonora.pages.artist.urlParameters(url);
var isAlbum = $('.artist_content div:first-child').hasClass('album_header');
sonora.pages.artist.getMusics(parameter.offset, parameter.limit, parameter.artistid, isAlbum == true ? 'albumindex' : 'getmusics', 'html', function() {
sonora.pages.commons.musicList.setMusicListRating();
sonora.pages.artist.bindMusicsPaging();
sonora.pages.artist.bindRelatedMusics();
});
});
}
ArtistPage.prototype.bindAlbumAllCds = function() {
$(".artist .artist_content .generic_list li .image, .artist .artist_content .generic_list li .info h3 a, .artist .artist_content .generic_list li .info h5 a")
.unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
sonora.pages.artist.bindAlbumAllCds();
});
}
ArtistPage.prototype.bindRelatedMusics = function() {
var music_id = 0;
var musicList = $(".sonora_content .artist .artist_content .music_list tbody tr");
musicList.find(".musicInfo").unbind('click').click(function(e) {
e.preventDefault();
if (music_id == 0) {
music_id = $(this).parent().parent().find('td input').attr('id');
Logger.info(music_id)
sonora.pages.artist.getRelateds('Related/GetRelatedMusic?musicid=' + music_id);
}
else if (music_id != $(this).parent().parent().find('td input').attr('id')) {
Logger.info(music_id)
sonora.pages.artist.getRelateds('Related/GetRelatedMusic?musicid=' + $(this).parent().parent().find('td input').attr('id'));
music_id = $(this).parent().parent().find('td input').attr('id');
}
});
musicList = null;
}
ArtistPage.prototype.bindAlbumInfo = function() {
var album_info = $(".sonora_content .artist .artist_content .workInfoBox a");
$("#workInfoBox").unbind('click').click(function(e) {
e.preventDefault();
var helper = new ActionHelper($(this).attr("href"));
sonora.pages.commons.showcdinfo(helper.mediaId, $(this).offset());
});
album_info = null;
}
ArtistPage.prototype.urlHelper = function(url) {
url = sonora.pages.commons.fixIEUrl(url);
if (url.length > 0) {
return url.split("/");
}
}
ArtistPage.prototype.urlParameters = function(url) {
url = url.replace(/\ /g, "%20");
if (url.indexOf("http://") == 0) {
url = url.substr(url.indexOf("/", 10));
url = url.substring(1);
}
if (url.length > 0) {
this.url = url.toLowerCase();
this.params = url.split("&");
var temp = this.params[0].split('?');
this.action = temp[0].split('/')[1];
this.artistid = this.params[0].split('=')[1];
this.offset = this.params[1].split('=')[1];
this.limit = this.params[2].split('=')[1];
}
}
Pages.prototype.artist = new ArtistPage();
function SearchPage() { }
SearchPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlSearch');
$('#q').val(sonora.translator.translate("mainSearchField"));
$("#q").get(0).blur();
$(".search .byGenre a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
sonora.pages.commons.musicList.setMusicListRating();
sonora.pages.search.bindArtistEvents();
sonora.pages.search.bindCdEvents();
sonora.pages.search.bindMusicEvents();
sonora.pages.search.bindSimilarResultEvents();
sonora.pages.search.bindNoResultEvents();
}
SearchPage.prototype.searchHit = function(valor) {
if((valor != "" && valor != sonora.translator.translate("mainSearchField")) || (valor == "" || valor == sonora.translator.translate("mainSearchField"))) {
if(valor == sonora.translator.translate("mainSearchField")){
alert(sonora.translator.translate("searchRequired"));
} else if(valor.length < 2) {
alert(sonora.translator.translate("searchRequired"));
} else {
SWFAddress.setValue("/Search?q=" + sonora.pages.commons.removeInvalidString(valor));
}
}
}
SearchPage.prototype.bindArtistEvents = function() {
$(".search .search_artist").loading({ loaded: true });
$(".search .search_artist").find(".search_artist_list li a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
$(".search .search_artist").find(".pagination li a").unbind("click").click(function(e) {
e.preventDefault();
$(".search .search_artist").loading({ loaded: false });
mibAjaxManager.GetContent(
$(this).attr("href"),
$(".search .search_artist"),
false,
null,
sonora.pages.search.bindArtistEvents
);
return false;
});
}
SearchPage.prototype.bindCdEvents = function() {
$(".search .search_album").loading({ loaded: true });
$(".search .search_album").find(".album_list li > a, .album_list li > .info a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
var searchCdActions = $(".search .search_album").find(".album_list li .actions li");
searchCdActions.find("a.play").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.binds.actions.play($(this));
return false;
});
searchCdActions.find("a.add").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.binds.actions.add($(this));
return false;
});
searchCdActions.find("a.share").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.binds.actions.share($(this));
return false;
});
searchCdActions.find("a.buy").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.binds.actions.download($(this));
return false;
});
$(".search .search_album").find(".pagination li a").unbind("click").click(function(e) {
e.preventDefault();
$(".search .search_album").loading({ loaded: false });
mibAjaxManager.GetContent(
$(this).attr("href"),
$(".search .search_album"),
false,
null,
sonora.pages.search.bindCdEvents
);
return false;
});
}
SearchPage.prototype.bindMusicEvents = function() {
$(".search .search_music").loading({ loaded: true });
sonora.pages.commons.musicList.setMusicListRating();
$(".search .search_music .pagination li a").unbind("click").click(function(e) {
e.preventDefault();
$(".search .search_music").loading({ loaded: false });
mibAjaxManager.GetContent(
$(this).attr("href"),
$(".search .search_music"),
false,
null,
sonora.pages.search.bindMusicEvents
);
return false;
});
$(".search .search_music").find(".music_list .itemUrl").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
}
SearchPage.prototype.bindSimilarResultEvents = function() {
$(".search .similars_result a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
}
SearchPage.prototype.bindNoResultEvents = function() {
$(".search .noresult a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
}
SearchPage.prototype.unbindEvents = function() {
searchArtist = null;
searchAlbum = null;
searchCdActions = null;
searchMusic = null;
}
Pages.prototype.search = new SearchPage();
function RadioPage() {
}
RadioPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('explorerSectionRadio');
var radioSearchField = sonora.translator.translate('radioSearchField');
var menuHolder = $('.sonora_content .radio .radio_nav');
var typeList = $('.sonora_content .radio .radio_content .filter');
var radioList = $('.sonora_content .radio .generic_list');
var musicRow = $('.sonora_content .radio .radio_content .music_list tbody');
var pagination = $('.sonora_content .radio .radio_content .pagination li');
var publishedBanner = $('.sonora_content .radio .ad_explorer');
var relatedsPaging = $('.sonora_content .radio .related_list .pagination li');
var formsearch = $('.sonora_content .radio .radio_header .search input[type=text]');
var sugestions = $('.sonora_content .radio .radio_content .sugestions');
formsearch.val(radioSearchField);
formsearch.unbind().filterWithList({
serviceUrl: sonora.autoCompleteUrl + '/Radio/AutoComplete',
minChars: 3,
maxHeight: 400,
deferRequestBy: 50,
form: "#searchRadioForm",
onChangeSearchBox: function(text, data, currentThis) {
$(currentThis.el).val(data);
$(currentThis.el).focus();
},
onSelect: function(text, data, currentThis) {
$(currentThis.el).val(data);
$(currentThis.el).focus();
$('.FilterWithList-w2').hide();
}
});
sonora.pages.commons.makeTextAutoDisappear(formsearch, radioSearchField);
sugestions.find('.sugestions_list li a').unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
$('.sonora_content .radio .radio_header .search #searchRadioForm .btnSend').unbind().click(function(e) {
e.preventDefault();
sonora.pages.radio.searchRadio(formsearch.val());
return false;
});
$('#searchRadioForm').unbind().submit(function(e) {
e.preventDefault();
sonora.pages.radio.searchRadio(formsearch.val());
return false;
});
formsearch.keypress(function(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
sonora.pages.radio.searchRadio(formsearch.val());
return false;
} else {
return true;
}
});
menuHolder.find('dt a').unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
pagination.find('a').unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
relatedsPaging.find('a').unbind('click').click(function(e) {
e.preventDefault();
var param = $(this).attr('href').split('?')[1];
sonora.pages.radio.GetRelateds(param);
return false;
});
menuHolder.find('dd a').unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
typeList.find('dd a').unbind('click').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
radioList.find('#radioMusicsUrl').unbind('click').click(function(e) {
e.preventDefault();
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.Radio, $(this).attr('href').split('?')[1]);
SWFAddress.setValue($(this).attr("href"));
return false;
});
musicRow.find(".musicInfo").unbind('click').click(function(e) {
e.preventDefault();
var musicId = $(this).attr('href').split('/')[1];
sonora.pages.radio.GetRelateds('musicid=' + musicId);
return false;
});
this.bindRelatedsPaging();
if (sonora.facebookLike.enableFacebookLike) {
if (SWFAddress.getParameter('sponsored') == 'true' || SWFAddress.getParameter('sponsored') == 'false') {
var selector = $('div.radio');
$('.facebookLike').addClass('facebookRadio');
}
}
if (SWFAddress.getParameter('sponsored') == "true") {
var radioId = SWFAddress.getParameter('radioId');
var sponsored = SWFAddress.getParameter('sponsored');
sonora.pages.radio.initializeHeader(radioId, sponsored);
}
else {
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .radio .rail_banner');
var section = sonora.translator.translateBanners("bannerRadios");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyRadioContext);
}
if (sonora.user.loggedIn)
setTimeout(function() { sonora.pages.commons.musicList.setMusicListRating(); }, 1500);
}
RadioPage.prototype.GetRelateds = function(data) {
sonora.pages.radio.postAction('Related/GetRelatedMusic', data, 'text/html', function(result) {
var holder = $('.sonora_content .radio');
holder.find('.related_list').empty();
holder.find('.related_list').append(result);
sonora.pages.radio.bindRelatedsPaging();
sonora.pages.radio.bindEvents();
holder = null;
});
}
RadioPage.prototype.initializeHeader = function(radioId, sponsored) {
target = $('.sonora_content .radio .radio_header');
if (radioId != null && sponsored == "true") {
sonora.pages.radio.postAction('/Radio/Header/', 'radioId=' + radioId, 'json', function(result) {
if (result.BannerPageType != "default" && result.BannerPagePath != "") {
sonora.advertisement.RenderRadioHeaderBanner(target, result.BannerWideType, result.BannerWidePath, result.RadioTitle, result.BannerWideWidth, result.BannerWideHeigth);
var bannerHolder = $('.sonora_content .radio .rail_banner');
if (result.BannerMiddlePath != '') {
html = "<iframe id=\"advertisementIframe\" name=\"advertisementIframe\" width=\"300\" height=\"600\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + result.BannerMiddlePath + "\"></iframe>";
}
else {
html = "<iframe id=\"advertisementIframe\" name=\"advertisementIframe\" width=\"300\" height=\"250\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + result.BannerPagePath + "\"></iframe>";
}
bannerHolder.empty();
bannerHolder.html(html);
}
});
}
else {
var headerHtml = "<img src=\"content/images/sonora_mix.jpg\" alt=\"Radio\" /><h2>" + " Rádios & Sonora Mix" + "</h2>";
headerHtml += '<div class=\"search">';
headerHtml += '<h4>' + sonora.translator.translate('findRadioArtists') + ':</h4>';
headerHtml += '<form id=\"searchRadioForm\" name=\"searchRadioForm\" action=\"#\">';
headerHtml += '<fieldset>';
headerHtml += '<input type=\"text\" id=\"#searchfield\" name=\"#searchfield\" value=\"\" class=\"searchField\" />';
headerHtml += '<input type=\"button\" onclick=\"javascript:sonora.pages.radio.searchRadio(searchRadioForm);void(0);\" class=\"btnSend\" />';
headerHtml += '</fieldset>';
headerHtml += '</form>'
headerHtml += '</div>';
target.empty();
target.append(headerHtml);
}
}
RadioPage.prototype.getMenuContent = function(typelist) {
sonora.pages.radio.postAction('/Radio/ReorderRadioList', 'menutype=' + typelist, 'text/html', function(result) {
contentHolder = $('.radio .radio_content');
contentHolder.empty();
contentHolder.append(result);
sonora.pages.radio.bindEvents();
sonora.pages.radio.initializeHeader();
contentHolder = null;
});
}
RadioPage.prototype.postAction = function(url, data, datatype, callback) {
$.ajax({
type: "POST",
url: url,
data: data,
dataType: datatype,
success: function(result) {
if (callback && typeof (callback) == 'function') callback(result);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
callback(false, (textStatus != null ? textStatus : errorThrown));
}
});
}
RadioPage.prototype.bindRelatedsPaging = function() {
$(".sonora_content .ad_explorer .pagination").find("a").unbind('click').click(function(e) {
e.preventDefault();
var url = $(this).attr("href");
sonora.pages.radio.GetRelateds(url.split('?')[1]);
});
}
RadioPage.prototype.searchRadio = function(val) {
var radioSearchField = sonora.translator.translate('radioSearchField');
if ((val != "" && val != radioSearchField) || (val == "" || val == radioSearchField)) {
if (val == radioSearchField) {
alert(sonora.translator.translate('searchRequired'));
} else if (val.length < 2) {
alert(sonora.translator.translate('searchRequired'));
} else {
SWFAddress.setValue("/Radio/Search?q=" + sonora.pages.commons.removeInvalidString(val));
}
}
}
RadioPage.prototype.unbindEvents = function() {
bannerTag = null;
bannerHolder = null;
section = null;
radioId = null;
radioSearchField = null;
menuHolder = null;
typeList = null;
radioList = null;
musicRow = null;
pagination = null;
publishedBanner = null;
relatedsPaging = null;
formsearch = null;
sugestions = null;
bannerTag = null;
bannerHolder = null;
section = null;
}
Pages.prototype.radio = new RadioPage();
function NowPage() {
}
var timer = 0;
var clock = null;
NowPage.prototype.bindEvents = function() {
timer = 300;
clock = setInterval("sonora.pages.now.tick()", 1000);
sonora.currentPage = sonora.translator.translateRoute('explorerSectionNow');
sonora.pages.now.setStartTime();
$(".now .generic_list a.image, .now .generic_list .info a, .now .notFound a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$(".now .pagination a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$("#refresh_now").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.now.refreshPage();
});
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .rail_banner');
var section = sonora.translator.translateBanners("bannerNow");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyNowContext);
bannerTag = null;
bannerHolder = null;
section = null;
}
NowPage.prototype.tick = function() {
timer -= 1;
var minutos = parseInt(timer / 60);
var segundos = timer - minutos * 60;
if (minutos == 0 && segundos == 0) {
this.refreshPage();
} else {
if (segundos < 10)
segundos = ":0" + segundos;
else
segundos = ":" + segundos;
$("#warning_time").html("0" + minutos + segundos);
}
}
NowPage.prototype.refreshPage = function() {
clearInterval(clock);
doAjax(SWFAddress.getValue());
}
NowPage.prototype.unbindEvents = function() {
bannerTag = null;
bannerHolder = null;
section = null;
timer = null;
clearInterval(clock);
clock = null;
}
NowPage.prototype.setStartTime = function() {
var data = new Date();
var minutes = ':';
var currentTime = '';
if (parseInt(data.getMinutes()) < 10) {
minutes += '0';
}
minutes += data.getMinutes();
currentTime = data.getHours() + minutes;
$('.sonora_content .now .title .refresh h3 strong').html(currentTime);
}
Pages.prototype.now = new NowPage();
function LibraryPage() { }
LibraryPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('explorerSectionLibrary');
var currentUrl = (window.location + '').split('/');
var librarySession = currentUrl[currentUrl.length - 2];
if (librarySession == sonora.translator.translate('musics_3')) {
sonora.pages.commons.musicList.setMusicListRating();
}
var $libraryNav = $('.library dl.library_nav');
var $libraryMusics = $('.library .library_content .music_list');
$libraryNav.find('dd>a').unbind("click").click(function() {
$('.library dl.library_nav dd>a').removeClass('opened').parent().parent().find('ul').slideUp();
if ($(this).parent().find('ul').is(':hidden')) {
$(this).addClass('opened').parent().find('ul').slideDown();
}
return false;
});
$libraryNav.find('dd ul li a, dd:not(:has(ul)) > a').unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
var $libraryContentListColumn = $('.library_content .list_column');
$('.library_content .tabs li a, .library_content .filters dl dd a').unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$libraryContentListColumn.find('.artist_list li a, .alpha_list li a, .album_list li a.image, .album_list li div.info a').unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$('.pagination li a').unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$libraryMusics.find(".itemUrl").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
var bannerTag = sonora.translator.translateBanners("bannerSkyChannel");
var bannerHolder = $('.sonora_content .library .library_content .ad_library');
var section = sonora.translator.translateBanners("bannerLibrary");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "/Templates/AdIframes/AdIframeLibrary.htm", 0, null, sonora.instanceTgmKey + sonora.tgmKeyLibraryContext);
$libraryNav = null;
$libraryMusics = null;
$libraryContentListColumn = null;
bannerTag = null;
bannerHolder = null;
section = null;
}
LibraryPage.prototype.unbindEvents = function() {
bannerTag = null;
bannerHolder = null;
section = null;
$libraryMusics = null;
$libraryNav = null;
$libraryContentListColumn = null;
}
Pages.prototype.library = new LibraryPage();
function RankingPage() {
}
RankingPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('explorerSectionPopularArtists');
$(".ranking .generic_list .info a, .ranking .generic_list a.image").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$(".ranking .rankingFilter a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$(".ranking .pagination a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .rail_banner');
var section = sonora.translator.translateBanners("bannerRanking");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyRankingContext);
bannerTag = null;
bannerHolder = null;
section = null;
}
RankingPage.prototype.unbindEvents = function() {
var bannerTag = null;
var bannerHolder = null;
var section = null;
}
Pages.prototype.ranking = new RankingPage();
function QuickplaylistPage() { }
QuickplaylistPage.prototype.init = function() {
QuickplaylistPage.prototype.bindEvents();
}
QuickplaylistPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('explorerSectionWizard');
$(".fast_playlist .genreBlock ul li").find(".del").hide();
var artistTagCloud = $(".fast_playlist .tagcloud div a");
var deleteButton = $(".fast_playlist .genreBlock .artistsTagCloudInput li").find(".del");
var deleteGenreButton = $(".fast_playlist .genreBlock .genresListDropDown li").find(".del");
var dropDown = $(".fast_playlist .genreBlock ul li .dropdown");
var createList = $("#createListBtn");
createList.css({ cursor: "pointer" });
$(".genreBlock input[id^='artistField']").unbind()
.keydown(function(e) {
$(this).val().toLowerCase();
if (e.keyCode != 9) {
sonora.pages.quickPlaylist.configItemFromTagCloud($(this).val(), false);
$(".FilterWithList-w1").css("z-index", "999").css("top", "4px");
}
})
.keyup(function() {
$(this).val().toLowerCase();
sonora.pages.quickPlaylist.configItemFromTagCloud($(this).val().toLowerCase(), true);
$(".FilterWithList-w1").css("z-index", "999").css("top", "4px");
if ($(this).val().length == 0) {
$(this).nextAll("a").hide();
}
else {
$(this).nextAll("a").show();
}
})
.filterWithList({
serviceUrl: sonora.autoCompleteUrl + '/QuickPlaylist/ArtistSuggestion',
minChars: 2,
maxHeight: 400,
deferRequestBy: 50,
onSelect: function(text, data, currentThis) {
$(currentThis.el).val(text);
$(currentThis.el).parent().next().children(":input").focus();
sonora.pages.quickPlaylist.configItemFromTagCloud(text.toLowerCase(), true);
}
})
.blur(function() {
var actual = $(this);
if (actual.val() == "") {
$(".FilterWithList-w1").hide();
return;
}
$(".fast_playlist .genreBlock ul li :input:text").each(function() {
if ($(this).val() != "" && $(this).attr("id") != actual.attr("id")) {
if ($(this).val().toLowerCase() == actual.val().toLowerCase()) {
alert(sonora.translator.translate('artistSelected'));
actual.val("");
actual.nextAll("a").hide();
$(".FilterWithList-w1").hide();
return false;
}
}
});
$(".FilterWithList-w1").css("z-index", "999").css("top", "14px");
$(this).val().toLowerCase();
$(this).val($(this).val().toLowerCase());
actual = null;
});
artistTagCloud.unbind('click').click(function(e) {
e.preventDefault();
var artista = $(this).attr("title", $(this).attr("title").replace("'", ""));
var nome_artista = $(artista).attr("title");
var textbox = $(".fast_playlist .genreBlock ul li").find("input");
if ($(".fast_playlist .genreBlock ul li :input:text:[value='" + $(this).attr("title").toLowerCase() + "']").length > 0) {
alert(sonora.translator.translate('artistSelected'));
}
else if ($(".fast_playlist .genreBlock ul li :input:text:not([value])").length == 0) {
alert(sonora.translator.translate('fullArtistSelection'));
}
else {
var el = $(":input:text:not([value]):first");
$(el).val($(this).attr("title").toLowerCase());
$(el).nextAll("a").show();
$(this).css({ background: "#ff9900", color: "#fff" });
el = null;
}
artista = null;
textbox = null;
});
deleteButton.unbind('click').click(function(e) {
e.preventDefault();
var artista = $(this).prevAll(":input").val().toLowerCase();
$(".fast_playlist .tagcloud div a:[title='" + artista + "']").css({ background: "#EEEEEE", color: "#47423A" });
$(this).prevAll(":input").val('');
$(this).hide();
artista = null;
});
deleteGenreButton.unbind('click').click(function(e) {
e.preventDefault();
if ($(this).parent().find(".dropdown span").html() != sonora.translator.translate('comboTitle')) {
$(this).parent().find(".dropdown span").html(sonora.translator.translate('comboTitle'));
$(this).parent().find(".dropdown input").removeAttr('value');
$(this).hide();
}
});
$(dropDown).unbind().dropdown({ oneLine: false }, function(result) {
var valor = $(result.find('input')).val();
result.nextAll('a').show();
if ($("input:hidden:[value='" + valor + "']").length > 1) {
$(result.find('input')).removeAttr('value');
$(result.nextAll('a')).hide();
$(result.find('span')).text(sonora.translator.translate('comboTitle'));
}
});
createList.unbind('click').click(function(e) {
e.preventDefault();
var artistNameGroup = "";
var genres = "";
var getSelected = "";
for (i = 0; i <= 2; i++) {
getSelected = $("#artistField_" + i + "").val();
if (getSelected != "" && getSelected != "nome do artista") {
artistNameGroup += getSelected.replace(" & ", " e ") + "_";
}
}
getSelected = "";
for (i = 0; i < 3; i++) {
getSelected = $("#genreHiddenId_" + i + "").val();
if (getSelected != "") {
genres += getSelected + "_";
}
}
if (artistNameGroup != "" || genres != "") {
$(".sonora_content #quick_playlist_container .fast_playlist").loading({ loaded: false });
$(".sonora_content .warning.fastPlaylist").show("fast");
sonora.pages.quickPlaylist.loadListGenerated(artistNameGroup, genres, function() {
$(".FilterWithList-w1").hide();
$(".sonora_content #quick_playlist_container .fast_playlist").loading({ loaded: true });
$(".sonora_content .warning.fastPlaylist").hide("fast");
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .fast_playlist .rail_banner');
var section = sonora.translator.translateBanners("bannerHighlights");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyQuickPlaylistContext);
$(".fast_playlist_list .actionsMusic dd:last").addClass("right");
sonora.pages.quickPlaylist.bindNewPlaylist();
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.QuickPlaylist, '/results');
Logger.log("List loaded!");
if (sonora.user.loggedIn)
setTimeout(function() { sonora.pages.commons.musicList.setMusicListRating(); }, 1500);
});
}
else {
alert(sonora.translator.translate('selectArtistOrMusic')); return false;
}
}, 'html');
}
QuickplaylistPage.prototype.unbindEvents = function() {
artistTagCloud = null;
deleteButton = null;
dropDown = null;
createList = null;
}
QuickplaylistPage.prototype.generateNewPlayList = function() {
sonora.pages.quickPlaylist.loadQuickplaylistIndex(function() {
sonora.pages.quickPlaylist.bindEvents();
sonora.metrics.setMetricByAjax(sonora.metrics.controllerNames.QuickPlaylist, '/selection');
$("#sonora_content").loading({ loaded: true });
});
}
QuickplaylistPage.prototype.bindNewPlaylist = function() {
var generateNewPlaylist = $(".fast_playlist_list .actionsMusic .newPlaylist");
generateNewPlaylist.unbind('click').click(function(e) {
e.preventDefault();
$("#sonora_content").loading({ loaded: false });
sonora.pages.quickPlaylist.generateNewPlayList();
});
generateNewPlaylist = null;
}
QuickplaylistPage.prototype.loadQuickplaylistIndex = function(callback) {
var url = '/QuickPlaylist/Index?master=Blank';
mibAjaxManager.GetContent(
url, // URL
'#sonora_content', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
callback // END REQUEST
);
}
QuickplaylistPage.prototype.loadListGenerated = function(artistNameGroup, genres, callback, typeData) {
var url = '/QuickPlaylist/LoadListGenerated?master=Blank&artists=' + artistNameGroup + '&genres=' + genres;
if (typeData && typeData == 'json') {
mibAjaxManager.GetJson(url, callback);
}
else {
mibAjaxManager.GetContent(
url, // URL
'#sonora_content', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
callback // END REQUEST
);
}
}
QuickplaylistPage.prototype.configItemFromTagCloud = function(title, action) {
var element = $(".sugestions a[title='" + title + "']");
if ($(element).length > 0) {
if (action) {
$(element).css({ background: "#ff9900", color: "#fff" });
}
else {
$(element).css({ background: "#EEEEEE", color: "#47423A" });
}
}
element = null;
}
Pages.prototype.quickPlaylist = new QuickplaylistPage();
function MyAccountPage() {
var timer = null;
}
MyAccountPage.prototype.bindEvents = function(action) {
var current_url = window.location + '';
var myDownloadsFreePage = current_url.split('/');
var openIdHolder = $('.sonora_content .myaccount_content');
sonora.pages.myAccount.renderOpenIdInfo();
if (myDownloadsFreePage[myDownloadsFreePage.length - 1] == sonora.translator.translateRoute('defaultUrlMyDownloadsFree')) {
sonora.pages.myAccount.bindMyDownloadsFreePage(function() {
sonora.pages.myAccount.bindMusicItems();
sonora.pages.myAccount.bindMyDownloadsFreeMenu();
sonora.pages.myAccount.bindMusicDownload();
});
}
var url = document.location + "";
var parameters = url.split('?');
if (parameters.length > 1) {
var periodo = parameters[1].split('=')[1];
$('.myaccount .myaccount_content .filter').find("select").val(periodo);
}
$("#profile_toggle").unbind("click").click(function(e) {
e.preventDefault();
if ($(this).hasClass("public")) {
sonora.pages.myAccount.setProfileStatus(true);
} else if ($(this).hasClass("restrict")) {
sonora.pages.myAccount.setProfileStatus(false);
}
});
$(".myaccount .pagination a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$('.history .btnDetails').click(function() {
var tds = $(this).parent().parent().find('>td');
var details = $(this).parent().parent().find('.details');
var div = $(details).find('.tableDetails');
var tdh = $(tds).outerHeight(true);
$(tds).addClass('disabled');
$(details).removeClass('disabled');
var h = $(div).height();
$(div).css({ height: tdh }).stop().animate({ height: h });
$('.history .btnDetailsOff').bind('click', function() {
$(this).parent().parent().parent().parent().parent().stop().animate({ height: tdh }, function() {
$(this).parent().parent().find('>td').removeClass('disabled');
$(this).parent().parent().find('.details').addClass('disabled');
$(this).css({ height: 'auto' })
});
return false;
});
tds = null;
details = null;
div = null;
tdh = null;
h = null;
return false;
});
$('.myaccount .myaccount_content .filter').find("select").change(function() {
SWFAddress.setValue(sonora.translator.translateRoute("defaultUrlPurchaseHistory") + "?period=" + $(this).attr("value"));
});
openIdHolder.find('.logTerra .buttonSincro,.logTerra #available_providers').unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.notLoggedSocialMyAccountRPX(openIdHolder.find('.logTerra'));
return false;
});
openIdHolder.find('.logRedes .buttonSincro').unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.commons.notLoggedSocialMyAccountSonora($(this));
});
this.bindMusicDownload();
this.bindMusicItems();
this.bindMyDownloadsFreeMenu();
switch (action) {
case 'downloadmanager':
sonora.wmp.downloadManager.RenderDownloadList();
$('.action_btns .cancel_all').click(function(e) {
e.preventDefault();
sonora.wmp.downloadManager.cancelAllDownloads();
});
$('.action_btns .pause').click(function(e) {
e.preventDefault();
sonora.wmp.downloadManager.pauseAllDownloads();
$(this).hide();
$('.action_btns .restart_downloads').show();
});
$('.action_btns .restart_downloads').click(function(e) {
e.preventDefault();
sonora.wmp.downloadManager.restartAllDownloads();
$(this).hide();
$('.action_btns .pause').show();
});
break;
case 'mydownloadsclub':
$(".club .btnDownload").unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.binds.actions.download($(this));
});
break;
case 'mydevices':
$(".device_control a[id^='Device_']").unbind('click').click(function(e) {
e.preventDefault();
deviceID = this.id.split('_')[1];
sonora.pages.myAccount.DeactivateDevice(deviceID);
});
$(".device_control .knowMore").click(function(e) {
e.preventDefault();
sonora.pages.commons.boxLogin.openHelp();
});
break;
}
}
MyAccountPage.prototype.setProfileStatus = function(status) {
sonora.user.setProfile(status, function(json) {
if(json) {
if(json.status) {
$("#profile_info_text").html(sonora.translator.translate('publicText'));
$("#profile_toggle").removeClass("public");
$("#profile_toggle").addClass("restrict");
alert(sonora.translator.translate('setToPublicProfile'));
} else {
$("#profile_info_text").html(sonora.translator.translate('privateText'));
$("#profile_toggle").removeClass("restrict");
$("#profile_toggle").addClass("public");
alert(sonora.translator.translate('setToPrivateProfile'));
}
}
});
}
MyAccountPage.prototype.makeProfilePublic = function() {
UserPlayListInterface.SetProfilePublic();
}
MyAccountPage.prototype.bindMyDownloadsFreePage = function(callback) {
url = '/' + sonora.translator.translateRoute("defaultUrlMyDownloadsFree") + '?master=Blank';
this.timer = setInterval(function() { mibAjaxManager.GetContent(url, '.myaccount', false, null, callback) }, 10000);
}
MyAccountPage.prototype.bindMusicItems = function() {
$("a.btnInfo").unbind("click").click(function(e) {
e.preventDefault();
var helper = new ActionHelper($(this).attr("href"));
sonora.pages.commons.showMusicInfo(helper.mediaId, $(this).offset());
});
}
MyAccountPage.prototype.bindMyDownloadsFreeMenu = function() {
$(".myaccount_nav h3 a, #download_menu a, #download_club_menu a").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
}
MyAccountPage.prototype.bindMusicDownload = function() {
if (jQuery.browser.version == "6.0") {
$("#musicDownloadButton").unbind("click").click(function(e) {
e.preventDefault();
window.open($(this).attr('href'), null, "height=100,width=200,status=yes,toolbar=no,menubar=no,location=no");
return false;
});
}
}
MyAccountPage.prototype.unbindEvents = function() {
url = null;
parameters = null;
clearInterval(this.timer);
}
MyAccountPage.prototype.renderOpenIdInfo = function() {
var openIdHolder = $('.sonora_content .myaccount_content');
openIdHolder.find('.logTerra').hide();
openIdHolder.find('.logRedes').hide();
openIdHolder.find('.sincroMade').hide();
sonora.user.CheckCurrentOpenIdStatus(function(result) {
switch (result.openIdContext) {
case 'SynchrozieWithOpenId':
openIdHolder.find('.logTerra').show();
break;
case 'SynchrozieWithTerra':
openIdHolder.find('.logRedes .left_field .buttonProvider').addClass(result.provider.toLowerCase()).html(result.provider);
openIdHolder.find('.logRedes').show();
break;
case 'AlreadySynchrnized':
openIdHolder.find('.sincroMade .right_field .buttonProvider').addClass(result.provider.toLowerCase()).html(result.provider);
openIdHolder.find('.sincroMade').show();
break;
}
});
}
MyAccountPage.prototype.DeactivateDevice = function(deviceID) {
$.post("/MyAccount/DeactivateDevice",
{
deviceID: deviceID
},
function(data) {
if (data.success) {
sonora.pages.commons.refreshPage();
}
});
}
Pages.prototype.myAccount = new MyAccountPage();
function UserPage() { }
UserPage.prototype.init = function() {
UserPage.prototype.bindEvents();
}
UserPage.prototype.bindEvents = function() {
var urlFromBar = sonora.pages.commons.fixIEUrl(window.location.href + '');
var currentContext = (urlFromBar.split('/')[1]).split('?')[0];
if (currentContext == sonora.translator.translateRoute('defaultUrlOtherUsers')) {
sonora.pages.user.visitorId = parseInt(((urlFromBar.split('/')[1]).split('?')[1]).split('=')[1]);
sonora.currentPage = sonora.translator.translateRoute('defaultUrlMySonora');
}
else {
if (currentContext == sonora.translator.translateRoute('defaultUrlMySonora')) {
var urlMySonora = (urlFromBar.split('/')[1]).split('?');
if (urlMySonora.length == 1) {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlMySonora');
sonora.pages.user.updateAddButtonMusicTitle();
} else if (urlMySonora.length > 1) {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlHistory');
}
}
else if (currentContext == sonora.translator.translateRoute('defaultUrlMyPlaylists')) {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlMyPlaylists');
}
sonora.pages.user.visitorId = null;
}
if (sonora.currentPage == sonora.translator.translateRoute('defaultUrlMySonora')) {
if ($('.sonora_content .mysonora .list_content .filters .title').find('h2').text() == sonora.translator.translate('myHistory')) {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlHistory');
}
}
sonora.pages.user.isUserPlaylist = false;
sonora.pages.user.queryFilter = '';
sonora.pages.user.playlistId = 0;
var imageWidth;
var imageHeigth;
var guid;
var extension;
var imgUrl = sonora.user.current.imgurl;
var menuHolder = $('#sonora_content .mysonora .mysonora_nav');
var listContentHolder = $('#sonora_content .mysonora .list_content');
var favoritiesHolder = $('#sonora_content .mysonora .user_info dl dd');
if (imgUrl != null && imgUrl.length > 0) {
var img = new Image();
$(img).load(function(e) { img = $("#sonora_content .mysonora #upload_photo_user_info .actualPic").find("#user_image").attr("src", imgUrl); });
$(img).attr("src", imgUrl);
}
$("#change_avatar").unbind()
.bind('mouseenter', function(e) {
if (currentContext == sonora.translator.translateRoute('defaultUrlOtherUsers')) {
$(this).css({ "cursor": "default" });
if ($(this).hasClass('hover')) {
$(this).removeClass('hover');
}
}
$(this).addClass('hover');
})
.bind('mouseleave', function(e) {
$(this).removeClass('hover');
});
$("#change_avatar").unbind("click").click(function(e) {
e.preventDefault();
if (currentContext == sonora.translator.translateRoute('defaultUrlOtherUsers')) {
return;
}
SWFAddress.setValue('User/UploadPhoto');
return false;
});
$("#create_new_playlist").unbind("click").click(function(e) {
e.preventDefault();
sonora.pages.user.createPlaylist();
return false;
});
favoritiesHolder.find('a').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
menuHolder.find('dt').click(function(e) {
e.preventDefault();
switch ($(this).find('a').attr('class')) {
case "music":
case "visitormusic":
case "btnPlaylist":
sonora.currentPage = sonora.translator.translateRoute('defaultUrlMySonora').toLowerCase();
break;
case "history":
case "visitorhistory":
sonora.currentPage = sonora.translator.translateRoute('defaultUrlHistory').toLowerCase();
sonora.pages.user.month = null;
sonora.pages.user.year = null;
break;
case "visitorbtnPlaylist":
sonora.currentPage = sonora.translator.translateRoute('defaultUrlMyPlaylists').toLowerCase();
break;
}
menuHolder.find('dt a').removeClass('selected');
$(this).find('a').addClass('selected');
listContentHolder.loading();
var param = sonora.pages.commons.fixIEUrl($(this).find('a').attr('href')).split('?');
sonora.pages.user.postAction(param[0] + '?', param[1], 'text/html', function(result) {
sonora.pages.user.isUserPlaylist = false;
listContentHolder.html('');
listContentHolder.html(result);
listContentHolder.loading({ loaded: true });
sonora.pages.user.bindContent();
if (sonora.currentPage == sonora.translator.translateRoute('defaultUrlMySonora').toLowerCase()) {
sonora.pages.user.updateAddButtonMusicTitle();
}
});
return false;
});
menuHolder.find('dd .scroll ul li').unbind("click").click(function(e) {
e.preventDefault();
listContentHolder.loading();
sonora.pages.user.isUserPlaylist = true;
var param = $(this).find('a').attr('href').split('?');
sonora.pages.user.postAction(param[0] + '?', param[1], 'text/html', function(result) {
sonora.pages.user.playlistId = (param[1].split('=')[1]).split('&')[0];
listContentHolder.html('');
listContentHolder.html(result);
listContentHolder.loading({ loaded: true });
sonora.currentPage = sonora.translator.translateRoute('defaultUrlMyPlaylists');
sonora.pages.user.bindContent();
});
return false;
});
menuHolder.find('dd .scroll ul li ul li .del').unbind("click").click(function(e) {
e.preventDefault();
var answer = confirm(sonora.translator.translate("confirmPlaylistDelete"));
if (answer) {
listContentHolder.loading();
var playlistid = sonora.pages.commons.fixIEUrl($(this).attr('href')).split('/')[2];
menuHolder.find('dd .scroll ul li[ id=' + playlistid + ']').hide();
sonora.pages.user.postAction('/User/RemovePlaylist?', 'playlistid=' + playlistid, 'text/html', function(result) {
listContentHolder.html('');
listContentHolder.html(result);
listContentHolder.loading({ loaded: true });
sonora.pages.user.bindContent();
});
}
return false;
});
menuHolder.find('dd .scroll ul li ul li .edit').unbind("click").click(function(e) {
e.preventDefault();
var playlistid = sonora.pages.commons.fixIEUrl($(this).attr('href')).split('/')[2];
var playlistTitle = $(this).parent().parent().parent().find('a').attr('title');
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init($("#new_playlist_overlay"), function() {
sonora.pages.commons.overlays.bindNewPlaylistOverlay([], sonora.translator.translate("changePlaylistName"), playlistTitle, playlistid, false, function(data) {
sonora.pages.user.updatePlaylistsMenu(data);
});
$("#new_playlist_overlay").show();
var offset = {
top: (($(window).height() - sonora.pages.commons.overlays.overlaySelector.height()) / 2 + $(window).scrollTop()),
left: (($(window).width() - sonora.pages.commons.overlays.overlaySelector.width()) / 2 + $(window).scrollLeft())
};
sonora.pages.commons.overlays.setPosition(offset);
});
return false;
});
this.bindMusicsPaging();
this.bindContent();
$("#upload_error_back").click(function(e) {
e.preventDefault();
$("#upload_photo_user_info").show();
$("#loading_photo_error").hide();
});
$("#btnUpload").unbind('click').click(function(e) {
e.preventDefault();
UploadFile(e);
});
$("#btnUpload").mouseover(function() {
if ($("#image").val() == "") {
$("#btnUpload").attr("class", "disabled");
}
else
$("#btnUpload").attr("class", "enabled");
});
$("#crop_send_original").unbind('click').click(function(e) {
e.preventDefault();
CroppingImage(e, false);
});
$("#crop_send").unbind('click').click(function(e) {
e.preventDefault();
CroppingImage(e, true);
});
$("#go_my_sonora").unbind("click").click(function(e) { SWFAddress.setValue("/" + sonora.translator.translateRoute("defaultUrlMySonora")); });
$("#go_Acervo").unbind("click").click(function(e) { SWFAddress.setValue('/' + sonora.translator.translateRoute("explorerSectionLibrary") + '?' + sonora.translator.translateRoute("explorerSectionLibrary") + '=artiststop&genre=0'); });
$("#go_destaques").unbind("click").click(function(e) { SWFAddress.setValue("/" + sonora.translator.translateRoute("explorerSectionPiks") + "/0/" + sonora.translator.translateRoute("explorerAllGenreName")); });
$("#loading_photo_error").hide();
$("#loading_photo").hide();
$("#croping_photo").hide();
$("#photo_ok").hide();
$("#upload_photo_user_info").show();
$(".mysonora .mysonora_nav dd ul>li")
.bind('mouseenter', function() { $(this).addClass('hover') })
.bind('mouseleave', function() { $(this).removeClass('hover') });
var bannerTag = sonora.translator.translateBanners("bannerBoxChannel");
var bannerHolder = $('.sonora_content .mysonora .ad_mysonora ');
var section = sonora.translator.translateBanners("bannerMySonora");
sonora.advertisement.RenderDefaultBanner(bannerHolder, bannerTag, section, "", 0, null, sonora.instanceTgmKey + sonora.tgmKeyMySonoraContext);
}
UserPage.prototype.unbindEvents = function() {
bannerTag = null;
bannerHolder = null;
section = null;
menuHolder = null;
imageWidth = null;
imageHeigth = null;
guid = null;
extension = null;
imgUrl = null;
menuHolder = null;
listContentHolder = null;
favoritiesHolder = null;
}
function UploadFile(e) {
if ($("#image").val() != "") {
var urlImage;
$("#upload_photo_user_info").hide();
$("#loading_photo").show();
e.preventDefault();
$.ajaxFileUpload({
url: '/ProcessFile/SaveDocuments',
type: "POST",
secureuri: false,
fileElementId: 'image',
dataType: 'json',
success: function(jsonResponse) {
if (jsonResponse && jsonResponse.status == "ok") {
var cropWidth;
var cropHeigth;
var cropX;
var cropY;
guid = jsonResponse.Guid;
extension = jsonResponse.ImageFormat;
$("#loading_photo").hide();
$("#croping_photo").show();
urlImage = jsonResponse.url;
imageWidth = jsonResponse.Width;
imageHeigth = jsonResponse.Heigth;
$("#croping_photo_image").attr("src", urlImage);
$("#croping_photo_preview").attr("src", urlImage);
if (imageHeigth >= 200 || imageWidth >= 200) {
cropX = 15;
cropY = 15;
cropWidth = (imageWidth - 15);
cropHeigth = (imageHeigth - 15);
}
else {
cropX = 9;
cropY = 9;
cropWidth = (imageWidth - 5);
cropHeigth = (imageHeigth - 5);
}
$("#croping_photo_image").Jcrop({
onSelect: storeCoords,
onChange: storeCoords,
setSelect: [cropX, cropY, cropWidth, cropHeigth],
aspectRatio: 1
});
}
else {
$("#loading_photo").hide();
$("#loading_photo_error").show();
$("#loading_photo_error .newPic #loading_photo_error_data_message h4").text("");
$("#loading_photo_error .newPic #loading_photo_error_data_message h4").text(sonora.translator.translate(jsonResponse.Message));
}
},
error: function(data, status, e) {
$("#loading_photo").hide();
$("#loading_photo_error").show();
}
});
}
return false;
}
function storeCoords(c) {
$('#X').val(c.x);
$('#Y').val(c.y);
$('#W').val(c.w);
$('#H').val(c.h);
if (parseInt(c.w) > 0) {
var rx = 87 / c.w;
var ry = 87 / c.h;
$('#croping_photo_preview').css({
width: Math.round(rx * imageWidth) + 'px',
height: Math.round(ry * imageHeigth) + 'px',
marginLeft: '-' + Math.round(rx * c.x) + 'px',
marginTop: '-' + Math.round(ry * c.y) + 'px'
});
}
};
function CroppingImage(e, crop) {
var CoordX = $("#X").val();
var CoordY = $("#Y").val();
var CoordW = $("#W").val();
var CoordH = $("#H").val();
var cropUrl;
if (crop)
cropUrl = "/ProcessFile/CroppingImage?CoordX=" + CoordX + "&CoordY=" + CoordY + "&CoordW=" + CoordW + "&CoordH=" + CoordH + "&Guid=" + guid + "&ImageFormat=" + extension;
else
cropUrl = "/ProcessFile/CroppingImage?Guid=" + guid + "&ImageFormat=" + extension;
$("#croping_photo").hide();
$("#loading_photo").show();
e.preventDefault();
$.ajaxFileUpload({
url: cropUrl,
type: "POST",
secureuri: false,
fileElementId: 'image',
dataType: 'json',
success: function(jsonResponse) {
if (jsonResponse && jsonResponse.status == "ok") {
$("#loading_photo").hide();
$("#photo_ok").show();
urlImage = jsonResponse.url;
$("#img_photo_ok").attr("src", urlImage);
$(".avatar img").attr("src", urlImage);
$(".avatar img").css({ width: '80px', height: '80px' });
$(".avatar #temp_avatar").removeClass("change_img");
$(".avatar #temp_avatar").removeClass("hs");
}
else {
$("#loading_photo").hide();
$("#loading_photo_error").show();
}
},
error: function(data, status, e) {
alert(e);
}
});
return false;
}
UserPage.prototype.postAction = function(url, data, datatype, callback) {
$.ajax({
type: "POST",
url: url,
data: data,
dataType: datatype,
success: function(result) {
if (callback && typeof (callback) == 'function') callback(result);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
callback(false, (textStatus != null ? textStatus : errorThrown));
}
});
}
UserPage.prototype.bindMusicsPaging = function() {
var listContentHolder = $('#sonora_content .mysonora .list_content');
$('#sonora_content .mysonora .list_content .pagination').find('li a').unbind("click").click(function(e) {
e.preventDefault();
listContentHolder.loading();
sonora.pages.user.postAction($(this).attr('href'), '', 'text/html', function(result) {
listContentHolder.html('');
listContentHolder.html(result);
listContentHolder.loading({ loaded: true });
sonora.pages.user.bindContent();
});
});
}
UserPage.prototype.createPlaylist = function() {
sonora.pages.commons.overlays.hide();
sonora.pages.commons.overlays.init($("#new_playlist_overlay"), function() {
sonora.pages.commons.overlays.bindNewPlaylistOverlay([], sonora.translator.translate("typePlaylistName"), "", 0, true, function(data) {
sonora.pages.user.updatePlaylistsMenu(data);
})
$("#new_playlist_overlay").show();
var offset = {
top: (($(window).height() - sonora.pages.commons.overlays.overlaySelector.height()) / 2 + $(window).scrollTop()),
left: (($(window).width() - sonora.pages.commons.overlays.overlaySelector.width()) / 2 + $(window).scrollLeft())
};
sonora.pages.commons.overlays.setPosition(offset);
});
return false;
}
UserPage.prototype.updatePlaylistsMenu = function(data) {
var menuHolder = $('#sonora_content .mysonora .mysonora_nav dd .scroll > ul');
if (sonora.pages.user.visitorId == null) {
if (data.result.action == 'created') {
var newitem = '<li id="' + data.result.id + '" class="">' +
'<a title="' + data.result.title + '" href="/User/GetPlaylistItems?playlist=' + data.result.id + '">' + data.result.titleCutString + ' <span>(' + data.result.count + ')</span></a>' +
'<ul class="actions">' +
'<li><a class="del" title="' + sonora.translator.translate('delete') + ' Playlist" href="#delete/playlist/' + data.result.id + '">Apagar</a></li>' +
'<li><a class="edit" title="' + sonora.translator.translate('edit') + ' Playlist"' + ' href="#edit/playlist/' + data.result.id + '">' + sonora.translator.translate('buttonChange') + '</a></li>' +
'</ul>' +
'</li>';
menuHolder.append(newitem);
sonora.pages.user.bindEvents();
}
else {
var playlistToUpdate = menuHolder.find('li[id=' + data.result.id + '] a')
.html(data.result.titleCutString + ' <span>(' + data.result.count + ')</span>')
.attr('title', data.result.title);
}
}
}
UserPage.prototype.search = function(form, url) {
var search = sonora.pages.commons.trim(form.elements["searchfield"].value);
if (search.length > 1) {
var params = url.split('?');
var listContentHolder = $('#sonora_content .mysonora .list_content');
listContentHolder.loading();
var datatype = '';
if (params[1] != null) {
datatype = '&' + params[1]
}
sonora.pages.user.postAction(params[0] + '?', 'query=' + search + datatype, 'text/html', function(result) {
listContentHolder.html('');
listContentHolder.html(result);
sonora.pages.user.isUserPlaylist = false;
sonora.pages.user.bindContent();
var headerSearchHolder = $('#sonora_content .mysonora .list_content .filters');
headerSearchHolder.find('fieldset #searchfield').attr('value', search);
listContentHolder.loading({ loaded: true });
});
} else {
alert(sonora.translator.translate("searchRequired"));
}
}
UserPage.prototype.bindContent = function() {
var listContentHolder = $('#sonora_content .mysonora .list_content');
var headerSearchHolder = $('#sonora_content .mysonora .list_content .filters');
var dropDown = $('#sonora_content .mysonora .list_content');
var musicLineHolder = $('#sonora_content .mysonora .list_content .music_list tbody tr td');
var headerDropDown = $('.sonora_header .user_info .user_details .details .dropdown');
sonora.pages.user.selectMenu();
$(headerDropDown).unbind().dropdown({ oneLine: true }, function(result) {
var context = $(result.find('span')).text();
switch (context) {
case sonora.translator.translate("myMusics"):
sonora.currentPage = sonora.translator.translateRoute("defaultUrlMySonora").toLowerCase();
break;
case sonora.translator.translate("myHistory"):
sonora.currentPage = sonora.translator.translateRoute("defaultUrlHistory").toLowerCase();
break;
case sonora.translator.translate("myPlaylists"):
sonora.currentPage = sonora.translator.translateRoute("defaultUrlMyPlaylists").toLowerCase();
break;
}
});
listContentHolder.find('#mysonorahomelink, #mysonoraradiolink').click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
return false;
});
musicLineHolder.find('ul li .del').click(function(e) {
e.preventDefault();
var answer = confirm(sonora.translator.translate("confirmDeleteMusics"));
if (answer) {
var delbtn = $(this);
var item = sonora.pages.commons.fixIEUrl(delbtn.attr('href')).split('/');
var url = '';
var data = '';
if (item[3] == 'playlist' && item[4] > 0) {
url = 'User/RemovePlaylistItem?musicid=' + item[2] + '&playlistid=' + item[4];
}
else {
url = 'User/RemoveLibraryItem?musicid=' + item[2];
}
mibAjaxManager.GetJson(
url, //URL
function(result) { //callback
var url = '';
countHolder = $('#sonora_content .mysonora');
if (result.action == 'library') {
url = '/User/GetUserLibrary';
}
else {
countHolder.find('.mysonora_nav dd .scroll li[id=' + item[4] + '] a span').html('(' + result.count + ')');
url = '/User/GetPlaylistItems?playlist=' + item[4];
}
sonora.pages.user.updateContent(url, listContentHolder);
});
}
return false;
});
headerSearchHolder.find('fieldset #searchfield').keypress(function(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$("fieldset .search_btn").click();
return false;
} else {
return true;
}
});
listContentHolder.find('.dropdown').click(function(e) {
e.preventDefault();
var dropdown = $(this).find('ul');
if (dropdown.is(':hidden')) {
dropdown.show('fast');
}
else {
dropdown.hide();
}
return false;
});
listContentHolder.find('.dropdown ul li').click(function(e) {
e.preventDefault();
$(this).find('span').html($(this).find('a').attr('title'));
var url = sonora.pages.commons.fixIEUrl($(this).find('a').attr('href'));
var data = url.split('?');
listContentHolder.loading();
sonora.pages.user.postAction('User/' + data[0] + '?', data[1], 'text/html', function(result) {
listContentHolder.html('');
listContentHolder.html(result);
listContentHolder.loading({ loaded: true });
sonora.pages.user.bindContent();
sonora.pages.user.month = (data[1].split('&')[0]).split('=')[1];
sonora.pages.user.year = (data[1].split('&')[1]).split('=')[1];
});
return false;
});
listContentHolder.find(".music_list .itemUrl").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr("href"));
});
sonora.pages.user.bindMusicsPaging();
sonora.pages.commons.musicList.setMusicListRating();
}
UserPage.prototype.selectMenu = function() {
var userDropDown = $('.user_details .details .dropdown');
switch (sonora.currentPage) {
case sonora.translator.translateRoute("defaultUrlMySonora"):
case sonora.translator.translateRoute("defaultUrlHistory"):
case sonora.translator.translateRoute("defaultUrlMyPlaylists"):
case sonora.translator.translateRoute("sectionMyAcount"):
if (sonora.pages.user.visitorId == null) {
userDropDown.find("> span").html(userDropDown.find("> ul li a[href*=" + sonora.currentPage + "]").html());
}
else {
userDropDown.find("> span").html(sonora.translator.translate("MySonora"));
}
break;
default:
userDropDown.find("> span").html(sonora.translator.translate("MySonora"));
}
userDropDown.find('ul').hide();
}
UserPage.prototype.updateContent = function(url, listContentHolder) {
var param = url.split('?');
listContentHolder.loading();
sonora.pages.user.postAction(param[0] + '?', param[1], 'text/html', function(result) {
listContentHolder.empty();
listContentHolder.html(result);
listContentHolder.loading({ loaded: true });
sonora.pages.user.bindContent();
});
}
UserPage.prototype.updateAddButtonMusicTitle = function() {
$('.sonora_content .mysonora .list_content .music_list td ul li').find('.add').attr('title', sonora.translator.translate('addOnPlayer'));
}
Pages.prototype.user = new UserPage();
function ShoppingCartPage() {
}
ShoppingCartPage.prototype.bindEvents = function() {
sonora.currentPage = sonora.translator.translateRoute('defaultUrlShoppingCart');
$(".shopping_list a.btnInfo").unbind("click").click(function(e) {
e.preventDefault();
var helper = new ActionHelper($(this).attr("href"));
eval("sonora.pages.commons." + helper.action + "(" + helper.mediaId + ", $(this).offset());");
});
$(".shopping_list a.btnDel").unbind("click").click(function(e) {
e.preventDefault();
$(".sonora_content .shopping").loading({ loaded: false });
var obj = $(this);
var helper = new ActionHelper($(this).attr("href"));
sonora.pages.shoppingCart.remove(helper.mediaId, helper.mediaType, function(json) {
$(obj).parents("tr").remove();
$(".shopping_list table tr").removeClass("striped");
$(".shopping_list table tr:even").addClass("striped");
$(".shopping_total h5").html(sonora.instanceCurrency + ' ' + json.total);
});
});
$(".shopping .shopping_total a.btnShopClose").unbind("click").click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$(".shopping .shopping_total a.btnShopNext").click(function(e) {
sonora.player.clear();
});
$("#my_downloads_link").unbind().click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
$("#my_downloads_button").unbind().click(function(e) {
e.preventDefault();
SWFAddress.setValue($(this).attr('href'));
});
}
ShoppingCartPage.prototype.unbindEvents = function() {
$(".shopping_list tr td a, .shopping_info a.btnSonoraClube").unbind("click");
$(".shopping_list a.btnInfo").unbind("click");
$(".shopping_list a.btnDel").unbind("click");
$(".shopping .shopping_total a.btnShopClose").unbind("click");
$("#my_downloads_link, #my_downloads_button").unbind("click");
}
ShoppingCartPage.prototype.add = function(ids, type, isList, callback) {
var url = sonora.translator.translateRoute("defaultUrlShoppingCart") + "/add?id=" + ids + "&type=" + type;
mibAjaxManager.GetJson(url, function(json) {
if (json.status == "ok") {
if(sonora.player.windowHandler) {
try {
sonora.player.windowHandler.sonora.pages.shoppingCart.showAddedMessage(isList, json.count);
} catch(Exception) {
sonora.pages.shoppingCart.showAddedMessage(isList, json.count);
}
} else {
sonora.pages.shoppingCart.showAddedMessage(isList, json.count);
}
sonora.pages.commons.boxLogin.updateUserBasketCount(json.cartItemsCount);
if (callback && typeof (callback) == 'function') {
Logger.log("Add item to Shooping Cart loaded!");
callback(json);
}
}
else {
Logger.error("No add items to Shooping Cart!");
}
});
}
ShoppingCartPage.prototype.remove = function(id, type, callback) {
var url = sonora.translator.translateRoute("defaultUrlShoppingCart") + "/remove/" + id + "/" + type + "/";
mibAjaxManager.GetJson(url, function(json) {
if (json.status == "ok") {
sonora.pages.commons.boxLogin.updateUserBasketCount(json.cartItemsCount);
if (parseInt(json.cartItemsCount) == 0) {
$(".shopping_content .shopping_total .btnShopClose").hide();
}
if (callback && typeof (callback) == 'function') {
Logger.log("Remove item from Shooping Cart loaded!");
callback(json);
}
}
else {
Logger.error("No remove item from to Shooping Cart! Error: " + json.error);
}
$(".sonora_content .shopping").loading({ loaded: true });
});
}
ShoppingCartPage.prototype.showAddedMessage = function(list, count) {
if (list == true) {
$('#buy, #upgrade, #gotowmp, #divisor').hide();
$("#buy").parent().removeClass('musicLimit');
if (count > 0) {
$('#buy_thankyou').find('span.AddSpan').each(function() {
$(this).html(count + ' ' + sonora.translator.translate("addedMusics"));
});
$("#buy_thankyou").show();
}
else
$("#items_already_added").show();
}
else {
$("#buy").hide();
$("#buy_thankyou").show();
}
}
Pages.prototype.shoppingCart = new ShoppingCartPage();
function HotsitePage() {
}
HotsitePage.prototype.isFromPlaylistHotsite = false;
HotsitePage.prototype.isHotsitePlaylist = function() {
if (sonora.cocacolaHotsitePlaylist && sonora.metrics.playlistId == sonora.cocacolaHotsitePlaylist) {
return true;
}
else {
return false;
}
}
HotsitePage.prototype.bindEvents = function() {
$('.customRadio .radioBox .data a.play').unbind('click').click(function(e) {
e.preventDefault();
sonora.pages.hotsite.isFromPlaylistHotsite = true;
sonora.pages.binds.actions.play($(this));
return false;
});
$('.customRadio .radioBox .data a.btnDown').unbind("click").click(function(e) {
e.preventDefault();
if ($.browser.msie) {
window.open($(this).attr('href'), null, "height=10,width=10,status=no,toolbar=no,menubar=no,location=no");
}
else {
$('#hotsiteDownloadArea').attr('src', $(this).attr('href'));
}
return false;
});
var messageFacebook = sonora.translator.translate("iAmListening") + " a rádio Coca-Cola " + sonora.translator.translate("inSonora");
var facebookUrl = "http://www.facebook.com/sharer.php?t=" + encodeURI(messageFacebook) + "&u=" + sonora.defaultUrl.substring(0, sonora.defaultUrl.length - 1) + "/cocacola";
$("#shareFacebook").attr("href", facebookUrl);
sonora.pages.commons.getTinyURL(sonora.defaultUrl.substring(0, sonora.defaultUrl.length - 1) + "/cocacola", function(tinyurl) {
var messageTwitter = sonora.translator.translate("iAmListening") + " a rádio Coca-Cola " + sonora.translator.translate("inSonora") + ": " + tinyurl;
var twitterUrl = "http://twitter.com/home?status=" + encodeURI(messageTwitter);
$("#shareTwitter").attr("href", twitterUrl);
});
sonora.pages.commons.getTinyURL(sonora.defaultUrl.substring(0, sonora.defaultUrl.length - 1) + "/cocacola", function(tinyurl) {
var messageOrkut = sonora.translator.translate("iAmListening") + " a rádio Coca-Cola " + sonora.translator.translate("inSonora") + ": " + tinyurl;
var orkutUrl = "http://promote.orkut.com/preview?nt=orkut.com&tt=" + encodeURI(sonora.translator.translate("listenSonora")) + "&du=" + tinyurl + "&cn=" + encodeURI(messageOrkut);
$("#shareOrkut").attr("href", orkutUrl);
});
}
RadioPage.prototype.unbindEvents = function() {
}
Pages.prototype.hotsite = new HotsitePage();
function Player(playerName){
this.playerName = playerName;
this.mediaChangeEvents = new Array();
this.positionChangeEvents = new Array();
this.stateChangeEvents = new Array();
this.currentItem = new CurrentItem(0, -1, 0, "", 0, false, ""); //stores current item being played
this.setPlCurrentItem = player_SetPlCurrentItem;
this.currentPlaylist = null;
this.isChangeUnattended = false;
this.isSponsored = false;
if (Player.playerUsed == Player.playerType.WindowsMedia) {
if (sonora.wmp.isInWMP) {
this.player = new PlayerWMP(this.playerName + '.player', document.playerSonoraObject);
} else {
this.player = new PlayerWmSimple(this.playerName + '.player', document.playerSonoraObject);
}
}
else if (Player.playerUsed == Player.playerType.Quicktime) {
this.player = new PlayerMac(this.playerName + '.player', document.playerSonoraObject);
}
else if (Player.playerUsed == Player.playerType.Silverlight) {
this.player = new PlayerSilverlight(this.playerName + '.player', document.playerSonoraObject);
}
this.player.onCurrentMediaChange.add(this.playerName, 'currentMediaChange');
this.player.onCurrentPositionChange.add(this.playerName, 'currentPositionChange');
this.player.onPlayStateChange.add(this.playerName, 'currentPlayStateChange');
this.addPositionChangeCallback(this.thirtySecondsCallback);
this.addMediaChangeCallback(this.thirtySecondsMediaChangeCallback);
}
var thirtySecondsPassed = false;
Player.prototype.previous = function() {
sonora.pages.commons.playerHtml.dontLikeSkipFoward = false;
this.player.previous();
}
Player.prototype.next = function() {
this.player.next();
}
Player.prototype.playItem = function(index) {
this.player.playItem(index);
}
Player.prototype.play = function() {
if(sonora.player.playlist.count() == 0)
Logger.info("There is no music in the player!");
else
this.player.play();
}
Player.prototype.pause = function() {
this.player.pause();
}
Player.prototype.stop = function() {
this.player.stop();
}
Player.prototype.ff = function() {
this.player.fastForward();
}
Player.prototype.rew = function() {
this.player.rewind();
}
Player.prototype.mute = function() {
this.player.setMute(true);
}
Player.prototype.unmute = function() {
this.player.setMute(false);
}
Player.prototype.repeat = function() {
this.player.setRepeat(true);
}
Player.prototype.unrepeat = function() {
this.player.setRepeat(false);
}
Player.prototype.setCurrentPlaylist = function(pl) {
this.currentPlaylist = pl;
this.player.setCurrentPlaylist(pl.playlist);
}
Player.prototype.getCurrentMedia = function() {
var current = this.player.getCurrentMedia();
return current;
}
Player.prototype.getMediaItemByIndex = function(index) {
if (this.player.currentPlaylist.playSequence && this.player.currentPlaylist.playSequence.length > index) {
if (this.player.currentPlaylist.playSequence[index].spot) return(this.getMediaItemByIndex(++index));
if (this.player.currentPlaylist.playSequence.length > index) {
return this.player.currentPlaylist.playSequence[index];
}
}
return null;
}
Player.prototype.getVolume = function() {
return this.player.getVolume();
}
Player.prototype.changeVolume = function(newVolume) {
if(newVolume == 0) {
sonora.player.mute();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton).parent().addClass("selected");
} else if (newVolume >= 0 && newVolume <= 100) {
this.player.setVolume(newVolume);
sonora.player.unmute();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton).parent().removeClass("selected");
}
}
Player.prototype.setPosition = function(position) {
this.player.setPosition(position);
}
Player.prototype.currentPositionChange = function() {
var duration = this.player.getCurrentMediaDuration();
var currentPosition = this.player.getPosition();
if (this.positionChangeEvents.length > 0) {
for (var i = 0; i < this.positionChangeEvents.length; i++)
this.positionChangeEvents[i](duration, currentPosition);
}
}
Player.prototype.currentMediaChange = function() {
var current = this.player.getCurrentMedia();
if (this.mediaChangeEvents.length > 0) {
for (var i = 0; i < this.mediaChangeEvents.length; i++) {
this.mediaChangeEvents[i](current);
}
}
}
Player.prototype.getCurrentMediaDuration = function() {
return this.player.getCurrentMediaDuration();
}
Player.prototype.getPlayState = function() {
return this.player.getPlayState();
}
Player.prototype.playStateToString = function(value) {
switch (value) {
case 0: return 'undefined';
case 1: return 'stopped';
case 2: return 'paused';
case 3: return 'playing';
case 4: return 'buffering';
case 5: return 'forwarding';
case 6: return 'rewinding';
}
}
Player.prototype.currentPlayStateChange = function() {
var currentPlayState = this.player.getPlayState();
if (this.stateChangeEvents.length > 0) {
for (var i = 0; i < this.stateChangeEvents.length; i++)
this.stateChangeEvents[i](currentPlayState);
}
}
Player.prototype.addMediaChangeCallback = function(callback) {
this.mediaChangeEvents.push(callback);
}
Player.prototype.addPositionChangeCallback = function(callback) {
this.positionChangeEvents.push(callback);
}
Player.prototype.addStateChangeCallback = function(callback) {
this.stateChangeEvents.push(callback);
}
Player.prototype.getCurrentIndex = function() {
return this.player.getCurrentIndex();
}
Player.prototype.getPosition = function() {
return this.player.getPosition();
}
Player.prototype.thirtySecondsCallback = function(duration, currentPos) {
if (currentPos >= 30 && !(thirtySecondsPassed))
{
trintaSegundos(sonora.player.getCurrentMedia());
thirtySecondsPassed = true;
}
}
Player.prototype.thirtySecondsMediaChangeCallback = function() {
thirtySecondsPassed = false;
}
Player.prototype.addPlaylistChangedCallback = function(callback) {
if (callback) {
sonora.player.addPlaylistChangedCallback(callback);
} else {
throw new Error('Player.addStateChangeCallback error: callback must not be undefined and must be a function');
}
}
var gmediaItem;
function trintaSegundos(mediaItem) {
if (mediaItem != null) {
gmediaItem = mediaItem;
$.ajax({
cache: false,
type: "GET",
url: '/User/IsLogged',
dataType: "json",
success: trintaSegundosCallback
});
}
}
function getMediaIdFromURL(url) {
if (url.indexOf("?") > 0) {
url = url.substring(0, url.indexOf("?"));
url = url.substring((url.lastIndexOf("/") + 1), (url.length - 4));
}
return url;
}
function getMediaMetadata(url) {
var id = getMediaIdFromURL(url);
url = "/Media/GetMediaMetadata?ids=" + id;
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
trintaSegundos(ParseMedia_Json(json));
}
});
}
function trintaSegundosCallback(json) {
var user = json;
if (user.loggedIn != null && gmediaItem != null &&
gmediaItem.contentId != null && gmediaItem.contentId > 0) {
audience30s(user.userData, gmediaItem);
}
}
var IFrameObj;
var IFrameBody = null;
var audienceFormString = '';
function audience30s(userData, mediaItem) {
if (IFrameObj != null) {
if(IFrameObj.length > 0) {
IFrameObj.remove();
}
IFrameObj = null;
IFrameBody = null;
}
var tempIFrame = $("<iframe></iframe>")
.attr('id', 'TEMPIframe')
.attr('name', 'TEMPIframe')
.attr('frameborder', 'no')
.css("position", "absolute")
.css("display", "none")
.css("top", "0px")
.css("left", "0px")
.css("border", "none")
.css("margin", "0px")
.css("padding", "0px")
.css("width", "0px")
.css("height", "0px");
audienceFormString = "<form id=\"AudienceForm\" name=\"AudienceForm\" action=\"" + sonora.audienceLoggerUrl + "\" method=\"POST\"><input type=\"text\" name=\"USERID\" value=\"" + userData.id + "\"/>";
audienceFormString += "<input type=\"text\" name=\"MUSICID\" value=\"" + mediaItem.contentId + "\"/>";
audienceFormString += "<input type=\"text\" name=\"MUSICTITLE\" value=\"" + mediaItem.title + "\"/>";
audienceFormString += "<input type=\"text\" name=\"ARTISTID\" value=\"" + mediaItem.artistId + "\"/>";
audienceFormString += "<input type=\"text\" name=\"DURATION\" value=\"" + mediaItem.duration + "\"/>";
audienceFormString += "<input type=\"text\" name=\"ARTISTTITLE\" value=\"" + mediaItem.artist + "\" />";
audienceFormString += "<input type=\"text\" name=\"ALBUMID\" value=\"" + mediaItem.albumId + "\" />";
audienceFormString += "<input type=\"text\" name=\"ALBUMTITLE\" value=\"" + mediaItem.album + "\"/>";
audienceFormString += "<input type=\"text\" name=\"USERTYPE\" value=\"" + userData.subscriptionType + "\"/>";
audienceFormString += "<input type=\"text\" name=\"USERNAME\" value=\"" + userData.name + "\"/>";
audienceFormString += "<input type=\"submit\" value=\"store\" /></form>";
IFrameObj = tempIFrame;
$("body").append(tempIFrame);
if(sonora.degustation.enableDegustation && sonora.metrics.playlistId == 0 && !sonora.user.loggedIn) {
sonora.degustation.addItem(mediaItem.contentId);
}
waitForIFrameIE();
}
function waitForIFrameIE() {
try {
if (IFrameObj != null && $("#TEMPIframe").length > 0 && $("#TEMPIframe").contents().find("body").length > 0) {
createIFrameCallback();
}
else
{
setTimeout("waitForIFrameIE()", 1000);
}
} catch(Exception) {
setTimeout("waitForIFrameIE()", 1000);
}
}
function createIFrameCallback() {
if (IFrameBody == null) {
IFrameBody = audienceFormString;
$("#TEMPIframe").contents().find("body").append(IFrameBody);
$("#TEMPIframe").contents().find("body").find("#AudienceForm").submit();
}
}
function CurrentItem(id, type, libraryType, title, rate, isOwner, adKeyword) {
this.id = id;
this.type = type;
this.libraryType = libraryType;
this.title = title;
this.rate = rate;
this.isOwner = isOwner;
this.adKeyword = adKeyword;
this.media_type
}
function player_SetPlCurrentItem() {
var index, currentMedia, currentPlaylist;
currentMedia = this.player.getCurrentMedia();
currentPlaylist = this.player.getCurrentPlaylist();
if (currentMedia != null && currentPlaylist != null) {
index = currentPlaylist.indexOf(currentMedia);
}
}
function RandomizeArray(array){
var i = array.length;
if ( i == 0 ) return false;
while ( --i ) {
var j = Math.floor( Math.random() * ( i + 1 ) );
var tempi = array[i];
var tempj = array[j];
array[i] = tempj;
array[j] = tempi;
}
}
Player.prototype.playlistChangeEvents = [];
Player.prototype.windowHandler = null;
Player.prototype.addSpot = function(callback) {
if (sonora.player) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
var url = '/Media/GetSpots';
sonora.player.getMedias(url, callback, true);
}
}
Player.prototype.addMusic = function(musicArray, callback, insertInFront) {
if (sonora.player && musicArray.length) {
if (musicArray.length > 40) {
RandomizeArray(musicArray);
musicArray = musicArray.splice(0, 40);
}
sonora.pages.commons.playerHtml.checkShowPlayerActions();
sonora.metrics.clearMetricRadio();
var musicIds = musicArray.join(',');
var url = '/Media/List?type=musics&ids=' + musicIds;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.addCd = function(cdId, callback, insertInFront) {
if (sonora.player && cdId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
sonora.metrics.clearMetricRadio();
var url = '/Media/List/Cd/' + cdId;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.addArtist = function(artistId, callback, insertInFront) {
if (sonora.player && artistId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
sonora.metrics.clearMetricRadio();
var url = '/Media/List/Artist/' + artistId;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.addUserPlaylist = function(playlistId, callback, insertInFront) {
if (sonora.player && playlistId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
sonora.metrics.clearMetricRadio();
var url = '/Media/List/PlaylistUser/' + playlistId;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.addEditorPlaylist = function(playlistId, callback, insertInFront) {
if (sonora.player && playlistId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
var url = '/Media/List/PlaylistEditor/' + playlistId;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.addGenrePlaylist = function(playlistId, callback, insertInFront) {
if (sonora.player && playlistId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
var url = '/Media/List/GenreRadio/' + playlistId;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.addRadioMediaUnbound = function(artistId, callback, insertInFront) {
if (sonora.player && artistId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
var url = '/Media/List/RadioMediaUnbound/' + artistId;
sonora.player.getMedias(url, callback, insertInFront);
}
}
Player.prototype.returnEditorPlaylist = function(playlistId, callback) {
if (sonora.player && playlistId > 0) {
var url = '/Media/List/PlaylistEditor/' + playlistId;
sonora.player.ReturnMedias(url, callback);
}
}
Player.prototype.addHotsitePlaylist = function(playlistId, callback) {
if (sonora.player && playlistId > 0) {
sonora.pages.commons.playerHtml.checkShowPlayerActions();
var url = '/Hotsite/Cocacola/PlaylistEditor/' + playlistId;
sonora.player.getMedias(url, callback);
}
}
Player.prototype.getMedias = function(url, callback, insertInFront) {
var currentPlayer = sonora.player;
try {
if (sonora.player.windowHandler != null && sonora.player.windowHandler.sonora != null) {
currentPlayer = sonora.player.windowHandler.sonora.player;
}
} catch (Exception) {
sonora.player.windowHandler = null;
window.sonora.player.clear();
}
try {
var access = currentPlayer.playlist.count();
} catch (Exception) {
var newPlaylist = new PlaylistSonora('sonora.player.playlist');
currentPlayer.playlist = newPlaylist;
sonora.player.setCurrentPlaylist(newPlaylist);
}
var playlistCount = currentPlayer.playlist.count();
if (!insertInFront) {
insertInFront = (playlistCount == 0);
}
var play = (playlistCount == 0);
var data = "";
if (url.length > 0 && url.indexOf("?") > 0) {
data = url.split("?")[1];
url = url.split("?")[0];
}
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "json",
success: function(json) {
if (playlistCount == 0 && !sonora.wmp.isInWMP) {
sonora.pages.commons.playerHtml.show();
sonora.pages.commons.playerHtml.queue.show();
}
var currentIndex = currentPlayer.getCurrentIndex();
if (json.length && json.length > 0) // Is Array
{
if (insertInFront && playlistCount > 0) {
for (var i = json.length - 1; i >= 0; i--) {
var mi = ParseMedia_Json(json[i]);
if (!mi.spot) {
var existsIndex = currentPlayer.playlist.playlist.indexOfPlaySequence(mi);
if (existsIndex >= 0) {
currentPlayer.playlist.playlist.removeAt(existsIndex);
}
}
currentPlayer.playlist.insertItem(currentIndex + 1, mi);
}
} else {
for (var i = 0; i < json.length; i++) {
var mi = ParseMedia_Json(json[i]);
if (!mi.spot) {
var existsIndex = currentPlayer.playlist.playlist.indexOfPlaySequence(mi);
if (existsIndex >= 0) {
currentPlayer.playlist.playlist.removeAt(existsIndex);
}
}
currentPlayer.playlist.add(mi);
}
}
}
if (!sonora.wmp.isInWMP) {
currentPlayer.playlistStateChange();
}
if (play) {
currentPlayer.play();
}
if (insertInFront) {
currentPlayer.playItem(currentIndex + 1);
}
if (callback && typeof (callback == 'function')) {
Logger.log('remover: calling sonora.player.getMedias callback');
Logger.log('remover: sonora.player.getMedias callback is ' + callback);
callback(json);
}
return false;
}
});
}
Player.prototype.returnMedias = function(url, callback) {
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function(json) {
var medias = [];
if (json.length) // Is Array
{
for (var i = 0; i < json.length; i++) {
var mi = ParseMedia_Json(json[i]);
medias.push(mi);
}
}
else // Single Music
{
var mi = ParseMedia_Json(json);
medias.push(mi)
}
if (callback && typeof (callback == 'function'))
callback(medias);
}
});
}
Player.prototype.clear = function() {
sonora.player.stop();
sonora.player.playlist.clear();
sonora.player.playlistStateChange();
sonora.metrics.clearMetricRadio();
}
Player.prototype.shuffle = function(shuffle) {
var currentMusicIndex = sonora.player.getCurrentIndex();
sonora.player.playlist.setShuffle(shuffle, currentMusicIndex);
}
Player.prototype.removeItem = function(index) {
var currentIndex = sonora.player.getCurrentIndex();
var count = sonora.player.playlist.playlist.count();
if (index == currentIndex) {
if (count - 1 == currentIndex)
sonora.player.stop();
else
sonora.player.next();
}
sonora.player.playlist.removeItem(index);
sonora.player.playlistStateChange();
sonora.metrics.clearMetricRadio();
}
Player.prototype.getItems = function() {
return sonora.player.playlist.getItems();
}
Player.prototype.addPlaylistChangedCallback = function(callback) {
this.playlistChangeEvents.push(callback);
}
Player.prototype.playlistStateChange = function() {
var items = this.getItems();
for (var i = 0; i < this.playlistChangeEvents.length; i++) {
this.playlistChangeEvents[i](items);
}
}
function ParseMedia_Json( media ) {
var mi = new MediaItem(media.id, media.title, media.cdCovermed, media.duration, new Array(), media.bitRate );
mi.album = media.album;
mi.albumId = media.albumId;
mi.artist = media.artist;
mi.artistId = media.artistId;
mi.recordLabel = media.recordLabel;
mi.recordLabelId = media.recordLabelId;
mi.setUrl(0, media.url);
mi.cdCoverHigh = media.cdCoverHigh;
mi.cdCoverLow = media.cdCoverLow;
mi.cdCoverMed = media.cdCoverMed;
mi.albumUrl = media.albumUrl;
mi.musicUrl = media.musicUrl;
mi.artistUrl = media.artistUrl;
mi.price = media.price;
mi.genreId = media.genreId;
mi.rating = media.rating;
mi.spot = media.spot;
mi.bitRate = media.bitRate;
return mi;
}
Player.playerUsed = GetPlayerType();
Player.playerType = new PlayerType();
Player.prototype.player = null;
Player.prototype.playerName = null;
Sonora.prototype.player = null
function PopupPlayer() { }
PopupPlayer.prototype.seekOnPlay = false;
PopupPlayer.prototype.olderPlayer = null;
PopupPlayer.prototype.init = function() {
$(sonora.pages.commons.playerHtml.playerHtmlConfig.playerDiv).loading({ loaded: false });
if (!sonora.player) {
setTimeout("Sonora.Player.PopupPlayer.init()", 1000);
} else {
$(document).ready(function() {
if (document.location.search != null && document.location.search.length > 0 && (document.location.search.indexOf("mix") > 0 || document.location.search.indexOf("radio") > 0 || document.location.search.indexOf("radioMediaUnbound") > 0)) {
try {
if (opener) {
opener.sonora.player.pause();
opener.sonora.pages.commons.playerHtml.queue.clear(true);
automaticPlayPopup();
} else {
automaticPlayPopup();
}
sonora.pages.commons.playerHtml.updatePlaylistsActions();
} catch (Exception) {
try {
automaticPlayPopup();
} catch (Exception) {
Logger.info("error on calling automaticPlayPopup");
}
}
sonora.metrics.setMetricRadio(GetUrlParameters('type', document.location.search), GetUrlParameters('idRadio', document.location.search));
} else {
if (opener) {
opener.sonora.player.pause();
var index = opener.sonora.player.getCurrentIndex();
var position = opener.sonora.player.player.getPosition();
sonora.player.isPopUp = true;
var newPlaylist = new PlaylistSonora('sonora.player.playlist');
var oldPlaylistItems = opener.sonora.player.playlist.getItems();
for (var i = 0; i < oldPlaylistItems.length; i++) {
newPlaylist.add(oldPlaylistItems[i]);
}
sonora.player.playlist = newPlaylist;
sonora.player.setCurrentPlaylist(newPlaylist);
opener.sonora.player.playlist.playlist.mediaItems = new Array();
var newVolume = opener.sonora.player.getVolume();
sonora.player.changeVolume(opener.sonora.player.getVolume());
$(".volume .btnVolume").css("left", parseInt(((newVolume * sonora.pages.commons.playerHtml.volumeBarSize) / 100)) + "px");
sonora.player.playItem(index);
sonora.player.addStateChangeCallback(function(state) {
if (state == 3) {
if (this.seekOnPlay) {
sonora.player.setPosition(position);
opener.sonora.player.stop();
this.seekOnPlay = false;
}
}
});
var button = opener.jQuery(opener.sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton);
if (button.parent().hasClass("selected")) {
sonora.player.mute();
$(sonora.pages.commons.playerHtml.playerHtmlConfig.MuteButton).parent().addClass("selected");
} else {
sonora.player.unmute();
}
button = null;
opener.sonora.pages.commons.playerHtml.queue.clear(true);
sonora.pages.commons.playerHtml.updatePlaylistsActions();
}
}
});
}
}
PopupPlayer.prototype.open = function(id, type, offset) {
var data = "";
if (id != null && id > 0 && type != null && type != "") {
data = "?idRadio=" + id + "&type=" + type;
}
var left = offset.left;
var top = offset.top;
sonora.player.windowHandler = window.open('/PopupPlayer/Index' + data, 'SonoraPopupPlayer', 'width=790,height=415,resizable=no');
window.setTimeout("sonora.player.popupPlayer.continueOpenPopup('" + data + "', " + left + ", " + top + ")", 500);
}
PopupPlayer.prototype.continueOpenPopup = function(data, left, top) {
var offset = { "left": left, "top": top };
sonora.pages.commons.overlays.hide();
if (sonora.player.windowHandler == null || sonora.player.windowHandler.innerWidth == 0) {
if (sonora.player.windowHandler != null && sonora.player.windowHandler.innerWidth == 0) {
sonora.player.windowHandler.close();
sonora.player.windowHandler = null;
}
sonora.pages.commons.overlays.init($("#blocked_popup_overlay"), function() {
sonora.pages.commons.overlays.show();
sonora.pages.commons.overlays.setPosition(offset);
$("#blocked_popup_overlay .btnContinue").unbind().click(function(e) {
e.preventDefault();
sonora.player.windowHandler = window.open('/PopupPlayer/Index' + data, 'Sonora', 'width=790,height=415,resizable=no,screenY=1');
sonora.pages.commons.playerHtml.hide();
sonora.pages.commons.overlays.hide();
});
$("#blocked_popup_overlay .btnCancel").unbind().click(function(e) {
e.preventDefault();
sonora.pages.commons.overlays.hide();
});
});
}
else {
sonora.pages.commons.playerHtml.hide();
}
}
Player.prototype.popupPlayer = new PopupPlayer();
function PlaylistSonora(playlistName)
{
this.playlistName = playlistName;
if (sonora.wmp.isInWMP) {
this.playlist = new PlaylistWMP();
} else {
this.playlist = new Playlist();
}
this.playlist.adsFrequency = 2;
this.playlist.maxAdsFirst = 1;
this.playlist.maxAds = 1;
}
PlaylistSonora.prototype = {
add: function(item) {
this.playlist.appendItem(item);
},
insertItem: function(index, item) {
this.playlist.insertItem(index, item);
},
removeItem: function(index) {
this.playlist.removeAt(index);
},
getItem: function(index) {
return this.playlist.getItem(index);
},
clear: function() {
Logger.log('remover: init PlaylistSonora.clear');
this.playlist.clear();
},
count: function() {
return this.playlist.count();
},
getItems: function() {
return this.playlist.getItems();
},
setShuffle: function(shuffle, currentMusicIndex) {
return this.playlist.setShuffle(shuffle, currentMusicIndex);
}
}
Player.prototype.playlist = null;
function MetricsSilverLight(variableName, silverlightName) {
this.id = variableName;
this.silverlight = silverlightName;
this.obj = null;
}
MetricsSilverLight.prototype.CheckSilverLight = function() {
var playerType = new PlayerType();
if (GetPlayerType() == playerType.Silverlight && !this.obj) {
if (navigator.appName.indexOf("Microsoft") != -1) {
this.obj = window[this.silverlight];
} else {
this.obj = document[this.silverlight];
}
}
if (sonora.disableTerraScripts) {
return (false);
}
if (this.obj) {
return (true);
} else {
return (false);
}
}
MetricsSilverLight.prototype.GetVersion = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = silverLightMetrics.getVersion();
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetDuration = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = Math.round(sonora.player.getCurrentMediaDuration());
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetPosition = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = Math.round(sonora.player.player.getPosition());
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetBitrate = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = sonora.player.getCurrentMedia().bitRate;
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetMediaUrl = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = sonora.player.getCurrentMedia().mediaUrls[0];
} catch (e) { }
return tmp;
}
return ('');
}
MetricsSilverLight.prototype.GetPercentPlayed = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = Math.round((sonora.player.player.getPosition() * 100) / sonora.player.getCurrentMediaDuration());
} catch (e) { }
return tmp;
}
return ('');
}
MetricsSilverLight.prototype.GetPlaystate = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
var playState = new PlayState();
var indexPlayState = sonora.player.getPlayState();
if (indexPlayState == playState.undefined) {
indexPlayState = 1; // set PlayStopped
}
tmp = sonora.player.playStateToString(indexPlayState);
} catch (e) { }
return tmp;
}
return ('');
}
MetricsSilverLight.prototype.GetBufferingCount = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
var playState = new PlayState();
if (sonora.player.getPlayState() == playState.buffering) {
silverLightMetrics.slmBufferingCount++;
}
tmp = silverLightMetrics.slmBufferingCount;
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetBufferingTimeFirst = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
var playState = new PlayState();
if (sonora.player.getPlayState() == playState.buffering) {
tmp = silverLightMetrics.getBufferTime();
silverLightMetrics.slmBufferingTimeTotal += tmp;
silverLightMetrics.slmBufferingTimeFirst = tmp;
}
else {
silverLightMetrics.slmTimeBuffer = new Date();
silverLightMetrics.slmBeginBuffer = silverLightMetrics.slmTimeBuffer.getTime();
tmp = silverLightMetrics.slmBufferingTimeFirst;
}
return tmp;
}
catch (e) { }
}
return (-1);
}
MetricsSilverLight.prototype.GetBufferingTimeTotal = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = silverLightMetrics.slmBufferingTimeTotal;
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetMaxBandwidth = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = silverLightMetrics.maxbandwidth;
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetMinBandwidth = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = silverLightMetrics.minbandwidth;
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetAvgBandwidth = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = (silverLightMetrics.maxbandwidth + silverLightMetrics.minbandwidth) / 2;
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.GetAvailBandwidth = function() {
var tmp;
if (this.CheckSilverLight()) {
try {
tmp = silverLightMetrics.getbandwidth();
} catch (e) { }
return tmp;
}
return (-1);
}
MetricsSilverLight.prototype.AddPlaystateChangeHandler = function(functionName) {
if (this.CheckSilverLight()) {
try {
sonora.player.player.onPlayStateChange.add("window", functionName);
} catch (e) { }
} else if (eval("typeof " + this.id) != "undefined") {
window.setTimeout(this.id + '.AddPlaystateChangeHandler(\'' + functionName + '\')', 50);
}
}
MetricsSilverLight.prototype.RemovePlaystateChangeHandler = function() {
if (this.CheckSilverLight()) {
try {
this.obj.metrics_RemovePlaystateChangeHandler();
} catch (e) { }
} else if (eval("typeof " + this.id) != "undefined") {
window.setTimeout(this.id + 'RemovePlaystateChangeHandler()', 50);
}
}
silverLightMetrics =
{
slmBufferingTimeTotal: 0,
slmBufferingCount: 0,
slmBufferingTimeFirst: 0,
slmTimeBuffer: new Date(),
slmBeginBuffer: new Date().getTime(),
connectionSpeed: 0,
maxbandwidth: 0,
minbandwidth: 0,
resetBufferCounters: function() {
silverLightMetrics.slmBufferingTimeTotal = 0;
silverLightMetrics.slmBufferingCount = 0;
silverLightMetrics.slmBufferingTimeFirst = 0;
},
getBufferTime: function() {
var temp = 0;
var ntime = new Date();
var now = ntime.getTime();
var elapsed = (now - silverLightMetrics.slmBeginBuffer) / 1000;
temp = Math.round(elapsed);
setTimeout(function() { silverLightMetrics.getBufferTime(); }, 1000);
return temp;
},
drawCSImageTag: function(fileLocation, fileSize, imgTagProperties) {
start = (new Date()).getTime();
loc = fileLocation + '?t=' + escape(start);
document.write('<div id="bandwidthimg" style="display:none;"><img src="' + loc + '" ' + imgTagProperties + ' onload="silverLightMetrics.connectionSpeed=silverLightMetrics.computeConnectionSpeed(' + start + ',' + fileSize + ');"></div>');
return;
},
computeConnectionSpeed: function(start, fileSize) {
end = (new Date()).getTime();
connectSpeed = (Math.floor((((fileSize * 8) / ((end - start) / 1000)) / 1024) * 10) / 10);
return connectSpeed;
},
getbandwidth: function() {
var bandwidth = silverLightMetrics.connectionSpeed;
if (bandwidth >= silverLightMetrics.maxbandwidth) {
silverLightMetrics.maxbandwidth = bandwidth;
}
if (silverLightMetrics.minbandwidth == 0 || silverLightMetrics.minbandwidth > bandwidth) {
silverLightMetrics.minbandwidth = bandwidth;
}
return bandwidth;
},
getVersion: function() {
var SLVersion;
try {
try {
var control = new ActiveXObject('AgControl.AgControl');
if (control.IsVersionSupported("4.0")) {
SLVersion = "4.0";
}
else if (control.IsVersionSupported("3.0")) {
SLVersion = "3.0";
}
else {
if (control.IsVersionSupported("2.0")) {
SLVersion = "2.0";
}
else {
SLVersion = "1.0";
}
}
control = null;
}
catch (e) {
var plugin = navigator.plugins["Silverlight Plug-In"];
if (plugin) {
if (plugin.description === "1.0.30226.2") {
SLVersion = 2;
}
else {
SLVersion = parseInt(plugin.description[0]);
}
}
else {
SLVersion = 0;
}
}
}
catch (e) {
SLVersion = 0;
}
return SLVersion;
},
loadBandWidth: function() {
var playerType = new PlayerType();
if (GetPlayerType() == playerType.Silverlight) {
msilver = new MetricsSilverLight('msilver', 'playerSonoraObject');
silverLightMetrics.drawCSImageTag('/content/images/generic_artist.jpg', 1939, 'border=2 height=120 alt="generic artist"');
}
}
}
var debugSilverlightHandler = false;
var msilver = null;
function setSilverLightReady() {
msilver = new MetricsSilverLight('msilver', 'playerSonoraObject');
if (debugSilverlightHandler) {
msilver.AddPlaystateChangeHandler('teste_de_handler');
}
}
function teste_de_handler() {
if (msilver.CheckSilverLight()) {
var stt = '****** SILVERLIGHT TEST HANDLER *****\n';
stt += 'silverlight version: ' + msilver.GetVersion() + '\n';
stt += 'current playstate: ' + msilver.GetPlaystate() + '\n';
stt += 'current media duration: ' + msilver.GetDuration() + ' seconds\n';
stt += 'current media position: ' + msilver.GetPosition() + ' seconds\n';
stt += 'percentPlayed: ' + msilver.GetPercentPlayed() + ' %\n';
stt += 'mediaUrl: ' + msilver.GetMediaUrl() + '\n';
stt += 'bufferingTimeFirst: ' + msilver.GetBufferingTimeFirst() + ' seconds\n';
stt += 'bufferingCount: ' + msilver.GetBufferingCount() + '\n';
stt += 'bufferingTimeTotal: ' + msilver.GetBufferingTimeTotal() + ' seconds\n';
stt += 'bitrate: ' + msilver.GetBitrate() + ' k\n';
stt += 'availbandwidth: ' + msilver.GetAvailBandwidth() + ' kbps\n';
stt += 'maxbandwidth: ' + msilver.GetMaxBandwidth() + ' kbps\n';
stt += 'minbandwidth: ' + msilver.GetMinBandwidth() + ' kbps\n';
stt += 'avgbandwidth: ' + msilver.GetAvgBandwidth() + ' kbps\n';
Logger.log(stt);
}
else {
Logger.log("SilverLight Not installed!");
}
}
function Metrics(){}
Metrics.prototype.arrTypes = Array;
Metrics.prototype.playlistTitle = '';
Metrics.prototype.playlistType = '';
Metrics.prototype.playlistId = 0;
Metrics.prototype._public = false;
Metrics.prototype.controllerNames = {
Home: 'home',
Library: 'library',
Ranking: 'ranking',
Now: 'now',
Artist: 'artist',
QuickPlaylist: 'quickPlaylist',
Search: 'search',
MySonora: 'user',
Radio: 'radio',
MyAccount: 'myAccount',
Tour: 'tour',
LegalTerm : 'legalTerm',
Help : 'help',
PopUpPlayer : 'popupplayer',
Plugins: 'plugins'
}
Metrics.prototype.setMetric = function(section, action) {
sonora.metrics.defineTypes();
var info_id = sonora.metrics.getInfoId(section, action);
sonora.metrics.sendInfo(info_id);
}
Metrics.prototype.setMetricByAjax = function(section, action) {
if (!sonora.disableTerraScripts) {
setTimeout(function() { sonora.metrics.setMetric(section, action); }, 1500);
}
}
Metrics.prototype.setMetricRadio = function(type, id) {
sonora.metrics.playlistId = id;
sonora.metrics.playlistType = type;
if (!sonora.disableTerraScripts) {
setTimeout(function() {
mibAjaxManager.GetJson('/Radio/MetricInfo?type=' + type + '&objId=' + id, function(data) {
sonora.metrics.playlistTitle = data.title;
sonora.metrics._public = data.ispublic;
});
}, 1500);
}
}
Metrics.prototype.clearMetricRadio = function() {
sonora.metrics.playlistId = 0;
sonora.metrics.playlistType = '';
if (!sonora.disableTerraScripts) {
sonora.metrics.playlistTitle = '';
Logger.log('Clear metric radio');
try {
if (sonora.player.windowHandler != null && sonora.player.windowHandler.sonora != null) {
if (sonora.player.windowHandler.sonora.metrics != null) {
sonora.player.windowHandler.sonora.metrics.playlistId = 0;
sonora.player.windowHandler.sonora.metrics.playlistTitle = '';
sonora.player.windowHandler.sonora.metrics.playlistType = '';
Logger.log('Clear popup metric radio');
}
}
}
catch (Exception) {
sonora.player.windowHandler = null;
}
}
}
Metrics.prototype.getInfoId = function(section, customAction) {
var id = "";
var item = null;
var sonType = '';
var url = SWFAddress.getValue().toLowerCase().split('/');
var genreId = 0;
var songId = 0;
var albumId = 0;
var artistId = 0;
var librarycontext = 'artiststop';
var radioId = 0;
var idRadioCategory = '';
var tempsection = '';
switch (section) {
case this.controllerNames.Home:
sonType = sonora.types.HOME;
break;
case this.controllerNames.Library:
sonType = sonora.types.ACERVO;
switch (url[4]) {
case sonora.translator.translateRoute("explorerFilterArtists"):
librarycontext = 'artiststop';
genreId = url[2];
break;
case sonora.translator.translateRoute("explorerFilterMusics"):
librarycontext = 'musics';
genreId = url[2];
break;
case sonora.translator.translateRoute("explorerFilterCds"):
librarycontext = 'albums';
genreId = url[2];
break;
}
break;
case this.controllerNames.Ranking:
sonType = sonora.types.POPULAR;
if (typeof (url[3]) != 'undefined') {
genreId = url[3];
}
break;
case this.controllerNames.Now:
sonType = sonora.types.NOW;
if (typeof (url[2]) != 'undefined') {
genreId = url[2];
}
break;
case this.controllerNames.Artist:
tempsection = '';
if (url[4] == sonora.translator.translateRoute("defaultUrlMusic")) {
tempsection = url[4];
}
else {
tempsection = url[1];
}
switch (tempsection) {
case sonora.translator.translateRoute("defaultUrlArtist"):
artistId = url[2];
sonType = sonora.types.ARTIST;
break;
case sonora.translator.translateRoute("defaultUrlMusic"):
songId = url[5];
sonType = sonora.types.SONG;
break;
case sonora.translator.translateRoute("defaultUrlCd"):
sonType = sonora.types.ALBUM;
albumId = url[2];
break;
}
break;
case this.controllerNames.QuickPlaylist:
sonType = sonora.types.WIZARD;
break;
case this.controllerNames.Search:
sonType = sonora.types.SEARCH;
break;
case this.controllerNames.MySonora:
if (SWFAddress.getParameter('section') != null) {
sonType = sonora.types.MY_HISTORY;
}
else {
tempsection = url[1];
if (tempsection == sonora.translator.translateRoute("defaultUrlMyPlaylists")) {
sonType = sonora.types.MY_PLAYLIST;
}
else if (tempsection == sonora.translator.translateRoute("defaultUrlMySonora")) {
sonType = sonora.types.MY_SONORA;
}
}
break;
case this.controllerNames.Radio:
tempsection = url[1];
if (tempsection == sonora.translator.translateRoute("explorerSectionRadio")) {
sonType = sonora.types.RADIO;
}
else if (tempsection == sonora.translator.translateRoute("explorerSectionMix")) {
sonType = sonora.types.MIX;
}
break;
case this.controllerNames.MyAccount:
sonType = sonora.types.ACCOUNT;
break;
case this.controllerNames.Tour:
sonType = sonora.types.TOUR;
break;
case this.controllerNames.LegalTerm:
sonType = sonora.types.LEGAL_TERM;
break;
case this.controllerNames.Help:
sonType = sonora.types.HELP;
break;
case this.controllerNames.PopUpPlayer:
sonType = sonora.types.POPOUT_PLAYER;
break;
case this.controllerNames.Plugins:
sonType = sonora.types.PLUGINS;
break;
}
for (var i = 0; i < sonora.metrics.arrTypes.length; i++) {
if (sonora.metrics.arrTypes[i].id == sonType) {
item = sonora.metrics.arrTypes[i];
break;
}
}
if (item && item.extra.length > 0) {
id = item.name;
if (item.extra == "genre") {
id += "/" + genreId;
}
else if (item.extra == "playlist" && sonora.playlistId) {
id += "/" + sonora.playlistId;
}
else if (item.extra == "artist" && artistId > 0) {
id += "/" + artistId;
}
else if (item.extra == "album" && albumId > 0) {
id += "/" + albumId;
}
else if (item.extra == "music" && songId > 0) {
id += "/" + songId;
}
else if (item.extra == "radio" || item.extra == "mix") {
radioId = SWFAddress.getParameter('radioId');
idRadioCategory = SWFAddress.getParameter('idRadioCategory');
if (!isNaN(radioId) && !isNaN(idRadioCategory)) {
id += '/RadioCategory/' + idRadioCategory + '/' + SWFAddress.getParameter('genreName') + '/Radio/' + radioId;
if (SWFAddress.getParameter('sponsored') == 'true') {
id = 'sponsored/RadioCategory/' + SWFAddress.getParameter('radioName') + '/' + idRadioCategory + '/Radio/' + radioId;
}
}
}
else if (item.extra == "acervo") {
id += '/' + librarycontext + '/' + genreId;
}
else if (item.extra == "playlistrapida") {
if (customAction == null) {
id += '/selection';
}
else {
id += customAction;
}
}
}
return id;
}
Metrics.prototype.defineTypes = function() {
this.arrTypes =
[
{ id: sonora.types.HOME, name: "home", infoType: "cap", extra: "genre" },
{ id: sonora.types.PICKS, name: "destaques", infoType: "son", extra: "genre" },
{ id: sonora.types.POPULAR, name: "mais_tocadas", infoType: "son", extra: "genre" },
{ id: sonora.types.NOW, name: "agora", infoType: "son", extra: "genre" },
{ id: sonora.types.MY_SONORA, name: "mysonora", infoType: "son", extra: "0" },
{ id: sonora.types.MY_HISTORY, name: "myhystory", infoType: "son", extra: "0" },
{ id: sonora.types.MY_PLAYLIST, name: "myplaylist", infoType: "son", extra: "playlist" },
{ id: sonora.types.ARTIST, name: "artista", infoType: "son", extra: "artist" },
{ id: sonora.types.ALBUM, name: "album", infoType: "son", extra: "album" },
{ id: sonora.types.SONG, name: "music", infoType: "son", extra: "music" },
{ id: sonora.types.OTHER_USER, name: "outro_usuario/minhas_musicas", infoType: "son", extra: "" },
{ id: sonora.types.OTHER_USER, name: "outro_usuario/historico", infoType: "son", extra: "" },
{ id: sonora.types.OTHER_USER, name: "outro_usuario", infoType: "son", extra: "playlist" },
{ id: sonora.types.ACCOUNT, name: "account", infoType: "son", extra: "0" },
{ id: sonora.types.UPDATE_ACCOUNT, name: "AtualizacaoConta", infoType: "son", extra: "" },
{ id: sonora.types.POPOUT_PLAYER, name: "player", infoType: "son", extra: "popupplayer" },
{ id: sonora.types.PLAYLIST, name: "playlist_sonora", infoType: "son", extra: "playlist" },
{ id: sonora.types.HELP, name: "outros", infoType: "cap", extra: "ajuda" },
{ id: sonora.types.SHOPPING_CART, name: "carrinho_de_compras/carrinho", infoType: "cap", extra: "" },
{ id: sonora.types.SHOPPING_CART, name: "carrinho_de_compras/pagina_de_volta_da_Boldcron", infoType: "cap", extra: "" },
{ id: sonora.types.SEARCH, name: "busqueda", infoType: "cap", extra: "search" },
{ id: sonora.types.SEARCH, name: "busquedas/no_resultados/keyword", infoType: "cap", extra: "" },
{ id: sonora.types.MIX, name: "mix", infoType: "son", extra: "mix" },
{ id: sonora.types.RADIO, name: "radio", infoType: "son", extra: "radio" },
{ id: sonora.types.ACERVO, name: "acervo", infoType: "son", extra: "acervo" },
{ id: sonora.types.WIZARD, name: "playlistrapida", infoType: "son", extra: "playlistrapida" },
{id: sonora.types.TOUR, name: "tour", infoType: "son", extra: "tour" },
{id: sonora.types.PLUGINS, name: "plugins", infoType: "son", extra: "plugins"},
{ id: sonora.types.LEGAL_TERM, name: "outros", infoType: "son", extra: "legalTerm" }
];
}
Metrics.prototype.sendInfo = function(info_id) {
var srcPage = "/Templates/" + sonora.instanceCountryCode +
"/metric/metricIframe.htm?isWmp=" + (sonora.wmp.isInWMP ? "1" : "0") +
"&info_id=" + escape(unescape(info_id));
var name = "metric_iframe";
$("#metric_container").remove();
var metricContainer = document.getElementById("metricContainer");
if (metricContainer) {
metricContainer.attr('src', srcPage);
}
else {
metricContainer = $("<iframe name='" + name + "'></frame>")
.css("visibility", "hidden")
.attr("marginHeight", "0")
.attr("marginWidth", "0")
.attr("width", "1")
.attr("height", "1")
.attr("id", "metric_container")
.attr("src", srcPage);
$("body").append(metricContainer);
}
}
Metrics.prototype.getMediaInfo = function(propertyName) {
var item = sonora.player ? sonora.player.currentItem : false;
var media = sonora.player ? sonora.player.getCurrentMedia() : false;
var propertyValue = null;
if (item && media) {
switch (propertyName.toLowerCase()) {
case 'playlisttype':
propertyValue = this.playlistType;
break;
case 'radiotype':
if (sonora.metrics._public == 0) {
propertyValue = true;
} else {
propertyValue = false;
}
break;
case 'playlist':
case 'radio':
propertyValue = sonora.metrics.playlistTitle.replace(/(\t|\s)*/gim, "");
break;
case 'playlistid':
case 'radioid':
propertyValue = sonora.metrics.playlistId;
break;
case 'musica':
case 'music':
propertyValue = media.title.replace(/(\t|\s)*/gim, "");
break;
case 'musicaid':
case 'musicid':
propertyValue = media.contentId;
break;
case 'artista':
case 'artist':
propertyValue = media.artist.replace(/(\t|\s)*/gim, "");
break;
case 'artistaid':
case 'artistid':
propertyValue = media.artistId;
break;
case 'album':
propertyValue = media.album.replace(/(\t|\s)*/gim, "");
break;
case 'albumid':
propertyValue = media.albumId;
break;
case 'company':
case 'recordlabel':
propertyValue = media.recordLabel;
break;
case 'companyid':
case 'recordlabelid':
propertyValue = media.recordLabelId;
break;
case 'filename':
propertyValue = this.parseFilename(media.mediaUrls[0]);
break;
case 'quality':
propertyValue = 0;
break;
case 'subscriber':
case 'issubscriber':
propertyValue = sonora.metrics.getSubscriber();
break;
case 'public':
case 'ispublic':
propertyValue = sonora.metrics._public;
break;
case 'country':
propertyValue = sonora.instanceCountryCode;
break;
}
}
if (propertyValue == null) {
switch (propertyName.toLowerCase()) {
case 'playlistid':
case 'radioid':
case 'musicaid':
case 'musicid':
case 'artistaid':
case 'artistid':
case 'albumid':
case 'companyid':
case 'recordlabelid':
case 'quality':
return (0);
case 'playlist':
case 'radio':
case 'musica':
case 'music':
case 'artista':
case 'artist':
case 'album':
case 'company':
case 'recordlabel':
case 'filename':
case 'country':
return ('');
case 'subscriber':
case 'issubscriber':
return sonora.metrics.getSubscriber();
break;
case 'public':
case 'ispublic':
return (false);
}
}
else {
return (propertyValue)
}
}
Metrics.prototype.getQualityFromCookie = function() {
var cookieName = "sonora";
var cookieDomain = sonora.instance.cookieDomain;
var expDate = new Date();
expDate.setTime(expDate.getTime() + 30 * 24 * 60 * 60 * 1000)
playerCookie = new CookieManager(cookieName, expDate, cookieDomain);
return playerCookie.getValue('quality');
}
Metrics.prototype.parseFilename = function(url) {
url = url.substring(0, url.indexOf('?'));
start = url.lastIndexOf('/') + 1;
filename = url.substring(start);
return filename;
}
Metrics.prototype.getAllMediaInfo = function() {
var buffer = "";
buffer += 'playlist:' + sonora.metrics.getMediaInfo('playlist') + '\n';
buffer += 'radio:' + sonora.metrics.getMediaInfo('radio') + '\n';
buffer += 'playlistid:' + sonora.metrics.getMediaInfo('playlistid') + '\n';
buffer += 'radioid:' + sonora.metrics.getMediaInfo('radioid') + '\n';
buffer += 'musica:' + sonora.metrics.getMediaInfo('musica') + '\n';
buffer += 'music:' + sonora.metrics.getMediaInfo('music') + '\n';
buffer += 'musicaid:' + sonora.metrics.getMediaInfo('musicaid') + '\n';
buffer += 'musicid:' + sonora.metrics.getMediaInfo('musicid') + '\n';
buffer += 'artista:' + sonora.metrics.getMediaInfo('artista') + '\n';
buffer += 'artist:' + sonora.metrics.getMediaInfo('artist') + '\n';
buffer += 'artistaid:' + sonora.metrics.getMediaInfo('artistaid') + '\n';
buffer += 'artistid:' + sonora.metrics.getMediaInfo('artistid') + '\n';
buffer += 'album:' + sonora.metrics.getMediaInfo('album') + '\n';
buffer += 'albumid:' + sonora.metrics.getMediaInfo('albumid') + '\n';
buffer += 'company:' + sonora.metrics.getMediaInfo('company') + '\n';
buffer += 'recordlabel:' + sonora.metrics.getMediaInfo('recordlabel') + '\n';
buffer += 'companyid:' + sonora.metrics.getMediaInfo('companyid') + '\n';
buffer += 'recordlabelid:' + sonora.metrics.getMediaInfo('recordlabelid') + '\n';
buffer += 'filename:' + sonora.metrics.getMediaInfo('filename') + '\n';
buffer += 'quality:' + sonora.metrics.getMediaInfo('quality') + '\n';
buffer += 'subscriber:' + sonora.metrics.getMediaInfo('subscriber') + '\n';
buffer += 'issubscriber:' + sonora.metrics.getMediaInfo('issubscriber') + '\n';
buffer += 'public:' + sonora.metrics.getMediaInfo('public') + '\n';
buffer += 'ispublic:' + sonora.metrics.getMediaInfo('ispublic') + '\n';
return buffer;
}
Metrics.prototype.getSubscriber = function() {
var retValue = 0;
if (sonora.user.loggedIn) {
try {
if (!sonora.user.current.businessModel.overLimitStreaming) {
if (sonora.user.current.businessModel.allowStreaming.isLimited) {
retValue = 5;
}
else if (!sonora.user.current.businessModel.allowStreaming.isLimited && !sonora.user.current.businessModel.allowDownloadSubscription) {
retValue = 2;
}
else if (sonora.user.current.businessModel.allowDownloadSubscription && !sonora.user.current.businessModel.allowPortableSubscription) {
retValue = 4;
}
else if (sonora.user.current.businessModel.allowPortableSubscription) {
retValue = 3;
}
else {
retValue = 5;
}
}
else {
retValue = 0;
}
}
catch (e) {
retValue = 0;
}
}
return retValue;
}
Sonora.prototype.metrics = new Metrics();
function Advertisement() { }
Advertisement.prototype.showSealSponsor = true;
Advertisement.prototype.RenderDefaultBanner = function(holder, bannerTag, section, path, contentId, artistUrl, tgmKey) {
Logger.log('advertisement renderDefaultBanner called');
Logger.log('param[holder] is ' + holder);
Logger.log('param[bannerTag] is ' + bannerTag);
Logger.log('param[section] is ' + section);
Logger.log('param[path] is ' + path);
Logger.log('param[contentId] is ' + contentId);
if (!sonora.disableTerraScripts) {
var html = '';
var iframeSrc = '';
var countryCode = sonora.instanceCountryCode;
genre = '';
if (artistUrl != null) {
genre = sonora.advertisement.GetAdsGenres(section, artistUrl);
} else {
genre = sonora.advertisement.GetAdsGenres(section, location.href + '');
}
var userAge = '';
var userSex = '';
var userState = '';
var albumId = '';
var typePlayer = '';
if (sonora && sonora.user && sonora.user.current) {
userAge = sonora.user.current.age;
userSex = sonora.user.current.sex;
userState = sonora.user.current.state;
}
if (path == "") {
path = "/Templates/AdIframes/AdIframe.htm";
}
iframeSrc += path +
"?bannertag=" + bannerTag +
"&tgmkey=" + tgmKey +
"&genre=" + genre +
"&tagman=" + sonora.instanceTagMan;
if (bannerTag == sonora.translator.translateBanners("bannerBoxChannel")) {
html += "<iframe id=\"advertisementIframe\" name=\"advertisementIframe\" width=\"300\" height=\"250\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + iframeSrc + "\"></iframe>";
}
else if (bannerTag == sonora.translator.translateBanners("bannerSealChannel")) {
if (sonora.advertisement.showSealSponsor == true) {
html += "<iframe id=\"sponsor_iframe\" allowtransparency=\"true\" name=\"sponsor_iframe\" height=\"53\" width=\"93\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + iframeSrc + "\"></iframe>";
}
}
else if (bannerTag == sonora.translator.translateBanners("bannerSkyChannel")) {
html = "<iframe id=\"advertisementIframe\" name=\"advertisementIframe\" width=\"120\" height=\"600\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + iframeSrc + "\"></iframe>";
}
else {// right bannner 1280
html += "<iframe name=\"frame_1280\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + iframeSrc + "\"></iframe>";
}
holder.empty();
holder.append(html);
if (bannerTag == sonora.translator.translateBanners("bannerSealChannel")) {
setTimeout("$('#sponsor_iframe').contents().find('body').css('background-color', 'transparent')", 2000);
}
path = "/Templates/AdIframes/AdIframeTopSelo.htm" +
"?&tgmkey=" + tgmKey +
"&tagman=" + sonora.instanceTagMan;
var arTemp = tgmKey.split('.');
if (arTemp.length > 0 && arTemp[2] != 'player'){
var topseloholder = $('.sonora_content .top_selo_banner');
html = "<iframe name=\"frame_top_selo\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" src=\"" + path + "\"></iframe>";
topseloholder.empty();
topseloholder.append(html);
}
}
}
Advertisement.prototype.RenderRadioHeaderBanner = function(target, bannerWideType, bannerWidePath, radioTitle, bannerWideWidth, bannerWideHeigth) {
switch (bannerWideType) {
case "image":
target.html("<img src=\"" + bannerWidePath + "\" alt=\"" + radioTitle + "\" width=\"" + bannerWideWidth + "\" height=\"" + bannerWideHeigth + "\"/>");
break;
case "tag":
target.html("<div id=\"bannerTagCenter\"><iframe id=\"banner_iframe_radio_tag\" scrolling=\"no\" marginHeight=\"0\" marginWidth=\"0\" frameBorder=\"0\" name=\"banner_iframe_radio_tag\" width=\"100%\" height=\"150px\" src=\"" + bannerWidePath + "\"></iframe></div>");
break;
case "flash":
target.html("<div id=\"bannerFlashCenter\"><object id=\"objFlashBanner\" width=\"" + bannerWideWidth + "\" height=\"" + bannerWideHeigth + "\"><param name=\"movie\" value=\"" + bannerWidePath + "\"><param name=\"wmode\" value=\"transparent\"><embed src=\"" + bannerWidePath + "\" width=\"" + bannerWideWidth + "\" height=\"" + bannerWideHeigth + "\" wmode=\"transparent\"></embed></object></div>");
break;
default:
target.html("<img src=\"" + bannerWidePath + "\" alt=\"Banner " + radioTitle + "\" width=\"" + bannerWideWidth + "\" height=\"" + bannerWideHeigth + "\" />");
break;
}
}
Advertisement.prototype.GetAdsGenres = function(section, url) {
genres = "";
switch (section) {
case sonora.translator.translateBanners("bannerLibrary"):
if (sonora.pages.commons.fixIEUrl(url).split('/').length > 2) {
var genreId = sonora.pages.commons.fixIEUrl(url).split('/')[2];
sonora.advertisement.postAction('/Genre/GetAdvertisementGenres?genreId=' + genreId, 'json', function(data) {
genres = data.genres;
});
}
else
genres = "";
break;
case sonora.translator.translateBanners("bannerNow"):
if (sonora.pages.commons.fixIEUrl(url).split('/').length > 2) {
var genreId = sonora.pages.commons.fixIEUrl(url).split('/')[2];
sonora.advertisement.postAction('/Genre/GetAdvertisementGenres?genreId=' + genreId, 'json', function(data) {
genres = data.genres;
});
}
else
genres = "";
break;
case sonora.translator.translateBanners("bannerRanking"):
if (sonora.pages.commons.fixIEUrl(url).split('/').length > 3) {
var genreId = sonora.pages.commons.fixIEUrl(url).split('/')[3];
sonora.advertisement.postAction('/Genre/GetAdvertisementGenres?genreId=' + genreId, 'json', function(data) {
genres = data.genres;
});
}
else
genres = "";
break;
case sonora.translator.translateBanners("bannerArtist"):
var parameters = sonora.pages.commons.fixIEUrl(url).split('/');
var genericId = parameters[parameters.length - 2];
if (parameters[1] == "cd") {
sonora.advertisement.postAction('/Genre/GetAdvertisementGenresFromArtist?genericId=' + parameters[2] + '&type=cd', 'json', function(data) {
genres = data.genres;
});
}
else {
sonora.advertisement.postAction('/Genre/GetAdvertisementGenresFromArtist?genericId=' + genericId + '&type=artist', 'json', function(data) {
genres = data.genres;
});
}
break;
case sonora.translator.translateBanners("bannerPlayer"):
var parameters = sonora.pages.commons.fixIEUrl(url).split('/');
var genericId = parameters[2];
if (genericId != undefined) {
sonora.advertisement.postAction('/Genre/GetAdvertisementGenresFromArtist?genericId=' + genericId + '&type=artist', 'json', function(data) {
genres = data.genres;
});
} else {
genres = "";
}
break;
default:
genres = "";
break;
}
section = null;
url = null;
return genres;
}
Advertisement.prototype.postAction = function(url, datatype, callback) {
$.ajax({
async: false,
type: "GET",
url: url,
dataType: datatype,
success: function(result) {
if (callback && typeof (callback) == 'function') callback(result);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
callback(false, (textStatus != null ? textStatus : errorThrown));
}
});
}
Sonora.prototype.advertisement = new Advertisement();
function User() {
}
User.prototype.loggedIn = false;
User.prototype.current = null;
User.prototype.messageId = '';
User.prototype.warningAutomaticClose = 0;
User.prototype.warningPosition = 0;
User.prototype.warningCount = 0;
User.prototype.clear = function() {
this.loggedIn = false;
this.current = null;
this.messageId = '';
}
User.prototype.logout = function(callback) {
this.clear();
var parameter = '?_logout=1';
sonora.pages.commons.BuildSSOiFrame(parameter);
mibAjaxManager.GetJson('/User/LogOut', callback);
}
User.prototype.processLogin = function(username, password, savelogin, callback) {
var data = "userName=" + escape(username) + "&password=" + escape(password) + "&savelogin=" + escape(savelogin);
var url = '/User/Login?' + data;
mibAjaxManager.GetJson(url, function(data) {
if (data) {
if (data.loggedIn) {
sonora.user.loggedIn = data.loggedIn;
}
if (data.userData) {
sonora.user.current = data.userData;
if (sonora.sso.enableSSO) {
if (sonora.sso.ssoTimer == null) {
var parameter = "?_serv=" + data.userData.serv;
sonora.sso.ssoTimer = sonora.pages.commons.boxLogin.requestSSOTimer = setInterval(function() { sonora.pages.commons.BuildSSOiFrame(parameter) }, sonora.sso.ssoInterval);
}
}
}
}
callback(data);
});
}
User.prototype.CheckCurrentOpenIdStatus = function(callback) {
var url = '/MyAccount/CheckCurrentOpenIdStatus';
mibAjaxManager.GetJson(url, function(data) { callback(data); });
}
User.prototype.checkSonoraUser = function(logindata,callback) {
var data = "username=" + escape(logindata.username) + "&password=" + escape(logindata.password);
var url = '/MyAccount/CheckSonoraUser?' + data;
mibAjaxManager.GetJson(url, function(data) { callback(data); });
}
User.prototype.rateSong = function(musicId, rate, callback) {
if(sonora.user.loggedIn) {
var data = "musicId=" + musicId + "&rate=" + rate;
var url = '/User/RateSong?' + data;
mibAjaxManager.GetJson(url, callback);
}
}
User.prototype.rateMusicGroup = function(rate, musics, callback) {
if(sonora.user.loggedIn) {
var data = "musicIds=" + musics.join(",") + "&rate=" + rate;
var url = '/User/RateSongGroup?' + data;
mibAjaxManager.GetJson(url, callback);
}
}
User.prototype.getMusicRate = function(musics, callback) {
if(sonora.user.loggedIn) {
var data = "musicIds=" + musics.join(",");
var url = '/User/GetMusicRate?' + data;
mibAjaxManager.GetJson(url, callback);
}
}
User.prototype.setProfile = function(status, callback) {
if(sonora.user.loggedIn) {
var url = '/User/SetProfileStatus?status=' + status;
mibAjaxManager.GetJson(url, callback);
}
}
User.prototype.getCustomMessages = function(callback) {
mibAjaxManager.GetContent(
'/User/GetCustomMessages', // URL
'#overlay_container', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
callback // END REQUEST
);
}
User.prototype.getWarningCollection = function(callback) {
setTimeout(function() { mibAjaxManager.GetJson('/User/WarningCollection', callback); }, 1000); }
User.prototype.getCustomMessagesPaging = function(callback, offset) {
mibAjaxManager.GetContent(
'/User/GetCustomMessages?offset=' + offset, // URL
'#overlay_container', // JQUERY SELECTOR
false, // USE CACHE
null, // BEGIN REQUEST
callback // END REQUEST
);
}
User.prototype.isLogged = function(callback) {
mibAjaxManager.GetJson('/User/IsLogged', callback);
}
Sonora.prototype.user = new User();
function SonoraTranslator() { }
SonoraTranslator.prototype.translate = function(key) {
return mibTranslation.GetItem('javascripts', key);
}
SonoraTranslator.prototype.translateLower = function(key) {
return mibTranslation.GetItem('javascripts', key).toLowerCase();
}
SonoraTranslator.prototype.translateRoute = function(key) {
return mibTranslation.GetItem('routes', key).toLowerCase();
}
SonoraTranslator.prototype.translateBanners = function(key) {
return mibTranslation.GetItem('banners', key).toLowerCase();
}
SonoraTranslator.prototype.translateSubscriptionHotsite = function(key) {
return mibTranslation.GetItem('subscriptionHotsites', key).toLowerCase();
}
Sonora.prototype.translator = new SonoraTranslator();
var globalSetValue = SWFAddress.setValue;
var currentController = '';
SWFAddress.setValue = function(url) {
url = sonora.pages.commons.fixIEUrl(url);
url = url.replace("#", "");
globalSetValue(url);
}
if (document.location.pathname.toLowerCase() != "/popupplayer/index") {
SWFAddress.addEventListener(SWFAddressEvent.CHANGE, swfAddressChangeValue);
}
jQuery().ready(function() {
if ($.browser.msie || jQuery.browser.mozilla) {
window.onbeforeunload = sonora.pages.commons.playerHtml.closePlayer;
}
if (!sonora.plugins.hasCorrectConfig() && location.href.indexOf("Plugins") == -1) {
if (document.location.pathname.toLowerCase() == "/popupplayer/index") {
if (window.opener && window.opener.document) {
window.opener.SWFAddress.setValue('Plugins');
} else {
window.open("/Plugins");
}
window.close();
}
else {
location.href = '#/Plugins';
}
return;
}
if (document.location.pathname.toLowerCase() != "/popupplayer/index" && document.location.pathname.toLowerCase() != '/openid/authenticateuser') {
var url = document.location.pathname + document.location.search;
Logger.info('current url hash is ' + document.location.hash);
Logger.info('current url is ' + url);
if ($.browser.msie && jQuery.browser.version == "6.0" && document.location.pathname == "/" && document.location.href != "" && document.location.href.indexOf("?") > -1) {
window.location.href = "/home";
} else if (url && url.length > 1) {
Logger.info('redirecting url to /#' + url);
window.location.href = '/#' + url;
}
}
if(sonora.degustation.enableDegustation) {
sonora.degustation.init();
}
sonora.pages.binds.doBinds();
sonora.pages.commons.boxLogin.init();
sonora.pages.commons.boxLogin.isLogged();
});
function swfAddressChangeValue(event) {
var path = event.value;
Logger.info(event);
Logger.log('doAjax called -> path is ' + path);
if (path == '/') {
if (sonora.plugins.hasCorrectConfig()) {
sonora.pages.commons.setNavigationUrl('home');
}
sonora.pages.commons.boxLogin.isLogged(true);
if (!sonora.disableTerraScripts) {
var metricObj = eval('sonora.metrics');
setTimeout(function() { metricObj.setMetric("home"); }, 1500);
}
return;
}
doAjax(path);
}
function doAjax(path) {
if (path != '/' && path.length > 1) {
var url = path;
if (url.substr(0, 1) == '/') {
url = path.substr(1, url.length);
}
path = null;
if(url.indexOf("?") > -1) {
url += "&master=Blank";
} else {
url += "?master=Blank";
}
Logger.log('new ajax url is ' + url);
var $domObj = $('#sonora_content');
$.ajax({
beforeSend: function(xhrObj) {
$domObj.loading();
},
type: 'GET',
url: url,
dataType: 'html',
ifmodified: true,
success: function(data) {
url = null;
if (data.length > 0) {
if ($.browser.msie) {
sonora.pages.commons.ieMemoryLeakFix($domObj);
}
$("#sonora_content").empty();
$("#sonora_content").append(data);
var errorDiv = $domObj.find("#errorDiv");
if (errorDiv.length > 0) {
errorDiv.removeClass("errorHttp");
}
errorDiv = null;
var mainTitle = $domObj.find("#sonora_main_title");
if (mainTitle.length > 0) {
SWFAddress.setTitle(mainTitle.text());
$("#title").attr("content", mainTitle.text());
}
data = null;
mainTitle = null;
if (location.href.indexOf("home") == -1) {
$('#footer_banner_mosaic').hide();
}
else {
$('#footer_banner_mosaic').show();
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$domObj.loading({ loaded: true });
SWFAddress.setValue('Home/Error');
},
complete: function(XMLHttpRequest, textStatus) {
if (currentController != "") {
try {
pageObj = eval('sonora.pages.' + currentController);
try {
pageObj.unbindEvents();
Logger.info('Page ' + currentController + ' called the function unbindEvents');
} catch (ex) {
Logger.info('Page ' + currentController + ' does not have implemented the function unbindEvents');
}
} catch (ex) {
Logger.info('Error evaluating sonora.pages.' + controller);
}
}
$("#filterWithList_q").hide();
var controller = XMLHttpRequest.getResponseHeader('X-Sonora-Controller');
var action = XMLHttpRequest.getResponseHeader('X-Sonora-Action');
if (controller == null || controller == "") {
controller = sonora.pages.commons.getController(SWFAddress.getValue());
}
if (controller) {
currentController = controller;
Logger.info('has to call binds of ' + controller);
var pageObj = null;
var metricObj = null;
try {
pageObj = eval('sonora.pages.' + controller);
} catch (ex) {
Logger.info('Error evaluating sonora.pages.' + controller);
}
if (pageObj) {
Logger.info('binding events of page: ' + controller);
try {
pageObj.bindEvents(action);
sonora.pages.user.selectMenu();
sonora.pages.commons.selectMenu();
$(document).scrollTop(0);
$('.fakeBody').scrollTop(0);
if (!sonora.disableTerraScripts) {
metricObj = eval('sonora.metrics');
setTimeout(function() { metricObj.setMetric(controller); }, 1500);
}
} catch (ex) {
Logger.error('Page does not have implemented the function bindEvents');
}
}
else {
Logger.info('Page object is undefined');
}
$domObj.loading({ loaded: true });
$domObj = null;
}
}
});
}
}
mibTranslation.SetItem('javascripts', 'shareoverlayfriendname', 'nome do amigo');
mibTranslation.SetItem('javascripts', 'shareoverlayfriendemail', 'email do amigo');
mibTranslation.SetItem('javascripts', 'closeplayer', 'Você irá deixar de ouvir as músicas que estão tocando no Sonora');
mibTranslation.SetItem('javascripts', 'mysonora', 'Meu Sonora');
mibTranslation.SetItem('javascripts', 'edit', 'Editar');
mibTranslation.SetItem('javascripts', 'delete', 'Apagar');
mibTranslation.SetItem('javascripts', 'listen', 'ouvir');
mibTranslation.SetItem('javascripts', 'add', 'adicionar');
mibTranslation.SetItem('javascripts', 'buy', 'baixar');
mibTranslation.SetItem('javascripts', 'newquickplaylist', 'Gerar Nova Playlist');
mibTranslation.SetItem('javascripts', 'uploaderroroncreatingdirectory', 'Erro ao criar diretorio');
mibTranslation.SetItem('javascripts', 'uploaderrorondeletingoriginalfile', 'Erro ao deletar imagem original');
mibTranslation.SetItem('javascripts', 'uploaderroronsaveoriginalfile', 'Erro ao salvar arquivo original');
mibTranslation.SetItem('javascripts', 'uploaderroronresizing', 'Erro ao redimensionar imagem original');
mibTranslation.SetItem('javascripts', 'uploadinvalidarchivetype', 'Tipo de arquivo ou tamanho do arquivo inválido');
mibTranslation.SetItem('javascripts', 'uploadinvalidarchive', 'Arquivo Inválido');
mibTranslation.SetItem('javascripts', 'uploadusernotlogged', 'Usuário não esta logado');
mibTranslation.SetItem('javascripts', 'iamlistening', 'Ouvindo');
mibTranslation.SetItem('javascripts', 'of', 'do artista');
mibTranslation.SetItem('javascripts', 'insonora', 'no Sonora');
mibTranslation.SetItem('javascripts', 'close', 'Fechar');
mibTranslation.SetItem('javascripts', 'download', 'baixar');
mibTranslation.SetItem('javascripts', 'send', 'enviar');
mibTranslation.SetItem('javascripts', 'mainsearchfield', 'busque por artista, álbum ou música...');
mibTranslation.SetItem('javascripts', 'sectionupgradenone', '20h gr&aacute;tis');
mibTranslation.SetItem('javascripts', 'sectionupgradestreaming', 'Sonora Plus');
mibTranslation.SetItem('javascripts', 'sectionupgradedownload', 'Sonora Clube PC');
mibTranslation.SetItem('javascripts', 'sectionupgradeportatil', 'Sonora Clube');
mibTranslation.SetItem('javascripts', 'settoprivateprofile', 'Perfil definido como Restrito');
mibTranslation.SetItem('javascripts', 'settopublicprofile', 'Perfil definido como Público');
mibTranslation.SetItem('javascripts', 'publictext', 'Público');
mibTranslation.SetItem('javascripts', 'privatetext', 'Restrito');
mibTranslation.SetItem('javascripts', 'searchrequired', 'Digite uma palavra com ao menos 2 caracteres.');
mibTranslation.SetItem('javascripts', 'defaultpagetitle', ' Ouça, compartilhe e descubra novas músicas.');
mibTranslation.SetItem('javascripts', 'listensonora', 'Grátis no Sonora.');
mibTranslation.SetItem('javascripts', 'addedmusictoplayer', 'adicionado para ouvir no player!');
mibTranslation.SetItem('javascripts', 'addedmymusics', 'adicionado em Minhas músicas!');
mibTranslation.SetItem('javascripts', 'addtoshoppingcart', 'Adicionar ao carrinho de compras<br/>Preço R$');
mibTranslation.SetItem('javascripts', 'addedmusics', ' música(s) adicionada(s)');
mibTranslation.SetItem('javascripts', 'addedmusicsonplayer', 'música(s) adicionada(s) para ouvir no Player');
mibTranslation.SetItem('javascripts', 'addedonplayerormymusics', 'adicionar ao player ou minhas músicas');
mibTranslation.SetItem('javascripts', 'addonplayer', 'adicionar ao player');
mibTranslation.SetItem('javascripts', 'addedmusic', 'música adicionada');
mibTranslation.SetItem('javascripts', 'imagenotload', 'Oops... A imagem enviada não foi carregada.');
mibTranslation.SetItem('javascripts', 'imagechanged', 'Sua imagem foi alterada!');
mibTranslation.SetItem('javascripts', 'buttoncreate', 'Criar');
mibTranslation.SetItem('javascripts', 'buttonchange', 'Alterar');
mibTranslation.SetItem('javascripts', 'playlistname', 'nome da sua playlist');
mibTranslation.SetItem('javascripts', 'requestplaylistname', 'Por favor dê um nome para a sua playlist!');
mibTranslation.SetItem('javascripts', 'downloadmanager', 'gerenciador de downloads');
mibTranslation.SetItem('javascripts', 'showdownloadmanager', 'ver gerenciador de downloads');
mibTranslation.SetItem('javascripts', 'userunavailable', ' você nao está identificado no site ou sua sessão de usuário expirou.');
mibTranslation.SetItem('javascripts', 'possiblereasons', 'possiveis motivos');
mibTranslation.SetItem('javascripts', 'usernotlogged', 'O usuário Não está logado.');
mibTranslation.SetItem('javascripts', 'identifywhether', 'Identifique-se no site com seu <b>NOME</b> de <b>USUÁRIO</b> e <b>SENHA</b>.');
mibTranslation.SetItem('javascripts', 'attention', 'ATENÇAO');
mibTranslation.SetItem('javascripts', 'confirmdeletemusics', 'Você tem certeza que quer confirmar a exclusão de músicas ?');
mibTranslation.SetItem('javascripts', 'mymusics', 'minhas músicas');
mibTranslation.SetItem('javascripts', 'myplaylists', 'minhas playlists');
mibTranslation.SetItem('javascripts', 'musics', 'músicas');
mibTranslation.SetItem('javascripts', 'musics_2', 'm&uacute;sica(s)');
mibTranslation.SetItem('javascripts', 'musics_3', 'musicas');
mibTranslation.SetItem('javascripts', 'music', 'música');
mibTranslation.SetItem('javascripts', 'myhistory', 'meu histórico');
mibTranslation.SetItem('javascripts', 'hystory', 'histórico');
mibTranslation.SetItem('javascripts', 'changeplaylistname', 'Altere o nome da sua Playlist');
mibTranslation.SetItem('javascripts', 'confirmplaylistdelete', 'Você tem certeza que quer excluir esta playlist');
mibTranslation.SetItem('javascripts', 'confirmdeletemusic', 'Você tem certeza que quer excluir esta música');
mibTranslation.SetItem('javascripts', 'typeplaylistname', 'Digite abaixo o nome da sua Playlist');
mibTranslation.SetItem('javascripts', 'playlistcreatedsuccessfully', 'Playlist Criada com sucesso');
mibTranslation.SetItem('javascripts', 'playlistchangedsucessfully', 'Nome da Playlist Alterado com sucesso');
mibTranslation.SetItem('javascripts', 'yourplaylistname', 'Nome da sua Playlist');
mibTranslation.SetItem('javascripts', 'musicsdeletedsussessfully', 'Músicas excluídas');
mibTranslation.SetItem('javascripts', 'musicsaddedsussessfully', 'Músicas(s) adicionada(s) com sucesso');
mibTranslation.SetItem('javascripts', 'cdtext', 'álbuns');
mibTranslation.SetItem('javascripts', 'monthjanuary', 'Janeiro');
mibTranslation.SetItem('javascripts', 'monthfebruary', 'Fevereiro');
mibTranslation.SetItem('javascripts', 'monthmarch', 'Março');
mibTranslation.SetItem('javascripts', 'monthapril', 'Abril');
mibTranslation.SetItem('javascripts', 'monthmay', 'Maio');
mibTranslation.SetItem('javascripts', 'monthjune', 'Junho');
mibTranslation.SetItem('javascripts', 'monthjuly', 'Julho');
mibTranslation.SetItem('javascripts', 'monthaugust', 'Agosto');
mibTranslation.SetItem('javascripts', 'monthseptember', 'Setembro');
mibTranslation.SetItem('javascripts', 'monthoctober', 'Outubro');
mibTranslation.SetItem('javascripts', 'monthnovember', 'Novembro');
mibTranslation.SetItem('javascripts', 'monthdecember', 'Dezembro');
mibTranslation.SetItem('javascripts', 'nodownloadinprogress', 'Nenhum download em andamento.');
mibTranslation.SetItem('javascripts', 'showmydownloads', 'Ver meus downloads.');
mibTranslation.SetItem('javascripts', 'musiclibraryavailable', 'musica já disponível em sua biblioteca');
mibTranslation.SetItem('javascripts', 'canceled', 'cancelado');
mibTranslation.SetItem('javascripts', 'selectmusics', 'selecione músicas para utilizar as ações abaixo');
mibTranslation.SetItem('javascripts', 'albumslisted', 'Álbuns indicados');
mibTranslation.SetItem('javascripts', 'selectartistormusic', 'É necessário selecionar ao menos um artista ou estilo musical.');
mibTranslation.SetItem('javascripts', 'generateplaylisterror1', 'Oops, serviço de gerar playlists temporariamente indisponível. Visite o canal Acervo.');
mibTranslation.SetItem('javascripts', 'generateplaylisterror2', 'Oops, não conseguimos gerar uma playlist com essa combinação, por favor tente outra.');
mibTranslation.SetItem('javascripts', 'fullartistselection', 'Oops, seleção de artista completa');
mibTranslation.SetItem('javascripts', 'artistselected', 'Oops, este Artista já está na sua seleção');
mibTranslation.SetItem('javascripts', 'viewoptions', 'ver opções');
mibTranslation.SetItem('javascripts', 'closeoptions', 'fechar opções');
mibTranslation.SetItem('javascripts', 'musiscsselected', 'músicas selecionadas');
mibTranslation.SetItem('javascripts', 'nomusicsselected', 'nenhuma música selecionada');
mibTranslation.SetItem('javascripts', 'musicssetlike', 'músicas classificadas como gosto');
mibTranslation.SetItem('javascripts', 'musicssetdislike', 'músicas classificadas como nao gosto');
mibTranslation.SetItem('javascripts', 'musicslibraryadd', 'músicas adicionadas em sua biblioteca');
mibTranslation.SetItem('javascripts', 'soldrulenotice', 'As músicas destacadas em vermelho não podem ser baixadas separadamente, para baixa-las acesse o álbum da música e clique em baixar');
mibTranslation.SetItem('javascripts', 'enjoy', 'Você vai curtir');
mibTranslation.SetItem('javascripts', 'heartdisliketext', 'não gosto');
mibTranslation.SetItem('javascripts', 'heartdislikeidentifier', 'nao_gosto');
mibTranslation.SetItem('javascripts', 'heartlikeidentifier', 'gosto');
mibTranslation.SetItem('javascripts', 'initialize', 'iniciar');
mibTranslation.SetItem('javascripts', 'play', 'play');
mibTranslation.SetItem('javascripts', 'pause', 'pausar');
mibTranslation.SetItem('javascripts', 'heartliketext', 'gosto');
mibTranslation.SetItem('javascripts', 'done', 'concluido');
mibTranslation.SetItem('javascripts', 'time', 'Tempo');
mibTranslation.SetItem('javascripts', 'status', 'Status');
mibTranslation.SetItem('javascripts', 'sucessdownload', 'Download efetuado com sucesso!');
mibTranslation.SetItem('javascripts', 'unavailableservicecountry', 'serviço indisponível para seu país');
mibTranslation.SetItem('javascripts', 'makingdownload', 'Efetuando download...');
mibTranslation.SetItem('javascripts', 'downloadinqueue', 'Download de música em fila...');
mibTranslation.SetItem('javascripts', 'listenplaylist', 'ouvir a playlist');
mibTranslation.SetItem('javascripts', 'artists', 'Artistas');
mibTranslation.SetItem('javascripts', 'artist', 'artista');
mibTranslation.SetItem('javascripts', 'acess', 'acesse');
mibTranslation.SetItem('javascripts', 'myacount', 'Minha Conta');
mibTranslation.SetItem('javascripts', 'soldrulenoticesingle', 'A música selecionada <br/> não pode ser baixada separadamente, <br/> para baixa-la acesse o álbum da música e clique em baixar');
mibTranslation.SetItem('javascripts', 'javascriptshareoverlayfriendemail', 'email do amigo');
mibTranslation.SetItem('javascripts', 'username', 'nome de usuário');
mibTranslation.SetItem('javascripts', 'error', 'Erro em requisição');
mibTranslation.SetItem('javascripts', 'excludeaction', 'Excluir da lista de m&uacute;sicas');
mibTranslation.SetItem('javascripts', 'sharemessagedefault', 'mensagem');
mibTranslation.SetItem('javascripts', 'findradioartists', 'buscar r&aacute;dios por artista');
mibTranslation.SetItem('javascripts', 'changepicture', 'trocar foto');
mibTranslation.SetItem('javascripts', 'loginerror', 'Login ou senha inválida. Tente novamente');
mibTranslation.SetItem('javascripts', 'radiosearchfield', 'digite o nome do artista...');
mibTranslation.SetItem('javascripts', 'combotitle', 'Selecionar um estilo');
mibTranslation.SetItem('javascripts', 'removeitemplaylist', 'Ao remover esta musica da playlist o player vai fechar. Deseja realmente fechar o player?');
mibTranslation.SetItem('javascripts', 'rpxloginerrormessage', 'Ops... ocorreu um erro com o seu login de outro site, por favor tente mais tarde!');
mibTranslation.SetItem('javascripts', 'openidautherrormessage', 'Ops... É necessário preencher nome de Usuário e Senha para login!');
mibTranslation.SetItem('javascripts', 'erroronusername', 'Ops... Por Favor informar nome e Sobre nome!');
mibTranslation.SetItem('javascripts', 'erroronemail', 'Ops... Por Favor informar um email válido!');
mibTranslation.SetItem('javascripts', 'erroronusernameinvalid', 'Ops... O nome não pode conter números!');
mibTranslation.SetItem('routes', 'explorersectionpopularsongs', 'Mais-Tocadas');
mibTranslation.SetItem('routes', 'explorersectionpopularartists', 'Mais-Tocados');
mibTranslation.SetItem('routes', 'explorersectionpopularalbuns', 'Mais-Tocados');
mibTranslation.SetItem('routes', 'explorersectionpiks', 'Destaques');
mibTranslation.SetItem('routes', 'explorersectionnow', 'Agora');
mibTranslation.SetItem('routes', 'explorersectionradio', 'Radio');
mibTranslation.SetItem('routes', 'explorersectionlibrary', 'Acervo');
mibTranslation.SetItem('routes', 'explorersectionwizard', 'PlaylistRapida');
mibTranslation.SetItem('routes', 'explorersectionmix', 'Mix');
mibTranslation.SetItem('routes', 'sectionmyacount', 'MinhaConta');
mibTranslation.SetItem('routes', 'sectionupgrade', 'Atualizacaoconta');
mibTranslation.SetItem('routes', 'explorerfiltermusics', 'Musicas');
mibTranslation.SetItem('routes', 'explorerfiltercds', 'Cds');
mibTranslation.SetItem('routes', 'explorerfilterartists', 'Artistas');
mibTranslation.SetItem('routes', 'explorerallgenrename', 'Todos');
mibTranslation.SetItem('routes', 'defaulturlmysonora', 'Meusonora');
mibTranslation.SetItem('routes', 'defaulturlmyplaylists', 'MinhasPlaylists');
mibTranslation.SetItem('routes', 'defaulturlhistory', 'Historico');
mibTranslation.SetItem('routes', 'defaulturlplaylisteditor', 'playlisteditor');
mibTranslation.SetItem('routes', 'defaulturlradiogenre', 'radiogenre');
mibTranslation.SetItem('routes', 'defaulturlartist', 'Artista');
mibTranslation.SetItem('routes', 'defaulturlcd', 'Cd');
mibTranslation.SetItem('routes', 'defaulturlmusic', 'Musica');
mibTranslation.SetItem('routes', 'defaulurlallcds', 'Todos-CDS');
mibTranslation.SetItem('routes', 'defaulturlcontent', 'content');
mibTranslation.SetItem('routes', 'defaulturlplayer', 'player');
mibTranslation.SetItem('routes', 'defaulturlbrowserrequirements', 'Plugins');
mibTranslation.SetItem('routes', 'defaulturlgetplugin', 'Plugin');
mibTranslation.SetItem('routes', 'defaulturlgetpluginv2', 'Plugin2');
mibTranslation.SetItem('routes', 'defaulturlsearch', 'Busca');
mibTranslation.SetItem('routes', 'defaulturltour', 'Tour');
mibTranslation.SetItem('routes', 'defaulturlclubstepbystep', 'SonoraClubePassoAPasso');
mibTranslation.SetItem('routes', 'defaulturlexit', 'Sair');
mibTranslation.SetItem('routes', 'defaulturlmydownloads', 'MeusDownloads');
mibTranslation.SetItem('routes', 'defaulturlmydownloadsfree', 'MeusDownloadsFree');
mibTranslation.SetItem('routes', 'defaulturlmydownloadsclub', 'MeusDownloadsSonoraClube');
mibTranslation.SetItem('routes', 'defaulurldownloadmanager', 'GerenciadorDownloads');
mibTranslation.SetItem('routes', 'defaulturlmydevices', 'MeusDispositivos');
mibTranslation.SetItem('routes', 'defaulturlotherusers', 'OutrosUsuarios');
mibTranslation.SetItem('routes', 'defaulturlfaq', 'Faq');
mibTranslation.SetItem('routes', 'defaulturlclub', 'SonoraClub');
mibTranslation.SetItem('routes', 'defaulturldownload', 'Download');
mibTranslation.SetItem('routes', 'defaulturlpurchasehistory', 'HistoricoCompras');
mibTranslation.SetItem('routes', 'defaulurlgeneralconditions', 'GeneralConditions');
mibTranslation.SetItem('routes', 'defaulturlgetlicenses', 'Licenses');
mibTranslation.SetItem('routes', 'defaulturlterratemplates', 'Auto');
mibTranslation.SetItem('routes', 'defaulturldownloadfree', 'DownloadFree');
mibTranslation.SetItem('routes', 'defaulturlshoppingcart', 'Carrinho');
mibTranslation.SetItem('routes', 'defaulturlpayment', 'Pagamento');
mibTranslation.SetItem('routes', 'terralegalnotice', 'http://www.terra.com.br/avisolegal.htm');
mibTranslation.SetItem('routes', 'terraonlinesalesurl', 'https://vendasonline.terra.com.br//controller.php?action=5000&origin=sonora_reg');
mibTranslation.SetItem('routes', 'terraonlinesalesurloverlay', 'https://vendasonline.terra.com.br//controller.php?action=5000&origin=sonora_reg&utm_source=div-sonora&utm_medium=botao-registrese-gratis&utm_campaign=sonora-produto');
mibTranslation.SetItem('routes', 'terracluburl', 'http://www.terra.com.br/clubeterra/');
mibTranslation.SetItem('routes', 'terraadvertiseurl', 'http://publicidade.terra.com.br/');
mibTranslation.SetItem('routes', 'terraprivacypolicy', 'http://www.terra.com.br/privacidade/');
mibTranslation.SetItem('routes', 'terracontactusurl', 'http://duvidas.terra.com.br/bin/controller.php?action=GET_FAQS_BY_PRODUCT&product=8');
mibTranslation.SetItem('routes', 'sonoracontactusurl', 'http://www.terra.com.br/fale/form.htm?036');
mibTranslation.SetItem('routes', 'terramainurl', 'http://www.terra.com.br');
mibTranslation.SetItem('routes', 'sonoramainurl', 'http://sonora.terra.com.br');
mibTranslation.SetItem('routes', 'sonorawmpurl', 'http://wmp.sonora.terra.com.br/');
mibTranslation.SetItem('routes', 'subscribercenterurl', 'http://www.terra.com.br/centraldoassinante/');
mibTranslation.SetItem('routes', 'pluginurl', 'http://sonora.terra.com.br/templates/assinatura/instalacao_plugin.htm');
mibTranslation.SetItem('routes', 'microsofturl', 'http://www.microsoft.com/brasil/windows');
mibTranslation.SetItem('routes', 'firefoxurl', 'http://www.mozilla.com/en-US/firefox/all.html');
mibTranslation.SetItem('routes', 'flashplayerurl', 'http://get.adobe.com/br/flashplayer/');
mibTranslation.SetItem('routes', 'silverlighturl', 'http://silverlight.net/');
mibTranslation.SetItem('routes', 'rememberpassword', 'https://central.terra.com.br/centralrw.cgi?_wc=+m3epmzmmGADjq77u5_aDm86mv_Cwv*lpqFEpmqDW6gnq7a8oppAVfCGWesZuv*Gppv23JjW8BL7hpjachuJpNCPuazJryLDGc3i5bFDm1VBkXadfMUOemSEV9owtoyZoZ');
mibTranslation.SetItem('routes', 'sonoraclubpcurl', 'http://trackingprodutos.terra.com.br/tt.php?action=click&parceiro=1963&redirect=https%3A%2F%2Fvendasonline.terra.com.br%2Fcontroller.php%3Faction%3D13%26origin%3Dassine_sonora_clube%26packageList%3DPCTR00051597%26promotionList%3DPMTR00001300');
mibTranslation.SetItem('routes', 'sonoracluburl', 'http://sonora.terra.com.br/hotsites/landing-1209/clube.html');
mibTranslation.SetItem('routes', 'sonoracluburloverlay', 'http://sonora.terra.com.br/hotsites/landing-1209/clube.html?utm_source=div-sonora&utm_medium=botao-saibamais-clube&utm_campaign=sonora-produto');
mibTranslation.SetItem('routes', 'sonoraplusurl', 'http://sonora.terra.com.br/hotsites/landing-1209/plus.html');
mibTranslation.SetItem('routes', 'sonoraplusurloverlay', 'http://sonora.terra.com.br/hotsites/landing-1209/plus.html?utm_source=div-sonora&utm_medium=botao-saibamais-plus&utm_campaign=sonora-produto');
mibTranslation.SetItem('routes', 'hotsiteplansfooter', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/index.html?utm_source=sonora-beta&utm_medium=link-rodape&utm_campaign=sonora-beta"');
mibTranslation.SetItem('routes', 'hotsiteplansurl', 'http://sonora.terra.com.br/hotsites/landing-1209/index.html');
mibTranslation.SetItem('routes', 'hotsiteplanslink', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/index.html"');
mibTranslation.SetItem('routes', 'hotsiteplanspluslink', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/plus.html"');
mibTranslation.SetItem('routes', 'hotsiteplansclublink', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/clube.html"');
mibTranslation.SetItem('routes', 'ssobaseurl', 'http://sso.terra.com.br/ssows.fcgi');
mibTranslation.SetItem('banners', 'bannersealchannel', 'selo');
mibTranslation.SetItem('banners', 'bannersuperchannel', 'miolo');
mibTranslation.SetItem('banners', 'bannerboxchannel', 'direita');
mibTranslation.SetItem('banners', 'bannerskychannel', 'sky');
mibTranslation.SetItem('banners', 'bannertopchannel', 'topo');
mibTranslation.SetItem('banners', 'bannerfooter', 'footer');
mibTranslation.SetItem('banners', 'bannerb1280', 'b1280');
mibTranslation.SetItem('banners', 'bannerplayer', 'player');
mibTranslation.SetItem('banners', 'bannermysonora', 'meusonora');
mibTranslation.SetItem('banners', 'bannernow', 'agora');
mibTranslation.SetItem('banners', 'bannerpopularsongs', 'maistocadas');
mibTranslation.SetItem('banners', 'bannerhighlights', 'destaque');
mibTranslation.SetItem('banners', 'bannercontent', 'content');
mibTranslation.SetItem('banners', 'bannerallgenre', 'todos');
mibTranslation.SetItem('banners', 'bannerhome', 'home');
mibTranslation.SetItem('banners', 'bannerothers', 'outros');
mibTranslation.SetItem('banners', 'bannerlibrary', 'acervo');
mibTranslation.SetItem('banners', 'bannerartist', 'content');
mibTranslation.SetItem('banners', 'bannerradios', 'radios');
mibTranslation.SetItem('banners', 'bannerranking', 'ranking');
mibTranslation.SetItem('subscriptionhotsites', 'subscriptionindex', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/index.html#params#"');
mibTranslation.SetItem('subscriptionhotsites', 'subscriptionplus', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/plus.html#params#"');
mibTranslation.SetItem('subscriptionhotsites', 'subscriptionclub', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/clube.html#params#"');
mibTranslation.SetItem('subscriptionhotsites', 'subscriptioncompare', 'target="_blank" class="openpopup" href="http://sonora.terra.com.br/hotsites/landing-1209/compare.html#params#"');
mibTranslation.SetItem('subscriptionhotsites', 'utmsourcedefault', '?utm_source=sonora-beta');
mibTranslation.SetItem('subscriptionhotsites', 'utmmediumfooter', '&utm_medium=link-rodape');
mibTranslation.SetItem('subscriptionhotsites', 'utmmediumshoppingcart', '&utm_medium=botao-sonoraclube-carrinhodecompra');
mibTranslation.SetItem('subscriptionhotsites', 'utmmediumboxlogin', '&utm_medium=plano_alterar-boxlogin');
mibTranslation.SetItem('subscriptionhotsites', 'utmmediummyaccount', '&utm_medium=saibamais-minhaconta');
mibTranslation.SetItem('subscriptionhotsites', 'utmcampaign', '&utm_campaign=sonora');
mibTranslation.SetItem('subscriptionhotsites', 'utmcampaignbeta', '&utm_campaign=sonora-beta');
