String.prototype._formatRegExp=/\{(\d+)\}/gm;String.prototype.format=function(){var replacements=arguments;return this.replace(this._formatRegExp,function(string,match){return replacements[parseInt(match)];});};if(!Array.prototype.map){Array.prototype.map=function(fun){var len=this.length>>>0;if(typeof fun!="function"){throw new TypeError();}var res=new Array(len);var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){res[i]=fun.call(thisp,this[i],i,this);}}return res;};}if(!Array.prototype.filter){Array.prototype.filter=function(fun){var len=this.length>>>0;if(typeof fun!="function"){throw new TypeError();}var res=[];var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){var val=this[i];if(fun.call(thisp,val,i,this)){res.push(val);}}}return res;};}if(!Array.prototype.every){Array.prototype.every=function(fun){var len=this.length>>>0;if(typeof fun!="function"){throw new TypeError();}var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this&&!fun.call(thisp,this[i],i,this)){return false;}}return true;};}if(!Array.prototype.forEach){Array.prototype.forEach=function(fun){var len=this.length>>>0;if(typeof fun!="function"){throw new TypeError();}var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){fun.call(thisp,this[i],i,this);}}};}Array.prototype.subtract=function(a,fun,scope){return this.filter(function(e){return a.every(function(ae){return fun?fun.call(scope,e,ae):e!=ae;});});};Array.prototype.hashtable=function(){var l=this.length>>>0,result={};if(0==l){return result;}var mapFn=arguments[0];if(typeof mapFn=="function"){for(var i=0;i<l;i++){result[mapFn(this[i])]=this[i];}}else{for(var i=0;i<l;i++){result[this[i]]=this[i];}}return result;};Array.prototype.indextable=function(){var l=this.length>>>0,result={};if(0==l){return result;}var mapFn=arguments[0];if(typeof mapFn=="function"){for(var i=0;i<l;i++){result[mapFn(this[i])]=i;}}else{for(var i=0;i<l;i++){result[this[i]]=i;}}return result;};Date.prototype.toTimeStr=function(){return this.toTimeString().substr(0,5);};Date.prototype.toDateStr=function(){var s=this.toDateString();return s.substr(0,s.length-5);};Date.prototype.toLocal=function(timezoneOffset){return new Date((this.valueOf()+(timezoneOffset||0)*60000));};Date.prototype.getWeek=function(){var target=new Date(this.valueOf());var dayNr=(this.getDay()+6)%7;target.setDate(target.getDate()-dayNr+3);var jan4=new Date(target.getFullYear(),0,4).getStartOfWeek();var dayDiff=(target-jan4)/86400000;var weekNr=1+Math.floor(dayDiff/7);return weekNr;};Date.prototype.getWeekYear=function(){var target=new Date(this.valueOf());target.setDate(target.getDate()-((this.getDay()+6)%7)+3);return target.getFullYear();};Date.prototype.getStartOfWeek=function(){var target=new Date(this.valueOf());target.setDate(target.getDate()-(6+target.getDay())%7);return target;};Date.prototype.getEndOfWeek=function(){var target=new Date(this.valueOf());target.setDate(target.getDate()+(6-(6+target.getDay())%7));return target;};Date.prototype.getEndOfMonth=function(){return new Date(this.getFullYear(),this.getMonth(),Date.daysInMonth[this.getMonth()]);};Date.prototype.getStartOfMonth=function(){return new Date(this.getFullYear(),this.getMonth(),1);};Date.parseWeek=function(s){var y=s.substr(0,4)>>>0,w=s.substr(5,2)>>>0,date=new Date(y,0,4);date.setDate(date.getDate()-((6+date.getDay())%7)+((w-1)*6));return date;};Date.prototype.addDays=function(days){this.setDate(this.getDate()+days);};
/*
 * Copyright (C) 2004 Baron Schwartz <baron at sequent dot org>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 */
Date.parseFunctions={count:0};Date.parseRegexes=[];Date.formatFunctions={count:0};Date.prototype.dateFormat=function(format,ignore_offset){if(Date.formatFunctions[format]==null){Date.createNewFormat(format);}var func=Date.formatFunctions[format];if(ignore_offset||!this.offset){return this[func]();}else{return(new Date(this.valueOf()-this.offset))[func]();}};Date.createNewFormat=function(format){var funcName="format"+Date.formatFunctions.count++;Date.formatFunctions[format]=funcName;var code="Date.prototype."+funcName+" = function(){return ";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;code+="'"+String.escape(ch)+"' + ";}else{code+=Date.getFormatCode(ch);}}}eval(code.substring(0,code.length-3)+";}");};Date.getFormatCode=function(character){switch(character){case"d":return"String.leftPad(this.getDate(), 2, '0') + ";case"D":return"Date.dayNames[this.getDay()].substring(0, 3) + ";case"j":return"this.getDate() + ";case"l":return"Date.dayNames[this.getDay()] + ";case"S":return"this.getSuffix() + ";case"w":return"this.getDay() + ";case"z":return"this.getDayOfYear() + ";case"W":return"this.getWeekOfYear() + ";case"F":return"Date.monthNames[this.getMonth()] + ";case"m":return"String.leftPad(this.getMonth() + 1, 2, '0') + ";case"M":return"Date.monthNames[this.getMonth()].substring(0, 3) + ";case"n":return"(this.getMonth() + 1) + ";case"t":return"this.getDaysInMonth() + ";case"L":return"(this.isLeapYear() ? 1 : 0) + ";case"Y":return"this.getFullYear() + ";case"y":return"('' + this.getFullYear()).substring(2, 4) + ";case"a":return"(this.getHours() < 12 ? 'am' : 'pm') + ";case"A":return"(this.getHours() < 12 ? 'AM' : 'PM') + ";case"g":return"((this.getHours() %12) ? this.getHours() % 12 : 12) + ";case"G":return"this.getHours() + ";case"h":return"String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";case"H":return"String.leftPad(this.getHours(), 2, '0') + ";case"i":return"String.leftPad(this.getMinutes(), 2, '0') + ";case"s":return"String.leftPad(this.getSeconds(), 2, '0') + ";case"O":return"this.getGMTOffset() + ";case"T":return"this.getTimezone() + ";case"Z":return"(this.getTimezoneOffset() * -60) + ";default:return"'"+String.escape(character)+"' + ";}};Date.parseDate=function(input,format){if(Date.parseFunctions[format]==null){Date.createParser(format);}var func=Date.parseFunctions[format];return Date[func](input);};Date.createParser=function(format){var funcName="parse"+Date.parseFunctions.count++;var regexNum=Date.parseRegexes.length;var currentGroup=1;Date.parseFunctions[format]=funcName;var code="Date."+funcName+" = function(input){\n"+"var y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, z = 0;\n"+"var d = new Date();\n"+"y = d.getFullYear();\n"+"m = d.getMonth();\n"+"d = d.getDate();\n"+"var results = input.match(Date.parseRegexes["+regexNum+"]);\n"+"if (results && results.length > 0) {";var regex="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;regex+=String.escape(ch);}else{obj=Date.formatCodeToRegex(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){code+=obj.c;}}}}code+="if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n"+"{return new Date(y, m, d, h, i, s).applyOffset(z);}\n"+"else if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n"+"{return new Date(y, m, d, h, i).applyOffset(z);}\n"+"else if (y > 0 && m >= 0 && d > 0 && h >= 0)\n"+"{return new Date(y, m, d, h).applyOffset(z);}\n"+"else if (y > 0 && m >= 0 && d > 0)\n"+"{return new Date(y, m, d).applyOffset(z);}\n"+"else if (y > 0 && m >= 0)\n"+"{return new Date(y, m).applyOffset(z);}\n"+"else if (y > 0)\n"+"{return new Date(y).applyOffset(z);}\n"+"}return null;}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$");eval(code);};Date.formatCodeToRegex=function(character,currentGroup){switch(character){case"D":return{g:0,c:null,s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"};case"j":case"d":return{g:1,c:"d = parseInt(results["+currentGroup+"], 10);\n",s:"(\\d{1,2})"};case"l":return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"};case"S":return{g:0,c:null,s:"(?:st|nd|rd|th)"};case"w":return{g:0,c:null,s:"\\d"};case"z":return{g:0,c:null,s:"(?:\\d{1,3})"};case"W":return{g:0,c:null,s:"(?:\\d{2})"};case"F":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+currentGroup+"].substring(0, 3)], 10);\n",s:"("+Date.monthNames.join("|")+")"};case"M":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+currentGroup+"]], 10);\n",s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"};case"n":case"m":return{g:1,c:"m = parseInt(results["+currentGroup+"], 10) - 1;\n",s:"(\\d{1,2})"};case"t":return{g:0,c:null,s:"\\d{1,2}"};case"L":return{g:0,c:null,s:"(?:1|0)"};case"Y":return{g:1,c:"y = parseInt(results["+currentGroup+"], 10);\n",s:"(\\d{4})"};case"y":return{g:1,c:"var ty = parseInt(results["+currentGroup+"], 10);\n"+"y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"};case"a":return{g:1,c:"if (results["+currentGroup+"] == 'am') {\n"+"if (h == 12) { h = 0; }\n"+"} else { if (h < 12) { h += 12; }}",s:"(am|pm)"};case"A":return{g:1,c:"if (results["+currentGroup+"] == 'AM') {\n"+"if (h == 12) { h = 0; }\n"+"} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"};case"g":case"G":case"h":case"H":return{g:1,c:"h = parseInt(results["+currentGroup+"], 10);\n",s:"(\\d{1,2})"};case"i":return{g:1,c:"i = parseInt(results["+currentGroup+"], 10);\n",s:"(\\d{2})"};case"s":return{g:1,c:"s = parseInt(results["+currentGroup+"], 10);\n",s:"(\\d{2})"};case"O":case"P":return{g:1,c:"z = Date.parseOffset(results["+currentGroup+"], 10);\n",s:"(Z|[+-]\\d{2}:?\\d{2})"};case"T":return{g:0,c:null,s:"[A-Z]{3}"};case"Z":return{g:1,c:"s = parseInt(results["+currentGroup+"], 10);\n",s:"([+-]\\d{1,5})"};default:return{g:0,c:null,s:String.escape(character)};}};Date.parseOffset=function(str){if(str=="Z"){return 0;}var seconds;seconds=parseInt(str[0]+str[1]+str[2])*3600;if(str[3]==":"){seconds+=parseInt(str[4]+str[5])*60;}else{seconds+=parseInt(str[3]+str[4])*60;}return seconds;};Date.prototype.applyOffset=function(offset_seconds){this.offset=offset_seconds*1000;this.setTime(this.valueOf()+this.offset);return this;};Date.prototype.getTimezone=function(){return this.toString().replace(/^.*? ([A-Z]{3}) [0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3").replace(/^.*?[0-9]{4} \(([A-Z]{3})\)/,"$1");};Date.prototype.getGMTOffset=function(){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(this.getTimezoneOffset()/60),2,"0")+String.leftPad(this.getTimezoneOffset()%60,2,"0");};Date.prototype.getDayOfYear=function(){var num=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var i=0;i<this.getMonth();++i){num+=Date.daysInMonth[i];}return num+this.getDate()-1;};Date.prototype.getWeekOfYear=function(){var now=this.getDayOfYear()+(4-this.getDay());var jan1=new Date(this.getFullYear(),0,1);var then=(7-jan1.getDay()+4);return String.leftPad(((now-then)/7)+1,2,"0");};Date.prototype.isLeapYear=function(){var year=this.getFullYear();return((year&3)==0&&(year%100||(year%400==0&&year)));};Date.prototype.getFirstDayOfMonth=function(){var day=(this.getDay()-(this.getDate()-1))%7;return(day<0)?(day+7):day;};Date.prototype.getLastDayOfMonth=function(){var day=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(day<0)?(day+7):day;};Date.prototype.getDaysInMonth=function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()];};Date.prototype.getSuffix=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};String.escape=function(string){return string.replace(/('|\\)/g,"\\$1");};String.leftPad=function(val,size,ch){var result=new String(val);if(ch==null){ch=" ";}while(result.length<size){result=ch+result;}return result;};Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.y2kYear=50;Date.monthNumbers={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};Date.patterns={ISO8601LongPattern:"Y\\-m\\-d\\TH\\:i\\:sO",ISO8601ShortPattern:"Y\\-m\\-d",ShortDatePattern:"n/j/Y",LongDatePattern:"l, F d, Y",FullDateTimePattern:"l, F d, Y g:i:s A",MonthDayPattern:"F d",ShortTimePattern:"g:i A",LongTimePattern:"g:i:s A",SortableDateTimePattern:"Y-m-d\\TH:i:s",UniversalSortableDateTimePattern:"Y-m-d H:i:sO",YearMonthPattern:"F, Y"};
/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){selector=jQuery.clean([match[1]],context);}else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3]){return jQuery().find(selector);}var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else{return jQuery(context).find(selector);}}else{if(jQuery.isFunction(selector)){return jQuery(document).ready(selector);}}if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector;}else{if(name){ret.selector=this.selector+"."+name+"("+selector+")";}}return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string"){if(value===undefined){return this[0]&&jQuery[type||"attr"](this[0],name);}else{options={};options[name]=value;}}return this.each(function(i){for(name in options){jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));}});},css:function(key,value){if((key=="width"||key=="height")&&parseFloat(value)<0){value=undefined;}return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!=="object"&&text!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));}var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8){ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);}});});return ret;},wrapAll:function(html){if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode){wrap.insertBefore(this[0]);}wrap.map(function(){var elem=this;while(elem.firstChild){elem=elem.firstChild;}return elem;}).append(this);}return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1){this.appendChild(elem);}});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1){this.insertBefore(elem,this.firstChild);}});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else{return this.cloneNode(true);}});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName){return;}var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}i++;});}return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string"){if(isSimple.test(selector)){return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);}else{selector=jQuery.multiFilter(selector,this);}}var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return !!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return !!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,"option")){return(elem.attributes.value||{}).specified?elem.value:elem.text;}if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0){return null;}for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one){return value;}values.push(value);}}return values;}return(elem.value||"").replace(/\r/g,"");}return undefined;}if(typeof value==="number"){value+="";}return this.each(function(){if(this.nodeType!=1){return;}if(jQuery.isArray(value)&&/radio|checkbox/.test(this.type)){this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);}else{if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length){this.selectedIndex=-1;}}else{this.value=value;}}});},html:function(value){return value===undefined?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,+i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first){for(var i=0,l=this.length;i<l;i++){callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);}}if(scripts){jQuery.each(scripts,evalScript);}}return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"});}else{jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");}if(elem.parentNode){elem.parentNode.removeChild(elem);}}function now(){return +new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}if(length==i){target=this;--i;}for(;i<length;i++){if((options=arguments[i])!=null){for(var name in options){var src=target[name],copy=options[name];if(target===copy){continue;}if(deep&&copy&&typeof copy==="object"&&!copy.nodeType){target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);}else{if(copy!==undefined){target[name]=copy;}}}}}return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep){window.jQuery=_jQuery;}return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval){script.appendChild(document.createTextNode(data));}else{script.text=data;}head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object){if(callback.apply(object[name],args)===false){break;}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break;}}}}else{if(length===undefined){for(name in object){if(callback.call(object[name],name,object[name])===false){break;}}}else{for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value)){value=value.call(elem,i);}return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className)){elem.className+=(elem.className?" ":"")+className;}});},remove:function(elem,classNames){if(elem.nodeType==1){elem.className=classNames!==undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return !jQuery.className.has(classNames,className);}).join(" "):"";}},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options){elem.style[name]=old[name];}},css:function(elem,name,force,extra){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border"){return;}jQuery.each(which,function(){if(!extra){val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;}if(extra==="margin"){val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;}else{val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;}});}if(elem.offsetWidth!==0){getWH();}else{jQuery.swap(elem,props,getWH);}return Math.max(0,Math.round(val));}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(name.match(/float/i)){name=styleFloat;}if(!force&&style&&style[name]){ret=style[name];}else{if(defaultView.getComputedStyle){if(name.match(/float/i)){name="float";}name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle){ret=computedStyle.getPropertyValue(name);}if(name=="opacity"&&ret==""){ret="1";}}else{if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}}}return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;}if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match){return[context.createElement(match[1])];}}var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number"){elem+="";}if(!elem){return;}if(typeof elem==="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--){div=div.lastChild;}if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j]);}}}if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem)){div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.nodeType){ret.push(elem);}else{ret=jQuery.merge(ret,elem);}});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1){ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));}fragment.appendChild(ret[i]);}}return scripts;}return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8){return undefined;}var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode){elem.parentNode.selectedIndex;}if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode){throw"type property can't be changed";}elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name)){return elem.getAttributeNode(name).nodeValue;}if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}return elem[name];}if(!jQuery.support.style&&notxml&&name=="style"){return jQuery.attr(elem.style,"cssText",value);}if(set){elem.setAttribute(name,""+value);}var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+""=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+"":"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set){elem[name]=value;}return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval){ret[0]=array;}else{while(i){ret[--i]=array[i];}}}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i;}}return -1;},merge:function(first,second){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null){if(elem.nodeType!=8){first[pos++]=elem;}}}else{while((elem=second[i++])!=null){first[pos++]=elem;}}return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++){if(!inv!=!callback(elems[i],i)){ret.push(elems[i]);}}return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null){ret[ret.length]=value;}}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string"){ret=jQuery.multiFilter(selector,ret);}return this.pushStack(jQuery.unique(ret),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}return this.pushStack(ret,name,selector);};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1){this.removeAttribute(name);}},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames,state){if(typeof state!=="boolean"){state=!jQuery.className.has(this,classNames);}jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode){this.parentNode.removeChild(this);}}},empty:function(){jQuery(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild);}}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id){id=elem[expando]=++uuid;}if(name&&!jQuery.cache[id]){jQuery.cache[id]={};}if(data!==undefined){jQuery.cache[id][name]=data;}return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id]){break;}if(!name){jQuery.removeData(elem);}}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute){elem.removeAttribute(expando);}}delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data)){q=jQuery.data(elem,type,jQuery.makeArray(data));}else{if(data){q.push(data);}}}return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx"){fn=queue[0];}if(fn!==undefined){fn.call(elem);}}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length){data=jQuery.data(this[0],key);}return data===undefined&&parts[1]?this.data(parts[0]):data;}else{return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}if(data===undefined){return jQuery.queue(this[0],type);}return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1){queue[0].call(this);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9){return[];}if(!selector||typeof selector!=="string"){return results;}var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift();}set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}if(pop==null){pop=context;}Expr.relative[cur](checkSet,pop,isXML(context));}}if(!checkSet){checkSet=set;}if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else{if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}}else{makeArray(checkSet,results);}if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}if(!set){set=context.getElementsByTagName("*");}return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else{if(match===true){continue;}}}if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else{if(pass){result.push(item);anyFound=true;}}}}}if(found!==undefined){if(!inplace){curLoop=result;}expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}break;}}}if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}old=expr;}return curLoop;};var Expr=Sizzle.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\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace){result.push(elem);}}else{if(inplace){curLoop[i]=false;}}}}return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}if(match[2]==="~="){match[4]=" "+match[4]+" ";}return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}return false;}}else{if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}}return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return !!elem.firstChild;},empty:function(elem){return !elem.firstChild;},has:function(elem,i,match){return !!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else{if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else{if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}return true;}}}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while(node=node.previousSibling){if(node.nodeType===1){return false;}}if(type=="first"){return true;}node=elem;case"last":while(node=node.nextSibling){if(node.nodeType===1){return false;}}return true;case"nth":var first=match[2],last=match[3];if(first==1&&last==0){return true;}var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}parent.sizcache=doneName;}var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}return ret;};}var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}return ret;};}else{if("sourceIndex" in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}return ret;};}else{if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}return ret;};}}}(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}results=tmp;}return results;};}div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0){return;}div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return;}Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();}function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}if(elem.nodeName===cur){match=elem;break;}elem=elem[dir];}checkSet[i]=match;}}}function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else{if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}}elem=elem[dir];}checkSet[i]=match;}}}var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1){matched.push(cur);}cur=cur[dir];}return matched;};jQuery.nth=function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType==1&&++num==result){break;}}return cur;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem){r.push(n);}}return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8){return;}if(elem.setInterval&&elem!=window){elem=window;}if(!handler.guid){handler.guid=this.guid++;}if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type]){jQuery.event.specialAll[type].setup.call(elem,data,namespaces);}if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener){elem.addEventListener(type,handle,false);}else{if(elem.attachEvent){elem.attachEvent("on"+type,handle);}}}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8){return;}var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)==".")){for(var type in events){this.remove(elem,type+(types||""));}}else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler){delete events[type][handler.guid];}else{for(var handle in events[type]){if(namespace.test(events[type][handle].type)){delete events[type][handle];}}}if(jQuery.event.specialAll[type]){jQuery.event.specialAll[type].teardown.call(elem,namespaces);}for(ret in events[type]){break;}if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===false){if(elem.removeEventListener){elem.removeEventListener(type,jQuery.data(elem,"handle"),false);}else{if(elem.detachEvent){elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}}}ret=null;delete events[type];}}});}for(ret in events){break;}if(!ret){var handle=jQuery.data(elem,"handle");if(handle){handle.elem=null;}jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}if(!elem){event.stopPropagation();if(this.global[type]){jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type]){jQuery.event.trigger(event,data,this.handle.elem);}});}}if(!elem||elem.nodeType==3||elem.nodeType==8){return undefined;}event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle){handle.apply(elem,data);}if((!elem[type]||(jQuery.nodeName(elem,"a")&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false){event.result=false;}if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,"a")&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent){jQuery.event.trigger(event,data,parent,true);}}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}if(event.isImmediatePropagationStopped()){break;}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando]){return event;}var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}if(!event.target){event.target=event.srcElement||document;}if(event.target.nodeType==3){event.target=event.target.parentNode;}if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;}if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode)){event.which=event.charCode||event.keyCode;}if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey;}if(!event.which&&event.button){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));}return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type)){remove++;}});if(remove<1){jQuery.event.remove(this,namespaces[0],liveHandler);}}}}}};jQuery.Event=function(src){if(!this.preventDefault){return new jQuery.Event(src);}if(src&&src.type){this.originalEvent=src;this.type=src.type;}else{this.type=src;}this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}function returnTrue(){return true;}jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return;}if(e.preventDefault){e.preventDefault();}e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return;}if(e.stopPropagation){e.stopPropagation();}e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this){try{parent=parent.parentNode;}catch(e){parent=this;}}if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length){jQuery.event.proxy(fn,args[i++]);}return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady){fn.call(document,jQuery);}else{jQuery.readyList.push(fn);}return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem){elems.push({elem:elem,fn:fn});}}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false){return(stop=false);}});return stop;}function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound){return;}readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top){(function(){if(jQuery.isReady){return;}try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}}}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind("unload",function(){for(var id in jQuery.cache){if(id!=1&&jQuery.cache[id].handle){jQuery.event.remove(jQuery.cache[id].handle.elem);}}});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display="none";});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string"){return this._load(url);}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=null;}else{if(typeof params==="object"){params=jQuery.param(params);type="POST";}}}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified"){self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);}if(callback){self.each(callback,[res.responseText,status,res]);}}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data);}if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre)){s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}}else{if(!s.data||!s.data.match(jsre)){s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";}}s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data){s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");}s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head){head.removeChild(script);}};}if(s.dataType=="script"&&s.cache==null){s.cache=false;}if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++){jQuery.event.trigger("ajaxStart");}var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset){script.charset=s.scriptCharset;}if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=s.xhr();if(s.username){xhr.open(type,s.url,s.async,s.username,s.password);}else{xhr.open(type,s.url,s.async);}try{if(s.data){xhr.setRequestHeader("Content-Type",s.contentType);}if(s.ifModified){xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");}xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop");}xhr.abort();return false;}if(s.global){jQuery.event.trigger("ajaxSend",[xhr,s]);}var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop");}}}else{if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes){jQuery.lastModified[s.url]=modRes;}if(!jsonp){success();}}else{jQuery.handleError(s,xhr,status);}complete();if(isTimeout){xhr.abort();}if(s.async){xhr=null;}}}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0){setTimeout(function(){if(xhr&&!requestDone){onreadystatechange("timeout");}},s.timeout);}}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async){onreadystatechange();}function success(){if(s.success){s.success(data,status);}if(s.global){jQuery.event.trigger("ajaxSuccess",[xhr,s]);}}function complete(){if(s.complete){s.complete(xhr,status);}if(s.global){jQuery.event.trigger("ajaxComplete",[xhr,s]);}if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop");}}return xhr;},handleError:function(s,xhr,status,e){if(s.error){s.error(xhr,status,e);}if(s.global){jQuery.event.trigger("ajaxError",[xhr,s,e]);}},active:0,httpSuccess:function(xhr){try{return !xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror"){throw"parsererror";}if(s&&s.dataFilter){data=s.dataFilter(data,type);}if(typeof data==="string"){if(type=="script"){jQuery.globalEval(data);}if(type=="json"){data=window["eval"]("("+data+")");}}return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);}if(jQuery.isArray(a)||a.jquery){jQuery.each(a,function(){add(this.name,this.value);});}else{for(var j in a){if(jQuery.isArray(a[j])){jQuery.each(a[j],function(){add(j,this);});}else{add(j,jQuery.isFunction(a[j])?a[j]():a[j]);}}}return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none"){display="block";}elem.remove();elemdisplay[tagName]=display;}jQuery.data(this[i],"olddisplay",display);}}for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none"){jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}}for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden){return opt.complete.call(this);}if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null){this.style.overflow="hidden";}opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val)){e[val=="toggle"?hidden?"show":"hide":val](prop);}else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1]){end=((parts[1]=="-="?-1:1)*end)+start;}e.custom(start,end,unit);}else{e.custom(start,val,"");}}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue){this.queue([]);}this.each(function(){for(var i=timers.length-1;i>=0;i--){if(timers[i].elem==this){if(gotoEnd){timers[i](true);}timers.splice(i,1);}}});if(!gotoEnd){this.dequeue();}return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false){jQuery(this).dequeue();}if(jQuery.isFunction(opt.old)){opt.old.call(this);}};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig){options.orig={};}}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this);}(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block";}},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop];}var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++){if(!timers[i]()){timers.splice(i--,1);}}if(!timers.length){clearInterval(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim){if(this.options.curAnim[i]!==true){done=false;}}if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none"){this.elem.style.display="block";}}if(this.options.hide){jQuery(this.elem).hide();}if(this.options.hide||this.options.show){for(var p in this.options.curAnim){jQuery.attr(this.elem.style,p,this.options.orig[p]);}}this.options.complete.call(this.elem);}return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=fx.now+fx.unit;}else{fx.elem[fx.prop]=fx.now;}}}});if(document.documentElement["getBoundingClientRect"]){jQuery.fn.offset=function(){if(!this[0]){return{top:0,left:0};}if(this[0]===this[0].ownerDocument.body){return jQuery.offset.bodyOffset(this[0]);}var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};}else{jQuery.fn.offset=function(){if(!this[0]){return{top:0,left:0};}if(this[0]===this[0].ownerDocument.body){return jQuery.offset.bodyOffset(this[0]);}jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName))){top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;}prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;}prevComputedStyle=computedStyle;}if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop,left+=body.offsetLeft;}if(prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);}return{top:top,left:left};};}jQuery.offset={initialize:function(){if(this.initialized){return;}var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<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>';rules={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(prop in rules){container.style[prop]=rules[prop];}container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow="hidden",innerDiv.style.position="relative";this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset){top+=parseInt(jQuery.curCSS(body,"marginTop",true),10)||0,left+=parseInt(jQuery.curCSS(body,"marginLeft",true),10)||0;}return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,"marginTop");offset.left-=num(this,"marginLeft");parentOffset.top+=num(offsetParent,"borderTopWidth");parentOffset.left+=num(offsetParent,"borderLeftWidth");results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,"position")=="static")){offsetParent=offsetParent.offsetParent;}return jQuery(offsetParent);}});jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name;jQuery.fn[method]=function(val){if(!this[0]){return null;}return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?"pageYOffset":"pageXOffset"]||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();jQuery.ui||(function($){var _remove=$.fn.remove,isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);$.ui={version:"1.7.2",plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set||!instance.element[0].parentNode){return;}for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b);},hasScroll:function(el,a){if($(el).css("overflow")=="hidden"){return false;}var scroll=(a&&a=="left")?"scrollLeft":"scrollTop",has=false;if(el[scroll]>0){return true;}el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x>reference)&&(x<(reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);},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(isFF2){var attr=$.attr,removeAttr=$.fn.removeAttr,ariaNS="http://www.w3.org/2005/07/aaa",ariaState=/^aria-/,ariaRole=/^wairole:/;$.attr=function(elem,name,value){var set=value!==undefined;return(name=="role"?(set?attr.call(this,elem,name,"wairole:"+value):(attr.apply(this,arguments)||"").replace(ariaRole,"")):(ariaState.test(name)?(set?elem.setAttributeNS(ariaNS,name.replace(ariaState,"aaa:"),value):attr.call(this,elem,name.replace(ariaState,"aaa:"))):attr.apply(this,arguments)));};$.fn.removeAttr=function(name){return(ariaState.test(name)?this.each(function(){this.removeAttributeNS(ariaNS,name.replace(ariaState,""));}):removeAttr.call(this,name));};}$.fn.extend({remove:function(){$("*",this).add(this).each(function(){$(this).triggerHandler("remove");});return _remove.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 scrollParent;if(($.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){scrollParent=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test($.curCSS(this,"position",1))&&(/(auto|scroll)/).test($.curCSS(this,"overflow",1)+$.curCSS(this,"overflow-y",1)+$.curCSS(this,"overflow-x",1));}).eq(0);}else{scrollParent=this.parents().filter(function(){return(/(auto|scroll)/).test($.curCSS(this,"overflow",1)+$.curCSS(this,"overflow-y",1)+$.curCSS(this,"overflow-x",1));}).eq(0);}return(/fixed/).test(this.css("position"))||!scrollParent.length?$(document):scrollParent;}});$.extend($.expr[":"],{data:function(elem,i,match){return !!$.data(elem,match[3]);},focusable:function(element){var nodeName=element.nodeName.toLowerCase(),tabIndex=$.attr(element,"tabindex");return(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:"a"==nodeName||"area"==nodeName?element.href||!isNaN(tabIndex):!isNaN(tabIndex))&&!$(element)["area"==nodeName?"parents":"closest"](":hidden").length;},tabbable:function(element){var tabIndex=$.attr(element,"tabindex");return(isNaN(tabIndex)||tabIndex>=0)&&$(element).is(":focusable");}});function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=="string"?methods.split(/,?\s+/):methods);}var methods=getMethods("getter");if(args.length==1&&typeof args[0]=="string"){methods=methods.concat(getMethods("getterSetter"));}return($.inArray(method,methods)!=-1);}$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=="string"),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=="_"){return this;}if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options))._init());(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace]=$[namespace]||{};$[namespace][name]=function(element,options){var self=this;this.namespace=namespace;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+"-"+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind("setData."+name,function(event,key,value){if(event.target==element){return self._setData(key,value);}}).bind("getData."+name,function(event,key){if(event.target==element){return self._getData(key);}}).bind("remove",function(){return self.destroy();});};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter="option";};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled"+" "+this.namespace+"-state-disabled").removeAttr("aria-disabled");},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}options={};options[key]=value;}$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=="disabled"){this.element[value?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+this.namespace+"-state-disabled").attr("aria-disabled",value);}},enable:function(){this._setData("disabled",false);},disable:function(){this._setData("disabled",true);},_trigger:function(type,event,data){var callback=this.options[type],eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);event=$.Event(event);event.type=eventName;if(event.originalEvent){for(var i=$.event.props.length,prop;i;){prop=$.event.props[--i];event[prop]=event.originalEvent[prop];}}this.element.trigger(event,data);return !($.isFunction(callback)&&callback.call(this.element[0],event,data)===false||event.isDefaultPrevented());}};$.widget.defaults={disabled:false};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind("mousedown."+this.widgetName,function(event){return self._mouseDown(event);}).bind("click."+this.widgetName,function(event){if(self._preventClickEvent){self._preventClickEvent=false;event.stopImmediatePropagation();return false;}});if($.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on");}this.started=false;},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);($.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable));},_mouseDown:function(event){event.originalEvent=event.originalEvent||{};if(event.originalEvent.mouseHandled){return;}(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);if(!this._mouseStarted){event.preventDefault();return true;}}this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);($.browser.safari||event.preventDefault());event.originalEvent.mouseHandled=true;return true;},_mouseMove:function(event){if($.browser.msie&&!event.button){return this._mouseUp(event);}if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));}return !this._mouseStarted;},_mouseUp:function(event){$(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(event.target==this._mouseDownEvent.target);this._mouseStop(event);}return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(event){return this.mouseDelayMet;},_mouseStart:function(event){},_mouseDrag:function(event){},_mouseStop:function(event){},_mouseCapture:function(event){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.sortable",$.extend({},$.ui.mouse,{_init:function(){var o=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 i=this.items.length-1;i>=0;i--){this.items[i].item.removeData("sortable-item");}},_mouseCapture:function(event,overrideHandle){if(this.reverting){return false;}if(this.options.disabled||this.options.type=="static"){return false;}this._refreshItems(event);var currentItem=null,self=this,nodes=$(event.target).parents().each(function(){if($.data(this,"sortable-item")==self){currentItem=$(this);return false;}});if($.data(event.target,"sortable-item")==self){currentItem=$(event.target);}if(!currentItem){return false;}if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==event.target){validHandle=true;}});if(!validHandle){return false;}}this.currentItem=currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var o=this.options,self=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);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");$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt){this._adjustOffsetFromHelper(o.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(o.containment){this._setContainment();}if(o.cursor){if($("body").css("cursor")){this._storedCursor=$("body").css("cursor");}$("body").css("cursor",o.cursor);}if(o.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity");}this.helper.css("opacity",o.opacity);}if(o.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex");}this.helper.css("zIndex",o.zIndex);}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset();}this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions();}if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,self._uiHash(this));}}if($.ui.ddmanager){$.ui.ddmanager.current=this;}if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(event);return true;},_mouseDrag:function(event){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs;}if(this.options.scroll){var o=this.options,scrolled=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity){this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed;}else{if(event.pageY-this.overflowOffset.top<o.scrollSensitivity){this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed;}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity){this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed;}else{if(event.pageX-this.overflowOffset.left<o.scrollSensitivity){this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed;}}}else{if(event.pageY-$(document).scrollTop()<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);}else{if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}}if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);}else{if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}}if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}}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 i=this.items.length-1;i>=0;i--){var item=this.items[i],itemElement=item.item[0],intersection=this._intersectsWithPointer(item);if(!intersection){continue;}if(itemElement!=this.currentItem[0]&&this.placeholder[intersection==1?"next":"prev"]()[0]!=itemElement&&!$.ui.contains(this.placeholder[0],itemElement)&&(this.options.type=="semi-dynamic"?!$.ui.contains(this.element[0],itemElement):true)){this.direction=intersection==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(item)){this._rearrange(event,item);}else{break;}this._trigger("change",event,this._uiHash());break;}}this._contactContainers(event);if($.ui.ddmanager){$.ui.ddmanager.drag(this,event);}this._trigger("sort",event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event){return;}if($.ui.ddmanager&&!this.options.dropBehaviour){$.ui.ddmanager.drop(this,event);}if(this.options.revert){var self=this;var cur=self.placeholder.offset();self.reverting=true;$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self._clear(event);});}else{this._clear(event,noPropagation);}return false;},cancel:function(){var self=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 i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,self._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,self._uiHash(this));this.containers[i].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();}$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}return true;},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||"id")||"").match(o.expression||(/(.+)[-=_](.+)/));if(res){str.push((o.key||res[1]+"[]")+"="+(o.key&&o.expression?res[1]:res[2]));}});return str.join("&");},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||"id")||"");});return ret;},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var isOverElement=(y1+dyClick)>t&&(y1+dyClick)<b&&(x1+dxClick)>l&&(x1+dxClick)<r;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>item[this.floating?"width":"height"])){return isOverElement;}else{return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b);}},_intersectsWithPointer:function(item){var isOverElementHeight=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),isOverElement=isOverElementHeight&&isOverElementWidth,verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(!isOverElement){return false;}return this.floating?(((horizontalDirection&&horizontalDirection=="right")||verticalDirection=="down")?2:1):(verticalDirection&&(verticalDirection=="down"?2:1));},_intersectsWithSides:function(item){var isOverBottomHalf=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),isOverRightHalf=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(this.floating&&horizontalDirection){return((horizontalDirection=="right"&&isOverRightHalf)||(horizontalDirection=="left"&&!isOverRightHalf));}else{return verticalDirection&&((verticalDirection=="down"&&isOverBottomHalf)||(verticalDirection=="up"&&!isOverBottomHalf));}},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return delta!=0&&(delta>0?"down":"up");},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!=0&&(delta>0?"right":"left");},refresh:function(event){this._refreshItems(event);this.refreshPositions();},_connectWith:function(){var options=this.options;return options.connectWith.constructor==String?[options.connectWith]:options.connectWith;},_getItemsAsjQuery:function(connected){var self=this;var items=[];var queries=[];var connectWith=this._connectWith();if(connectWith&&connected){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],"sortable");if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper"),inst]);}}}}queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){items.push(this);});}return $(items);},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data(sortable-item)");for(var i=0;i<this.items.length;i++){for(var j=0;j<list.length;j++){if(list[j]==this.items[i].item[0]){this.items.splice(i,1);}}}},_refreshItems:function(event){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]];var connectWith=this._connectWith();if(connectWith){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],"sortable");if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}}}}for(var i=queries.length-1;i>=0;i--){var targetData=queries[i][1];var _queries=queries[i][0];for(var j=0,queriesLength=_queries.length;j<queriesLength;j++){var item=$(_queries[j]);item.data("sortable-item",targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});}}},refreshPositions:function(fast){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();}for(var i=this.items.length-1;i>=0;i--){var item=this.items[i];if(item.instance!=this.currentContainer&&this.currentContainer&&item.item[0]!=this.currentItem[0]){continue;}var t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight();}var p=t.offset();item.left=p.left;item.top=p.top;}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();}}},_createPlaceholder:function(that){var self=that||this,o=self.options;if(!o.placeholder||o.placeholder.constructor==String){var className=o.placeholder;o.placeholder={element:function(){var el=$(document.createElement(self.currentItem[0].nodeName)).addClass(className||self.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!className){el.style.visibility="hidden";}return el;},update:function(container,p){if(className&&!o.forcePlaceholderSize){return;}if(!p.height()){p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css("paddingTop")||0,10)-parseInt(self.currentItem.css("paddingBottom")||0,10));}if(!p.width()){p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css("paddingLeft")||0,10)-parseInt(self.currentItem.css("paddingRight")||0,10));}}};}self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem));self.currentItem.after(self.placeholder);o.placeholder.update(self,self.placeholder);},_contactContainers:function(event){for(var i=this.containers.length-1;i>=0;i--){if(this._intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?"left":"top"];for(var j=this.items.length-1;j>=0;j--){if(!$.ui.contains(this.containers[i].element[0],this.items[j].item[0])){continue;}var cur=this.items[j][this.containers[i].floating?"left":"top"];if(Math.abs(cur-base)<dist){dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j];}}if(!itemWithLeastDistance&&!this.options.dropOnEmpty){continue;}this.currentContainer=this.containers[i];itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[i].element,true);this._trigger("change",event,this._uiHash());this.containers[i]._trigger("change",event,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);}this.containers[i]._trigger("over",event,this._uiHash(this));this.containers[i].containerCache.over=1;}}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}}},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper=="clone"?this.currentItem.clone():this.currentItem);if(!helper.parents("body").length){$(o.appendTo!="parent"?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);}if(helper[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(helper[0].style.width==""||o.forceHelperSize){helper.width(this.currentItem.width());}if(helper[0].style.height==""||o.forceHelperSize){helper.height(this.currentItem.height());}return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined){this.offset.click.left=obj.left+this.margins.left;}if(obj.right!=undefined){this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;}if(obj.top!=undefined){this.offset.click.top=obj.top+this.margins.top;}if(obj.bottom!=undefined){this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&$.browser.msie)){po={top:0,left:0};}return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.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 o=this.options;if(o.containment=="parent"){o.containment=this.helper[0].parentNode;}if(o.containment=="document"||o.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];}if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();var over=($(ce).css("overflow")!="hidden");this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}},_convertPositionTo:function(d,pos){if(!pos){pos=this.position;}var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0]){pageX=this.containment[0]+this.offset.click.left;}if(event.pageY-this.offset.click.top<this.containment[1]){pageY=this.containment[1]+this.offset.click.top;}if(event.pageX-this.offset.click.left>this.containment[2]){pageX=this.containment[2]+this.offset.click.left;}if(event.pageY-this.offset.click.top>this.containment[3]){pageY=this.containment[3]+this.offset.click.top;}}if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}return{top:(pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter){self.refreshPositions(!hardRefresh);}},0);},_clear:function(event,noPropagation){this.reverting=false;var delayedTriggers=[],self=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 i in this._storedCSS){if(this._storedCSS[i]=="auto"||this._storedCSS[i]=="static"){this._storedCSS[i]="";}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");}else{this.currentItem.show();}if(this.fromOutside&&!noPropagation){delayedTriggers.push(function(event){this._trigger("receive",event,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])&&!noPropagation){delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});}if(!$.ui.contains(this.element[0],this.currentItem[0])){if(!noPropagation){delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash());});}for(var i=this.containers.length-1;i>=0;i--){if($.ui.contains(this.containers[i].element[0],this.currentItem[0])&&!noPropagation){delayedTriggers.push((function(c){return function(event){c._trigger("receive",event,this._uiHash(this));};}).call(this,this.containers[i]));delayedTriggers.push((function(c){return function(event){c._trigger("update",event,this._uiHash(this));};}).call(this,this.containers[i]));}}}for(var i=this.containers.length-1;i>=0;i--){if(!noPropagation){delayedTriggers.push((function(c){return function(event){c._trigger("deactivate",event,this._uiHash(this));};}).call(this,this.containers[i]));}if(this.containers[i].containerCache.over){delayedTriggers.push((function(c){return function(event){c._trigger("out",event,this._uiHash(this));};}).call(this,this.containers[i]));this.containers[i].containerCache.over=0;}}if(this._storedCursor){$("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(!noPropagation){this._trigger("beforeStop",event,this._uiHash());for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);}this._trigger("stop",event,this._uiHash());}return false;}if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove();}this.helper=null;if(!noPropagation){for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);}this._trigger("stop",event,this._uiHash());}this.fromOutside=false;return true;},_trigger:function(){if($.widget.prototype._trigger.apply(this,arguments)===false){this.cancel();}},_uiHash:function(inst){var self=inst||this;return{helper:self.helper,placeholder:self.placeholder||$([]),position:self.position,absolutePosition:self.positionAbs,offset:self.positionAbs,item:self.currentItem,sender:inst?inst.element:null};}}));$.extend($.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);(function($){$.widget("ui.draggable",$.extend({},$.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(event){var o=this.options;if(this.helper||o.disabled||$(event.target).is(".ui-resizable-handle")){return false;}this.handle=this._getHandle(event);if(!this.handle){return false;}return true;},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this._cacheHelperProportions();if($.ui.ddmanager){$.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};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt){this._adjustOffsetFromHelper(o.cursorAt);}if(o.containment){this._setContainment();}this._trigger("start",event);this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(event,true);return true;},_mouseDrag:function(event,noPropagation){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();this._trigger("drag",event,ui);this.position=ui.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($.ui.ddmanager){$.ui.ddmanager.drag(this,event);}return false;},_mouseStop:function(event){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour){dropped=$.ui.ddmanager.drop(this,event);}if(this.dropped){dropped=this.dropped;this.dropped=false;}if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){self._trigger("stop",event);self._clear();});}else{this._trigger("stop",event);this._clear();}return false;},_getHandle:function(event){var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==event.target){handle=true;}});return handle;},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=="clone"?this.element.clone():this.element);if(!helper.parents("body").length){helper.appendTo((o.appendTo=="parent"?this.element[0].parentNode:o.appendTo));}if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position"))){helper.css("position","absolute");}return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined){this.offset.click.left=obj.left+this.margins.left;}if(obj.right!=undefined){this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;}if(obj.top!=undefined){this.offset.click.top=obj.top+this.margins.top;}if(obj.bottom!=undefined){this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&$.browser.msie)){po={top:0,left:0};}return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.element.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.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 o=this.options;if(o.containment=="parent"){o.containment=this.helper[0].parentNode;}if(o.containment=="document"||o.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];}if(!(/^(document|window|parent)$/).test(o.containment)&&o.containment.constructor!=Array){var ce=$(o.containment)[0];if(!ce){return;}var co=$(o.containment).offset();var over=($(ce).css("overflow")!="hidden");this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}else{if(o.containment.constructor==Array){this.containment=o.containment;}}},_convertPositionTo:function(d,pos){if(!pos){pos=this.position;}var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0]){pageX=this.containment[0]+this.offset.click.left;}if(event.pageY-this.offset.click.top<this.containment[1]){pageY=this.containment[1]+this.offset.click.top;}if(event.pageX-this.offset.click.left>this.containment[2]){pageX=this.containment[2]+this.offset.click.left;}if(event.pageY-this.offset.click.top>this.containment[3]){pageY=this.containment[3]+this.offset.click.top;}}if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}return{top:(pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.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(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui]);if(type=="drag"){this.positionAbs=this._convertPositionTo("absolute");}return $.widget.prototype._trigger.call(this,type,event,ui);},plugins:{},_uiHash:function(event){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs};}}));$.extend($.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}});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui){var inst=$(this).data("draggable"),o=inst.options,uiSortable=$.extend({},ui,{item:inst.element});inst.sortables=[];$(o.connectToSortable).each(function(){var sortable=$.data(this,"sortable");if(sortable&&!sortable.options.disabled){inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable._refreshItems();sortable._trigger("activate",event,uiSortable);}});},stop:function(event,ui){var inst=$(this).data("draggable"),uiSortable=$.extend({},ui,{item:inst.element});$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true;}this.instance._mouseStop(event);this.instance.options.helper=this.instance.options._helper;if(inst.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"});}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",event,uiSortable);}});},drag:function(event,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;var itemHeight=o.height,itemWidth=o.width;var itemTop=o.top,itemLeft=o.left;return $.ui.isOver(helperTop+dyClick,helperLeft+dxClick,itemTop,itemLeft,itemHeight,itemWidth);};$.each(inst.sortables,function(i){this.instance.positionAbs=inst.positionAbs;this.instance.helperProportions=inst.helperProportions;this.instance.offset.click=inst.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};event.target=this.instance.currentItem[0];this.instance._mouseCapture(event,true);this.instance._mouseStart(event,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst._trigger("toSortable",event);inst.dropped=this.instance.element;inst.currentItem=inst.element;this.instance.fromOutside=inst;}if(this.instance.currentItem){this.instance._mouseDrag(event);}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",event,this.instance._uiHash(this.instance));this.instance._mouseStop(event,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove();}inst._trigger("fromSortable",event);inst.dropped=false;}}});}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui){var t=$("body"),o=$(this).data("draggable").options;if(t.css("cursor")){o._cursor=t.css("cursor");}t.css("cursor",o.cursor);},stop:function(event,ui){var o=$(this).data("draggable").options;if(o._cursor){$("body").css("cursor",o._cursor);}}});$.ui.plugin.add("draggable","iframeFix",{start:function(event,ui){var o=$(this).data("draggable").options;$(o.iframeFix===true?"iframe":o.iframeFix).each(function(){$('<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($(this).offset()).appendTo("body");});},stop:function(event,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui){var t=$(ui.helper),o=$(this).data("draggable").options;if(t.css("opacity")){o._opacity=t.css("opacity");}t.css("opacity",o.opacity);},stop:function(event,ui){var o=$(this).data("draggable").options;if(o._opacity){$(ui.helper).css("opacity",o._opacity);}}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui){var i=$(this).data("draggable");if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!="HTML"){i.overflowOffset=i.scrollParent.offset();}},drag:function(event,ui){var i=$(this).data("draggable"),o=i.options,scrolled=false;if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!="HTML"){if(!o.axis||o.axis!="x"){if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity){i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;}else{if(event.pageY-i.overflowOffset.top<o.scrollSensitivity){i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;}}}if(!o.axis||o.axis!="y"){if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity){i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;}else{if(event.pageX-i.overflowOffset.left<o.scrollSensitivity){i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed;}}}}else{if(!o.axis||o.axis!="x"){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);}else{if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}}}if(!o.axis||o.axis!="y"){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);}else{if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}}}if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(i,event);}}});$.ui.plugin.add("draggable","snap",{start:function(event,ui){var i=$(this).data("draggable"),o=i.options;i.snapElements=[];$(o.snap.constructor!=String?(o.snap.items||":data(draggable)"):o.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=i.element[0]){i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});}});},drag:function(event,ui){var inst=$(this).data("draggable"),o=inst.options;var d=o.snapTolerance;var x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){if(inst.snapElements[i].snapping){(inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));}inst.snapElements[i].snapping=false;continue;}if(o.snapMode!="inner"){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts){ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top-inst.margins.top;}if(bs){ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top-inst.margins.top;}if(ls){ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left-inst.margins.left;}if(rs){ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left-inst.margins.left;}}var first=(ts||bs||ls||rs);if(o.snapMode!="outer"){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts){ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top-inst.margins.top;}if(bs){ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top-inst.margins.top;}if(ls){ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left-inst.margins.left;}if(rs){ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left-inst.margins.left;}}if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first)){(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));}inst.snapElements[i].snapping=(ts||bs||ls||rs||first);}}});$.ui.plugin.add("draggable","stack",{start:function(event,ui){var o=$(this).data("draggable").options;var group=$.makeArray($(o.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||o.stack.min)-(parseInt($(b).css("zIndex"),10)||o.stack.min);});$(group).each(function(i){this.style.zIndex=o.stack.min+i;});this[0].style.zIndex=o.stack.min+group.length;}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui){var t=$(ui.helper),o=$(this).data("draggable").options;if(t.css("zIndex")){o._zIndex=t.css("zIndex");}t.css("zIndex",o.zIndex);},stop:function(event,ui){var o=$(this).data("draggable").options;if(o._zIndex){$(ui.helper).css("zIndex",o._zIndex);}}});})(jQuery);jQuery.effects||(function($){$.effects={version:"1.7.2",save:function(element,set){for(var i=0;i<set.length;i++){if(set[i]!==null){element.data("ec.storage."+set[i],element[0].style[set[i]]);}}},restore:function(element,set){for(var i=0;i<set.length;i++){if(set[i]!==null){element.css(set[i],element.data("ec.storage."+set[i]));}}},setMode:function(el,mode){if(mode=="toggle"){mode=el.is(":hidden")?"show":"hide";}return mode;},getBaseline:function(origin,original){var y,x;switch(origin[0]){case"top":y=0;break;case"middle":y=0.5;break;case"bottom":y=1;break;default:y=origin[0]/original.height;}switch(origin[1]){case"left":x=0;break;case"center":x=0.5;break;case"right":x=1;break;default:x=origin[1]/original.width;}return{x:x,y:y};},createWrapper:function(element){if(element.parent().is(".ui-effects-wrapper")){return element.parent();}var props={width:element.outerWidth(true),height:element.outerHeight(true),"float":element.css("float")};element.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var wrapper=element.parent();if(element.css("position")=="static"){wrapper.css({position:"relative"});element.css({position:"relative"});}else{var top=element.css("top");if(isNaN(parseInt(top,10))){top="auto";}var left=element.css("left");if(isNaN(parseInt(left,10))){left="auto";}wrapper.css({position:element.css("position"),top:top,left:left,zIndex:element.css("z-index")}).show();element.css({position:"relative",top:0,left:0});}wrapper.css(props);return wrapper;},removeWrapper:function(element){if(element.parent().is(".ui-effects-wrapper")){return element.parent().replaceWith(element);}return element;},setTransition:function(element,list,factor,value){value=value||{};$.each(list,function(i,x){unit=element.cssUnit(x);if(unit[0]>0){value[x]=unit[0]*factor+unit[1];}});return value;},animateClass:function(value,duration,easing,callback){var cb=(typeof easing=="function"?easing:(callback?callback:null));var ea=(typeof easing=="string"?easing:null);return this.each(function(){var offset={};var that=$(this);var oldStyleAttr=that.attr("style")||"";if(typeof oldStyleAttr=="object"){oldStyleAttr=oldStyleAttr["cssText"];}if(value.toggle){that.hasClass(value.toggle)?value.remove=value.toggle:value.add=value.toggle;}var oldStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(value.add){that.addClass(value.add);}if(value.remove){that.removeClass(value.remove);}var newStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(value.add){that.removeClass(value.add);}if(value.remove){that.addClass(value.remove);}for(var n in newStyle){if(typeof newStyle[n]!="function"&&newStyle[n]&&n.indexOf("Moz")==-1&&n.indexOf("length")==-1&&newStyle[n]!=oldStyle[n]&&(n.match(/color/i)||(!n.match(/color/i)&&!isNaN(parseInt(newStyle[n],10))))&&(oldStyle.position!="static"||(oldStyle.position=="static"&&!n.match(/left|top|bottom|right/)))){offset[n]=newStyle[n];}}that.animate(offset,duration,ea,function(){if(typeof $(this).attr("style")=="object"){$(this).attr("style")["cssText"]="";$(this).attr("style")["cssText"]=oldStyleAttr;}else{$(this).attr("style",oldStyleAttr);}if(value.add){$(this).addClass(value.add);}if(value.remove){$(this).removeClass(value.remove);}if(cb){cb.apply(this,arguments);}});});}};function _normalizeArguments(a,m){var o=a[1]&&a[1].constructor==Object?a[1]:{};if(m){o.mode=m;}var speed=a[1]&&a[1].constructor!=Object?a[1]:(o.duration?o.duration:a[2]);speed=$.fx.off?0:typeof speed==="number"?speed:$.fx.speeds[speed]||$.fx.speeds._default;var callback=o.callback||($.isFunction(a[1])&&a[1])||($.isFunction(a[2])&&a[2])||($.isFunction(a[3])&&a[3]);return[a[0],o,speed,callback];}$.fn.extend({_show:$.fn.show,_hide:$.fn.hide,__toggle:$.fn.toggle,_addClass:$.fn.addClass,_removeClass:$.fn.removeClass,_toggleClass:$.fn.toggleClass,effect:function(fx,options,speed,callback){return $.effects[fx]?$.effects[fx].call(this,{method:fx,options:options||{},duration:speed,callback:callback}):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,_normalizeArguments(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,_normalizeArguments(arguments,"hide"));}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||($.isFunction(arguments[0])||typeof arguments[0]=="boolean")){return this.__toggle.apply(this,arguments);}else{return this.effect.apply(this,_normalizeArguments(arguments,"toggle"));}},addClass:function(classNames,speed,easing,callback){return speed?$.effects.animateClass.apply(this,[{add:classNames},speed,easing,callback]):this._addClass(classNames);},removeClass:function(classNames,speed,easing,callback){return speed?$.effects.animateClass.apply(this,[{remove:classNames},speed,easing,callback]):this._removeClass(classNames);},toggleClass:function(classNames,speed,easing,callback){return((typeof speed!=="boolean")&&speed)?$.effects.animateClass.apply(this,[{toggle:classNames},speed,easing,callback]):this._toggleClass(classNames,speed);},morph:function(remove,add,speed,easing,callback){return $.effects.animateClass.apply(this,[{add:add,remove:remove},speed,easing,callback]);},switchClass:function(){return this.morph.apply(this,arguments);},cssUnit:function(key){var style=this.css(key),val=[];$.each(["em","px","%","pt"],function(i,unit){if(style.indexOf(unit)>0){val=[parseFloat(style),unit];}});return val;}});$.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(i,attr){$.fx.step[attr]=function(fx){if(fx.state==0){fx.start=getColor(fx.elem,attr);fx.end=getRGB(fx.end);}fx.elem.style[attr]="rgb("+[Math.max(Math.min(parseInt((fx.pos*(fx.end[0]-fx.start[0]))+fx.start[0],10),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[1]-fx.start[1]))+fx.start[1],10),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[2]-fx.start[2]))+fx.start[2],10),255),0)].join(",")+")";};});function getRGB(color){var result;if(color&&color.constructor==Array&&color.length==3){return color;}if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)){return[parseInt(result[1],10),parseInt(result[2],10),parseInt(result[3],10)];}if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)){return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];}if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)){return[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];}if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)){return[parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];}if(result=/rgba\(0, 0, 0, 0\)/.exec(color)){return colors["transparent"];}return colors[$.trim(color).toLowerCase()];}function getColor(elem,attr){var color;do{color=$.curCSS(elem,attr);if(color!=""&&color!="transparent"||$.nodeName(elem,"body")){break;}attr="backgroundColor";}while(elem=elem.parentNode);return getRGB(color);}var colors={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]};$.easing.jswing=$.easing.swing;$.extend($.easing,{def:"easeOutQuad",swing:function(x,t,b,c,d){return $.easing[$.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return -c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b;}return -c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t+b;}return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b;}return -c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t*t+b;}return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return -c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return -c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0){return b;}if(t==d){return b+c;}if((t/=d/2)<1){return c/2*Math.pow(2,10*(t-1))+b;}return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return -c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1){return -c/2*(Math.sqrt(1-t*t)-1)+b;}return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d)==1){return b+c;}if(!p){p=d*0.3;}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}return -(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d)==1){return b+c;}if(!p){p=d*0.3;}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d/2)==2){return b+c;}if(!p){p=d*(0.3*1.5);}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}if(t<1){return -0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;}return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*0.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;}return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-$.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else{if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+0.75)+b;}else{if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+0.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+0.984375)+b;}}}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2){return $.easing.easeInBounce(x,t*2,0,c,d)*0.5+b;}return $.easing.easeOutBounce(x,t*2-d,0,c,d)*0.5+c*0.5+b;}});})(jQuery);(function($){$.effects.highlight=function(o){return this.queue(function(){var el=$(this),props=["backgroundImage","backgroundColor","opacity"];var mode=$.effects.setMode(el,o.options.mode||"show");var color=o.options.color||"#ffff99";var oldColor=el.css("backgroundColor");$.effects.save(el,props);el.show();el.css({backgroundImage:"none",backgroundColor:color});var animation={backgroundColor:oldColor};if(mode=="hide"){animation["opacity"]=0;}el.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){if(mode=="hide"){el.hide();}$.effects.restore(el,props);if(mode=="show"&&$.browser.msie){this.style.removeAttribute("filter");}if(o.callback){o.callback.apply(this,arguments);}el.dequeue();}});});};})(jQuery);(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:"xy",duration:parseFloat($.fn.jquery)>=1.3?0:1};$scrollTo.window=function(scope){return $(window)._scrollable();};$.fn._scrollable=function(){return this.map(function(){var elem=this,isWin=!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!isWin){return elem;}var doc=(elem.contentWindow||elem).document||elem.ownerDocument||elem;return $.browser.safari||doc.compatMode=="BackCompat"?doc.body:doc.documentElement;});};$.fn.scrollTo=function(target,duration,settings){if(typeof duration=="object"){settings=duration;duration=0;}if(typeof settings=="function"){settings={onAfter:settings};}if(target=="max"){target=9000000000;}settings=$.extend({},$scrollTo.defaults,settings);duration=duration||settings.speed||settings.duration;settings.queue=settings.queue&&settings.axis.length>1;if(settings.queue){duration/=2;}settings.offset=both(settings.offset);settings.over=both(settings.over);return this._scrollable().each(function(){var elem=this,$elem=$(elem),targ=target,toff,attr={},win=$elem.is("html,body");switch(typeof targ){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break;}targ=$(targ,this);case"object":if(targ.is||targ.style){toff=(targ=$(targ)).offset();}}$.each(settings.axis.split(""),function(i,axis){var Pos=axis=="x"?"Left":"Top",pos=Pos.toLowerCase(),key="scroll"+Pos,old=elem[key],max=$scrollTo.max(elem,axis);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css("margin"+Pos))||0;attr[key]-=parseInt(targ.css("border"+Pos+"Width"))||0;}attr[key]+=settings.offset[pos]||0;if(settings.over[pos]){attr[key]+=targ[axis=="x"?"width":"height"]()*settings.over[pos];}}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)=="%"?parseFloat(val)/100*max:val;}if(/^\d+$/.test(attr[key])){attr[key]=attr[key]<=0?0:Math.min(attr[key],max);}if(!i&&settings.queue){if(old!=attr[key]){animate(settings.onAfterFirst);}delete attr[key];}});animate(settings.onAfter);function animate(callback){$elem.animate(attr,duration,settings.easing,callback&&function(){callback.call(this,target,settings);});}}).end();};$scrollTo.max=function(elem,axis){var Dim=axis=="x"?"Width":"Height",scroll="scroll"+Dim;if(!$(elem).is("html,body")){return elem[scroll]-$(elem)[Dim.toLowerCase()]();}var size="client"+Dim,html=elem.ownerDocument.documentElement,body=elem.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size]);};function both(val){return typeof val=="object"?val:{top:val,left:val};}})(jQuery);jQuery.cookie=function(name,value,options){if(typeof value!="undefined"){options=options||{};if(value===null){value="";options=$.extend({},options);options.expires=-1;}var expires="";if(options.expires&&(typeof options.expires=="number"||options.expires.toUTCString)){var date;if(typeof options.expires=="number"){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires="; expires="+date.toUTCString();}var path=options.path?"; path="+(options.path):"";var domain=options.domain?"; domain="+(options.domain):"";var secure=options.secure?"; secure":"";document.cookie=[name,"=",encodeURIComponent(value),expires,path,domain,secure].join("");}else{var cookieValue=null;if(document.cookie&&document.cookie!=""){var cookies=document.cookie.split(";");for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+"=")){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};(function($){$.fn.media=function(options,f1,f2){return this.each(function(){if(typeof options=="function"){f2=f1;f1=options;options={};}var o=getSettings(this,options);if(typeof f1=="function"){f1(this,o);}var r=getTypesRegExp();var m=r.exec(o.src.toLowerCase())||[""];o.type?m[0]=o.type:m.shift();for(var i=0;i<m.length;i++){fn=m[i].toLowerCase();if(isDigit(fn[0])){fn="fn"+fn;}if(!$.fn.media[fn]){continue;}var player=$.fn.media[fn+"_player"];if(!o.params){o.params={};}if(player){var num=player.autoplayAttr=="autostart";o.params[player.autoplayAttr||"autoplay"]=num?(o.autoplay?1:0):o.autoplay?true:false;}var $div=$.fn.media[fn](this,o);$div.css("backgroundColor",o.bgColor).width(o.width);if(typeof f2=="function"){f2(this,$div[0],o,player.name);}break;}});};$.fn.media.mapFormat=function(format,player){if(!format||!player||!$.fn.media.defaults.players[player]){return;}format=format.toLowerCase();if(isDigit(format[0])){format="fn"+format;}$.fn.media[format]=$.fn.media[player];$.fn.media[format+"_player"]=$.fn.media.defaults.players[player];};$.fn.media.defaults={width:400,height:400,autoplay:0,bgColor:"#ffffff",params:{wmode:"transparent"},attrs:{},flvKeyName:"file",flashvars:{},flashVersion:"7",expressInstaller:null,flvPlayer:"mediaplayer.swf",mp3Player:"mediaplayer.swf",silverlight:{inplaceInstallPrompt:"true",isWindowless:"true",framerate:"24",version:"0.9",onError:null,onLoad:null,initParams:null,userContext:null}};$.fn.media.defaults.players={flash:{name:"flash",types:"flv,mp3,swf",oAttrs:{classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",type:"application/x-oleobject",codebase:"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+$.fn.media.defaults.flashVersion},eAttrs:{type:"application/x-shockwave-flash",pluginspage:"http://www.adobe.com/go/getflashplayer"}},iframe:{name:"iframe",types:"html,pdf"},silverlight:{name:"silverlight",types:"xaml"}};function isFirefoxWMPPluginInstalled(){var plugs=navigator.plugins;for(i=0;i<plugs.length;i++){var plugin=plugs[i];if(plugin["filename"]=="np-mswmp.dll"){return true;}}return false;}var counter=1;for(var player in $.fn.media.defaults.players){var types=$.fn.media.defaults.players[player].types;$.each(types.split(","),function(i,o){if(isDigit(o[0])){o="fn"+o;}$.fn.media[o]=$.fn.media[player]=getGenerator(player);$.fn.media[o+"_player"]=$.fn.media.defaults.players[player];});}function getTypesRegExp(){var types="";for(var player in $.fn.media.defaults.players){if(types.length){types+=",";}types+=$.fn.media.defaults.players[player].types;}return new RegExp("\\.("+types.replace(/,/ig,"|")+")\\b");}function getGenerator(player){return function(el,options){return generate(el,options,player);};}function isDigit(c){return"0123456789".indexOf(c)>-1;}function getSettings(el,options){options=options||{};var $el=$(el);var cls=el.className||"";var meta=$.metadata?$el.metadata():$.meta?$el.data():{};meta=meta||{};var w=meta.width||parseInt(((cls.match(/w:(\d+)/)||[])[1]||0));var h=meta.height||parseInt(((cls.match(/h:(\d+)/)||[])[1]||0));if(w){meta.width=w;}if(h){meta.height=h;}if(cls){meta.cls=cls;}var a=$.fn.media.defaults;var b=options;var c=meta;var p={params:{bgColor:options.bgColor||$.fn.media.defaults.bgColor}};var opts=$.extend({},a,b,c);$.each(["attrs","params","flashvars","silverlight"],function(i,o){opts[o]=$.extend({},p[o]||{},a[o]||{},b[o]||{},c[o]||{});});if(typeof opts.caption=="undefined"){opts.caption=$el.text();}opts.src=opts.src||$el.attr("href")||$el.attr("src")||"unknown";return opts;}$.fn.media.swf=function(el,opts){if(!window.SWFObject&&!window.swfobject){if(opts.flashvars){var a=[];for(var f in opts.flashvars){a.push(f+"="+opts.flashvars[f]);}if(!opts.params){opts.params={};}opts.params.flashvars=a.join("&");}return generate(el,opts,"flash");}var id=el.id?(' id="'+el.id+'"'):"";var cls=opts.cls?(' class="'+opts.cls+'"'):"";var $div=$("<div"+id+cls+">");if(window.swfobject){$(el).after($div).appendTo($div);if(!el.id){el.id="movie_player_"+counter++;}swfobject.embedSWF(opts.src,el.id,opts.width,opts.height,opts.flashVersion,opts.expressInstaller,opts.flashvars,opts.params,opts.attrs);}else{$(el).after($div).remove();var so=new SWFObject(opts.src,"movie_player_"+counter++,opts.width,opts.height,opts.flashVersion,opts.bgColor);if(opts.expressInstaller){so.useExpressInstall(opts.expressInstaller);}for(var p in opts.params){if(p!="bgColor"){so.addParam(p,opts.params[p]);}}for(var f in opts.flashvars){so.addVariable(f,opts.flashvars[f]);}so.write($div[0]);}if(opts.caption){$("<div>").appendTo($div).html(opts.caption);}return $div;};function generate(el,opts,player){var $el=$(el);var o=$.fn.media.defaults.players[player];if(player=="iframe"){var o=$("<iframe"+' width="'+opts.width+'" height="'+opts.height+'" >');o.attr("src",opts.src);o.css("backgroundColor",o.bgColor);}else{if($.browser.msie){var a=['<object id="'+opts.id+'" name="'+opts.id+'" width="'+opts.width+'" height="'+opts.height+'" '];for(var key in opts.attrs){a.push(key+'="'+opts.attrs[key]+'" ');}for(var key in o.oAttrs||{}){var v=o.oAttrs[key];if(key=="codebase"&&window.location.protocol=="https:"){v=v.replace("http","https");}a.push(key+'="'+v+'" ');}a.push("></ob"+"ject"+">");var p=['<param name="'+(o.oUrl||"src")+'" value="'+opts.src+'">'];for(var key in opts.params){p.push('<param name="'+key+'" value="'+opts.params[key]+'">');}var o=document.createElement(a.join(""));for(var i=0;i<p.length;i++){o.appendChild(document.createElement(p[i]));}}else{var a=['<embed id="'+opts.id+'" name="'+opts.id+'" width="'+opts.width+'" height="'+opts.height+'" style="display:block"'];if(opts.src){a.push(' src="'+opts.src+'" ');}for(var key in opts.attrs){a.push(key+'="'+opts.attrs[key]+'" ');}for(var key in o.eAttrs||{}){a.push(key+'="'+o.eAttrs[key]+'" ');}for(var key in opts.params){if(key=="wmode"&&player!="flash"){continue;}a.push(key+'="'+opts.params[key]+'" ');}a.push("></em"+"bed"+">");}}var id=el.id?(' id="'+el.id+'"'):"";var cls=opts.cls?(' class="'+opts.cls+'"'):"";var $div=$("<div"+id+cls+">");$el.after($div).remove();($.browser.msie||player=="iframe")?$div.append(o):$div.html(a.join(""));if(opts.caption){$("<div>").appendTo($div).html(opts.caption);}return $div;}})(jQuery);jQuery.fn.setupExtras=function(setup,options){for(extra in setup){var self=this;if(setup[extra] instanceof Array){for(var i=0;i<setup[extra].length;i++){setup[extra][i].call(self,options);}}else{setup[extra].call(self,options);}}};var $$=function(param){var id=$.data($(param)[0]);return $.cache[id];};(function($){$.fn.tabs=function(options){options=options||{};this.setupExtras(options.setup||$.fn.tabs.base,options);if(1<this.length){throw"Id corresponds to multiple tabls!";}var tabList=$(this);$$(tabList).panels=$([]);$("li a",tabList).click(function(){tabList.trigger("activated",this);return false;}).each(function(){var panel=$($(this).attr("href"));$$(tabList).panels=$$(tabList).panels.add(panel);tabList.trigger("setupPanel",[panel]);});tabList.trigger("initialize");return this;};var getPanel=function(selected){return $($(selected).attr("href"));};$.fn.tabs.base={setupPanel:[function(options){this.bind("setupPanel",function(e,selector){$(selector).hide();});}],initialize:[function(options){this.bind("initialize",function(){var defaultTab=options.defaultTab?$("li a[href='"+options.defaultTab+"']")[0]:$(this).find("li a:first")[0];$(this).trigger("activated",defaultTab);});}],activate:[function(options){this.bind("activated",function(e,selected){var panel=getPanel(selected);$$(this).panels.hide();$(panel).show();$(this).find("li a").removeClass("selected");$(selected).addClass("selected").blur();});}]};})(jQuery);(function($){$.widget("ui.listbox",{_init:function(){var self=this;$("dd a",this.element).click(function(){self.element.trigger("selected",$(this).attr("data-value"));return false;});self.element.bind("selected",function(e,value){self.element.find("dd a").removeClass("selected");self.element.find('dd a[data-value="'+value+'"]').addClass("selected").blur();});var defaultOption=$("dd a.selected:first",self.element);if(0==defaultOption.length){defaultOption=$("dd a:first",self.element);}if(defaultOption){defaultOption.click();}},value:function(value){if(undefined!==value){var option=this.element.find('dd a[data-value="'+value+'"]');if(0<option.length){option.click();}else{this.element.find("dd a.selected").removeClass("selected");}}else{return this.element.find("dd a.selected").attr("data-value");}}});$.extend($.ui.listbox,{getter:"value"});})(jQuery);(function($){$.fn.grid=function(options){options=options||{};return this.each(function(){var $this=$(this);if($this.data("grid")){return;}var grid=new Grid($this,options);grid.init();$this.data("grid",grid);});};})(jQuery);function Filter(options){options=options||{};var maskFn=options.maskFn;var maskState=(options.mask)?options.mask.hashtable():undefined;var msgCache=(options.mask)?{filter:{mask:options.mask}}:{};this.filter=function(msg){if(msg.filter&&msg.filter.mask){maskState=msg.filter.mask.hashtable();}$.extend(msgCache,msg);var records=msgCache.model.records;if(!records){return records;}var result=[];for(var i=0,l=records.length;i<l;i++){if(maskState[maskFn(records[i])]){result.push(records[i]);}}msgCache.model.records=result;msg=$.extend(msg,msgCache);};}function Sorter(options){options=options||{};var recordsCache=null;var msgCache=(options.sortInfo)?{sorter:{sortInfo:options.sortInfo}}:{};this.sort=function(msg){$.extend(msgCache,msg);if(!msgCache.model){return false;}recordsCache=msgCache.model.records;if(!recordsCache){return recordsCache;}if(recordsCache.length==0){return[];}var compare=("string"==typeof recordsCache[0][msgCache.sorter.sortInfo.property])?sortCaseInsensitive:sortNumeric;var self=this;recordsCache.sort(function(a,b){return compare(a[msgCache.sorter.sortInfo.property],b[msgCache.sorter.sortInfo.property])*(("desc"==msgCache.sorter.sortInfo.direction)?-1:1);});msgCache.model.records=recordsCache;msg=$.extend(msg,msgCache);};var sortCaseInsensitive=function(a,b){aa=a.toLowerCase();bb=b.toLowerCase();if(aa==bb){return 0;}if(aa<bb){return -1;}return 1;};var sortNumeric=function(a,b){return a-b;};}function Highlighter(options){options=options||{};var maskFn=options.maskFn;var maskState=(options.mask)?options.mask.hashtable():undefined;var msgCache=(options.mask)?{filter:{mask:options.mask}}:{};this.highlight=function(msg){if(msg.highlighter&&msg.highlighter.mask){maskState=msg.highlighter.mask.hashtable();}$.extend(msgCache,msg);var records=msgCache.model.records;if(!records){return records;}var result=[];if(!maskState){return result;}for(var i=0,l=records.length;i<l;i++){if(maskState[maskFn(records[i])]){result.push(i);}}return result;};}function Grid(element,options){var self=this;var element=element;var model,records;var view;var extraOptions=options.extraOptions||{};var filter,isFilterOn;var sorter;var highlighter,isHighlighterOn;this.init=function(){if(options.model&&options.view){model=new options.model.type(options.model);view=options.view;bind("loadcomplete",render);}if(options.filter){filter=new Filter(options.filter);if(options.filter.mask){filterOn();}}if(options.sorter){sorter=new Sorter(options.sorter);sorterOn();}if(options.highlighter){highlighter=new Highlighter(options.highlighter);if(options.highlighter.mask){highlighterOn();}}};this.load=function(parameters){renderLoading();var msg;if(parameters.model){if(parameters.filter){filterOn();}extraOptions.field=parameters.model.parameters.field;records=model.load(parameters.model?parameters.model.parameters:parameters);var modelMsg=$.extend(parameters.model,{records:records});msg=$.extend(parameters,{model:modelMsg,extraOptions:extraOptions});}else{extraOptions.field=parameters.field;records=model.load(parameters);msg={model:{parameters:parameters,records:records},extraOptions:extraOptions};}if(records==-1){return false;}if(0==records.length){render(null,msg);}trigger("loadcomplete",[msg]);};function render(e,msg){var html=view(msg);html=viewIsEmpty(html)?emptyViewMessage():html;$("tbody",element).html(html);trigger("rendercomplete",[msg]);}function renderLoading(){var $tbody=$("tbody ",element);var height=$tbody.height();$tbody.html('<tr style="height: '+height+'px;"><td class="note" colspan="99"> <div style="text-align: center; font-weight: bold;">Loading..</div> </td></tr>');}function viewIsEmpty(html){return html=="";}function emptyViewMessage(){return'<tr><td class="note empty" colspan="99">No current records available..</td></tr>';}this.filtrate=function(mask){if(!isFilterOn){filterOn();}var msg={model:{records:records},filter:{mask:mask}};filtrate(null,msg);return this;};function filtrate(e,msg){filter.filter(msg);trigger("filtercomplete",[msg]);}function filterOn(){if(sorter){unbind("loadcomplete",sort);bind("loadcomplete",filtrate);bind("filtercomplete",sort);}else{unbind("loadcomplete",render);bind("loadcomplete",filtrate);bind("filtercomplete",render);}isFilterOn=true;}this.filterOff=function(){if(sorter){unbind("loadcomplete",filtrate);unbind("filtercomplete",sort);bind("loadcomplete",sort);}else{unbind("loadcomplete",filtrate);unbind("filtercomplete",render);bind("loadcomplete",render);}isFilterOn=false;trigger("loadcomplete",[{model:{records:records}}]);return this;};this.sort=function(property,direction){var msg={sorter:{sortInfo:{property:property,direction:direction}}};sort(null,msg);return this;};function sort(e,msg){sorter.sort(msg);trigger("sortcomplete",[msg]);}function sorterOn(){if(isFilterOn){unbind("filtercomplete",render);bind("filtercomplete",sort);bind("sortcomplete",render);}else{unbind("loadcomplete",render);bind("loadcomplete",sort);bind("sortcomplete",render);}bind("rendercomplete",markSortColumn);$("th.sortable",element).click(function(){var $this=$(this);property=$this.attr("data-property");direction=!($this.hasClass("asc")||$this.hasClass("desc"))?($this.attr("data-default-sort-dir")||"desc"):($this.hasClass("desc")?"asc":"desc");self.sort(property,direction);return false;});}function markSortColumn(e,msg){if(msg.sorter){$("th.sortable",element).removeClass("asc desc");$("th[data-property="+msg.sorter.sortInfo.property+"]",element).addClass(msg.sorter.sortInfo.direction);$("tbody td.sorted",element).removeClass("sorted");var index=$("thead tr:last th",element).index($('th[data-property="'+msg.sorter.sortInfo.property+'"]',element));$("tbody tr td:nth-child("+(index+1)+")",element).addClass("sorted");}}this.highlight=function(mask){if(!isHighlighterOn){highlighterOn();}var msg={model:{records:records},highlighter:{mask:mask}};highlight(null,msg);return this;};function highlight(e,msg){removeHighlight();var indexes=highlighter.highlight(msg);for(var i=0,l=indexes.length;i<l;i++){$("tbody tr:nth-child("+(indexes[i]+1)+")",element).addClass("highlight");}}function highlighterOn(){bind("rendercomplete",highlight);isHighlighterOn=true;}this.highlighterOff=function(){unbind("rendercomplete",highlight);isHighlighterOn=false;removeHighlight();return this;};function removeHighlight(){$("tbody tr",element).removeClass("highlight");}function bind(name,fn){element.bind(name,fn);}function unbind(name,fn){element.unbind(name,fn);}function trigger(name,data){element.triggerHandler(name,data);}}(function($){$.fn.messageBox=function(options){options=options||{};return this.each(function(){var $item=$(this);var $box;var timeToLive=options.timeToLive||1000;var align=options.align||"right";var removeAfter=false;var messageText=options.messageText||"(Empty)";var classes=options.classes||"";var icon=options.icon||"";if(icon!=""){icon='<span class="with-solo-icon is-default-transparent rc"><span class="ui-icon '+options.icon+'"/></span></span>';}if(options.id){removeAfter=true;$box=$("#"+options.id).hide();$box.append(icon);}else{var html=[];html.push("<div ");html.push('class="messageBox" >');html.push('<span class="rc text '+classes+'">'+messageText+"</span>");html.push("</div>");$box=$(html.join(" "));}var elementOffset=$item.offset();var left=elementOffset.left+(options.leftMargin||0);var top=elementOffset.top+(options.topMargin||0);if(align=="right"){left+=$item.width();}if(align=="left"){left-=width;}if(align=="top"){top-=height;}if(align=="bottom"){top+=$item.height();}$box.css("left",left).css("top",top).appendTo("body").fadeIn();if(timeToLive!=-1){setTimeout(function(){if(!removeAfter){$box.remove();return false;}$box.fadeOut();},timeToLive);}});};})(jQuery);(function($){$.fn.configPanel=function(options){var activePanel=null;function show($id){if(null!=activePanel){$(activePanel+"-toggle-button").click();}if(options&&options.offsetParent){var parent=$(options.offsetParent);var offset=parent.offset();$($id).css({top:(offset.top+parent.outerHeight()),left:(offset.left+parent.outerWidth()-$($id).outerWidth())});}$($id).show();$($id+"-toggle-button").removeClass("is-default").addClass("is-active").blur();activePanel=$id;}function hide($id){$($id).hide();$($id+"-toggle-button").removeClass("is-active").addClass("is-default").blur();activePanel=null;}return this.each(function(){var id=this.id;$("#"+id+"-toggle-button").toggle(function(){show("#"+id);return false;},function(){hide("#"+id);return false;});$("#"+id+"-close-button").click(function(){$("#"+id+"-toggle-button").click();return false;});});};})(jQuery);
/*
  * Copyright (c) 2009 Next-Game Ltd.
  */
var NG={querystring:function(o){if(!o){return"";}var a=[];for(p in o){if(null!=o[p]&&undefined!==o[p]){a.push(p+"="+o[p]);}}return a.join("&");},remove:function(o,p){var result=o[p];delete o[p];return result;},isFunction:function(o){return Object.prototype.toString.call(o)==="[object Function]";},isArray:function(o){return Object.prototype.toString.call(o)==="[object Array]";},toArray:(function(slice){return function toArray(object){return slice.call(object,0);};})(Array.prototype.slice),binarySearch:function(o,v,i,f){var h=o.length,l=-1,m;if(NG.isFunction(f)){while(h-l>1){m=(h+l)>>1;if(f(o[m])<v){l=m;}else{h=m;}}return(undefined!==o[h])?(f(o[h])!=v?i?h:-1:h):(i?h:-1);}else{while(h-l>1){m=(h+l)>>1;if(o[m]<v){l=m;}else{h=m;}}return o[h]!=v?i?h:-1:h;}},indexOf:function(array,value,from,callback){var len=array.length>>>0;var from=Number(from)||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0){from+=len;}if(callback){for(;from<len;from++){if(from in array&&callback(array[from])===value){return from;}}}else{for(;from<len;from++){if(from in array&&array[from]===value){return from;}}}return -1;},trim:function(str){var str=str.replace(/^\s\s*/,""),ws=/\s/,i=str.length;while(ws.test(str.charAt(--i))){}return str.slice(0,i+1);},async:function(fun,scope){setTimeout(function(){fun.call(scope);},1);},setTimeout:function(fun,timeout,scope){return setTimeout(function(){fun.call(scope);},timeout);},clearTimeout:function(timeoutId){clearTimeout(timeoutId);delete timeoutId;},clearTimeoutByRef:function(object,property){clearTimeout(object[property]);delete object[property];},replaceHtml:function(el,html){var oldEl=el;
/*@cc_on // Pure innerHTML is slightly faster in IE
        oldEl.innerHTML = html;
        return oldEl;
        @*/
var newEl=oldEl.cloneNode(false);newEl.innerHTML=html;oldEl.parentNode.replaceChild(newEl,oldEl);return newEl;}};NG.Events=(function(){var $NGEVENTS="$NGEVENTS";var prepare=function(fn){return function(obj,type,arg,scope){if(typeof type=="object"){for(var k in type){arguments.callee(obj,k,type[k]);}}else{var events=obj[$NGEVENTS]=obj[$NGEVENTS]||{},storage=events[type]=events[type]||{listeners:[]};fn(obj,type,arg,storage,scope);}};};var add=prepare(function(obj,type,fn,storage,scope){var listeners=storage.listeners;for(var i=listeners.length;i--;){if(listeners[i]==fn){return;}}listeners.push({fn:fn,scope:scope||obj});return;});var remove=prepare(function(obj,type,fn,storage){var listeners=storage.listeners;for(var i=listeners.length;i--;){if(listeners[i].fn===fn){listeners.splice(i,1);break;}}});var fire=prepare(function(obj,type,args,storage){if(!args||Object.prototype.toString.call(args)!=="[object Array]"){args=[args];}for(var i=0,l=storage.listeners.length;i<l;i++){storage.listeners[i].fn.apply(storage.listeners[i].scope,args);}});var addGlobal=function(type,fn,scope){add(window,type,fn,scope);};var removeGlobal=function(type,fn){remove(window,type,fn);};var fireGlobal=function(type,args){fire(window,type,args);};var addOnce=prepare(function(obj,type,fn,storage){add(obj,type,function(){remove(obj,type,arguments.callee);fn.apply(obj,arguments);});});var toggle=prepare(function(obj,type,fn,storage,toggle){(toggle?add:remove)(obj,type,fn);});return{add:add,remove:remove,fire:fire,addGlobal:addGlobal,removeGlobal:removeGlobal,fireGlobal:fireGlobal,addOnce:addOnce,toggle:toggle};})();NG.Timer=function(){var self,to,cb,scp,intervalId=-1;this.set=function(timeout,callback,scope){to=(parseInt(timeout,10)||-1);cb=callback;scp=scope;if(to<0){return;}cb.call(scp,to);if(0==to){return;}self=this;intervalId=setInterval(function(){if(0==--to){self.reset();}cb.call(scp,to);},1000);};this.reset=function(){clearInterval(intervalId);intervalId=-1;};this.active=function(){return(-1<intervalId);};this.pause=function(){clearInterval(intervalId);};this.resume=function(){this.set(to,cb,scp);};};NG.Clock={_date:null,_timezoneOffset:null,init:function(utc,offset){var self=this;this._date=new Date(utc.valueOf()+offset*60000);this._timezoneOffset=offset;setInterval(function(){self._date=new Date(self._date.valueOf()+1000);if(0==self._date.getSeconds()){NG.Events.fire(self,"minutetick",[new Date(self._date.valueOf())]);}},1000);},now:function(){return new Date(this._date.valueOf());},utcNow:function(){return new Date(this._date.valueOf()-this._timezoneOffset*60000);}};NG.Calendar=function(now){var self=this,mode=arguments[1]||"Day",mask=arguments[2],date=now,isDaily=("Day"==mode),isWeekly=("Week"==mode),isMonthly=("Month"==mode),dayList=[],min=arguments[3]||new Date(1999,0,1),max=arguments[4]||new Date(2010,11,31);if(hasMask()){for(var year in mask){if(String(year>>>0)==year&&year>>>0!=4294967295){for(var month in mask[year]){if(String(month>>>0)==month&&month>>>0!=4294967295){for(var day in mask[year][month]){if(String(day>>>0)==day&&day>>>0!=4294967295){dayList.push(new Date(year>>>0,month>>>0,day>>>0).valueOf());}}}}}}setMaskedDate(date);}date.setMilliseconds=date.setSeconds=date.setMinutes=date.setHours=0;if(isWeekly){}else{if(isMonthly){}}function setMaskedDate(datep){var search=new Date(datep.getFullYear(),datep.getMonth(),datep.getDate()).valueOf();if("undefined"==typeof(dayList[search])){date=new Date(dayList[getDayIndex(dayList,search)]);}}function addDays(num){date.setDate(date.getDate()+num);}function addWeeks(num){addDays(num*7);}function addMonths(num){var tmpdtm=date.getDate();date.setMonth(date.getMonth()+num);if(tmpdtm>date.getDate()){addDays(-date.getDate());}}function fire(){NG.Events.fire(self,"datechanged",[]);}function getDayIndex(list,value){var i=-1,search=new Date(value),found=false;if(isMonthly){search=search.getStartOfMonth();}if(isWeekly){search=search.getStartOfWeek();}search=search.valueOf();for(var k=0;k<list.length;k++){if(search<=list[k]){i=k;found=true;break;}}if(!found){i=list.length-1;}return i;}function hasMask(){var hasValue=false;for(var value in mask){hasValue=true;break;}return mask&&"undefined"!=typeof(mask)&&hasValue;}this.hasMask=function(){return hasMask();};this.mask=function(){return mask;};this.min=function(){return min;};this.max=function(){return max;};this.mode=function(){return mode;};this.isDaily=function(){return isDaily;};this.isWeekly=function(){return isWeekly;};this.isMonthly=function(){return isMonthly;};this.getDate=function(){return date;};this.setDate=function(datep){if(hasMask()){setMaskedDate(datep);}else{date=datep;}fire();};this.previousEnabled=function(){return min<(isWeekly?date.getStartOfWeek():(isMonthly?date.getStartOfMonth():date));};this.nextEnabled=function(){return(isWeekly?date.getEndOfWeek():(isMonthly?date.getEndOfMonth():date))<max;};this.previous=function(){this["previous"+mode]();fire();};this.next=function(){this["next"+mode]();fire();};this.previousDay=function(){if(this.hasMask()){var i=getDayIndex(dayList,date.valueOf());if(0<i){date=new Date(dayList[i-1]);}}else{addDays(-1);}return date;};this.nextDay=function(){if(this.hasMask()){var i=getDayIndex(dayList,date.valueOf());if(i<dayList.length-1){date=new Date(dayList[i+1]);}}else{addDays(1);}return date;};this.previousWeek=function(){if(this.hasMask()){var i=getDayIndex(dayList,date.valueOf()),week=date.getWeek(),newWeek=week;if(0==i){return;}var temp=new Date(dayList[i-1]);while(week==newWeek){if(0<i){temp=new Date(dayList[--i]);newWeek=temp.getWeek();}else{break;}}if(week!=newWeek){date=temp;}}else{addWeeks(-1);}return date;};this.nextWeek=function(){if(this.hasMask()){var i=getDayIndex(dayList,date.valueOf()),week=date.getWeek(),newWeek=week;if(dayList.length-1==i){return;}var temp=new Date(dayList[i+1]);while(week==newWeek){if(i<dayList.length-1){temp=new Date(dayList[++i]);newWeek=temp.getWeek();}else{break;}}if(week!=newWeek){date=temp;}}else{addWeeks(1);}return date;};this.previousMonth=function(){if(this.hasMask()){var i=getDayIndex(dayList,date.valueOf()),month=date.getMonth(),newMonth=month;if(0==i){return;}var temp=new Date(dayList[i-1]);while(month==newMonth){if(0<i){temp=new Date(dayList[--i]);newMonth=temp.getMonth();}else{break;}}if(month!=newMonth){date=temp;}}else{addMonths(-1);}return date;};this.nextMonth=function(){if(this.hasMask()){var i=getDayIndex(dayList,date.valueOf()),month=date.getMonth(),newMonth=month;if(dayList.length-1==i){return;}var temp=new Date(dayList[i+1]);while(month==newMonth){if(i<dayList.length-1){temp=new Date(dayList[++i]);newMonth=temp.getMonth();}else{break;}}if(month!=newMonth){date=temp;}}else{addMonths(1);}return date;};this.parameter=function(){if(isDaily){return{d:date.dateFormat("Ymd")};}if(isWeekly){return{d:date.getWeekYear()+"W"+date.getWeek()};}if(isMonthly){return{d:date.dateFormat("Ym")};}};this.formatDate=function(){if(isDaily){return date.dateFormat("D, M j Y");}if(isWeekly){return formatWeek(date);}if(isMonthly){return date.dateFormat("M Y");}};function formatWeek(date){var start=new Date(date.valueOf()).getStartOfWeek(),end=new Date(start.valueOf()+6*24*60*60*1000);if(start.getMonth()==end.getMonth()){return start.dateFormat("j")+" - "+end.dateFormat("j M Y");}else{return start.dateFormat("j M")+" - "+end.dateFormat("j M Y");}}};NG.GA={_tracker:null,init:function(code,domainName){try{this._tracker=_gat._getTracker(code);if("undefined"!=domainName){this._tracker._setDomainName(domainName);}}catch(err){}},trackPageView:function(view){if(null!=this._tracker){if("undefined"!=typeof view){this._tracker._trackPageview(view);}else{this._tracker._trackPageview();}}},trackEvent:function(category,action,opt_label,opt_value){if(null!=this._tracker){if("undefined"!=typeof opt_label&&"undefined"!=typeof opt_value){this._tracker._trackEvent(category,action,opt_label,opt_value);}else{if("undefined"!=typeof opt_label&&"undefined"==typeof opt_value){this._tracker._trackEvent(category,action,opt_label);}else{this._tracker._trackEvent(category,action);}}}}};var DataStore=function(){var cache={};var prime={};function put(key,value,expire){cache[key]=value;if(expire){setTimeout(function(){delete cache[key];},expire);}}return{prime:function(key,parameters,data){var url=Urls.get(key,parameters);prime[url]=data;},load:function(key,options,scope){var options=options||{},url=Urls.get(key,options.parameters),result=prime[url];if(result){if(options.cache){put(url,result,options.expire);}delete prime[url];if(options.success){options.success.call(scope||this,options,result);return;}return result;}if(options.cache){result=cache[url];if(result){if(options.success){options.success.call(scope||this,options,result);return;}return result;}else{this.ajax(url,options,scope);}}else{delete cache[url];this.ajax(url,options,scope);}},ajax:function(url,options,scope){var self=this,request=$.ajax({type:"get",url:url,data:null,dataType:"text",cache:true,global:false,success:function(){self.successCallback.apply(scope,[url,options].concat(NG.toArray(arguments)));},error:function(){self.errorCallback.apply(scope,[url,options].concat(NG.toArray(arguments)));},options:options});$(window).bind("beforeunload",function(){request.abort();});},successCallback:function(url,options,data,textStatus){if(options.dataType&&"array"==options.dataType){var processedData;try{processedData=(new Function("return "+data))();}catch(err){}if(NG.isArray(processedData)){if(options.cache){put(url,processedData,options.expire);}if(options.success){options.success.call(this,options,processedData);}else{return processedData;}}else{options.error.call(this,options);}return;}if(options.success){options.success.call(this,options,data);}else{return data;}},errorCallback:function(url,options,XMLHttpRequest,textStatus,errorThrown){if(options.error){options.error.call(this,options);}}};}();var WS={};WS.Clock={init:function(clock){this.updateDateTime(clock.now());NG.Events.add(clock,"minutetick",this.updateDateTime);},updateDateTime:function(date){$clock=$("#clock");$("#time",$clock).html(date.toTimeStr());$("#date",$clock).html(date.toDateString());}};WS.TZ=new (function(){var self=this,offsets=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-270,-240,-210,-180,-120,-150,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,525,540,570,600,630,660,690,720,765,780,825,840];function minuteTickHandler(data){renderDialog(data,false);}function renderDialog(now,scrollToSelected){var utc=NG.Clock.utcNow(),userOffset=WS.User.timezoneOffset(),date,html;html=offsets.map(function(value,index){date=utc.toLocal(value);return'<li><a data-value="'+value+'" href="#" class=" rc '+((userOffset==value)?"selected":"")+'"><span class="time" >'+date.toTimeStr()+'</span><span class="date" >'+date.toDateStr()+'</span><span class="timezone"></span></a></li>';},this).join("");var $ul=$("#tz-dialog ul").html(html);if(scrollToSelected){$ul.scrollTo($("a.selected",$("#tz-dialog ul")),500,{offset:-110});}$ul.find("a").click(function(){$this=$(this);$ul.find("a").removeClass("selected");$this.addClass("selected");return false;});}this.showDialog=function(){var $overlay=$("<div></div>").appendTo(document.body).addClass("overlay").css({width:overlayWidth(),height:overlayHeight()});$(window).bind("resize.dialog-overlay",function(){$overlay.css({width:overlayWidth(),height:overlayHeight()});});$dialog=$('<div id="tz-dialog" class="dialog rc">'+"<h1>Set your local time:</h1>"+"<p>What is the time and date where you are now?</p>"+'<ul class="rc"></ul>'+'<div class="buttons">'+'<a href="#" class="ok btn is-default rc">OK</a>'+'<a href="#" class="cancel btn is-default rc">Cancel</a>'+"</div>"+"</div>").appendTo(document.body);$dialog.find(".ok").bind("click",function(){var offset=$dialog.find(".selected").attr("data-value");WS.User.timezoneOffset(offset);NG.GA.trackEvent("TimeZone","Change",offset);self.hideDialog();window.location.reload();return false;});$dialog.find(".cancel").click(function(){self.hideDialog();return false;});renderDialog(NG.Clock.now(),true);NG.Events.add(NG.Clock,"minutetick",minuteTickHandler);};this.hideDialog=function(){$("#tz-dialog").remove();$(window).unbind("resize.dialog-overlay");$(".overlay").remove();NG.Events.remove(NG.Clock,"minutetick",minuteTickHandler);};function overlayWidth(){if($.browser.msie&&$.browser.version<7){var scrollWidth=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var offsetWidth=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(scrollWidth<offsetWidth){return $(window).width()+"px";}else{return scrollWidth+"px";}}else{return $(document).width()+"px";}}function overlayHeight(){if($.browser.msie&&$.browser.version<7){var scrollHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var offsetHeight=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(scrollHeight<offsetHeight){return $(window).height()+"px";}else{return scrollHeight+"px";}}else{return $(document).height()+"px";}}function resize(){$overlays.css({width:0,height:0}).css({width:$.ui.dialog.overlay.width(),height:$.ui.dialog.overlay.height()});}return this;})();WS.FavoriteTournaments=function(){var favoritesCount=0;var favoritesLimit=10;var ftAddedMessageOptions={icon:"icon-circle-check",messageText:"Added to your favorites.",classes:"favorite-tournaments-added-message",leftMargin:5};var ftLimitMessageOptions={icon:"icon-alert",messageText:"At most "+favoritesLimit+" tournaments can be added to your favorites.",timeToLive:1500,classes:"favorite-tournaments-limit-message",leftMargin:5};var ftDuplicateMessageOptions={icon:"icon-alert",messageText:"Tournament is already your favorite.",timeToLive:1500,classes:"favorite-tournaments-duplicate-message",leftMargin:5};var ftInfoMessageOptions={id:"favorite-tournaments-info-message",timeToLive:-1};function stripFlagCode(allClasses){if(allClasses){var pos=allClasses.indexOf("flg-");if(0<=pos){var classes=allClasses.split(" ");for(var i=0;i<classes.length;i++){if(classes[i].substring(0,4)=="flg-"){return classes[i];}}}else{return"";}}return"";}function cloneTournament($li){var clone=$li.clone();clone.find(".toolbar").remove();addToolbar(clone);addButton(clone,"remove","trash","Remove from favorites",function(){removeFavoriteTournament(clone);});addButton(clone,"sort","arrow-4","Change order");var $a=clone.find("a:first");var flagCode=stripFlagCode($li.parent().parent().find("a").attr("class"));if(flagCode!=""){$('<span class="ui-icon country '+flagCode+'"></span>').appendTo($a);$a.removeClass("t").addClass("pt with-left-icon");}favoritesCount++;if(2==favoritesCount){addSortable($("#favorite-tournaments-list"));}return clone;}this.addFavoriteTournamentById=function(id,$trigger){var $li=getTournamentById(id);if($li){addFavoriteTournament($li,$trigger);}};function addFavoriteTournament($li,$trigger){$trigger=$trigger||$li;if(favoritesCount==0){$("#my-favorites-note").hide();}if(favoritesCount<favoritesLimit){if($("#favorite-tournaments-list").html().indexOf($li.find("a").attr("href")+'"')<0){cloneTournament($li).appendTo($("#favorite-tournaments-list"));$trigger.messageBox(ftAddedMessageOptions);NG.Events.fireGlobal("favoritetournamentsupdate",getTournamentId($li));NG.GA.trackEvent("MyFavourites","Add",$li.find("a").attr("href"));}else{$trigger.messageBox(ftDuplicateMessageOptions);}}else{$trigger.messageBox(ftLimitMessageOptions);}}this.removeFavoriteTournamentById=function(id){var $li=getTournamentById(id);if($li){removeFavoriteTournament($li);}};function removeFavoriteTournament($item){$item.remove();favoritesCount--;if(0==favoritesCount){$("#my-favorites-note").show();}else{if(1==favoritesCount){removeSortable($("#favorite-tournaments-list"));}}NG.Events.fireGlobal("favoritetournamentsupdate",getTournamentId($item));NG.GA.trackEvent("MyFavourites","Remove",$item.find("a").attr("href"));}function addSortable($ulList){$ulList.sortable({placeholder:"ui-state-highlight",handle:".sort",containment:"parent",tolerance:"pointer"}).bind("sortupdate",function(){NG.Events.fireGlobal("favoritetournamentsupdate");});$ulList.disableSelection();}function removeSortable($ulList){$ulList.sortable("destroy");}function addPlusButton($li){addToolbar($li);addButton($li,"add","star","Add to favorites",function(){addFavoriteTournament($li);});}function addToolbar($li){$li.addClass("hover-target rc").append('<div class="toolbar rc"></div>');}function addButton($li,css,iconType,title,onClick){var $toolBar=$(".toolbar",$li);$button=$toolBar.append('<a class="'+css+'" href="#" title="'+title+'"><span class="ui-icon ui-icon-'+iconType+'"></span></a>');$("."+css,$toolBar).click(function(e){e.preventDefault();if(onClick){onClick();}});}function getTournamentId($li){return stripTournamentIdFromHref($li.find("a.pt, a.t").attr("href"));}function stripTournamentIdFromHref(href){var re=/Tournaments\/(\d*)/;var id=href.match(re)[1];return id;}function getTournamentById(id){return $('#tournament-nav ul.tournaments li:has(a.t[href$="/'+id+'"])');}this.stripTournamentIdFromHref=function(href){return stripTournamentIdFromHref(href);};this.init=function(){$("#my-favorites-note-more-link").click(function(){$("#my-favorites-note-more-link").toggle();$("#my-favorites-note-more").toggle();});$("#my-favorites-note-less-link").click(function(){$("#my-favorites-note-more-link").toggle();$("#my-favorites-note-more").toggle();});$("#domestic > .nav-region-title, #international > .nav-region-title").toggle(function(){$a=$(this);$a.addClass("e").blur();$a.parent().find("ul.regions").show();return false;},function(){$a=$(this);$a.removeClass("e").blur();$a.parent().find("ul.regions").hide();return false;});$("#tournament-nav ul.regions li a.r").toggle(function(){$a=$(this);$a.addClass("e").blur().parent().find("ul.tournaments").show();if(!$a.data("decorated")){$a.parent().find("ul.tournaments li").each(function(){addPlusButton($(this));});$a.data("decorated",true);}return false;},function(){$a=$(this);$a.removeClass("e").blur().parent().find("ul.tournaments").hide();return false;});$("#popular > ul.tournaments li").each(function(){addPlusButton($(this));});NG.Events.addGlobal("favoritetournamentsupdate",function(){var id,ids=[];$("#favorite-tournaments-list a.pt").each(function(){var href=$(this).attr("href");id=href.substr(href.lastIndexOf("/")+1);ids.push(id);});WS.User.favoriteTournaments(ids);});var ids=WS.User.favoriteTournaments();if(0<ids.length){$("#my-favorites-note").hide();var idIndexes=ids.indextable();var $favLis=[];var $lis=$("#tournament-nav ul.tournaments li:has(a.t)");for(var i=0;i<ids.length;i++){var id=ids[i];var $li=getTournamentById(id);$favLis[idIndexes[id]]=cloneTournament($li);}var favouriteTournamentslist=$("#favorite-tournaments-list");for(var i=0;i<$favLis.length;i++){$favLis[i].appendTo(favouriteTournamentslist);}}else{$("#my-favorites-note").show();}$("#favorite-tournaments-list li a span.country").click(function(){return false;});};};WS.User={persistentOptions:{expires:365,path:"/",domain:gDomain},timezoneOffset:function(){if(undefined==arguments[0]){var tzo=$.cookie("tzo");if(null==tzo){tzo=gUtcOffset;$.cookie("tzo",tzo,this.persistentOptions);}return tzo;}else{$.cookie("tzo",arguments[0],this.persistentOptions);}},favoriteTournaments:function(){if(undefined==arguments[0]){var ft=$.cookie("ft")||"";return((0<ft.length)?ft.split(","):[]);}else{$.cookie("ft",arguments[0].join(","),this.persistentOptions);}},activeTournament:function(){if(undefined==arguments[0]){return $.cookie("at");}else{$.cookie("at",arguments[0]);}}};var Urls=function(){var templates={"livescores":"/matchesfeed/","livescoreincidents":"/matchesfeed/{id}/IncidentsSummary/","stagefixtures":"/tournamentsfeed/{stageId}/Fixtures/","teamfixtures":"/teamsfeed/{teamId}/Fixtures/","standings":"/stagesfeed/{stageId}/standings/","forms":"/stagesfeed/{stageId}/forms/","history":"/stagesfeed/{stageId}/history/","streaks":"/stagesfeed/{stageId}/streaks/","goals":"/tournamentsfeed/{stageId}/PlayerStatistics/","cards":"/tournamentsfeed/{stageId}/PlayerStatistics/","team-goals":"/teamsfeed/{teamId}/PlayerStatistics/","team-cards":"/teamsfeed/{teamId}/PlayerStatistics/","previousmeetings":"/teamsfeed/{homeTeamId}/PreviousMeetings/","statistics":"/statisticsfeed/","regionteams":"/teamsfeed/{id}/region"};return{get:function(key,parameters){var re=/\{(\w*)\}/g,url=templates[key]+"",matches,parametersCopy=$.extend(true,{},parameters);while(matches=re.exec(url)){url=url.replace(matches[0],parametersCopy[matches[1]]);delete parametersCopy[matches[1]];}var queryString=NG.querystring(parametersCopy);url=url+((0<queryString.length)?"?"+queryString:"");return url;}};}();function DateController(id,calendarp){var $el=$("#"+id),calendar=calendarp,self=this,disabled=false,$dateView=$("#"+id+" .date .text");setDate();NG.Events.add(calendar,"datechanged",function(){setDate();});function previousClickHandler(){$this=$(this).blur();if(disabled){return false;}disabled=true;$this.removeClass("is-default").addClass("is-active");calendar.previous();return false;}function nextClickHandler(){$this=$(this).blur();if(disabled){return false;}disabled=true;$this.removeClass("is-default").addClass("is-active");calendar.next();return false;}function nullClickHandler(){return false;}function setDate(){if($dateView){$dateView.text(calendar.formatDate());setButtonMode("previous");setButtonMode("next");}}function setButtonMode(type){var $button=$("#"+id+" ."+type);if(calendar[type+"Enabled"]()){$button.removeClass("is-disabled").addClass("is-default").unbind("click").click("previous"==type?previousClickHandler:nextClickHandler);$button.attr("title","View "+type+" "+calendar.mode().toLowerCase());}else{$button.removeClass("is-default is-active").addClass("is-disabled").unbind("click").click(nullClickHandler);$button.attr("title","No data for "+type+" "+calendar.mode().toLowerCase());}}this.enable=function(){disabled=false;$el.find(".previous.is-active, .next.is-active").removeClass("is-active").addClass("is-default");};this.disable=function(){disabled=true;};}function DatePicker(id,calendarp){var $el=$("#"+id),calendar=calendarp,isWeekly=calendar.isWeekly(),isMonthly=calendar.isMonthly(),monthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],enabled=true,self=this;this.enable=function(){this.enabled=true;};this.disable=function(){this.enabled=false;};function getMonthName(monthId){return(monthNames[monthId])?monthNames[monthId]:"";}function getDate(year,month,day){var date=new Date(parseInt(year,10),parseInt(month,10),parseInt(day,10)+1);if(date.getFullYear()<1999){return new Date(1999,0,1);}if(2010<date.getFullYear()){return new Date(2010,11,31);}return date;}update(calendar.getDate());addPresentTimeButton();NG.Events.add(calendar,"datechanged",function(){update(calendar.getDate());});this.update=function(date){calendar.setDate(date);};function update(date){var selectedDate=date,years=[],months=[],days=[],$datepicker=$("table.datepicker tr:first",$el);if(calendar.hasMask()){if(calendar.mask()[selectedDate.getFullYear()]){for(var year in calendar.mask()){if(String(year>>>0)==year&&year>>>0!=4294967295){years.push({value:year,text:year,selected:(year==selectedDate.getFullYear()),selectable:true});}}var selectableMonths=calendar.mask()[selectedDate.getFullYear()];var selectableDays=selectableMonths[selectedDate.getMonth()];if("undefined"==typeof(selectableDays)){var i=0;while(i<12&&"undefined"==typeof(selectableMonths[i])){i++;}selectableDays=selectableMonths[i];selectedDate=new Date(selectedDate.getFullYear(),i,1);}for(var i=0;i<12;i++){months.push({value:i,text:i+1,selected:(i==selectedDate.getMonth()),selectable:"undefined"!=typeof(selectableMonths[i])});}var selectableDaysPrev=selectableMonths[selectedDate.getMonth()-1],selectableDaysNext=selectableMonths[selectedDate.getMonth()+1];var startDate=new Date(selectedDate.getFullYear(),selectedDate.getMonth(),1),start=-((startDate.getDay()+6)%7),end=42+start;var checkPrev="undefined"!=typeof(selectableDaysPrev)&&(start<0),checkNext="undefined"!=typeof(selectableDaysNext),daysInMonth=startDate.getDaysInMonth();for(var i=start;i<end;i++){var day=new Date(startDate.getFullYear(),startDate.getMonth(),startDate.getDate()+i).getDate();days.push({value:i,text:day,selected:(i==selectedDate.getDate()-1),selectable:"undefined"!=typeof(selectableDays[i+1])||(checkPrev&&i<0&&"undefined"!=typeof(selectableDaysPrev[day]))||(checkNext&&(i>=daysInMonth)&&"undefined"!=typeof(selectableDaysNext[day]))});}}}else{for(var i=1999;i<2011;i++){years.push({value:i,text:i,selected:(i==selectedDate.getFullYear()),selectable:true});}for(var i=0;i<12;i++){months.push({value:i,text:i+1,selected:(i==selectedDate.getMonth()),selectable:true});}var startDate=new Date(selectedDate.getFullYear(),selectedDate.getMonth(),1),start=-((startDate.getDay()+6)%7),end=42+start;for(var i=start;i<end;i++){days.push({value:i,text:new Date(startDate.getFullYear(),startDate.getMonth(),startDate.getDate()+i).getDate(),selected:(i==selectedDate.getDate()-1),selectable:true});}}var s=[];s.push(renderPart(selectedDate,"years",(12==years.length)?4:1,years,true));s.push(renderPart(selectedDate,"months",4,months,true));if(!isMonthly){s.push(renderPart(selectedDate,"days",7,days,equals(date,calendar.getDate()),date.getDaysInMonth()));}$datepicker.text("");$datepicker.append(s.join(""));if(isWeekly){$(".days tr:has(td.selectable)",$el).addClass("selectable");$(".days tr:has(td.selected)",$el).addClass("selected");}}function addPresentTimeButton(){var text=isWeekly?"View current week":isMonthly?"View current month":"View today";$("#date-config").append('<div class="present-time with-right-icon"><span class="ui-icon ui-icon-arrowreturnthick-1-w"></span>'+text+"</div>");$("#date-config .present-time").click(function(){setTimeout(function(){calendar.setDate(NG.Clock.now());return false;},0);});}function renderPart(selectedDate,className,colCount,a,select,daysInMonth){var s=[];var title=("years"==className)?(a[0].text+((a[a.length-1].text!=a[0].text)?(" - "+a[a.length-1].text):"")):("months"==className)?selectedDate.getFullYear():(getMonthName(selectedDate.getMonth())+" "+selectedDate.getFullYear());s.push('<td class="part">');s.push('<div class="part-padding-ie">');s.push("<p>"+title+"</p> ");s.push(renderTable(className,colCount,a,select,daysInMonth));s.push("</div>");s.push("</td>");return s.join("");}function renderTable(className,colCount,a,select,daysInMonth){var t=[];t.push('<table class="'+className+'">');if(daysInMonth){t.push("<thead>");t.push('<tr><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th class="">S</th><th class="">S</th></tr>');t.push("</thead>");}t.push("<tbody>");for(var i=0;i<a.length;i++){if(0==i%colCount){t.push("<tr>");}t.push('<td class="'+(select&&a[i].selected?" selected":"")+(a[i].selectable?" selectable":"")+(daysInMonth&&(a[i].value<0||daysInMonth-1<a[i].value)?" om":"")+'" data-value="'+a[i].value+'">');t.push((className=="months")?getMonthName(a[i].text-1):a[i].text);t.push("</td>");if(colCount-1==i%colCount){t.push("</tr>");}}t.push("</tbody></table>");return t.join("");}function equals(a,b){return a.getFullYear()==b.getFullYear()&&a.getMonth()==b.getMonth()&&a.getDate()==b.getDate();}$el.find(".years td.selectable").live("click",function(){if(!self.enabled){return;}var $this=$(this),year=$this.attr("data-value"),month=$el.find(".months td.selected").attr("data-value"),day=0,date=getDate(year,month,day);update(date);});$el.find(".months td.selectable").live("click",function(){if(!self.enabled){return;}var $this=$(this),year=$el.find(".years td.selected").attr("data-value"),month=$this.attr("data-value"),day=1,date=getDate(year,month,day);if(isMonthly){calendar.setDate(date);}else{update(date);}});var selectable=(isWeekly)?".days tr:has(td.selectable)":".days td.selectable";$el.find(selectable).live("click",function(){if(!self.enabled){return;}var $this=$(this),year=$el.find(".years td.selected").attr("data-value"),month=$el.find(".months td.selected").attr("data-value"),day=(isWeekly)?$("td:first",$this).attr("data-value"):$this.attr("data-value"),date=getDate(year,month,day);calendar.setDate(date);});}function teamIdMaskFn(obj){return obj["TeamId"];}var ViewUtil={zeroFilter:function(value){return(0==value)?".":value;},zeroClass:function(value){if(0==value){return" nil";}return"";}};var gridDefaults={filter:{maskFn:teamIdMaskFn},sorter:{sortInfo:{property:"O",direction:"asc"}},highlighter:{maskFn:teamIdMaskFn}};function GoalStatsModel(config){var config=config||{};var dataLoaded={"Overall":false,"Home":false,"Away":false};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var records;DataStore.load("goals",{parameters:parametersCopy,cache:config.cache,success:function(options,data){if(!dataLoaded[parametersCopy.field]){dataLoaded[parametersCopy.field]=true;NG.Events.fireGlobal("goals-grid-model-updated",[parametersCopy.field]);}records=data;},dataType:"array"});return this.prepareData(records);};this.prepareData=function(rawData){var result=-1;if(rawData){result=[];for(var i=0,l=rawData.length;i<l;i++){var o={};jQuery.extend(o,{PlayerName:rawData[i][0],TeamName:rawData[i][1],GoalsScored:rawData[i][2],FirstGoals:rawData[i][3],PenaltyGoals:rawData[i][4],TeamId:rawData[i][5]});result.push(o);}}return result;};}function TeamGoalStatsModel(config){var config=config||{};var dataLoaded={};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var records;DataStore.load("team-goals",{parameters:parametersCopy,cache:config.cache,success:function(options,data){if(!dataLoaded[parametersCopy.field+parametersCopy.tournamentId]){dataLoaded[parametersCopy.field+parametersCopy.tournamentId]=true;setTimeout(function(){NG.Events.fireGlobal("team-goals-grid-model-updated",[parametersCopy.field]);},0);}records=data;},dataType:"array"});return this.prepareData(records);};this.prepareData=function(rawData){var result=-1;if(rawData){result=[];for(var i=0,l=rawData.length;i<l;i++){var o={};jQuery.extend(o,{PlayerName:rawData[i][0],GoalsScored:rawData[i][2],FirstGoals:rawData[i][3],PenaltyGoals:rawData[i][4]});result.push(o);}}return result;};}var GoalStatsView=function(eventData){var records=eventData.model.records;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="rank">'+(i+1)+"</td>");t.push('<td class="player">'+o.PlayerName+"</td>");if(o.TeamId&&o.TeamName){t.push('<td class="team">');t.push('<a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a>");t.push("</td>");}t.push('<td class="fg">'+o.FirstGoals+"</td>");t.push('<td class="pg">'+o.PenaltyGoals+"</td>");t.push('<td class="gs">'+o.GoalsScored+"</td>");t.push("</tr>");}return t.join("");}return"";};function CardStatsModel(config){var config=config||{};var dataLoaded={"Overall":false,"Home":false,"Away":false};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var records;DataStore.load("cards",{parameters:parametersCopy,cache:config.cache,success:function(options,data){if(!dataLoaded[parametersCopy.field]){dataLoaded[parametersCopy.field]=true;NG.Events.fireGlobal("cards-grid-model-updated",[parametersCopy.field]);}records=data;},dataType:"array"});return this.prepareData(records);};this.prepareData=function(rawData){var result=-1;if(rawData){result=[];for(var i=0,l=rawData.length;i<l;i++){var o={};jQuery.extend(o,{PlayerName:rawData[i][0],TeamName:rawData[i][1],Yellow:rawData[i][2],SecondYellow:rawData[i][3],Red:rawData[i][4],Points:rawData[i][5],TeamId:rawData[i][6]});result.push(o);}}return result;};}function TeamCardStatsModel(config){var config=config||{};var dataLoaded={"Overall":false,"Home":false,"Away":false};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var records;DataStore.load("team-cards",{parameters:parametersCopy,cache:config.cache,success:function(options,data){if(!dataLoaded[parametersCopy.field+parametersCopy.tournamentId]){dataLoaded[parametersCopy.field+parametersCopy.tournamentId]=true;NG.Events.fireGlobal("team-cards-grid-model-updated",[parametersCopy.field]);}records=data;},dataType:"array"});return this.prepareData(records);};this.prepareData=function(rawData){var result=-1;if(rawData){result=[];for(var i=0,l=rawData.length;i<l;i++){var o={};jQuery.extend(o,{PlayerName:rawData[i][0],Yellow:rawData[i][2],SecondYellow:rawData[i][3],Red:rawData[i][4],Points:rawData[i][5]});result.push(o);}}return result;};}var CardStatsView=function(eventData){var records=eventData.model.records;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="rank">'+(i+1)+"</td>");t.push('<td class="player">'+o.PlayerName+"</td>");if(o.TeamId&&o.TeamName){t.push('<td class="team">');t.push('<a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a>");t.push("</td");}t.push('<td class="y">'+o.Yellow+"</td>");t.push('<td class="sy">'+o.SecondYellow+"</td>");t.push('<td class="r">'+o.Red+"</td>");t.push('<td class="pts">'+o.Points+"</td>");t.push("</tr>");}return t.join("");}return"";};function StandingsModel(config){var config=config||{};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=NG.remove(parametersCopy,"field");var data=DataStore.load("standings",{parameters:parametersCopy,cache:config.cache,dataType:"array"});var result=[];for(var i=0,l=data.length;i<l;i++){var o={TeamId:data[i][0],TeamName:data[i][1],Matches:data[i][29]};var offset=2;switch(field){case"home":offset+=9;o.Matches=data[i][30];break;case"away":offset+=18;o.Matches=data[i][31];break;}jQuery.extend(o,{O:data[i][offset],P:data[i][++offset],W:data[i][++offset],D:data[i][++offset],L:data[i][++offset],GF:data[i][++offset],GA:data[i][++offset],GD:data[i][++offset],Pts:data[i][++offset]});if("wide"==field){jQuery.extend(o,{HO:data[i][11],HP:data[i][12],HW:data[i][13],HD:data[i][14],HL:data[i][15],HGF:data[i][16],HGA:data[i][17],HGD:data[i][18],HPts:data[i][19],AO:data[i][20],AP:data[i][21],AW:data[i][22],AD:data[i][23],AL:data[i][24],AGF:data[i][25],AGA:data[i][26],AGD:data[i][27],APts:data[i][28]});}result.push(o);}return result;};}var StandingsView=function(eventData){var rankColorings=eventData.extraOptions.rankColorings;var showRankcolorings=showRankColorings(eventData.extraOptions.field);var records=eventData.model.records;if(records){var o,t=[];var find=/<a class="(\w) (\w)" id="(\d+)" title="(.+?)"\/>/g;var replace='<a class="box $1 $2" href="/Matches/$3/Live" title="$4">$1</a>';var lastMatch=/"(\/.+?)" title="(.+?)" /;var replaceLastMatch='$1 title="Last Match: $2"';for(var i=0,l=records.length;i<l;i++){var matches="";o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="o"><span class="box '+(showRankcolorings?getRankCssForIndex(rankColorings,(o.O)):"")+'">'+o.O+"</span></td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="p">'+o.P+"</td>");t.push('<td class="w">'+o.W+"</td>");t.push('<td class="d">'+o.D+"</td>");t.push('<td class="l">'+o.L+"</td>");t.push('<td class="gf">'+o.GF+"</td>");t.push('<td class="ga">'+o.GA+"</td>");t.push('<td class="gd">'+(0<o.GD?"+"+o.GD:o.GD)+"</td>");t.push('<td class="pts">'+o.Pts+"</td>");if(o.Matches){matches=o.Matches.replace(find,replace);matches=matches.replace(lastMatch,replaceLastMatch);}t.push('<td class="form">'+matches+"</td>");t.push("</tr>");}return t.join("");}return"";};function showRankColorings(field){return(field)?("overall"==field||"wide"==field):false;}function getRankCssForIndex(rankCssList,index){if(rankCssList){for(var i=0;i<rankCssList.length;i++){for(var k=0;k<rankCssList[i][1].length;k++){if(rankCssList[i][1][k]==index){return rankCssList[i][0];}}}}return"";}var StandingsWideView=function(eventData){var records=eventData.model.records;var rankColorings=eventData.extraOptions.rankColorings;var showRankcolorings=showRankColorings(eventData.extraOptions.field);if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="o"><span class="box '+(showRankcolorings?getRankCssForIndex(rankColorings,(o.O)):"")+'">'+o.O+"</span></td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="p shade">'+o.P+"</td>");t.push('<td class="w shade">'+o.W+"</td>");t.push('<td class="d shade">'+o.D+"</td>");t.push('<td class="l shade">'+o.L+"</td>");t.push('<td class="gf shade">'+o.GF+"</td>");t.push('<td class="ga shade">'+o.GA+"</td>");t.push('<td class="pts shade">'+o.Pts+"</td>");t.push('<td class="p">'+o.HP+"</td>");t.push('<td class="w">'+o.HW+"</td>");t.push('<td class="d">'+o.HD+"</td>");t.push('<td class="l">'+o.HL+"</td>");t.push('<td class="gf">'+o.HGF+"</td>");t.push('<td class="ga">'+o.HGA+"</td>");t.push('<td class="pts">'+o.HPts+"</td>");t.push('<td class="p shade">'+o.AP+"</td>");t.push('<td class="w shade">'+o.AW+"</td>");t.push('<td class="d shade">'+o.AD+"</td>");t.push('<td class="l shade">'+o.AL+"</td>");t.push('<td class="gf shade">'+o.AGF+"</td>");t.push('<td class="ga shade">'+o.AGA+"</td>");t.push('<td class="pts shade">'+o.APts+"</td>");t.push("</tr>");}return t.join("");}return"";};var StandingsGridDefaults=$.extend({},gridDefaults,{model:{type:StandingsModel,cache:true},view:StandingsView,sorter:{sortInfo:{property:"O",direction:"asc"}}});var GoalsGridDefaults=$.extend({},gridDefaults,{model:{type:GoalStatsModel,cache:true},view:GoalStatsView,sorter:{sortInfo:{property:"GoalsScored",direction:"desc"}},gridId:"goals-grid"});var TeamGoalsGridDefaults=$.extend({},gridDefaults,{model:{type:TeamGoalStatsModel,cache:true},view:GoalStatsView,sorter:{sortInfo:{property:"GoalsScored",direction:"desc"}},gridId:"goals-grid"});var CardsGridDefaults=$.extend({},gridDefaults,{model:{type:CardStatsModel,cache:true},view:CardStatsView,sorter:{sortInfo:{property:"Points",direction:"desc"}}});var TeamCardsGridDefaults=$.extend({},gridDefaults,{model:{type:TeamCardStatsModel,cache:true},view:CardStatsView,sorter:{sortInfo:{property:"Points",direction:"desc"}}});function HistoryModel(config){var config=config||{};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=NG.remove(parametersCopy,"field");var data=DataStore.load("history",{parameters:parametersCopy,cache:config.cache,dataType:"array"});var result=[];for(var i=0,l=data.length;i<l;i++){var o={TeamId:data[i][0],TeamName:data[i][1]};switch(field){case"overall":o.O=data[i][2];o.H=data[i][3];break;case"home":o.O=data[i][4];o.H=data[i][5];break;case"away":o.O=data[i][6];o.H=data[i][7];break;}result.push(o);}return result;};}var HistoryView=function(eventData){function format(data){return(null!=data&&0<(c=(data.match(/\d/g)||[]).length))?"<ul>"+'<li class="c">'+(0<c?"1":"0")+"</li>"+data.replace(/(\d)/g,'<li class="r$1"></li>')+'<li class="c">'+(1<c?c:"")+"</li>"+"</ul>":'<ul><li class="c">0</li></ul>';}var records=eventData.model.records;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="o">'+o.O+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="progression">'+format(o.H)+"</td>");t.push("</tr>");}return t.join("");}return"";};var HistoryGridDefaults=$.extend({},gridDefaults,{model:{type:HistoryModel,cache:true},view:HistoryView,sorter:{sortInfo:{property:"O",direction:"asc"}}});function getPercentage(stat,played){return Math.round(stat*100/played);}function getAverage(stat,played){return Math.ceil(stat*10/played)/10;}function StatisticsPerformancesModel(config){var config=config||{};var dataLoaded={};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=parametersCopy.field;var page=NG.remove(parametersCopy,"page");parametersCopy.field="wide"==field?"Overall":field;var records;var data=DataStore.load("statistics",{parameters:parametersCopy,cache:config.cache,success:function(options,data){var key=field+parametersCopy.order+parametersCopy.filterType;if(!dataLoaded[key]){dataLoaded[key]=true;setTimeout(function(){NG.Events.fireGlobal("statistics-performances-model-updated",[]);},0);}records=data;var numberOfPages=Math.ceil(records.length/15);NG.Events.fireGlobal("statistics-performances-data-loaded",[numberOfPages,page]);},dataType:"array",extraOptions:{page:page}});return this.prepareData(records,field,page);};this.prepareData=function(data,field,page){var result=-1;if(data){page=page||1;var start=page==1?0:(15*(page-1));var end=data.length<(15*page)?data.length:(15*page);result=[];for(var i=start,l=end;i<l;i++){var o={TeamId:data[i][0],TeamName:data[i][1],StageId:data[i][2],TournamentName:data[i][3],SeasonId:data[i][4],TournamentId:data[i][5],RegionId:data[i][6],RegionCode:data[i][7]};var offset=7;switch(field){case"Home":offset+=8;break;case"Away":offset+=16;break;}o.P=data[i][++offset];jQuery.extend(o,{W:getPercentage(data[i][++offset],o.P),D:getPercentage(data[i][++offset],o.P),L:getPercentage(data[i][++offset],o.P),GF:getAverage(data[i][++offset],o.P),GA:getAverage(data[i][++offset],o.P),GD:getAverage(data[i][++offset],o.P),Pts:getAverage(data[i][++offset],o.P)});result.push(o);}}return result;};}function StatisticsFormsModel(config){var config=config||{};var dataLoaded={};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=parametersCopy.field;var page=NG.remove(parametersCopy,"page");parametersCopy.field="wide"==field?"Overall":field;var records;var data=DataStore.load("statistics",{parameters:parametersCopy,cache:config.cache,success:function(options,data){var key=field+parametersCopy.period+parametersCopy.order+parametersCopy.filterType;if(!dataLoaded[key]){dataLoaded[key]=true;setTimeout(function(){NG.Events.fireGlobal("statistics-forms-model-updated",[]);},0);}records=data;var numberOfPages=Math.ceil(records.length/15);NG.Events.fireGlobal("statistics-forms-data-loaded",[numberOfPages,page]);},dataType:"array",extraOptions:{page:page}});return this.prepareData(records,field,page);};this.prepareData=function(data,field,page){var result=-1;if(data){page=page||1;var start=page==1?0:(15*(page-1));var end=data.length<(15*page)?data.length:(15*page);result=[];for(var i=start,l=end;i<l;i++){var o={StageId:data[i][0],TournamentName:data[i][1],SeasonId:data[i][2],TournamentId:data[i][3],RegionId:data[i][4],RegionCode:data[i][34],TeamId:data[i][5],TeamName:data[i][6],Matches:data[i][31]};var offset=6;switch(field){case"Home":offset+=8;o.Matches=data[i][32];break;case"Away":offset+=16;o.Matches=data[i][33];break;}jQuery.extend(o,{P:data[i][++offset],W:data[i][++offset],D:data[i][++offset],L:data[i][++offset],GF:data[i][++offset],GA:data[i][++offset],GD:data[i][++offset],Pts:data[i][++offset]});result.push(o);}}return result;};}function FormsModel(config){var config=config||{};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=NG.remove(parametersCopy,"field");var data=DataStore.load("forms",{parameters:parametersCopy,cache:config.cache,dataType:"array"});var result=[];for(var i=0,l=data.length;i<l;i++){var o={TeamId:data[i][0],TeamName:data[i][1],Matches:data[i][29]};var offset=2;switch(field){case"home":offset+=9;o.Matches=data[i][30];break;case"away":offset+=18;o.Matches=data[i][31];break;}jQuery.extend(o,{O:data[i][offset],P:data[i][++offset],W:data[i][++offset],D:data[i][++offset],L:data[i][++offset],GF:data[i][++offset],GA:data[i][++offset],GD:data[i][++offset],Pts:data[i][++offset]});if("wide"==field){jQuery.extend(o,{HO:data[i][11],HP:data[i][12],HW:data[i][13],HD:data[i][14],HL:data[i][15],HGF:data[i][16],HGA:data[i][17],HGD:data[i][18],HPts:data[i][19],AO:data[i][20],AP:data[i][21],AW:data[i][22],AD:data[i][23],AL:data[i][24],AGF:data[i][25],AGA:data[i][26],AGD:data[i][27],APts:data[i][28]});}result.push(o);}return result;};}var FormsView=function(eventData){var records=eventData.model.records;if(records){var o,t=[];var find=/<a class="(\w) (\w)" id="(\d+)" title="(.+?)"\/>/g;var replace='<a class="box $1 $2" href="/Matches/$3/Live" title="$4">$1</a>';var lastMatch=/"(\/.+?)" title="(.+?)" /;var replaceLastMatch='$1 title="Last Match: $2"';for(var i=0,l=records.length;i<l;i++){var matches="";o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="o">'+o.O+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="p">'+o.P+"</td>");t.push('<td class="w">'+o.W+"</td>");t.push('<td class="d">'+o.D+"</td>");t.push('<td class="l">'+o.L+"</td>");t.push('<td class="gf">'+o.GF+"</td>");t.push('<td class="ga">'+o.GA+"</td>");t.push('<td class="gd">'+(0<o.GD?"+"+o.GD:o.GD)+"</td>");t.push('<td class="pts">'+o.Pts+"</td>");if(o.Matches){matches=o.Matches.replace(find,replace);matches=matches.replace(lastMatch,replaceLastMatch);}t.push('<td class="form">'+matches+"</td>");t.push("</tr>");}return t.join("");}return"";};var StatisticsFormsView=function(eventData){var records=eventData.model.records;var page=eventData.model.parameters.page?eventData.model.parameters.page:1;var index=((page-1)*15)+1;if(records){var o,t=[];var find=/<a class="(\w) (\w)" id="(\d+)" title="(.+?)"\/>/g;var replace='<a class="box $1 $2" href="/Matches/$3/Live" title="$4">$1</a>';var lastMatch=/"(\/.+?)" title="(.+?)" /;var replaceLastMatch='$1 title="Last Match: $2"';for(var i=0,l=records.length;i<l;i++){var matches="";o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="rank">'+(index++)+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="tournament"><a class="tournament-link with-left-icon" href="/Regions/'+o.RegionId+"/Tournaments/"+o.TournamentId+"/Seasons/"+o.SeasonId+"/Stages/"+o.StageId+'"><span class="ui-icon country flg-'+o.RegionCode+'"></span>'+o.TournamentName+"</a></td>");t.push('<td class="p">'+o.P+"</td>");t.push('<td class="w">'+o.W+"</td>");t.push('<td class="d">'+o.D+"</td>");t.push('<td class="l">'+o.L+"</td>");t.push('<td class="gf">'+o.GF+"</td>");t.push('<td class="ga">'+o.GA+"</td>");t.push('<td class="gd">'+(0<o.GD?"+"+o.GD:o.GD)+"</td>");t.push('<td class="pts">'+o.Pts+"</td>");if(o.Matches){matches=o.Matches.replace(find,replace);matches=matches.replace(lastMatch,replaceLastMatch);}t.push('<td class="form">'+matches+"</td>");t.push("</tr>");}return t.join("");}return"";};var StatisticsPerformancesView=function(eventData){var records=eventData.model.records;var page=eventData.model.parameters.page?eventData.model.parameters.page:1;var index=((page-1)*15)+1;if(records){var o,t=[];var matches="";var find=/<a class="(\w) (\w)" id="(\d+)" title="(.+?)"\/>/g;var replace='<a class="box $1 $2" href="/Matches/$3/Live" title="$4">$1</a>';var lastMatch=/"(\/.+?)" title="(.+?)" /;var replaceLastMatch='$1 title="Last Match: $2"';for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="rank">'+(index++)+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="tournament"><a class="tournament-link with-left-icon" href="/Regions/'+o.RegionId+"/Tournaments/"+o.TournamentId+"/Seasons/"+o.SeasonId+"/Stages/"+o.StageId+'"><span class="ui-icon country flg-'+o.RegionCode+'"></span>'+o.TournamentName+"</a></td>");t.push('<td class="p">'+o.P+"</td>");t.push('<td class="w">'+o.W+"</td>");t.push('<td class="d">'+o.D+"</td>");t.push('<td class="l">'+o.L+"</td>");t.push('<td class="gf">'+o.GF+"</td>");t.push('<td class="ga">'+o.GA+"</td>");t.push('<td class="pts">'+o.Pts+"</td>");t.push("</tr>");}return t.join("");}return"";};var FormsWideView=function(eventData){var records=eventData.model.records;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+'">');t.push('<td class="o">'+o.O+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="p shade">'+o.P+"</td>");t.push('<td class="w shade">'+o.W+"</td>");t.push('<td class="d shade">'+o.D+"</td>");t.push('<td class="l shade">'+o.L+"</td>");t.push('<td class="gf shade">'+o.GF+"</td>");t.push('<td class="ga shade">'+o.GA+"</td>");t.push('<td class="pts shade">'+o.Pts+"</td>");t.push('<td class="p">'+o.HP+"</td>");t.push('<td class="w">'+o.HW+"</td>");t.push('<td class="d">'+o.HD+"</td>");t.push('<td class="l">'+o.HL+"</td>");t.push('<td class="gf">'+o.HGF+"</td>");t.push('<td class="ga">'+o.HGA+"</td>");t.push('<td class="pts">'+o.HPts+"</td>");t.push('<td class="p shade">'+o.AP+"</td>");t.push('<td class="w shade">'+o.AW+"</td>");t.push('<td class="d shade">'+o.AD+"</td>");t.push('<td class="l shade">'+o.AL+"</td>");t.push('<td class="gf shade">'+o.AGF+"</td>");t.push('<td class="ga shade">'+o.AGA+"</td>");t.push('<td class="pts shade">'+o.APts+"</td>");t.push("</tr>");}return t.join("");}return"";};var FormsGridDefaults=$.extend({},gridDefaults,{model:{type:FormsModel,cache:true},view:FormsView,sorter:{sortInfo:{property:"O",direction:"asc"}}});var FormsWideGridDefaults=$.extend({},FormsGridDefaults,{view:FormsWideView});var StatisticsFormsGridDefaults=$.extend({},gridDefaults,{model:{type:StatisticsFormsModel,cache:true},view:StatisticsFormsView,sorter:null});var StandingsWideGridDefaults=$.extend({},StandingsGridDefaults,{view:StandingsWideView});var StatisticsPerformancesGridDefaults=$.extend({},gridDefaults,{model:{type:StatisticsPerformancesModel,cache:true},view:StatisticsPerformancesView,sorter:null});function StreaksModel(config){var config=config||{};var baseOffset=config.offset||0;this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=NG.remove(parametersCopy,"field");var data=DataStore.load("streaks",{parameters:parametersCopy,cache:config.cache,dataType:"array"});var result=[];for(var i=0,l=data.length;i<l;i++){var o={TeamId:data[i][0],TeamName:data[i][1]};var offset=baseOffset+1;switch(field){case"home":offset+=8;break;case"away":offset+=16;break;}jQuery.extend(o,{O:data[i][++offset],W:data[i][++offset],WD:data[i][++offset],D:data[i][++offset],L:data[i][++offset],DL:data[i][++offset],CS:data[i][++offset],FS:data[i][++offset]});if("wide"==field){jQuery.extend(o,{HO:data[i][++offset],HW:data[i][++offset],HWD:data[i][++offset],HD:data[i][++offset],HL:data[i][++offset],HDL:data[i][++offset],HCS:data[i][++offset],HFS:data[i][++offset],AO:data[i][++offset],AW:data[i][++offset],AWD:data[i][++offset],AD:data[i][++offset],AL:data[i][++offset],ADL:data[i][++offset],ACS:data[i][++offset],AFS:data[i][++offset]});}result.push(o);}return result;};}function StatisticsStreaksModel(config){var config=config||{};var baseOffset=config.offset||0;var dataLoaded={};this.load=function(parameters){var parametersCopy=$.extend({},config.defaultParameters,parameters);var field=parametersCopy.field;var page=NG.remove(parametersCopy,"page");parametersCopy.field="wide"==field?"Overall":field;var records;DataStore.load("statistics",{parameters:parametersCopy,cache:config.cache,success:function(options,data){var key=field+parametersCopy.statsSubType+parametersCopy.period+parametersCopy.streaksType+parametersCopy.filterType;if(!dataLoaded[key]){dataLoaded[key]=true;setTimeout(function(){NG.Events.fireGlobal("statistics-streaks-model-updated",[]);},0);}records=data;var numberOfPages=Math.ceil(records.length/15);NG.Events.fireGlobal("statistics-streaks-data-loaded",[numberOfPages,page]);},dataType:"array",extraOptions:{page:page}});return this.prepareData(records,field,page);};this.prepareData=function(data,field,page){var result=-1;if(data){page=page||1;var start=page==1?0:(15*(page-1));var end=data.length<(15*page)?data.length:(15*page);result=[];for(var i=start,l=end;i<l;i++){var o={TeamId:data[i][0],TeamName:data[i][1],StageId:data[i][2],TournamentName:data[i][3],SeasonId:data[i][4],TournamentId:data[i][5],RegionId:data[i][6],RegionCode:data[i][7],Streak:data[i][8],Type:data[i][11],P:data[i][12]};switch(field){case"Home":o.Streak=data[i][9],o.P=data[i][13];break;case"Away":o.Streak=data[i][10],o.P=data[i][14];break;}result.push(o);}}return result;};}var StreaksView=function(eventData){function getRowClass(o,sortProperty){if("O"!=sortProperty&&"TeamName"!=sortProperty&&o[sortProperty]<1){return"dim";}return"";}function filter(value){return(0==value)?".":value;}var records=eventData.model.records;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+" "+getRowClass(o,eventData.sorter.sortInfo.property)+'">');t.push('<td class="o">'+o.O+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="w">'+filter(o.W)+"</td>");t.push('<td class="wd">'+filter(o.WD)+"</td>");t.push('<td class="d">'+filter(o.D)+"</td>");t.push('<td class="dl">'+filter(o.DL)+"</td>");t.push('<td class="l">'+filter(o.L)+"</td>");t.push('<td class="cs">'+filter(o.CS)+"</td>");t.push('<td class="fs">'+filter(o.FS)+"</td>");t.push("</tr>");}return t.join("");}return"";};var StatisticsStreaksView=function(eventData){function filter(value){return(0==value)?".":value;}var records=eventData.model.records;var page=eventData.model.parameters.page?eventData.model.parameters.page:1;var index=((page-1)*15)+1;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+' ">');t.push('<td class="rank">'+(index++)+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="tournament"><a class="tournament-link with-left-icon" href="/Regions/'+o.RegionId+"/Tournaments/"+o.TournamentId+"/Seasons/"+o.SeasonId+"/Stages/"+o.StageId+'"><span class="ui-icon country flg-'+o.RegionCode+'"></span>'+o.TournamentName+"</a></td>");t.push('<td class="'+o.Type+'">'+filter(o.Streak)+' <span style="color: #999; ">('+o.P+")</span></td>");t.push("</tr>");}return t.join("");}return"";};var StreaksWideView=function(eventData){function getRowClass(o,sortProperty){if("O"!=sortProperty&&"TeamName"!=sortProperty&&o[sortProperty]<1){return"dim";}return"";}function filter(value){return(0==value)?".":value;}var records=eventData.model.records;if(records){var o,t=[];for(var i=0,l=records.length;i<l;i++){o=records[i];t.push('<tr class="'+((1==i%2)?"alt":"")+" "+getRowClass(o,eventData.sorter.sortInfo.property)+'">');t.push('<td class="o">'+o.O+"</td>");t.push('<td class="team"><a class="team-link" href="/Teams/'+o.TeamId+'">'+o.TeamName+"</a></td>");t.push('<td class="w shade">'+filter(o.W)+"</td>");t.push('<td class="wd shade">'+filter(o.WD)+"</td>");t.push('<td class="d shade">'+filter(o.D)+"</td>");t.push('<td class="dl shade">'+filter(o.DL)+"</td>");t.push('<td class="l shade">'+filter(o.L)+"</td>");t.push('<td class="cs shade">'+filter(o.CS)+"</td>");t.push('<td class="fs shade">'+filter(o.FS)+"</td>");t.push('<td class="w">'+filter(o.HW)+"</td>");t.push('<td class="wd">'+filter(o.HWD)+"</td>");t.push('<td class="d">'+filter(o.HD)+"</td>");t.push('<td class="dl">'+filter(o.HDL)+"</td>");t.push('<td class="l">'+filter(o.HL)+"</td>");t.push('<td class="cs">'+filter(o.HCS)+"</td>");t.push('<td class="fs">'+filter(o.HFS)+"</td>");t.push('<td class="w shade">'+filter(o.AW)+"</td>");t.push('<td class="wd shade">'+filter(o.AWD)+"</td>");t.push('<td class="d shade">'+filter(o.AD)+"</td>");t.push('<td class="dl shade">'+filter(o.ADL)+"</td>");t.push('<td class="l shade">'+filter(o.AL)+"</td>");t.push('<td class="cs shade">'+filter(o.ACS)+"</td>");t.push('<td class="fs shade">'+filter(o.AFS)+"</td>");t.push("</tr>");}return t.join("");}return"";};var StreaksGridDefaults=$.extend({},gridDefaults,{model:{type:StreaksModel,cache:true},view:StreaksView,sorter:{sortInfo:{property:"O",direction:"asc"}}});var StatisticsStreaksGridDefaults=$.extend({},gridDefaults,{model:{type:StatisticsStreaksModel,cache:true},view:StatisticsStreaksView,sorter:null});var StreaksWideGridDefaults=$.extend({},StreaksGridDefaults,{view:StreaksWideView});var SeasonStreaksGridDefaults=$.extend({},StreaksGridDefaults,{model:$.extend({},StreaksGridDefaults.model,{})});var SeasonStreaksWideGridDefaults=$.extend({},SeasonStreaksGridDefaults,{view:StreaksWideView});function StageFixturesPresenter(config){var config=config||{},self=this,selectedMatch=null,visibleIncidents={},incidentManager=new IncidentManager({rootElement:"#tournament-fixture",toggleSelector:"#tournament-fixture a.show-incidents",view:StageIncidentsView});this.highlightMask=null;this.load=function(parameters){parameters=parameters||{};var parametersCopy=$.extend({},config.defaultParameters,parameters);DataStore.load("stagefixtures",{parameters:parametersCopy,success:success,error:error,dataType:"array",cache:true},this);};function success(options,data){var model=new StageFixturesModel(data);$(config.wrapper).html(StageFixturesView(model,config.showPins));incidentManager.clearIncidents();selectedMatch=null;self.highlightMask=null;NG.Events.fire(this,"highlightoff");NG.Events.fire(this,"loaded");}function error(){}function switchOn($el){selectedMatch=$el;$el.data("selected",true);var ids=[];$el.removeClass("is-default").addClass("is-active").parents("tr:first").addClass("highlight").find("td.team").each(function(){ids.push($(this).attr("data-id"));});self.highlightMask=ids;NG.Events.fire(self,"highlighton",[self.highlightMask]);}function switchOff($el){selectedMatch=null;$el.data("selected",false);$el.removeClass("is-active").addClass("is-default").parents("tr:first").removeClass("highlight");self.highlightMask=null;NG.Events.fire(self,"highlightoff");}$("#tournament-fixture td.toolbar a.hilight").live("click",function(){var $el=$(this);if(null==selectedMatch){switchOn($el);}else{if(selectedMatch&&$el.data("selected")){switchOff(selectedMatch);}else{switchOff(selectedMatch);switchOn($el);}}return false;});}function StageFixturesModel(data){var result=[],record;if(undefined==data||(undefined==data.length&&0==data.length)){return result;}for(var i=0,l=data.length;i<l;i++){record=data[i];var o={};o.Id=record[0];o.Status=record[1];o.StartDate=record[2];o.StartTime=record[3];o.HomeTeamId=record[4];o.HomeTeamName=record[5];o.HomeRCards=record[6];o.AwayTeamId=record[7];o.AwayTeamName=record[8];o.AwayRCards=record[9];o.Score=record[10];o.HTScore=record[11];o.HasIncidents=record[12];o.HasPreview=record[13];o.Elapsed=record[14];o.Result=record[15];result.push(o);}return result;}var StageFixturesView=function(records,showPins){var o,t=[],lastDate=null,z;showPins=(null!=showPins)?showPins:true;t.push('<table id="tournament-fixture" class="grid hover"><tbody>');for(var i=0,l=records.length;i<l;i++){o=records[i];if(lastDate!=o.StartDate){lastDate=o.StartDate;t.push('<tr class="rowgroupheader"><th colspan="99">'+lastDate+'<span class="weak"></span></th></tr>');z=0;}t.push('<tr class="item '+((1==z%2)?"alt":""));t.push('" data-id="');t.push(o.Id);t.push('">');t.push('<td class="toolbar" style="text-align: left;"><ul');if(true==showPins){t.push(">");t.push('<li><a href="#" class="hilight button with-solo-icon is-default rc" title="Highlight teams in tables below"><span class="ui-icon ui-icon-pin-w"></span></a></li>');}else{t.push(' class="solo">');}if(o.HasIncidents){t.push('<li><a href="#" class="show-incidents button with-solo-icon is-default-transparent rc" title="Details"><span class="ui-icon ui-icon-triangle-1-e"></span></a></li>');}t.push("</ul></td>");t.push('<td class="time">'+o.StartTime+"</td>");t.push('<td class="status">'+(o.Elapsed?o.Elapsed:"")+"</td>");t.push('<td class="team home'+(1==o.Result?" winner":"")+'" data-id="'+o.HomeTeamId+'"><a class="team-link" href="/Teams/'+o.HomeTeamId+'">'+o.HomeTeamName+"</a>");if(0<o.HomeRCards){t.push('<span class="rcard ls-e">'+o.HomeRCards+"</span>");}t.push("</td>");t.push('<td class="result">');if(o.HasPreview&&"4"==o.Status){t.push('<a href="/Matches/'+o.Id+'/Preview">Preview</a>');}else{if("2"==o.Status||"1"==o.Status){t.push('<a href="/Matches/'+o.Id+'/Live">'+o.Score+"</a>");}else{t.push('<a href="/Matches/'+o.Id+'">'+o.Score+"</a>");}}t.push("</td>");t.push('<td class="team away'+(2==o.Result?" winner":"")+'" data-id="'+o.AwayTeamId+'">');if(0<o.AwayRCards){t.push('<span class="rcard ls-e">'+o.AwayRCards+"</span>");}t.push('<a class="team-link" href="/Teams/'+o.AwayTeamId+'">'+o.AwayTeamName+"</a></td>");t.push('<td class="toolbar links"><ul class="right-aligned">');t.push('<li><a href="/Matches/'+o.Id+'" class="button small with-solo-icon is-default rc" title="Head to head"><span class="ui-icon ui-icon-signal"></span></a></li>');if(o.HasPreview){t.push('<li><a href="/Matches/'+o.Id+'/Preview" class="button with-solo-icon is-default rc" title="Preview"><span class="ui-icon ui-icon-search"></span></a></li>');}t.push("</ul></td>");t.push("</tr>");}t.push("</tbody>");t.push("</table>");return t.join("");};var StageIncidentsView=function(id,data,className){function getIncidentClass(type,subType){return(1==type)?"i-goal":(subType&&2==subType)?"i-y2card":"i-rcard";}var t=[],detail;for(var i=0,l=data.length;i<l;i++){detail=data[i];t.push('<tr class="'+(className||"")+' incident" data-match-id="m');t.push(id);t.push('">');t.push('<td class="toolbar"></td>');t.push('<td class="time"></td>');t.push('<td class="status"></td>');if("0"==detail[2]){t.push('<td class="team home">');t.push('<span class="with-right-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0],detail[5])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away"></td>');}else{t.push('<td class="team home"></td>');t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away">');t.push('<span class="with-left-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0],detail[5])+'"></span>');t.push(detail[3]);if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push("</span>");t.push("</td>");}t.push('<td class="toolbar"></td>');t.push("</tr>");}return t.join("");};function PreviewFormPresenter(config){var config=config||{};this.load=function(parameters){$(config.wrapper).html('<table class="grid highlight"><tbody><td class="loading"> Loading.. </td></tbody></table>');parameters=parameters||{};var parametersCopy=$.extend({},config.defaultParameters,parameters);var overallForm=new PreviewFormModel(parametersCopy.overallForm);var fieldForm=new PreviewFormModel(parametersCopy.fieldForm);if(overallForm.length==0&&fieldForm.length==0){$(config.wrapper).html(PreviewFormEmptyView());}else{$(config.wrapper).html(PreviewFormView(parametersCopy.teamId,parametersCopy.field,overallForm,fieldForm));}};}function PreviewFormModel(data){var result=[],record;if(undefined==data||(undefined==data.length&&0==data.length)){return result;}for(var i=0,l=data.length;i<l;i++){record=data[i];var o={};o.Id=record[0];o.HomeTeamId=record[4];o.HomeTeamName=record[5];o.AwayTeamId=record[7];o.AwayTeamName=record[8];o.Score=record[10];o.Result=record[17];result.push(o);}return result;}function getResult(o,teamId){var result=o.Result;var field=(teamId==o.HomeTeamId)?1:2;if(result==-1){return null;}if(0==result){return"d";}if(result==field){return"w";}return"l";}function PreviewFormEmptyView(){return'<div class="empty note"> No current form record available..</div>';}function PreviewFormView(teamId,field,overallForm,fieldForm){var t=[];function getForm(formData,field){var f=[];var matches=[];var statsField=field||"Overall";f.push("<tr>");f.push('<th class="border-right">'+statsField+"</th>");f.push('<td class="form">');for(var i=0,l=formData.length;i<l;i++){var o=formData[i];var result=getResult(o,teamId);if(result){matches.push('<a class="box '+result+'" href="/Matches/'+o.Id+'/Live" title="'+o.HomeTeamName+" "+o.Score+" "+o.AwayTeamName+'">'+result+"</a>");}}var lastMatch=/"(\/.+?)" title="(.+?)" /;var replaceLastMatch='$1 title="Last Match: $2"';matches=matches.join("");matches=matches.replace(lastMatch,replaceLastMatch);f.push(matches);f.push("</td>");f.push("</tr>");return f.join("");}t.push('<table class="grid gray"><tbody>');t.push(getForm(overallForm));t.push(getForm(fieldForm,field));t.push("</tbody></table>");return t.join("");}function TeamFixturesPresenter(config){var config=config||{},incidentManager=new IncidentManager({rootElement:"#"+config.gridId,toggleSelector:"#"+config.gridId+" a.show-incidents",view:TeamIncidentsView});this.load=function(parameters){renderLoading(config.wrapper);parameters=parameters||{};var parametersCopy=$.extend({},config.defaultParameters,parameters);DataStore.load("teamfixtures",{parameters:parametersCopy,success:success,error:error,dataType:"array",cache:true},this);};function renderLoading(element){var height=$("table",config.wrapper).height();$(element).html('<table class="grid hover" style="height:'+height+'px;"><tbody><tr><td class="note"> <div style="text-align: center; font-weight: bold;">Loading..</div> </td></tr></tbody></table>');}function success(options,data){incidentManager.clearIncidents();var model=new TeamFixturesModel(data);$(config.wrapper).html(TeamFixturesView(config.gridId,model,config.defaultParameters.teamId));NG.Events.fire(this,"loaded");}function error(){$(config.wrapper).html('<table class="grid hover"><tbody><td class="note empty"> No matches found.. </td></tbody></table>');}}function PreviousMeetingsPresenter(config){var config=config||{},incidentManager=new IncidentManager({rootElement:"#"+config.gridId,toggleSelector:"#"+config.gridId+" a.show-incidents",view:PreviousMeetingsIncidentsView});this.load=function(parameters){renderLoading(config.wrapper);parameters=parameters||{};var parametersCopy=$.extend({},config.defaultParameters,parameters);DataStore.load("previousmeetings",{parameters:parametersCopy,success:success,error:error,dataType:"array",cache:true},this);};function renderLoading(element){var height=$("table",config.wrapper).height();$(element).html('<table class="grid hover" style="height:'+height+'px;"><tbody><tr><td class="note"> <div style="text-align: center; font-weight: bold;">Loading..</div> </td></tr></tbody></table>');}function success(options,data){incidentManager.clearIncidents();var model=new TeamFixturesModel(data);var stats=calculateStats(model,config.homeTeamId,config.awayTeamId);$(config.statsWrapper).html(PreviousMeetingsStatsView(stats,config.homeTeamName,config.awayTeamName));$(config.wrapper).html(PreviousMeetingsView(config.gridId,model,config.defaultParameters.teamId));NG.Events.fire(this,"loaded");}function calculateStats(records,homeTeamId,awayTeamId){if(null!=records&&undefined!=records){var stats={home:0,draw:0,away:0};var length=records.length;for(var i=0;i<length;i++){var o=records[i];var result=getResult(o,homeTeamId);if(result=="w"){stats.home++;}else{if(result=="l"){stats.away++;}else{stats.draw++;}}}stats.homeWinPercentage=(0==length)?0:Math.round((stats.home/length)*100);stats.awayWinPercentage=(0==length)?0:Math.round((stats.away/length)*100);stats.drawPercentage=(0==length)?0:Math.round((stats.draw/length)*100);stats.totalMatches=length;return stats;}}function error(){$(config.wrapper).html('<table class="grid hover"><tbody><td class="note empty"> No matches found.. </td></tbody></table>');}}function PreviousMeetingsStatsView(stats,homeTeamName,awayTeamName){var t=[];t.push('<table class="grid summary">');t.push("<tbody>");t.push("<tr>");t.push('<td class="field-left"><p>'+homeTeamName+' won</p><p><span class="value greater">'+stats.homeWinPercentage+'%</span> <span class="subvalue greater">('+stats.home+"/"+stats.totalMatches+")</span></p></td>");t.push('<td class="field-center"><p>Draw</p><p><span class="value">'+stats.drawPercentage+'%</span> <span class="subvalue">('+stats.draw+"/"+stats.totalMatches+")</span></p></td>");t.push('<td class="field-right"><p>'+awayTeamName+' won</p><p><span class="value less">'+stats.awayWinPercentage+'%</span> <span class="subvalue less">('+stats.away+"/"+stats.totalMatches+")</span></p></td>");t.push("</tr>");t.push("</tbody>");t.push("</table>");return t.join("");}function TeamFixturesModel(data){var result=[],record;if(undefined==data||(undefined==data.length&&0==data.length)){return result;}for(var i=0,l=data.length;i<l;i++){record=data[i];var o={};o.Id=record[0];o.Status=record[1];o.StartDate=record[2];o.StartTime=record[3];o.HomeTeamId=record[4];o.HomeTeamName=record[5];o.HomeRCards=record[6];o.AwayTeamId=record[7];o.AwayTeamName=record[8];o.AwayRCards=record[9];o.Score=record[10];o.HTScore=record[11];o.HasIncidents=record[12];o.HasPreview=record[13];o.Elapsed=record[14];o.SeasonName=record[15];o.TournamentName=record[16];o.Result=record[17];o.TournamentId=record[18];o.RegionId=record[19];o.SeasonId=record[20];o.StageId=record[21];result.push(o);}return result;}function PreviousMeetingsView(gridId,data,teamId){var o,t=[],lastDate=null;t.push('<table id="'+gridId+'" class="grid hover"><tbody>');var length=data.length;if(0==length){t.push('<td class="note empty"> No matches found.. </td>');}else{for(var i=0,l=data.length;i<l;i++){o=data[i];t.push('<tr class="'+((1==i%2)?"alt":""));t.push('" data-id="');t.push(o.Id);t.push('">');t.push('<td class="toolbar">');if(o.HasIncidents){t.push('<a href="#" class="show-incidents button with-solo-icon is-default-transparent rc" title="Details"><span class="ui-icon ui-icon-triangle-1-e"></span></a>');}t.push("</td>");t.push('<td class="tournament"><a class="tournament-link" href="/Regions/'+o.RegionId+"/Tournaments/"+o.TournamentId+"/Seasons/"+o.SeasonId+"/Stages/"+o.StageId+'">'+o.TournamentName+"</a></td>");t.push('<td class="date">'+o.StartDate+"</td>");t.push('<td class="team home'+(1==o.Result?" winner":"")+'"><a class="team-link" href="/Teams/'+o.HomeTeamId+'">'+o.HomeTeamName+"</a>");if(0<o.HomeRCards){t.push('<span class="rcard ls-e">'+o.HomeRCards+"</span>");}t.push("</td>");t.push('<td class="result">');if(o.HasPreview&&"4"==o.Status){t.push('<a href="/Matches/'+o.Id+'/Preview">Preview</a>');}else{if("2"==o.Status||"1"==o.Status){t.push('<a href="/Matches/'+o.Id+'/Live">'+o.Score+"</a>");}else{t.push('<a href="/Matches/'+o.Id+'">'+o.Score+"</a>");}}t.push("</td>");t.push('<td class="team away'+(2==o.Result?" winner":"")+'">');if(0<o.AwayRCards){t.push('<span class="rcard ls-e">'+o.AwayRCards+"</span>");}t.push('<a class="team-link" href="/Teams/'+o.AwayTeamId+'">'+o.AwayTeamName+"</a></td>");t.push('<td class="toolbar links">');t.push("<ul>");t.push('<li><a href="/Matches/'+o.Id+'" class="button small with-solo-icon is-default rc" title="Head to head"><span class="ui-icon ui-icon-signal"></span></a></li>');if(o.HasPreview){t.push('<li><a href="/Matches/'+o.Id+'/Preview" class="button with-solo-icon is-default rc" title="Preview"><span class="ui-icon ui-icon-search"></span></a></li>');}t.push("</ul>");t.push("</td>");t.push("</tr>");}}t.push("</tbody></table>");return t.join("");}function TeamFixturesView(gridId,data,teamId){var o,t=[],lastDate=null;t.push('<table id="'+gridId+'" class="grid hover"><tbody>');var length=data.length;if(0==length){t.push('<td class="note empty"> No matches found.. </td>');}else{for(var i=0,l=data.length;i<l;i++){o=data[i];t.push('<tr class="'+((1==i%2)?"alt":""));t.push('" data-id="');t.push(o.Id);t.push('">');t.push('<td class="toolbar">');if(o.HasIncidents){t.push('<a href="#" class="show-incidents button with-solo-icon is-default-transparent rc" title="Details"><span class="ui-icon ui-icon-triangle-1-e"></span></a>');}t.push("</td>");t.push('<td class="form">');var result=getResult(o,teamId);if(result){t.push('<a class=" box '+getResult(o,teamId)+'" href="/Matches/'+o.Id+'">'+getResult(o,teamId)+"</a>");}t.push("</td>");t.push('<td class="tournament"><a class="tournament-link" href="/Regions/'+o.RegionId+"/Tournaments/"+o.TournamentId+"/Seasons/"+o.SeasonId+"/Stages/"+o.StageId+'">'+o.TournamentName+"</a></td>");t.push('<td class="date">'+o.StartDate+"</td>");t.push('<td class="team home'+(1==o.Result?" winner":"")+'"><a class="team-link" href="/Teams/'+o.HomeTeamId+'">'+o.HomeTeamName+"</a>");if(0<o.HomeRCards){t.push('<span class="rcard ls-e">'+o.HomeRCards+"</span>");}t.push("");t.push("</td>");t.push('<td class="result">');if(o.HasPreview&&"4"==o.Status){t.push('<a href="/Matches/'+o.Id+'/Preview">Preview</a>');}else{if("2"==o.Status||"1"==o.Status){t.push('<a href="/Matches/'+o.Id+'/Live">'+o.Score+"</a>");}else{t.push('<a href="/Matches/'+o.Id+'">'+o.Score+"</a>");}}t.push("</td>");t.push('<td class="team away'+(2==o.Result?" winner":"")+'">');if(0<o.AwayRCards){t.push('<span class="rcard ls-e">'+o.AwayRCards+"</span>");}t.push('<a class="team-link" href="/Teams/'+o.AwayTeamId+'">'+o.AwayTeamName+"</a></td>");t.push('<td class="toolbar links">');t.push("<ul>");t.push('<li><a href="/Matches/'+o.Id+'" class="button small with-solo-icon is-default rc" title="Head to head"><span class="ui-icon ui-icon-signal"></span></a></li>');if(o.HasPreview){t.push('<li><a href="/Matches/'+o.Id+'/Preview" class="button with-solo-icon is-default rc" title="Preview"><span class="ui-icon ui-icon-search"></span></a></li>');}t.push("</ul>");t.push("</td>");t.push("</tr>");}}t.push("</tbody></table>");return t.join("");}var PreviousMeetingsIncidentsView=function(id,data,className){function getIncidentClass(type,subType){return(1==type)?"i-goal":(subType&&2==subType)?"i-y2card":"i-rcard";}var t=[],detail;for(var i=0,l=data.length;i<l;i++){detail=data[i];t.push('<tr class="'+(className||"")+' incident" data-match-id="m');t.push(id);t.push('">');t.push('<td class="toolbar"></td>');t.push('<td class="tournament"></td>');t.push('<td class="date"></td>');if("0"==detail[2]){t.push('<td class="team home">');t.push('<span class="with-right-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0],detail[5])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away"></td>');t.push('<td class="toolbar"></td>');}else{t.push('<td class="team home"></td>');t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away">');t.push('<span class="with-left-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0],detail[5])+'"></span>');t.push(detail[3]);if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push("</span>");t.push("</td>");t.push('<td class="toolbar"></td>');}t.push("</tr>");}return t.join("");};var TeamIncidentsView=function(id,data,className){function getIncidentClass(type,subType){return(1==type)?"i-goal":(subType&&2==subType)?"i-y2card":"i-rcard";}var t=[],detail;for(var i=0,l=data.length;i<l;i++){detail=data[i];t.push('<tr class="'+(className||"")+' incident" data-match-id="m');t.push(id);t.push('">');t.push('<td class="toolbar"></td>');t.push('<td class="form"></td>');t.push('<td class="tournament"></td>');t.push('<td class="date"></td>');if("0"==detail[2]){t.push('<td class="team home">');t.push('<span class="with-right-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0],detail[5])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away"></td>');t.push('<td class="toolbar"></td>');}else{t.push('<td class="team home"></td>');t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away">');t.push('<span class="with-left-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0],detail[5])+'"></span>');t.push(detail[3]);if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push("</span>");t.push("</td>");t.push('<td class="toolbar"></td>');}t.push("</tr>");}return t.join("");};function IncidentManager(config){var config=config||{},visibleIncidents={};this.clearIncidents=function(){visibleIncidents={};};$(config.toggleSelector).live("click",function(){toggleIncidents($(this));return false;});function toggleIncidents($el){var id=$el.parents("tr:first").attr("data-id");(undefined!==visibleIncidents[id])?hideIncidents(id):showIncidents(id);}function showIncidents(id){var $tr=getTr(id).addClass("hasDetails");var $button=$tr.find("a.show-incidents").removeClass("is-default-transparent").addClass("is-active").blur().find(".ui-icon").removeClass("ui-icon-triangle-1-e").addClass("ui-icon-triangle-1-s");DataStore.load("livescoreincidents",{parameters:{id:id},cache:true,tr:$tr,success:incidentsSuccess,error:null,dataType:"array"},this);}function incidentsSuccess(options,data){var id=options.parameters.id,$tr=getTr(id),className=(-1<$tr.attr("class").indexOf("alt"))?"alt":undefined;visibleIncidents[id]=true;$('tr[data-match-id="m'+id+'"]',config.rootElement).remove();$tr.after(config.view.call(null,id,data,className));}function hideIncidents(id){delete visibleIncidents[id];var $tr=getTr(id).removeClass("hasDetails");var $button=$tr.find("a.show-incidents").removeClass("is-active").addClass("is-default-transparent").blur().find(".ui-icon").removeClass("ui-icon-triangle-1-s").addClass("ui-icon-triangle-1-e");$('tr[data-match-id="m'+id+'"]',config.rootElement).remove();}function getTr(id){return $('tr[data-id="'+id+'"]',config.rootElement);}}function RegionsModel(regions){var records=[];for(var i=0;i<regions.length;i++){var o={Id:regions[i][0],Code:regions[i][1],Name:regions[i][2]};records.push(o);}return records;}function RegionsFilterView(mask){var t=[];if(mask){t.push("<dt>Countries:</dt>");for(var i=0;i<mask.length;i++){t.push('<dd><a data-value="'+mask[i]+'" href="#" class="option">'+mask[i]+"</a></dd>");}}return t.join("");}function RegionsFilter(id,regions){var $this=$(id+"-filter-view");function getMask(){var mask=[];var index=0;for(var i=0;i<regions.length;i++){if(!maskContains(mask,regions[i].Name.charAt(0))){mask[index++]=regions[i].Name.charAt(0);}}return mask;}function maskContains(mask,key){for(var i=0;i<mask.length;i++){if(mask[i]==key){return true;}}return false;}this.load=function(){var mask=getMask();$this.html(RegionsFilterView(mask));$("dd a",$this).click(function(e){e.preventDefault();$("dd a.selected",$this).removeClass("selected");$(this).addClass("selected");NG.Events.fireGlobal("regionsfilterchanged",[$(this).attr("data-value")]);});$("dd:first a",$this).click();};}function RegionsView(records){var t=[];for(var i=0;i<records.length;i=i+2){t.push("<tr>");t.push("<td>");t.push('<a class="with-left-icon" href="#" data-value="'+records[i].Id+'"><span class="ui-icon country flg-'+records[i].Code+'"></span>'+records[i].Name+'<span class="with-solo-icon"><span class="ui-icon"></span></span></a>');t.push("</td>");if(i!=records.length-1){t.push("<td>");t.push('<a class="with-left-icon" href="#" data-value="'+records[i+1].Id+'"><span class="ui-icon country flg-'+records[i+1].Code+'"></span>'+records[i+1].Name+'<span class="with-solo-icon"><span class="ui-icon"></span></span></a>');t.push("</td>");t.push("</tr>");}}return t.join("");}function RegionsTeamsView(records){var t=[];for(var i=0;i<records.length;i=i+2){t.push("<tr>");t.push("<td>");t.push('<a class="with-left-icon" href="/Teams/'+records[i].Id+'"><span class="ui-icon ui-icon-carat-1-e"></span>'+records[i].Name+"</a>");t.push("</td>");if(i!=records.length-1){t.push("<td>");t.push('<a class="with-left-icon" href="/Teams/'+records[i+1].Id+'"><span class="ui-icon ui-icon-carat-1-e"></span>'+records[i+1].Name+"</a>");t.push("</td>");}t.push("</tr>");}return t.join("");}function RegionsTeamsModel(teams){var records=[];for(var i=0;i<teams.length;i++){var o={Id:teams[i][0],Name:teams[i][1]};records.push(o);}return records;}function Regions(config){var id="#"+config.id;var $this=$(id);var regions=new RegionsModel(config.regions);var $teamsView=$("table.grid.team tbody",$this);init();function init(){NG.Events.addGlobal("regionsfilterchanged",function(filter){renderInitialInfo();updateRegions(filter);});var filter=new RegionsFilter(id,regions);filter.load();}function updateTeams(regionId){var teams=loadTeams(regionId);}function updateRegions(filter){var regions=loadRegions(filter);$("table.grid.region tbody",$this).html(RegionsView(regions));$("table.grid.region a",$this).click(function(e){e.preventDefault();$("table.grid.region a.selected span.with-solo-icon span").hide();$("table.grid.region a.selected",$this).removeClass("selected");$(this).addClass("selected");$("span.with-solo-icon span",$(this)).addClass("ui-icon-carat-1-e");$("span.with-solo-icon span",$(this)).fadeIn();updateTeams($(this).attr("data-value"));});}function loadTeams(regionId){renderLoading();DataStore.load("regionteams",{parameters:{id:regionId},cache:true,success:function(options,data){var teams=new RegionsTeamsModel(data);if(teams&&0<teams.length){renderTeams(teams);}else{renderEmptyResult();}},error:function(options,data){renderEmptyResult();},dataType:"array"});}function renderTeams(teams){$teamsView.html(RegionsTeamsView(teams));}function renderEmptyResult(){$teamsView.html('<div class="info">No teams found..</div>');}function renderLoading(){$teamsView.html('<div class="info with-left-icon"><span class="ui-icon ui-icon-refresh"/> Loading..</div>');}function renderInitialInfo(){$teamsView.html('<div class="info with-left-icon"><span class="ui-icon ui-icon-carat-1-w"></span> Please select a region to view the teams</div>');}function loadRegions(filter){var filteredRecords=[];for(var i=0;i<regions.length;i++){if(regions[i].Name.charAt(0)==filter){filteredRecords.push(regions[i]);}}return filteredRecords;}}WS=WS||{};WS.LS={};WS.LS.ItemStatus={all:0,live:2,next:4};WS.LS.IncidentManager=function(options){var itemIdPrefix=options.itemIdPrefix,itemIdRegEx=new RegExp("{0}(\\d*)".format(itemIdPrefix)),visibleIncidents={};this.toggle=function(button){var itemId=getId($(button).parents("tr:first").attr("id"));visibleIncidents[itemId]?hide(itemId):show(itemId);};this.showAll=function(){for(itemId in visibleIncidents){show(itemId);}};function getId(id){var matches=id.match(itemIdRegEx);return matches[1];}function show(id){var $tr=$("#"+itemIdPrefix+id).addClass("hasDetails");var $button=$tr.find(".show-incidents").addClass("is-active").blur().find(".ui-icon").removeClass("ui-icon-triangle-1-e").addClass("ui-icon-triangle-1-s");visibleIncidents[id]=true;$tr.after(options.parent.getIncidentHtml(id));}function hide(id){delete visibleIncidents[id];var $tr=$("#"+itemIdPrefix+id).removeClass("hasDetails");var $button=$tr.find(".show-incidents").removeClass("is-active").blur().find(".ui-icon").removeClass("ui-icon-triangle-1-s").addClass("ui-icon-triangle-1-e");$('tr[data-match-id="'+itemIdPrefix+id+'"]').remove();}};WS.LS.Selection=function(){this.items_={};this.groups_={};this.totalItemCount_=0;this.any=function(){return(0<this.totalItemCount_);};this.selectItem=function(item){if(this.isSelectedItem(item.Id)){return;}var clone={Id:item.Id,GroupId:item.Group.Id};this.items_[clone.Id]=clone;this.totalItemCount_++;this.groups_[clone.GroupId]=this.groups_[clone.GroupId]||{selectedItemCount:0};this.groups_[clone.GroupId].selectedItemCount++;};this.deselectItem=function(item){if(!this.isSelectedItem(item.Id)){return;}this.totalItemCount_--;delete this.items_[item.Id];this.groups_[item.Group.Id].selectedItemCount--;if(0==this.groups_[item.Group.Id].selectedItemCount){delete this.groups_[item.Group.Id];}};this.hasSelectedItems=function(id){return"undefined"!=typeof(this.groups_[id]);};this.isSelectedItem=function(id){return"undefined"!=typeof(this.items_[id]);};};WS.LS.CssToggler=function(){var cache={init:false};function applyCssRules(){if(!cache.init){var selectors=[".ls-1",".ls-2",".ls-4",".ls-3",".ls-5",".ls-6",".ls-7",".ls-e",".ls-o",".ls-t",".ls-s"],count=selectors.length,selectorsMap=selectors.hashtable(),styleSheet,cssRule;styleSheet=getStyleSheet(),cssRules=styleSheet.cssRules||styleSheet.rules;for(var j=0,m=cssRules.length;j<m;j++){cssRule=cssRules[j];if(undefined!=selectorsMap[cssRule.selectorText]){cache[cssRule.selectorText]=cssRule;}}cache.init=true;}for(var i=0,l=arguments[1].length;i<l;i++){cache[arguments[1][i]].style.display=("show"==arguments[0])?"":"none";}}function getStyleSheet(){for(var i=0,l=document.styleSheets.length;i<l;i++){if("ls"==document.styleSheets[i].title){return document.styleSheets[i];}}return null;}this.show=function(selectors){applyCssRules("show",selectors);};this.hide=function(selectors){applyCssRules("hide",selectors);};};WS.LS.MapLike=function(){this.keys={};this.values=[];this.add=function(id,o,position){("undefined"!==typeof(position))?this.values[position]=o:this.values.push(o);this.keys[id]=o;};};WS.LS.Model=function(){this.create=function(array){this.process_(array);NG.Events.fire(this,"modelchanged",this);};this.update=function(array){this.merge_(array);this.process_(this.array_);NG.Events.fire(this,"modelchanged",this);};this.sort=function(){NG.async(function(){this.process_(this.array_);NG.Events.fire(this,"modelsorted",this);},this);};this.array_=null;this.favoriteGroups_=null;this.process_=function(array){this.groups=new WS.LS.MapLike();this.items=new WS.LS.MapLike();this.itemCounts={"0":0,"1":0,"2":0,"4":0};this.scoreUpdates={all:[],live:[],next:[],add:function(item){this.all.push(item);if(2==item.Status){this.live.push(item);}else{if(4==item.Status){this.next.push(item);}}}};this.topGames={keys:{},groupStatus:0,items:[],add:function(item){this.items.push(item);this.keys[item.Id]=item;this.groupStatus=this.groupStatus|item.Status;}};this.array_=array;this.favoriteGroups_=this.getFavoriteGroups_();for(var i=0,l=this.favoriteGroups_.ids.length;i<l;i++){this.groups.values.push(null);}for(var i=0,l=this.array_[1].length;i<l;i++){this.mapGroups_(this.array_[1][i]);}for(var i=0,l=this.array_[2].length;i<l;i++){this.mapItems_(this.array_[2][i]);}for(var i=0,l=this.favoriteGroups_.ids.length;i<l;i++){if(null==this.groups.values[i]){this.groups.values.splice(i,1);i--;l--;}}};this.mapGroups_=function(props,col){var o={Status:0,Items:[],add:function(item){item.Group=this;this.Items.push(item);this.Status=this.Status|item.Status;}};o.Id=props[0];o.CountryId=props[1];o.CountryCode=props[2];o.CountryName=props[3];o.TournamentId=props[4];o.TournamentShortName=props[5];o.SeasonId=props[6];o.Name=props[7];if(o.Id in this.favoriteGroups_.index){o.isFavorite=true;this.groups.add(o.Id,o,this.favoriteGroups_.index[o.Id]);}else{this.groups.add(o.Id,o);}};this.mapItems_=function(props,col){var o={};o.Id=props[1];o.Status=props[2];o.StartTime=props[3];o.HomeTeamId=props[4];o.HomeTeamName=props[5];o.HomeYCards=props[6];o.HomeRCards=props[7];o.AwayTeamId=props[8];o.AwayTeamName=props[9];o.AwayYCards=props[10];o.AwayRCards=props[11];o.Score=props[12];o.HTScore=props[13];o.HasIncidents=(1==props[14]);o.HasPreview=(1==props[15]);o.ScoreChangedAt=props[16];o.Elapsed=props[17];o.LastScorer=props[18];o.IsTopGame=props[19];o.Incidents=props[20];this.items.add(o.Id,o);this.groups.keys[parseInt(props[0])].add(o);if(o.ScoreChangedAt&&o.Status!="4"){this.scoreUpdates.add(o);}if(o.IsTopGame){this.topGames.add(o);}this.itemCounts[0]++;this.itemCounts[o.Status]++;};this.getFavoriteGroups_=function(){var result={ids:[],index:{}},favoriteTournaments=WS.User.favoriteTournaments(),items=this.array_[1];if(0<favoriteTournaments.length){var groupIdx=items.indextable(function(item){return item[4];});for(var i=0,l=favoriteTournaments.length;i<l;i++){if(undefined!=groupIdx[favoriteTournaments[i]]){for(var j=0,k=items.length;j<k;j++){if(favoriteTournaments[i]==items[j][4]){result.ids.push(items[j][0]);}}}}result.index=result.ids.indextable();}return result;};this.merge_=function(delta){var i,l,id,idx,rawGroups=this.array_[1],rawItems=this.array_[2],deltaGroups=delta[1],deltaItems=delta[2];for(i=0,l=deltaGroups.length;i<l;i++){id=deltaGroups[i][0];if(id in this.groups.keys){idx=NG.indexOf(rawGroups,id,0,function(o){return o[0];});rawGroups[idx]=deltaGroups[i];}else{rawGroups.push(deltaGroups[i]);}}for(i=0,l=deltaItems.length;i<l;i++){id=deltaItems[i][1];if(id in this.items.keys){idx=NG.indexOf(rawItems,id,0,function(o){return o[1];});rawItems[idx]=deltaItems[i];}else{idx=NG.binarySearch(rawItems,deltaItems[i][3],true,function(o){return o[3];});rawItems.splice(idx,0,deltaItems[i]);}}};};WS.LS.LiveScores=function(state){var self=this,groups,items,itemCounts,currentState=$.extend(true,{},state),el=document.getElementById("live-scores"),selections=new WS.LS.Selection(),incidentManager=new WS.LS.IncidentManager({parent:self,itemIdPrefix:"i"});this.dataChanged=function(model){groups=model.groups;items=model.items;itemCounts=model.itemCounts;this.render_();incidentManager.showAll();};this.stateChanged=function(state){var layoutChanged=currentState.layout!=state.layout,selectionChanged=(currentState.items!=state.items)&&("selected"==currentState.items||"selected"==state.items);currentState=$.extend(true,{},state);if(layoutChanged||selectionChanged){this.render_();incidentManager.showAll();}};this.dispose=function(){el=NG.replaceHtml(el,"");};this.anySelection=function(){return selections.any();};this.handleItemSelected=function(id){var item=items.keys[id];selections.selectItem(item);document.getElementById("is"+id).checked=true;};this.handleItemDeselected=function(id){var item=items.keys[id];selections.deselectItem(item);document.getElementById("is"+id).checked=false;};this.checkboxClicked_=function(source){var isItemClicked=(-1<source.id.indexOf("i"))?true:false;if(isItemClicked){var id=source.id.substr(2),item=items.keys[id];if(source.checked){selections.selectItem(item);NG.Events.fire(self,"itemselected",[id,item]);}else{selections.deselectItem(item);NG.Events.fire(self,"itemdeselected",[id,item]);}}else{var id=source.id.substr(1),group=groups.keys[id],itemStatus=WS.LS.ItemStatus[currentState.items],checkbox;if(source.checked){group.Items.forEach(function(item){if(("all"==currentState.items)||("all"!=currentState.items&&itemStatus==item.Status)||("selected"==currentState.items)){var checkbox=document.getElementById("is"+item.Id);if(checkbox){selections.selectItem(item);checkbox.checked=true;NG.Events.fire(self,"itemselected",[item.Id,item]);}}});}else{group.Items.forEach(function(item){var checkbox=document.getElementById("is"+item.Id);if(checkbox){selections.deselectItem(item);document.getElementById("is"+item.Id).checked=false;NG.Events.fire(self,"itemdeselected",[item.Id,item]);}});}}};this.getIncidentHtml=function(itemId){var item=items.keys[itemId],t=[];item.Incidents.forEach(function(incident){t.push(applyDetailTmpl(item,incident,"i"));});return t.join("");};this.showIncidentsClicked_=function(source){incidentManager.toggle(source);return false;};this.render_=function(){var html;var isSelectedStatus=("selected"==currentState.items),isSelectedItem;if("grouped"==currentState.layout){var t=[];t.push('<table class="grid highlight livescores regular-matches"><tbody>');groups.values.forEach(function(group,groupIndex,groups){if(!isSelectedStatus||(isSelectedStatus&&selections.hasSelectedItems(group.Id))){t.push(applyGroupTmpl(group,false));group.Items.forEach(function(item,itemIndex,items){isSelectedItem=selections.isSelectedItem(item.Id);if(!isSelectedStatus||(isSelectedStatus&&isSelectedItem)){t.push(applyItemTmpl(item,itemIndex,isSelectedItem,""));}});}});t.push("</tbody></table>");html=t.join("");}else{var t=[];t.push('<table class="grid highlight livescores regular-matches"><tbody>');items.values.forEach(function(item,itemIndex,items){isSelectedItem=selections.isSelectedItem(item.Id);if(!isSelectedStatus||(isSelectedStatus&&isSelectedItem)){t.push(applyItemTmpl(item,itemIndex,isSelectedItem,""));}});t.push("</tbody></table>");html=t.join("");}el=NG.replaceHtml(el,html);};var groupHyperlinkTemplate="/Regions/{0}/Tournaments/{1}/Seasons/{2}/Stages/{3}";function applyGroupTmpl(group,checked){var t=[];t.push('<tr class="group ls-');t.push(group.Status);t.push('" id="g');t.push(group.Id);t.push('">');t.push('<td class="ls-s selection"><input type="checkbox" id="g'+group.Id+'"');t.push(checked?'checked="true"':"");t.push("/></td>");t.push('<td colspan="99">');t.push('<a class="group-name with-left-icon" href="'+groupHyperlinkTemplate.format(group.CountryId,group.TournamentId,group.SeasonId,group.Id)+'"><span class="ui-icon country flg-'+group.CountryCode+'"></span>'+group.CountryName+" - "+group.Name+"</a>");if(group.isFavorite){t.push('<span class="in-favorites" title="Click to remove from favorites" >In favourites</span>');}else{t.push('<a class="add-to-my-favorites with-left-icon" href="#"><span class="ui-icon ui-icon-star"></span>Add to favourites</a>');}t.push("</td>");t.push("</tr>");return t.join("");}function applyItemTmpl(item,k,checked,prefix){var t=[];t.push('<tr class="item ls-');t.push(item.Status);t.push('" id="'+prefix+"i");t.push(item.Id);t.push('">');t.push('<td class="ls-s selection"><input type="checkbox" id="is'+prefix+item.Id+'"');t.push(checked?'checked="true"':"");t.push("/></td>");t.push('<td class="toolbar incidents">');t.push((item.HasIncidents)?'<a href="#" class="show-incidents button with-solo-icon is-default-transparent rc" title="Details"><span class="ui-icon ui-icon-triangle-1-e"></span></a>':"");t.push("</td>");t.push('<td class="time">');t.push(item.StartTime);t.push("</td>");t.push('<td class="status">');if("2"==item.Status){t.push('<span class="inplay rc">'+item.Elapsed+"</span>");}else{if("1"==item.Status){t.push('<span class="finished rc">'+item.Elapsed+"</span>");}else{t.push(item.Elapsed);}}t.push("</td>");t.push('<td class="stage ls-t'+prefix+'">');t.push('<a href="'+groupHyperlinkTemplate.format(item.Group.CountryId,item.Group.TournamentId,item.Group.SeasonId,item.Group.Id)+'" class="with-left-icon"><span class="ui-icon country flg-'+item.Group.CountryCode+'"></span>'+item.Group.Name+"</a>");t.push("</td>");t.push('<td class="team home">');t.push('<a class="team-link" href="/Teams/'+item.HomeTeamId+'">'+item.HomeTeamName+"</a>");if(0<item.HomeRCards){t.push('<span class="rcard ls-e">'+item.HomeRCards+"</span>");}t.push("</td>");t.push('<td class="result">');if(item.HasPreview&&"4"==item.Status){t.push('<a href="/Matches/'+item.Id+'/Preview">Preview</a>');}else{if("2"==item.Status||"1"==item.Status){t.push('<a href="/Matches/'+item.Id+'/Live">'+item.Score+"</a>");}else{t.push('<a href="/Matches/'+item.Id+'">'+item.Score+"</a>");}}t.push("</td>");t.push('<td class="team away">');if(0<item.AwayRCards){t.push('<span class="rcard ls-e">'+item.AwayRCards+"</span>");}t.push('<a class="team-link" href="/Teams/'+item.AwayTeamId+'">'+item.AwayTeamName+"</a>");t.push("</td>");t.push('<td class="htresult ls-e">');if(item.HTScore){t.push("("+item.HTScore+")");}t.push("</td>");t.push('<td class="toolbar links">');t.push("<ul>");t.push('<li><a href="/Matches/'+item.Id+'" class="button small with-solo-icon is-default rc" title="Head to head"><span class="ui-icon ui-icon-signal"></span></a></li>');if(item.HasPreview){t.push('<li><a href="/Matches/'+item.Id+'/Preview" class="button with-solo-icon is-default rc" title="Preview"><span class="ui-icon ui-icon-search"></span></a></li>');}t.push("</ul>");t.push("</td>");t.push("</tr>");return t.join("");}function applyDetailTmpl(item,detail,prefix){function getIncidentClass(type){return(1==type)?"i-goal":(5==type)?"penalty-missed":"i-rcard";}var t=[];t.push('<tr class="incident ls-');t.push(item.Status);t.push('" data-match-id="'+prefix+item.Id);t.push('">');t.push('<td class="ls-s selection"></td>');t.push('<td class="toolbar"></td>');t.push('<td class="time"></td>');t.push('<td class="status"></td>');t.push('<td class="stage ls-t"></td>');if("0"==detail[2]){t.push('<td class="team home">');t.push('<span class="with-right-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away"></td>');}else{t.push('<td class="team home"></td>');t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away">');t.push('<span class="with-left-icon"><span class="ui-icon incidents-icon '+getIncidentClass(detail[0])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");}t.push('<td class="htresult ls-e"></td>');t.push('<td class="toolbar"></td>');t.push("</tr>");return t.join("");}};WS.LS.TopGames=function(state){var self=this,currentState=$.extend(true,{},state),$el=$("#hot-matches"),topGames,selections=new WS.LS.Selection(),incidentManager=new WS.LS.IncidentManager({parent:this,itemIdPrefix:"tgi"});this.dataChanged=function(model){topGames=model.topGames;if(0<topGames.items.length){this.render_();incidentManager.showAll();}else{this.reset_();}};this.stateChanged=function(state){var isLayoutSorted=("sorted"==state.layout),isItemsSelected=("selected"==state.items);currentState=$.extend(true,{},state);if(isLayoutSorted||isItemsSelected){$el.hide();}else{$el.show();}};this.dispose=function(){this.reset_();};this.anySelection=function(){return selections.any();};this.handleItemSelected=function(id){var item=topGames.keys[id];if(item){selections.selectItem(item);document.getElementById("istg"+id).checked=true;}};this.handleItemDeselected=function(id){var item=topGames.keys[id];if(item){selections.deselectItem(item);document.getElementById("istg"+id).checked=false;}};this.checkboxClicked_=function(source){var isItemClicked=(-1<source.id.indexOf("i"))?true:false;if(isItemClicked){var id=source.id.substr(4),item=topGames.keys[id];if(source.checked){selections.selectItem(item);NG.Events.fire(self,"itemselected",[id,item]);}else{selections.deselectItem(item);NG.Events.fire(self,"itemdeselected",[id,item]);}}else{var itemStatus=WS.LS.ItemStatus[currentState.items];if(source.checked){topGames.items.forEach(function(item){if(("all"==currentState.items)||("all"!=currentState.items&&itemStatus==item.Status)){selections.selectItem(item);document.getElementById("istg"+item.Id).checked=true;NG.Events.fire(self,"itemselected",[item.Id,item]);}});}else{topGames.items.forEach(function(item){selections.deselectItem(item);document.getElementById("istg"+item.Id).checked=false;NG.Events.fire(self,"itemdeselected",[item.Id,item]);});}}};this.showIncidentsClicked_=function(source){incidentManager.toggle(source);};this.getIncidentHtml=function(itemId){var item=topGames.keys[itemId],t=[];item.Incidents.forEach(function(incident){t.push(applyDetailTmpl(item,incident,"tgi"));});return t.join("");};this.render_=function(data){var html;var t=[];t.push('<table class="grid livescores hot-matches"><tr class="hot-match-group ls-'+topGames.groupStatus+'">');t.push('<td class="ls-s selection"><input type="checkbox" id="tg" /></td>');t.push('<td colspan="99">Top Games</td></tr>');topGames.items.forEach(function(item,itemIndex,items){isSelectedItem=selections.isSelectedItem(item.Id);t.push(applyItemTmpl(item,itemIndex,isSelectedItem,"tg"));});t.push('</tr><tr><td class="hot-matches-bottom-border ls-'+topGames.groupStatus+'" colspan="99">&nbsp;</td></tr></table>');html=t.join("");$el.html(html);};this.reset_=function(){$el.html("");};var groupHyperlinkTemplate="/Regions/{0}/Tournaments/{1}/Seasons/{2}/Stages/{3}";function applyItemTmpl(item,k,checked,prefix){var t=[];t.push('<tr class="item ls-');t.push(item.Status);t.push('" id="'+prefix+"i");t.push(item.Id);t.push('">');t.push('<td class="ls-s selection"><input type="checkbox" id="is'+prefix+item.Id+'"');t.push(checked?'checked="true"':"");t.push("/></td>");t.push('<td class="toolbar incidents">');t.push((item.HasIncidents)?'<a href="#" class="show-incidents button with-solo-icon is-default-transparent rc" title="Details"><span class="ui-icon ui-icon-triangle-1-e"></span></a>':"");t.push("</td>");t.push('<td class="time">');t.push(item.StartTime);t.push("</td>");t.push('<td class="status">');if("2"==item.Status){t.push('<span class="inplay rc">'+item.Elapsed+"</span>");}else{if("1"==item.Status){t.push('<span class="finished rc">'+item.Elapsed+"</span>");}else{t.push(item.Elapsed);}}t.push("</td>");t.push('<td class="tg-stage ls-t'+"prefix"+'">');t.push('<a href="'+groupHyperlinkTemplate.format(item.Group.CountryId,item.Group.TournamentId,item.Group.SeasonId,item.Group.Id)+'" class="with-left-icon" title="'+item.Group.CountryName+" - "+item.Group.Name+'"><span class="ui-icon country flg-'+item.Group.CountryCode+'"></span>'+item.Group.TournamentShortName+"</a>");t.push("</td>");t.push('<td class="team home">');t.push('<a class="team-link" href="/Teams/'+item.HomeTeamId+'">'+item.HomeTeamName+"</a>");if(0<item.HomeRCards){t.push('<span class="rcard ls-e">'+item.HomeRCards+"</span>");}t.push("</td>");t.push('<td class="result">');if(item.HasPreview&&"4"==item.Status){t.push('<a href="/Matches/'+item.Id+'/Preview">Preview</a>');}else{if("2"==item.Status||"1"==item.Status){t.push('<a href="/Matches/'+item.Id+'/Live">'+item.Score+"</a>");}else{t.push('<a href="/Matches/'+item.Id+'">'+item.Score+"</a>");}}t.push("</td>");t.push('<td class="team away">');if(0<item.AwayRCards){t.push('<span class="rcard ls-e">'+item.AwayRCards+"</span>");}t.push('<a class="team-link" href="/Teams/'+item.AwayTeamId+'">'+item.AwayTeamName+"</a>");t.push("</td>");t.push('<td class="htresult ls-e">');if(item.HTScore){t.push("("+item.HTScore+")");}t.push("</td>");t.push('<td class="toolbar links">');t.push("<ul>");t.push('<li><a href="/Matches/'+item.Id+'" class="button small with-solo-icon is-default rc" title="Head to head"><span class="ui-icon ui-icon-signal"></span></a></li>');if(item.HasPreview){t.push('<li><a href="/Matches/'+item.Id+'/Preview" class="button with-solo-icon is-default rc" title="Preview"><span class="ui-icon ui-icon-search"></span></a></li>');}t.push("</ul>");t.push("</td>");t.push("</tr>");return t.join("");}function applyDetailTmpl(item,detail,prefix){function getIncidentClass(type){return(1==type)?"i-goal":(5==type)?"penalty-missed":"i-rcard";}var t=[];t.push('<tr class="incident ls-');t.push(item.Status);t.push('" data-match-id="'+prefix+item.Id);t.push('">');t.push('<td class="ls-s selection"></td>');t.push('<td class="toolbar"></td>');t.push('<td class="time"></td>');t.push('<td class="status"></td>');t.push('<td class="stage ls-txxx"></td>');if("0"==detail[2]){t.push('<td class="team home">');t.push('<span class="with-right-icon"><span class="incidents-icon ui-icon '+getIncidentClass(detail[0])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away"></td>');}else{t.push('<td class="team home"></td>');t.push('<td class="minute">');t.push(detail[1]);t.push("'</td>");t.push('<td class="team away">');t.push('<span class="with-left-icon"><span class="ui-icon incidents-icon '+getIncidentClass(detail[0])+'"></span>');if(detail[4]!=undefined){t.push('<span class="goal-info">('+detail[4]+")</span>");}t.push(detail[3]);t.push("</span>");t.push("</td>");}t.push('<td class="htresult ls-e"></td>');t.push('<td class="toolbar"></td>');t.push("</tr>");return t.join("");}};WS.LS.ScoreUpdates=function(state){var top10Updates,updateSelections=[],currentState=$.extend(true,{},state),$el=$("#ws-content");this.dataChanged=function(model){var tempTop10Updates={all:getFirst10(model.scoreUpdates.all),live:getFirst10(model.scoreUpdates.live),next:getFirst10(model.scoreUpdates.next),selected:getFirst10(getSelectedItems(model,updateSelections))},dataExists=0<tempTop10Updates[currentState.items].length,dataUpdated=hasUpdates(top10Updates,tempTop10Updates,currentState.items);top10Updates=tempTop10Updates;if(dataExists){this.render_();if(dataUpdated){NG.Events.fireGlobal("scoresupdated");}}else{this.reset_();}};function getSelectedItems(model,selectedItems){var newItems=[];for(var i=0,l=selectedItems.length;i<l;i++){var item=model.items.keys[selectedItems[i].Id];if(item&&item.ScoreChangedAt){newItems.push(item);}}return newItems;}this.stateChanged=function(state){var itemCountChanged=currentState.items!=state.items;currentState=$.extend(true,{},state);if(itemCountChanged){if(0<top10Updates[state.items].length){this.render_();}else{this.reset_();}}};this.handleItemSelected=function(id,item){var selectionIndex=getIndex(updateSelections,item);if(-1==selectionIndex){updateSelections.push(item);if(item.ScoreChangedAt){top10Updates.selected=getFirst10(updateSelections);}}};this.handleItemDeselected=function(id,item){var selectionIndex=getIndex(updateSelections,item);if(-1<selectionIndex){updateSelections.splice(selectionIndex,1);}top10Updates.selected=getFirst10(updateSelections);};this.dispose=function(){delete data_;this.reset_();};function getIndex(collection,item){for(var i=0,l=collection.length;i<l;i++){if(item.Id==collection[i].Id){return i;}}return -1;}function getFirst10(items){if(0==items.length){return[];}items.sort(function(a,b){if(a.ScoreChangedAt<b.ScoreChangedAt){return -1*-1;}if(b.ScoreChangedAt<a.ScoreChangedAt){return 1*-1;}return 0;});var result=[];for(var i=0;i<Math.min(10,items.length);i++){result.push(items[i]);}return result;}function hasUpdates(current,update,field){if(!current){return false;}var diff=update[field].subtract(current[field],function(a,b){return !(a.Id==b.Id&&a.ScoreChangedAt==b.ScoreChangedAt);});return(0<diff.length);}this.render_=function(){var data=top10Updates[currentState.items],html,t=[];t.push('<table class="grid"><tbody>');data.forEach(function(item,itemIndex,items){t.push(applyScoreUpdateTmpl(item));});t.push("</tbody></table>");html=t.join("");$el.html(html);};this.reset_=function(){$el.html("No goals yet");};function applyScoreUpdateTmpl(item){var t=[];t.push("<tr>");t.push('<td class="time">');t.push(item.ScoreChangedAt);t.push("</td>");t.push('<td class="team home">');t.push(("0"==item.LastScorer)?"<strong>"+item.HomeTeamName+"</strong>":item.HomeTeamName);t.push("</td>");t.push('<td class="result">');t.push(item.Score);t.push("</td>");t.push('<td class="team away">');t.push(("1"==item.LastScorer)?"<strong>"+item.AwayTeamName+"</strong>":item.AwayTeamName);t.push("</td>");t.push("</tr>");return t.join("");}};WS.LS.App={isEverLoaded_:false,isLoading_:false,timer_:new NG.Timer(),defaultTimeout_:15,freshLoadTimeout_:60,lastCompleteRefreshAt_:null,date_:null,version_:null,liveScoresShowIncidentsClicked_:function(source){this.liveScores_.showIncidentsClicked_(source);},liveScoresCheckboxClicked_:function(source){this.liveScores_.checkboxClicked_(source);},modelChanged_:function(model){var text={all:"All",live:"In Play",next:"Upcoming",selected:"Selected"};$("#view-config-view option").each(function(){var count=model.itemCounts[WS.LS.ItemStatus[this.value]];if("undefined"!=typeof(count)){this.text=text[this.value]+" ("+count+")";}});},init:function(dateController,datePicker,calendar){var self=this;this.cssToggler_=new WS.LS.CssToggler();$("#view-config-view, #view-config-layout").change(function(){ls.handleViewEvent(this.value);NG.GA.trackEvent("LiveScores","View",this.value);});$("#view-selected-button").click(function(){ls.handleViewEvent("selected");NG.GA.trackEvent("LiveScores","View","Selected");return false;});$("#view-all-button").click(function(){ls.handleViewEvent("all");return false;});NG.Events.add(this,"loadstart",function(){dateController.disable();datePicker.disable();});NG.Events.add(this,"loadend",function(){dateController.enable();datePicker.enable();});NG.Events.add(calendar,"datechanged",function(){self.load(calendar.parameter());});NG.Events.add(this,"loadstart",function(){$("#countdown").html("Loading...").css({backgroundColor:"#FFFFCC"});});NG.Events.add(this,"loadend",function(){$("#countdown").html("&nbsp;").css({backgroundColor:"transparent"});});$("#live-scores a.add-to-my-favorites").live("click",function(event){var $this=$(this);var id=favoriteTournaments.stripTournamentIdFromHref($this.parent().find("a.with-left-icon").attr("href"));favoriteTournaments.addFavoriteTournamentById(id,$this);event.preventDefault();});$("#live-scores .show-incidents").live("click",function(){self.liveScoresShowIncidentsClicked_(this);NG.GA.trackEvent("LiveScores","Incidents","Show");return false;});$('#live-scores input[type="checkbox"]').live("click",function(){self.liveScoresCheckboxClicked_(this);});$("#hot-matches .show-incidents").live("click",function(){self.topGames_.showIncidentsClicked_(this);NG.GA.trackEvent("LiveScores","Incidents","Show");return false;});$('#hot-matches input[type="checkbox"]').live("click",function(){self.topGames_.checkboxClicked_(this);});},load:function(date){if(this.isLoading_){return;}this.isLoading_=true;this.timer_.reset();NG.Events.fire(this,"loadstart");this.date_=date;this.resetRefreshHistory_();if(this.isEverLoaded_){NG.Events.removeGlobal("favoritetournamentsupdate",this.model_.sort,this.model_);NG.Events.remove(this.model_,"modelchanged",this.modelChanged_);NG.Events.remove(this.model_,"modelchanged",this.liveScores_.dataChanged);NG.Events.remove(this.model_,"modelsorted",this.liveScores_.dataChanged);NG.Events.remove(this,"statechanged",this.liveScores_.stateChanged);NG.Events.remove(this.topGames_,"itemselected",this.liveScores_.handleItemSelected);NG.Events.remove(this.topGames_,"itemdeselected",this.liveScores_.handleItemDeselected);NG.Events.remove(this.model_,"modelchanged",this.topGames_.dataChanged);NG.Events.remove(this,"statechanged",this.topGames_.stateChanged);NG.Events.remove(this.liveScores_,"itemselected",this.topGames_.handleItemSelected);NG.Events.remove(this.liveScores_,"itemdeselected",this.topGames_.handleItemDeselected);NG.Events.remove(this.model_,"modelchanged",this.scoreUpdates_.dataChanged);NG.Events.remove(this,"statechanged",this.scoreUpdates_.stateChanged);NG.Events.remove(this.liveScores_,"itemselected",this.scoreUpdates_.handleItemSelected);NG.Events.remove(this.liveScores_,"itemdeselected",this.scoreUpdates_.handleItemDeselected);NG.Events.remove(this.topGames_,"itemselected",this.scoreUpdates_.handleItemSelected);NG.Events.remove(this.topGames_,"itemdeselected",this.scoreUpdates_.handleItemDeselected);this.liveScores_.dispose();this.topGames_.dispose();this.scoreUpdates_.dispose();}this.handleViewEvent(this.state_?"all":"default");this.model_=new WS.LS.Model();NG.Events.addGlobal("favoritetournamentsupdate",this.model_.sort,this.model_);NG.Events.add(this.model_,"modelchanged",this.modelChanged_,this);this.liveScores_=new WS.LS.LiveScores(this.state_);NG.Events.add(this.model_,"modelchanged",this.liveScores_.dataChanged,this.liveScores_);NG.Events.add(this.model_,"modelsorted",this.liveScores_.dataChanged,this.liveScores_);NG.Events.add(this,"statechanged",this.liveScores_.stateChanged,this.liveScores_);this.topGames_=new WS.LS.TopGames(this.state_);NG.Events.add(this.model_,"modelchanged",this.topGames_.dataChanged,this.topGames_);NG.Events.add(this,"statechanged",this.topGames_.stateChanged,this.topGames_);NG.Events.add(this.liveScores_,"itemselected",this.topGames_.handleItemSelected,this.topGames_);NG.Events.add(this.liveScores_,"itemdeselected",this.topGames_.handleItemDeselected,this.topGames_);NG.Events.add(this.topGames_,"itemselected",this.liveScores_.handleItemSelected,this.liveScores_);NG.Events.add(this.topGames_,"itemdeselected",this.liveScores_.handleItemDeselected,this.liveScores_);this.scoreUpdates_=new WS.LS.ScoreUpdates(this.state_);NG.Events.add(this.model_,"modelchanged",this.scoreUpdates_.dataChanged,this.scoreUpdates_);NG.Events.add(this,"statechanged",this.scoreUpdates_.stateChanged,this.scoreUpdates_);NG.Events.add(this.liveScores_,"itemselected",this.scoreUpdates_.handleItemSelected,this.scoreUpdates_);NG.Events.add(this.liveScores_,"itemdeselected",this.scoreUpdates_.handleItemDeselected,this.scoreUpdates_);NG.Events.add(this.topGames_,"itemselected",this.scoreUpdates_.handleItemSelected,this.scoreUpdates_);NG.Events.add(this.topGames_,"itemdeselected",this.scoreUpdates_.handleItemDeselected,this.scoreUpdates_);this.isEverLoaded_=true;DataStore.load("livescores",{parameters:this.date_,success:this.loadCallback_,error:this.errorCallback_,dataType:"array"},this);},handleViewEvent:function(viewEvent){var state=this.getState_(viewEvent);if(state){if(this.applyState1_(state)){NG.async(function(){this.applyState2_(state);NG.Events.fire(this,"statechanged",this.state_);},this);}}},model_:null,liveScores_:null,topGames_:null,scoreUpdates_:null,state_:null,resetRefreshHistory_:function(){this.version_=null;this.lastCompleteRefreshAt_=new Date();},getState_:function(state){var result;if("all"==state){result={items:state,cssShow:[".ls-1",".ls-2",".ls-4",".ls-3",".ls-5",".ls-6",".ls-7",".ls-s"],cssHide:null};}else{if("live"==state){result={items:state,cssShow:[".ls-2",".ls-3",".ls-6",".ls-7",".ls-s"],cssHide:[".ls-1",".ls-4",".ls-5"]};}else{if("next"==state){result={items:state,cssShow:[".ls-4",".ls-5",".ls-6",".ls-7",".ls-s"],cssHide:[".ls-1",".ls-2",".ls-3"]};}else{if("selected"==state){result={items:state,cssShow:[".ls-1",".ls-2",".ls-4",".ls-3",".ls-5",".ls-6",".ls-7"],cssHide:[]};}else{if("grouped"==state){result={layout:state,cssShow:null,cssHide:[".ls-t"]};}else{if("sorted"==state){result={layout:state,cssShow:[".ls-t"],cssHide:null};}else{if("default"==state){result={items:"all",layout:"grouped",cssShow:[".ls-1",".ls-2",".ls-4",".ls-3",".ls-5",".ls-6",".ls-7",".ls-s"],cssHide:null};}}}}}}}if("undefined"==typeof result){throw"undefined state";}result=$.extend({},this.state_||{},result);return result;},applyState1_:function(state){if(!this.state_){this.state_=state;$("#view-config-view, #view-config-layout").each(function(){$this=$(this);$this.val($this.find("option:first").attr("value"));$this.attr("data-last-value",$this.val());});return true;}var itemStatusChanging=this.state_.items!=state.items;if(itemStatusChanging){var toSelectedItemState=("selected"!=this.state_.items)&&("selected"==state.items),fromSelectedItemState=("selected"==this.state_.items)&&("selected"!=state.items),anySelection=this.liveScores_.anySelection()||this.topGames_.anySelection();if(toSelectedItemState){if(!anySelection){alert("Please select matches first.");$("#view-config-view").val($("#view-config-view").attr("data-last-value"));return false;}$("#view-selected-button").hide();$("#view-all-button").show();$("#view-config-view").val("selected");}else{if(fromSelectedItemState){$("#view-selected-button").show();$("#view-all-button").hide();}}$("#view-config-view").val(state.items);$("#view-config-view").attr("data-last-value",state.items);}$("#view-config-layout").val(state.layout);this.state_=$.extend(this.state_||{},state);return true;},applyState2_:function(state){if(state.cssHide){this.cssToggler_.hide(this.state_.cssHide);}if(state.cssShow){this.cssToggler_.show(this.state_.cssShow);}},errorCallback_:function(){$("#results-message").show();this.setTimer_(this.defaultTimeout_);NG.Events.fire(this,"loadend");this.isLoading_=false;},loadCallback_:function(options,data){var returnCode=(NG.isArray(data[0]))?data[0][0]:-1;if(0!=returnCode){this.errorCallback_();return;}$("#results-message").hide();var responseVersion=data[0][1];if(null==this.version_){this.version_=responseVersion;this.model_.create(data);}else{if(this.version_<responseVersion){this.version_=responseVersion;this.model_.update(data);}}NG.Events.fire(this,"loadend");this.isLoading_=false;this.setTimer_(data[0][2]);},refresh_:function(){NG.Events.fire(this,"loadstart");var freshRefreshRequired=(this.freshLoadTimeout_*1000<(new Date().valueOf()-(this.lastCompleteRefreshAt_||0)));if(freshRefreshRequired){this.resetRefreshHistory_();}var options=(this.version_)?$.extend({},this.date_,{v:this.version_}):this.date_;DataStore.load("livescores",{parameters:options,success:this.loadCallback_,error:this.errorCallback_,dataType:"array"},this);},setTimer_:function(timeout){if(timeout<=0){return;}this.timer_.set(timeout,function(seconds){if(0<seconds){$("#countdown").html(this.getFriendlyRemainingTime_(seconds));}else{this.refresh_();}},this);},getFriendlyRemainingTime_:function(seconds){var result="";if(seconds<60){result="Refreshing in {0} seconds...".format(seconds);}else{if(seconds<60*60){result="Matches start in {0} minutes".format((seconds/60)>>0);}else{if(seconds<60*60*48){result="Matches start in {0} hours {1} minutes".format((seconds/(60*60))>>0,((seconds/60)%60)>>0);}}}return result;}};