/* ---------------------------------------- /includes/jsbin/jquery.js ---------------------------------------- */
/*
 * 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 l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * 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 R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.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(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.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(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.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(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.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 H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.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(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.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(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<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>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
/* ---------------------------------------- /includes/jsbin/jquery-ui.js ---------------------------------------- */
/*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
 * jQuery UI Draggable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Draggables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));a.extend(a.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(b,c){var e=a(this).data("draggable").options;var d=a.makeArray(a(e.stack.group)).sort(function(g,f){return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)});a(d).each(function(f){this.style.zIndex=e.stack.min+f});this[0].style.zIndex=e.stack.min+d.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);;/*
 * jQuery UI Droppable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Droppables
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 */
(function(a){a.widget("ui.droppable",{_init:function(){var c=this.options,b=c.accept;this.isover=0;this.isout=1;this.options.accept=this.options.accept&&a.isFunction(this.options.accept)?this.options.accept:function(e){return e.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};a.ui.ddmanager.droppables[this.options.scope]=a.ui.ddmanager.droppables[this.options.scope]||[];a.ui.ddmanager.droppables[this.options.scope].push(this);(this.options.addClasses&&this.element.addClass("ui-droppable"))},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++){if(b[c]==this){b.splice(c,1)}}this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable")},_setData:function(b,c){if(b=="accept"){this.options.accept=c&&a.isFunction(c)?c:function(e){return e.is(c)}}else{a.widget.prototype._setData.apply(this,arguments)}},_activate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.addClass(this.options.activeClass)}(b&&this._trigger("activate",c,this.ui(b)))},_deactivate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}(b&&this._trigger("deactivate",c,this.ui(b)))},_over:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.addClass(this.options.hoverClass)}this._trigger("over",c,this.ui(b))}},_out:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("out",c,this.ui(b))}},_drop:function(c,d){var b=d||a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return false}var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var f=a.data(this,"droppable");if(f.options.greedy&&a.ui.intersect(b,a.extend(f,{offset:f.element.offset()}),f.options.tolerance)){e=true;return false}});if(e){return false}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("drop",c,this.ui(b));return this.element}return false},ui:function(b){return{draggable:(b.currentItem||b.element),helper:b.helper,position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs}}});a.extend(a.ui.droppable,{version:"1.7.2",eventPrefix:"drop",defaults:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"}});a.ui.intersect=function(q,j,o){if(!j.offset){return false}var e=(q.positionAbs||q.position.absolute).left,d=e+q.helperProportions.width,n=(q.positionAbs||q.position.absolute).top,m=n+q.helperProportions.height;var g=j.offset.left,c=g+j.proportions.width,p=j.offset.top,k=p+j.proportions.height;switch(o){case"fit":return(g<e&&d<c&&p<n&&m<k);break;case"intersect":return(g<e+(q.helperProportions.width/2)&&d-(q.helperProportions.width/2)<c&&p<n+(q.helperProportions.height/2)&&m-(q.helperProportions.height/2)<k);break;case"pointer":var h=((q.positionAbs||q.position.absolute).left+(q.clickOffset||q.offset.click).left),i=((q.positionAbs||q.position.absolute).top+(q.clickOffset||q.offset.click).top),f=a.ui.isOver(i,h,p,g,j.proportions.height,j.proportions.width);return f;break;case"touch":return((n>=p&&n<=k)||(m>=p&&m<=k)||(n<p&&m>k))&&((e>=g&&e<=c)||(d>=g&&d<=c)||(e<g&&d>c));break;default:return false;break}};a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,g){var b=a.ui.ddmanager.droppables[e.options.scope];var f=g?g.type:null;var h=(e.currentItem||e.element).find(":data(droppable)").andSelf();droppablesLoop:for(var d=0;d<b.length;d++){if(b[d].options.disabled||(e&&!b[d].options.accept.call(b[d].element[0],(e.currentItem||e.element)))){continue}for(var c=0;c<h.length;c++){if(h[c]==b[d].element[0]){b[d].proportions.height=0;continue droppablesLoop}}b[d].visible=b[d].element.css("display")!="none";if(!b[d].visible){continue}b[d].offset=b[d].element.offset();b[d].proportions={width:b[d].element[0].offsetWidth,height:b[d].element[0].offsetHeight};if(f=="mousedown"){b[d]._activate.call(b[d],g)}}},drop:function(b,c){var d=false;a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(!this.options){return}if(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)){d=this._drop.call(this,c)}if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element[0],(b.currentItem||b.element))){this.isout=1;this.isover=0;this._deactivate.call(this,c)}});return d},drag:function(b,c){if(b.options.refreshPositions){a.ui.ddmanager.prepareOffsets(b,c)}a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(this.options.disabled||this.greedyChild||!this.visible){return}var e=a.ui.intersect(b,this,this.options.tolerance);var g=!e&&this.isover==1?"isout":(e&&this.isover==0?"isover":null);if(!g){return}var f;if(this.options.greedy){var d=this.element.parents(":data(droppable):eq(0)");if(d.length){f=a.data(d[0],"droppable");f.greedyChild=(g=="isover"?1:0)}}if(f&&g=="isover"){f.isover=0;f.isout=1;f._out.call(f,c)}this[g]=1;this[g=="isout"?"isover":"isout"]=0;this[g=="isover"?"_over":"_out"].call(this,c);if(f&&g=="isout"){f.isout=0;f.isover=1;f._over.call(f,c)}})}}})(jQuery);;/*
 * jQuery UI Resizable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Resizables
 *
 * Depends:
 *	ui.core.js
 */
(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)){s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;/*
 * jQuery UI Selectable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Selectables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.selectable",a.extend({},a.ui.mouse,{_init:function(){var b=this;this.element.addClass("ui-selectable");this.dragged=false;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]);c.each(function(){var d=a(this);var e=d.offset();a.data(this,"selectable-item",{element:this,$element:d,left:e.left,top:e.top,right:e.left+d.outerWidth(),bottom:e.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=c.addClass("ui-selectee");this._mouseInit();this.helper=a(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(d){var b=this;this.opos=[d.pageX,d.pageY];if(this.options.disabled){return}var c=this.options;this.selectees=a(c.filter,this.element[0]);this._trigger("start",d);a(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});if(c.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var e=a.data(this,"selectable-item");e.startselected=true;if(!d.metaKey){e.$element.removeClass("ui-selected");e.selected=false;e.$element.addClass("ui-unselecting");e.unselecting=true;b._trigger("unselecting",d,{unselecting:e.element})}});a(d.target).parents().andSelf().each(function(){var e=a.data(this,"selectable-item");if(e){e.$element.removeClass("ui-unselecting").addClass("ui-selecting");e.unselecting=false;e.selecting=true;e.selected=true;b._trigger("selecting",d,{selecting:e.element});return false}})},_mouseDrag:function(i){var c=this;this.dragged=true;if(this.options.disabled){return}var e=this.options;var d=this.opos[0],h=this.opos[1],b=i.pageX,g=i.pageY;if(d>b){var f=b;b=d;d=f}if(h>g){var f=g;g=h;h=f}this.helper.css({left:d,top:h,width:b-d,height:g-h});this.selectees.each(function(){var j=a.data(this,"selectable-item");if(!j||j.element==c.element[0]){return}var k=false;if(e.tolerance=="touch"){k=(!(j.left>b||j.right<d||j.top>g||j.bottom<h))}else{if(e.tolerance=="fit"){k=(j.left>d&&j.right<b&&j.top>h&&j.bottom<g)}}if(k){if(j.selected){j.$element.removeClass("ui-selected");j.selected=false}if(j.unselecting){j.$element.removeClass("ui-unselecting");j.unselecting=false}if(!j.selecting){j.$element.addClass("ui-selecting");j.selecting=true;c._trigger("selecting",i,{selecting:j.element})}}else{if(j.selecting){if(i.metaKey&&j.startselected){j.$element.removeClass("ui-selecting");j.selecting=false;j.$element.addClass("ui-selected");j.selected=true}else{j.$element.removeClass("ui-selecting");j.selecting=false;if(j.startselected){j.$element.addClass("ui-unselecting");j.unselecting=true}c._trigger("unselecting",i,{unselecting:j.element})}}if(j.selected){if(!i.metaKey&&!j.startselected){j.$element.removeClass("ui-selected");j.selected=false;j.$element.addClass("ui-unselecting");j.unselecting=true;c._trigger("unselecting",i,{unselecting:j.element})}}}});return false},_mouseStop:function(d){var b=this;this.dragged=false;var c=this.options;a(".ui-unselecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-unselecting");e.unselecting=false;e.startselected=false;b._trigger("unselected",d,{unselected:e.element})});a(".ui-selecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-selecting").addClass("ui-selected");e.selecting=false;e.selected=true;e.startselected=true;b._trigger("selected",d,{selected:e.element})});this._trigger("stop",d);this.helper.remove();return false}}));a.extend(a.ui.selectable,{version:"1.7.2",defaults:{appendTo:"body",autoRefresh:true,cancel:":input,option",delay:0,distance:0,filter:"*",tolerance:"touch"}})})(jQuery);;/*
 * jQuery UI Sortable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Sortables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.sortable",a.extend({},a.ui.mouse,{_init:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;if(g.cursorAt){this._adjustOffsetFromHelper(g.cursorAt)}this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return true},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions()},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){continue}var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(d){for(var c=this.containers.length-1;c>=0;c--){if(this._intersectsWith(this.containers[c].containerCache)){if(!this.containers[c].containerCache.over){if(this.currentContainer!=this.containers[c]){var h=10000;var g=null;var e=this.positionAbs[this.containers[c].floating?"left":"top"];for(var b=this.items.length-1;b>=0;b--){if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){continue}var f=this.items[b][this.containers[c].floating?"left":"top"];if(Math.abs(f-e)<h){h=Math.abs(f-e);g=this.items[b]}}if(!g&&!this.options.dropOnEmpty){continue}this.currentContainer=this.containers[c];g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[c].element,true);this._trigger("change",d,this._uiHash());this.containers[c]._trigger("change",d,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder)}this.containers[c]._trigger("over",d,this._uiHash(this));this.containers[c].containerCache.over=1}}else{if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",d,this._uiHash(this));this.containers[c].containerCache.over=0}}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}}));a.extend(a.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}})})(jQuery);;/*
 * jQuery UI Accordion 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.accordion",{_init:function(){var d=this.options,b=this;this.running=0;if(d.collapsible==a.ui.accordion.defaults.collapsible&&d.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){d.collapsible=!d.alwaysOpen}if(d.navigation){var c=this.element.find("a").filter(d.navigationFilter);if(c.length){if(c.filter(d.header).length){this.active=c}else{this.active=c.parent().parent().prev();c.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");this.active=this._findActive(this.active||d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");a("<span/>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);if(a.browser.msie){this.element.find("a").css("zoom","1")}this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(e){return b._keydown(e)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex","0")}else{this.active.attr("aria-expanded","true").attr("tabIndex","0")}if(!a.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(d.event){this.headers.bind((d.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var c=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this.headers.children(".ui-icon").remove();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(c.autoHeight||c.fillHeight){b.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var g=this.options,f=a.ui.keyCode;if(g.disabled||e.altKey||e.ctrlKey){return}var d=this.headers.length;var b=this.headers.index(e.target);var c=false;switch(e.keyCode){case f.RIGHT:case f.DOWN:c=this.headers[(b+1)%d];break;case f.LEFT:case f.UP:c=this.headers[(b-1+d)%d];break;case f.SPACE:case f.ENTER:return this._clickHandler({target:e.target},e.target)}if(c){a(e.target).attr("tabIndex","-1");a(c).attr("tabIndex","0");c.focus();return false}return true},resize:function(){var e=this.options,d;if(e.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}d=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){d-=a(this).outerHeight()});var c=0;this.headers.next().each(function(){c=Math.max(c,a(this).innerHeight()-a(this).height())}).height(Math.max(0,d-c)).css("overflow","auto")}else{if(e.autoHeight){d=0;this.headers.next().each(function(){d=Math.max(d,a(this).outerHeight())}).height(d)}}},activate:function(b){var c=this._findActive(b)[0];this._clickHandler({target:c},c)},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,f){var d=this.options;if(d.disabled){return false}if(!b.target&&d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),e={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:h},c=(this.active=a([]));this._toggle(c,h,e);return false}var g=a(b.currentTarget||f);var i=g[0]==this.active[0];if(this.running||(!d.collapsible&&i)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!i){g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);g.next().addClass("ui-accordion-content-active")}var c=g.next(),h=this.active.next(),e={options:d,newHeader:i&&d.collapsible?a([]):g,oldHeader:this.active,newContent:i&&d.collapsible?a([]):c.find("> *"),oldContent:h.find("> *")},j=this.headers.index(this.active[0])>this.headers.index(g[0]);this.active=i?a([]):g;this._toggle(c,h,e,i,j);return false},_toggle:function(b,i,g,j,k){var d=this.options,m=this;this.toShow=b;this.toHide=i;this.data=g;var c=function(){if(!m){return}return m._completed.apply(m,arguments)};this._trigger("changestart",null,this.data);this.running=i.size()===0?b.size():i.size();if(d.animated){var f={};if(d.collapsible&&j){f={toShow:a([]),toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}else{f={toShow:b,toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}if(!d.proxied){d.proxied=d.animated}if(!d.proxiedDuration){d.proxiedDuration=d.duration}d.animated=a.isFunction(d.proxied)?d.proxied(f):d.proxied;d.duration=a.isFunction(d.proxiedDuration)?d.proxiedDuration(f):d.proxiedDuration;var l=a.ui.accordion.animations,e=d.duration,h=d.animated;if(!l[h]){l[h]=function(n){this.slide(n,{easing:h,duration:e||700})}}l[h](f)}else{if(d.collapsible&&j){b.toggle()}else{i.hide();b.show()}c(true)}i.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();b.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(b){var c=this.options;this.running=b?0:--this.running;if(this.running){return}if(c.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.2",defaults:{active:null,alwaysOpen:true,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(j,h){j=a.extend({easing:"swing",duration:300},j,h);if(!j.toHide.size()){j.toShow.animate({height:"show"},j);return}if(!j.toShow.size()){j.toHide.animate({height:"hide"},j);return}var c=j.toShow.css("overflow"),g,d={},f={},e=["height","paddingTop","paddingBottom"],b;var i=j.toShow;b=i[0].style.width;i.width(parseInt(i.parent().width(),10)-parseInt(i.css("paddingLeft"),10)-parseInt(i.css("paddingRight"),10)-(parseInt(i.css("borderLeftWidth"),10)||0)-(parseInt(i.css("borderRightWidth"),10)||0));a.each(e,function(k,m){f[m]="hide";var l=(""+a.css(j.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);d[m]={value:l[1],unit:l[2]||"px"}});j.toShow.css({height:0,overflow:"hidden"}).show();j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f,{step:function(k,l){if(l.prop=="height"){g=(l.now-l.start)/(l.end-l.start)}j.toShow[0].style[l.prop]=(g*d[l.prop].value)+d[l.prop].unit},duration:j.duration,easing:j.easing,complete:function(){if(!j.autoHeight){j.toShow.css("height","")}j.toShow.css("width",b);j.toShow.css({overflow:c});j.complete()}})},bounceslide:function(b){this.slide(b,{easing:b.down?"easeOutBounce":"swing",duration:b.down?1000:200})},easeslide:function(b){this.slide(b,{easing:"easeinout",duration:700})}}})})(jQuery);;/*
 * jQuery UI Dialog 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Dialog
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 *	ui.resizable.js
 */
(function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||"&nbsp;",e=c.ui.dialog.getTitleId(this.element),k=(this.uiDialog=c("<div/>")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:m.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){(m.closeOnEscape&&n.keyCode&&n.keyCode==c.ui.keyCode.ESCAPE&&l.close(n))}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(n){l.moveToTop(false,n)}),g=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(this.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(n){n.stopPropagation()}).click(function(n){l.close(n);return false}).appendTo(f),h=(this.uiDialogTitlebarCloseText=c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("<span/>").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&this._makeDraggable());(m.resizable&&c.fn.resizable&&this._makeResizable());this._createButtons(m.buttons);this._isOpen=false;(m.bgiframe&&c.fn.bgiframe&&k.bgiframe());(m.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(f){var d=this;if(false===d._trigger("beforeclose",f)){return}(d.overlay&&d.overlay.destroy());d.uiDialog.unbind("keypress.ui-dialog");(d.options.hide?d.uiDialog.hide(d.options.hide,function(){d._trigger("close",f)}):d.uiDialog.hide()&&d._trigger("close",f));c.ui.dialog.overlay.resize();d._isOpen=false;if(d.options.modal){var e=0;c(".ui-dialog").each(function(){if(this!=d.uiDialog[0]){e=Math.max(e,c(this).css("z-index"))}});c.ui.dialog.maxZ=e}},isOpen:function(){return this._isOpen},moveToTop:function(f,e){if((this.options.modal&&!f)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",e)}if(this.options.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=this.options.zIndex}(this.overlay&&this.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var d={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++c.ui.dialog.maxZ);this.element.attr(d);this._trigger("focus",e)},open:function(){if(this._isOpen){return}var e=this.options,d=this.uiDialog;this.overlay=e.modal?new c.ui.dialog.overlay(this):null;(d.next().length&&d.appendTo("body"));this._size();this._position(e.position);d.show(e.show);this.moveToTop(true);(e.modal&&d.bind("keypress.ui-dialog",function(h){if(h.keyCode!=c.ui.keyCode.TAB){return}var g=c(":tabbable",this),i=g.filter(":first")[0],f=g.filter(":last")[0];if(h.target==f&&!h.shiftKey){setTimeout(function(){i.focus()},1)}else{if(h.target==i&&h.shiftKey){setTimeout(function(){f.focus()},1)}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(g){var f=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof g=="object"&&g!==null&&c.each(g,function(){return !(d=true)}));if(d){c.each(g,function(h,i){c('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(h).click(function(){i.apply(f.element[0],arguments)}).hover(function(){c(this).addClass("ui-state-hover")},function(){c(this).removeClass("ui-state-hover")}).focus(function(){c(this).addClass("ui-state-focus")}).blur(function(){c(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var d=this,f=this.options,e;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");(f.dragStart&&f.dragStart.apply(d.element[0],arguments))},drag:function(){(f.drag&&f.drag.apply(d.element[0],arguments))},stop:function(){c(this).removeClass("ui-dialog-dragging").height(e);(f.dragStop&&f.dragStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=this.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:f.minHeight,start:function(){c(this).addClass("ui-dialog-resizing");(f.resizeStart&&f.resizeStart.apply(d.element[0],arguments))},resize:function(){(f.resize&&f.resize.apply(d.element[0],arguments))},handles:e,stop:function(){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();(f.resizeStop&&f.resizeStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(i){var e=c(window),f=c(document),g=f.scrollTop(),d=f.scrollLeft(),h=g;if(c.inArray(i,["center","top","right","bottom","left"])>=0){i=[i=="right"||i=="left"?i:"center",i=="top"||i=="bottom"?i:"middle"]}if(i.constructor!=Array){i=["center","middle"]}if(i[0].constructor==Number){d+=i[0]}else{switch(i[0]){case"left":d+=0;break;case"right":d+=e.width()-this.uiDialog.outerWidth();break;default:case"center":d+=(e.width()-this.uiDialog.outerWidth())/2}}if(i[1].constructor==Number){g+=i[1]}else{switch(i[1]){case"top":g+=0;break;case"bottom":g+=e.height()-this.uiDialog.outerHeight();break;default:case"middle":g+=(e.height()-this.uiDialog.outerHeight())/2}}g=Math.max(g,h);this.uiDialog.css({top:g,left:d})},_setData:function(e,f){(b[e]&&this.uiDialog.data(b[e],f));switch(e){case"buttons":this._createButtons(f);break;case"closeText":this.uiDialogTitlebarCloseText.text(f);break;case"dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass(a+f);break;case"draggable":(f?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(f);break;case"position":this._position(f);break;case"resizable":var d=this.uiDialog,g=this.uiDialog.is(":data(resizable)");(g&&!f&&d.resizable("destroy"));(g&&typeof f=="string"&&d.resizable("option","handles",f));(g||this._makeResizable(f));break;case"title":c(".ui-dialog-title",this.uiDialogTitlebar).html(f||"&nbsp;");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){if(c.ui.dialog.overlay.instances.length){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})}},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove();var e=0;c.each(this.instances,function(){e=Math.max(e,this.css("z-index"))});this.maxZ=e},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e<d){return c(window).height()+"px"}else{return e+"px"}}else{return c(document).height()+"px"}},width:function(){if(c.browser.msie&&c.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var e=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(d<e){return c(window).width()+"px"}else{return d+"px"}}else{return c(document).width()+"px"}},resize:function(){var d=c([]);c.each(c.ui.dialog.overlay.instances,function(){d=d.add(this)});d.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);;/*
 * jQuery UI Slider 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("<div></div>");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length<c.values.length){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d<b))){d=b}if(d!=this.values(e)){var c=this.values();c[e]=d;var h=this._trigger("slide",f,{handle:this.handles[e],value:d,values:c});var b=this.values(e?0:1);if(h!==false){this.values(e,d,(f.type=="mousedown"&&this.options.animate),true)}}}else{if(d!=this.value()){var h=this._trigger("slide",f,{handle:this.handles[e],value:d});if(h!==false){this._setData("value",d,(f.type=="mousedown"&&this.options.animate))}}}},_stop:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("stop",d,b)},_change:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("change",d,b)},value:function(b){if(arguments.length){this._setData("value",b);this._change(null,0)}return this._value()},values:function(b,e,c,d){if(arguments.length>1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.2",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;/*
 * jQuery UI Tabs 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var w=p._tabId(o);o.href="#"+w;var v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return false}})}if(typeof d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var c=a.data(this,"href.tabs");if(c){this.href=c}var d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1<this.anchors.length?1:-1))}d.disabled=a.map(a.grep(d.disabled,function(g,f){return g!=b}),function(g,f){return g>=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var b=this,g=this.options;var c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var i=g.selected;b.select(++i<b.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var e=b._unrotate||(b._unrotate=!f?function(h){if(h.clientX){b.rotate(null)}}:function(h){t=g.selected;c()});if(d){this.element.bind("tabsshow",c);this.anchors.bind(g.event+".tabs",e);c()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",c);this.anchors.unbind(g.event+".tabs",e);delete this._rotate;delete this._unrotate}}})})(jQuery);;/*
 * jQuery UI Datepicker 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	ui.core.js
 */
(function($){$.extend($.ui,{datepicker:{version:"1.7.2"}});var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dateFormat:"mm/dd/yy",firstDay:0,isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,showMonthAfterYear:false,yearRange:"-10:+10",showOtherMonths:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_getInst:function(target){try{return $.data(target,PROP_NAME)}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var inst=this._getInst(target);if(arguments.length==2&&typeof name=="string"){return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))}var settings=name||{};if(typeof name=="string"){settings={};settings[name]=value}if(inst){if(this._curInst==inst){this._hideDatepicker(null)}var date=this._getDateDatepicker(target);extendRemove(inst.settings,settings);this._setDateDatepicker(target,date);this._updateDatepicker(inst)}},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);if(inst){this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date,endDate){var inst=this._getInst(target);if(inst){this._setDate(inst,date,endDate);this._updateDatepicker(inst);this._updateAlternate(inst)}},_getDateDatepicker:function(target){var inst=this._getInst(target);if(inst&&!inst.inline){this._setDateFromField(inst)}return(inst?this._getDate(inst):null)},_doKeyDown:function(event){var inst=$.datepicker._getInst(event.target);var handled=true;var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");inst._keyEvent=true;if($.datepicker._datepickerShowing){switch(event.keyCode){case 9:$.datepicker._hideDatepicker(null,"");break;case 13:var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);if(sel[0]){$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])}else{$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))}return false;break;case 27:$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));break;case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");break;case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");break;case 35:if(event.ctrlKey||event.metaKey){$.datepicker._clearDate(event.target)}handled=event.ctrlKey||event.metaKey;break;case 36:if(event.ctrlKey||event.metaKey){$.datepicker._gotoToday(event.target)}handled=event.ctrlKey||event.metaKey;break;case 37:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")}break;case 38:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,-7,"D")}handled=event.ctrlKey||event.metaKey;break;case 39:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")}break;case 40:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,+7,"D")}handled=event.ctrlKey||event.metaKey;break;default:handled=false}}else{if(event.keyCode==36&&event.ctrlKey){$.datepicker._showDatepicker(this)}else{handled=false}}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyPress:function(event){var inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput")){var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)}},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};var self=this;inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));this._updateDatepicker(inst)}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else{if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){return 1}}}return Math.floor(((checkDate-firstMon)/86400000)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var doy=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var getNumber=function(match){lookAhead(match);var origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));var size=origSize;var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++){size=Math.max(size,names[j].length)}var name="";var iInit=iValue;while(size>0&&iValue<value.length){name+=value.charAt(iValue++);for(var i=0;i<names.length;i++){if(name==names[i]){return i+1}}size--}throw"Unknown name at position "+iInit};var checkLiteral=function(){if(value.charAt(iValue)!=format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":var date=new Date(getNumber("@"));year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(year==-1){year=new Date().getFullYear()}else{if(year<100){year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)}}if(doy>-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match)){while(num.length<len){num="0"+num}}return num};var formatName=function(match,value,shortNames,longNames){return(lookAhead(match)?longNames[value]:shortNames[value])};var output="";var literal=false;if(date){for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":var doy=date.getDate();for(var m=date.getMonth()-1;m>=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst){var dateFormat=this._get(inst,"dateFormat");var dates=inst.input?inst.input.val():null;inst.endDay=inst.endMonth=inst.endYear=null;var date=defaultDate=this._getDefaultDate(inst);var settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){this.log(event);date=defaultDate}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates?date.getDate():0);inst.currentMonth=(dates?date.getMonth():0);inst.currentYear=(dates?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));date=(date&&date.toString()=="Invalid Date"?defaultDate:date);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return this._daylightSavingAdjust(date)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row<numMonths[0];row++){var group="";for(var col=0;col<numMonths[1];col++){var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));var cornerClass=" ui-corner-all";var calender="";if(isMultiMonth){calender+='<div class="ui-datepicker-group ui-datepicker-group-';switch(col){case 0:calender+="first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+="last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+="middle";cornerClass="";break}calender+='">'}calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var thead="";for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"}calender+=thead+"</tr></thead><tbody>";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow<numRows;dRow++){calender+="<tr>";var tbody="";for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);tbody+='<td class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+"</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var changeMonth=this._get(inst,"changeMonth");var changeYear=this._get(inst,"changeYear");var showMonthAfterYear=this._get(inst,"showMonthAfterYear");var html='<div class="ui-datepicker-title">';var monthHtml="";if(secondary||!changeMonth){monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"}}monthHtml+="</select>"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?"&#xa0;":"")}if(secondary||!changeYear){html+='<span class="ui-datepicker-year">'+drawYear+"</span>"}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(;year<=endYear;year++){html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"}html+="</select>"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?"&#xa0;":"")+monthHtml}html+="</div>";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery);;/*
 * jQuery UI Progressbar 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Progressbar
 *
 * Depends:
 *   ui.core.js
 */
(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;/*
 * jQuery UI Effects 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||(function(d){d.effects={version:"1.7.2",save:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.data("ec.storage."+h[f],g[0].style[h[f]])}}},restore:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.css(h[f],g.data("ec.storage."+h[f]))}}},setMode:function(f,g){if(g=="toggle"){g=f.is(":hidden")?"show":"hide"}return g},getBaseline:function(g,h){var i,f;switch(g[0]){case"top":i=0;break;case"middle":i=0.5;break;case"bottom":i=1;break;default:i=g[0]/h.height}switch(g[1]){case"left":f=0;break;case"center":f=0.5;break;case"right":f=1;break;default:f=g[1]/h.width}return{x:f,y:i}},createWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent()}var g={width:f.outerWidth(true),height:f.outerHeight(true),"float":f.css("float")};f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var j=f.parent();if(f.css("position")=="static"){j.css({position:"relative"});f.css({position:"relative"})}else{var i=f.css("top");if(isNaN(parseInt(i,10))){i="auto"}var h=f.css("left");if(isNaN(parseInt(h,10))){h="auto"}j.css({position:f.css("position"),top:i,left:h,zIndex:f.css("z-index")}).show();f.css({position:"relative",top:0,left:0})}j.css(g);return j},removeWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent().replaceWith(f)}return f},setTransition:function(g,i,f,h){h=h||{};d.each(i,function(k,j){unit=g.cssUnit(j);if(unit[0]>0){h[j]=unit[0]*f+unit[1]}});return h},animateClass:function(h,i,k,j){var f=(typeof k=="function"?k:(j?j:null));var g=(typeof k=="string"?k:null);return this.each(function(){var q={};var o=d(this);var p=o.attr("style")||"";if(typeof p=="object"){p=p.cssText}if(h.toggle){o.hasClass(h.toggle)?h.remove=h.toggle:h.add=h.toggle}var l=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.addClass(h.add)}if(h.remove){o.removeClass(h.remove)}var m=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.removeClass(h.add)}if(h.remove){o.addClass(h.remove)}for(var r in m){if(typeof m[r]!="function"&&m[r]&&r.indexOf("Moz")==-1&&r.indexOf("length")==-1&&m[r]!=l[r]&&(r.match(/color/i)||(!r.match(/color/i)&&!isNaN(parseInt(m[r],10))))&&(l.position!="static"||(l.position=="static"&&!r.match(/left|top|bottom|right/)))){q[r]=m[r]}}o.animate(q,i,g,function(){if(typeof d(this).attr("style")=="object"){d(this).attr("style")["cssText"]="";d(this).attr("style")["cssText"]=p}else{d(this).attr("style",p)}if(h.add){d(this).addClass(h.add)}if(h.remove){d(this).removeClass(h.remove)}if(f){f.apply(this,arguments)}})})}};function c(g,f){var i=g[1]&&g[1].constructor==Object?g[1]:{};if(f){i.mode=f}var h=g[1]&&g[1].constructor!=Object?g[1]:(i.duration?i.duration:g[2]);h=d.fx.off?0:typeof h==="number"?h:d.fx.speeds[h]||d.fx.speeds._default;var j=i.callback||(d.isFunction(g[1])&&g[1])||(d.isFunction(g[2])&&g[2])||(d.isFunction(g[3])&&g[3]);return[g[0],i,h,j]}d.fn.extend({_show:d.fn.show,_hide:d.fn.hide,__toggle:d.fn.toggle,_addClass:d.fn.addClass,_removeClass:d.fn.removeClass,_toggleClass:d.fn.toggleClass,effect:function(g,f,h,i){return d.effects[g]?d.effects[g].call(this,{method:g,options:f||{},duration:h,callback:i}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._show.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"show"))}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._hide.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"hide"))}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||(d.isFunction(arguments[0])||typeof arguments[0]=="boolean")){return this.__toggle.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"toggle"))}},addClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{add:g},f,i,h]):this._addClass(g)},removeClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{remove:g},f,i,h]):this._removeClass(g)},toggleClass:function(g,f,i,h){return((typeof f!=="boolean")&&f)?d.effects.animateClass.apply(this,[{toggle:g},f,i,h]):this._toggleClass(g,f)},morph:function(f,h,g,j,i){return d.effects.animateClass.apply(this,[{add:h,remove:f},g,j,i])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(f){var g=this.css(f),h=[];d.each(["em","px","%","pt"],function(j,k){if(g.indexOf(k)>0){h=[parseFloat(g),k]}});return h}});d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(g,f){d.fx.step[f]=function(h){if(h.state==0){h.start=e(h.elem,f);h.end=b(h.end)}h.elem.style[f]="rgb("+[Math.max(Math.min(parseInt((h.pos*(h.end[0]-h.start[0]))+h.start[0],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[1]-h.start[1]))+h.start[1],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[2]-h.start[2]))+h.start[2],10),255),0)].join(",")+")"}});function b(g){var f;if(g&&g.constructor==Array&&g.length==3){return g}if(f=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)){return[parseInt(f[1],10),parseInt(f[2],10),parseInt(f[3],10)]}if(f=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)){return[parseFloat(f[1])*2.55,parseFloat(f[2])*2.55,parseFloat(f[3])*2.55]}if(f=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)){return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]}if(f=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)){return[parseInt(f[1]+f[1],16),parseInt(f[2]+f[2],16),parseInt(f[3]+f[3],16)]}if(f=/rgba\(0, 0, 0, 0\)/.exec(g)){return a.transparent}return a[d.trim(g).toLowerCase()]}function e(h,f){var g;do{g=d.curCSS(h,f);if(g!=""&&g!="transparent"||d.nodeName(h,"body")){break}f="backgroundColor"}while(h=h.parentNode);return b(g)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};d.easing.jswing=d.easing.swing;d.extend(d.easing,{def:"easeOutQuad",swing:function(g,h,f,j,i){return d.easing[d.easing.def](g,h,f,j,i)},easeInQuad:function(g,h,f,j,i){return j*(h/=i)*h+f},easeOutQuad:function(g,h,f,j,i){return -j*(h/=i)*(h-2)+f},easeInOutQuad:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h+f}return -j/2*((--h)*(h-2)-1)+f},easeInCubic:function(g,h,f,j,i){return j*(h/=i)*h*h+f},easeOutCubic:function(g,h,f,j,i){return j*((h=h/i-1)*h*h+1)+f},easeInOutCubic:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h+f}return j/2*((h-=2)*h*h+2)+f},easeInQuart:function(g,h,f,j,i){return j*(h/=i)*h*h*h+f},easeOutQuart:function(g,h,f,j,i){return -j*((h=h/i-1)*h*h*h-1)+f},easeInOutQuart:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h+f}return -j/2*((h-=2)*h*h*h-2)+f},easeInQuint:function(g,h,f,j,i){return j*(h/=i)*h*h*h*h+f},easeOutQuint:function(g,h,f,j,i){return j*((h=h/i-1)*h*h*h*h+1)+f},easeInOutQuint:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h*h+f}return j/2*((h-=2)*h*h*h*h+2)+f},easeInSine:function(g,h,f,j,i){return -j*Math.cos(h/i*(Math.PI/2))+j+f},easeOutSine:function(g,h,f,j,i){return j*Math.sin(h/i*(Math.PI/2))+f},easeInOutSine:function(g,h,f,j,i){return -j/2*(Math.cos(Math.PI*h/i)-1)+f},easeInExpo:function(g,h,f,j,i){return(h==0)?f:j*Math.pow(2,10*(h/i-1))+f},easeOutExpo:function(g,h,f,j,i){return(h==i)?f+j:j*(-Math.pow(2,-10*h/i)+1)+f},easeInOutExpo:function(g,h,f,j,i){if(h==0){return f}if(h==i){return f+j}if((h/=i/2)<1){return j/2*Math.pow(2,10*(h-1))+f}return j/2*(-Math.pow(2,-10*--h)+2)+f},easeInCirc:function(g,h,f,j,i){return -j*(Math.sqrt(1-(h/=i)*h)-1)+f},easeOutCirc:function(g,h,f,j,i){return j*Math.sqrt(1-(h=h/i-1)*h)+f},easeInOutCirc:function(g,h,f,j,i){if((h/=i/2)<1){return -j/2*(Math.sqrt(1-h*h)-1)+f}return j/2*(Math.sqrt(1-(h-=2)*h)+1)+f},easeInElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return -(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f},easeOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return h*Math.pow(2,-10*i)*Math.sin((i*l-j)*(2*Math.PI)/k)+m+f},easeInOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l/2)==2){return f+m}if(!k){k=l*(0.3*1.5)}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}if(i<1){return -0.5*(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f}return h*Math.pow(2,-10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k)*0.5+m+f},easeInBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*(h/=j)*h*((i+1)*h-i)+f},easeOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*((h=h/j-1)*h*((i+1)*h+i)+1)+f},easeInOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}if((h/=j/2)<1){return k/2*(h*h*(((i*=(1.525))+1)*h-i))+f}return k/2*((h-=2)*h*(((i*=(1.525))+1)*h+i)+2)+f},easeInBounce:function(g,h,f,j,i){return j-d.easing.easeOutBounce(g,i-h,0,j,i)+f},easeOutBounce:function(g,h,f,j,i){if((h/=i)<(1/2.75)){return j*(7.5625*h*h)+f}else{if(h<(2/2.75)){return j*(7.5625*(h-=(1.5/2.75))*h+0.75)+f}else{if(h<(2.5/2.75)){return j*(7.5625*(h-=(2.25/2.75))*h+0.9375)+f}else{return j*(7.5625*(h-=(2.625/2.75))*h+0.984375)+f}}}},easeInOutBounce:function(g,h,f,j,i){if(h<i/2){return d.easing.easeInBounce(g,h*2,0,j,i)*0.5+f}return d.easing.easeOutBounce(g,h*2-i,0,j,i)*0.5+j*0.5+f}})})(jQuery);;/*
 * jQuery UI Effects Blind 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Blind
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.blind=function(b){return this.queue(function(){var d=a(this),c=["position","top","left"];var h=a.effects.setMode(d,b.options.mode||"hide");var g=b.options.direction||"vertical";a.effects.save(d,c);d.show();var j=a.effects.createWrapper(d).css({overflow:"hidden"});var e=(g=="vertical")?"height":"width";var i=(g=="vertical")?j.height():j.width();if(h=="show"){j.css(e,0)}var f={};f[e]=h=="show"?i:0;j.animate(f,b.duration,b.options.easing,function(){if(h=="hide"){d.hide()}a.effects.restore(d,c);a.effects.removeWrapper(d);if(b.callback){b.callback.apply(d[0],arguments)}d.dequeue()})})}})(jQuery);;/*
 * jQuery UI Effects Bounce 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Bounce
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.bounce=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"up";var c=b.options.distance||20;var d=b.options.times||5;var g=b.duration||250;if(/show|hide/.test(k)){l.push("opacity")}a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var c=b.options.distance||(f=="top"?e.outerHeight({margin:true})/3:e.outerWidth({margin:true})/3);if(k=="show"){e.css("opacity",0).css(f,p=="pos"?-c:c)}if(k=="hide"){c=c/(d*2)}if(k!="hide"){d--}if(k=="show"){var h={opacity:1};h[f]=(p=="pos"?"+=":"-=")+c;e.animate(h,g/2,b.options.easing);c=c/2;d--}for(var j=0;j<d;j++){var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing);c=(k=="hide")?c*2:c/2}if(k=="hide"){var h={opacity:0};h[f]=(p=="pos"?"-=":"+=")+c;e.animate(h,g/2,b.options.easing,function(){e.hide();a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}else{var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Clip 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Clip
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.clip=function(b){return this.queue(function(){var f=a(this),j=["position","top","left","height","width"];var i=a.effects.setMode(f,b.options.mode||"hide");var k=b.options.direction||"vertical";a.effects.save(f,j);f.show();var c=a.effects.createWrapper(f).css({overflow:"hidden"});var e=f[0].tagName=="IMG"?c:f;var g={size:(k=="vertical")?"height":"width",position:(k=="vertical")?"top":"left"};var d=(k=="vertical")?e.height():e.width();if(i=="show"){e.css(g.size,0);e.css(g.position,d/2)}var h={};h[g.size]=i=="show"?d:0;h[g.position]=i=="show"?0:d/2;e.animate(h,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){f.hide()}a.effects.restore(f,j);a.effects.removeWrapper(f);if(b.callback){b.callback.apply(f[0],arguments)}f.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Drop 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Drop
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.drop=function(b){return this.queue(function(){var e=a(this),d=["position","top","left","opacity"];var i=a.effects.setMode(e,b.options.mode||"hide");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e);var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true})/2:e.outerWidth({margin:true})/2);if(i=="show"){e.css("opacity",0).css(f,c=="pos"?-j:j)}var g={opacity:i=="show"?1:0};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Explode 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Explode
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.explode=function(b){return this.queue(function(){var k=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;var e=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?(a(this).is(":visible")?"hide":"show"):b.options.mode;var h=a(this).show().css("visibility","hidden");var l=h.offset();l.top-=parseInt(h.css("marginTop"),10)||0;l.left-=parseInt(h.css("marginLeft"),10)||0;var g=h.outerWidth(true);var c=h.outerHeight(true);for(var f=0;f<k;f++){for(var d=0;d<e;d++){h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-d*(g/e),top:-f*(c/k)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/e,height:c/k,left:l.left+d*(g/e)+(b.options.mode=="show"?(d-Math.floor(e/2))*(g/e):0),top:l.top+f*(c/k)+(b.options.mode=="show"?(f-Math.floor(k/2))*(c/k):0),opacity:b.options.mode=="show"?0:1}).animate({left:l.left+d*(g/e)+(b.options.mode=="show"?0:(d-Math.floor(e/2))*(g/e)),top:l.top+f*(c/k)+(b.options.mode=="show"?0:(f-Math.floor(k/2))*(c/k)),opacity:b.options.mode=="show"?1:0},b.duration||500)}}setTimeout(function(){b.options.mode=="show"?h.css({visibility:"visible"}):h.css({visibility:"visible"}).hide();if(b.callback){b.callback.apply(h[0])}h.dequeue();a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*
 * jQuery UI Effects Fold 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Fold
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.fold=function(b){return this.queue(function(){var e=a(this),k=["position","top","left"];var h=a.effects.setMode(e,b.options.mode||"hide");var o=b.options.size||15;var n=!(!b.options.horizFirst);var g=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(e,k);e.show();var d=a.effects.createWrapper(e).css({overflow:"hidden"});var i=((h=="show")!=n);var f=i?["width","height"]:["height","width"];var c=i?[d.width(),d.height()]:[d.height(),d.width()];var j=/([0-9]+)%/.exec(o);if(j){o=parseInt(j[1],10)/100*c[h=="hide"?0:1]}if(h=="show"){d.css(n?{height:0,width:o}:{height:o,width:0})}var m={},l={};m[f[0]]=h=="show"?c[0]:o;l[f[1]]=h=="show"?c[1]:0;d.animate(m,g,b.options.easing).animate(l,g,b.options.easing,function(){if(h=="hide"){e.hide()}a.effects.restore(e,k);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(e[0],arguments)}e.dequeue()})})}})(jQuery);;/*
 * jQuery UI Effects Highlight 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.highlight=function(b){return this.queue(function(){var e=a(this),d=["backgroundImage","backgroundColor","opacity"];var h=a.effects.setMode(e,b.options.mode||"show");var c=b.options.color||"#ffff99";var g=e.css("backgroundColor");a.effects.save(e,d);e.show();e.css({backgroundImage:"none",backgroundColor:c});var f={backgroundColor:g};if(h=="hide"){f.opacity=0}e.animate(f,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(h=="hide"){e.hide()}a.effects.restore(e,d);if(h=="show"&&a.browser.msie){this.style.removeAttribute("filter")}if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Pulsate 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Pulsate
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.pulsate=function(b){return this.queue(function(){var d=a(this);var g=a.effects.setMode(d,b.options.mode||"show");var f=b.options.times||5;var e=b.duration?b.duration/2:a.fx.speeds._default/2;if(g=="hide"){f--}if(d.is(":hidden")){d.css("opacity",0);d.show();d.animate({opacity:1},e,b.options.easing);f=f-2}for(var c=0;c<f;c++){d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing)}if(g=="hide"){d.animate({opacity:0},e,b.options.easing,function(){d.hide();if(b.callback){b.callback.apply(this,arguments)}})}else{d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing,function(){if(b.callback){b.callback.apply(this,arguments)}})}d.queue("fx",function(){d.dequeue()});d.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Scale 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Scale
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.puff=function(b){return this.queue(function(){var f=a(this);var c=a.extend(true,{},b.options);var h=a.effects.setMode(f,b.options.mode||"hide");var g=parseInt(b.options.percent,10)||150;c.fade=true;var e={height:f.height(),width:f.width()};var d=g/100;f.from=(h=="hide")?e:{height:e.height*d,width:e.width*d};c.from=f.from;c.percent=(h=="hide")?g:100;c.mode=h;f.effect("scale",c,b.duration,b.callback);f.dequeue()})};a.effects.scale=function(b){return this.queue(function(){var g=a(this);var d=a.extend(true,{},b.options);var j=a.effects.setMode(g,b.options.mode||"effect");var h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:(j=="hide"?0:100));var i=b.options.direction||"both";var c=b.options.origin;if(j!="effect"){d.origin=c||["middle","center"];d.restore=true}var f={height:g.height(),width:g.width()};g.from=b.options.from||(j=="show"?{height:0,width:0}:f);var e={y:i!="horizontal"?(h/100):1,x:i!="vertical"?(h/100):1};g.to={height:f.height*e.y,width:f.width*e.x};if(b.options.fade){if(j=="show"){g.from.opacity=0;g.to.opacity=1}if(j=="hide"){g.from.opacity=1;g.to.opacity=0}}d.from=g.from;d.to=g.to;d.mode=j;g.effect("size",d,b.duration,b.callback);g.dequeue()})};a.effects.size=function(b){return this.queue(function(){var c=a(this),n=["position","top","left","width","height","overflow","opacity"];var m=["position","top","left","overflow","opacity"];var j=["width","height","overflow"];var p=["fontSize"];var k=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"];var f=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"];var g=a.effects.setMode(c,b.options.mode||"effect");var i=b.options.restore||false;var e=b.options.scale||"both";var o=b.options.origin;var d={height:c.height(),width:c.width()};c.from=b.options.from||d;c.to=b.options.to||d;if(o){var h=a.effects.getBaseline(o,d);c.from.top=(d.height-c.from.height)*h.y;c.from.left=(d.width-c.from.width)*h.x;c.to.top=(d.height-c.to.height)*h.y;c.to.left=(d.width-c.to.width)*h.x}var l={from:{y:c.from.height/d.height,x:c.from.width/d.width},to:{y:c.to.height/d.height,x:c.to.width/d.width}};if(e=="box"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(k);c.from=a.effects.setTransition(c,k,l.from.y,c.from);c.to=a.effects.setTransition(c,k,l.to.y,c.to)}if(l.from.x!=l.to.x){n=n.concat(f);c.from=a.effects.setTransition(c,f,l.from.x,c.from);c.to=a.effects.setTransition(c,f,l.to.x,c.to)}}if(e=="content"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(p);c.from=a.effects.setTransition(c,p,l.from.y,c.from);c.to=a.effects.setTransition(c,p,l.to.y,c.to)}}a.effects.save(c,i?n:m);c.show();a.effects.createWrapper(c);c.css("overflow","hidden").css(c.from);if(e=="content"||e=="both"){k=k.concat(["marginTop","marginBottom"]).concat(p);f=f.concat(["marginLeft","marginRight"]);j=n.concat(k).concat(f);c.find("*[width]").each(function(){child=a(this);if(i){a.effects.save(child,j)}var q={height:child.height(),width:child.width()};child.from={height:q.height*l.from.y,width:q.width*l.from.x};child.to={height:q.height*l.to.y,width:q.width*l.to.x};if(l.from.y!=l.to.y){child.from=a.effects.setTransition(child,k,l.from.y,child.from);child.to=a.effects.setTransition(child,k,l.to.y,child.to)}if(l.from.x!=l.to.x){child.from=a.effects.setTransition(child,f,l.from.x,child.from);child.to=a.effects.setTransition(child,f,l.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){if(i){a.effects.restore(child,j)}})})}c.animate(c.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(g=="hide"){c.hide()}a.effects.restore(c,i?n:m);a.effects.removeWrapper(c);if(b.callback){b.callback.apply(this,arguments)}c.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Shake 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Shake
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.shake=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"left";var c=b.options.distance||20;var d=b.options.times||3;var g=b.duration||b.options.duration||140;a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var h={},o={},m={};h[f]=(p=="pos"?"-=":"+=")+c;o[f]=(p=="pos"?"+=":"-=")+c*2;m[f]=(p=="pos"?"-=":"+=")+c*2;e.animate(h,g,b.options.easing);for(var j=1;j<d;j++){e.animate(o,g,b.options.easing).animate(m,g,b.options.easing)}e.animate(o,g,b.options.easing).animate(h,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}});e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Slide 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Slide
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.slide=function(b){return this.queue(function(){var e=a(this),d=["position","top","left"];var i=a.effects.setMode(e,b.options.mode||"show");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e).css({overflow:"hidden"});var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true}):e.outerWidth({margin:true}));if(i=="show"){e.css(f,c=="pos"?-j:j)}var g={};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Transfer 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Transfer
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.transfer=function(b){return this.queue(function(){var f=a(this),h=a(b.options.to),e=h.offset(),g={top:e.top,left:e.left,height:h.innerHeight(),width:h.innerWidth()},d=f.offset(),c=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:d.top,left:d.left,height:f.innerHeight(),width:f.innerWidth(),position:"absolute"}).animate(g,b.duration,b.options.easing,function(){c.remove();(b.callback&&b.callback.apply(f[0],arguments));f.dequeue()})})}})(jQuery);;
/* ---------------------------------------- /includes/jsbin/jCore.js ---------------------------------------- */
/*
	jCore v0.2
	Matthew Ausonio
	Last Updated:October 2,2009
	Created:October 10, 2008
	
	Dependent libraries:
		jQuery v1.3.2
	
	This file contains the required scripts for a base Digicore site.
	Includes functionality for common modules such as Poll and Rating. For a full list please refer to Core SVN.
*/
var jCore = {
	// **************************************************************
	// Item Stats Retrieval methods. Do not remove
	// **************************************************************
	jCoreInit: function(shareURL,shareTitle,itemId,pollIdsArray) {

		// first thing we do is test to see if cookies is enabled, if it isnt, we alert user to enable cookies.
		this.cookieTest();
		//end cookie test, lets continue
		
		/* now we check to see if our userID cookie has been set, if not we request a new userID and make the cookie */
		userId = (jCore.readCookie("userID"))?jCore.readCookie("userID"):"";
		
		/* debugPath will help us modify ajax calls for development purposes. to trigger put debug=true in url */
		debugPath = (jCore.getUrlParam("debug") == "true")?"/Html":"";
		
		// the blankItemStats is used when we have an error or timeout getting the actual item stats.
		blankItemStats = {
			"clicks": 1446,
			"comments": 0, 			// int : number of comments of the current item
			"votes" : 0, 			// int : number of votes of the current item (sometimes refered to as ratings)
			"rating" : 3.00, 		// int : the current calculated rating of the current item
			"userVoted" : false, 	// boolean : if user has rated current item. based on current itemId and current userID.
			"usersRating" : null,	// int or null : rating of current item. based on current itemId and current userId.
			"userId" : ""			// string : current userId generated by sitecore.
		};
		// make call to item stats.  On callback init the jCore object.
		$.ajax({type: "GET", url: debugPath+"/Handlers/ItemStats.ajax", data:"id="+itemId+"&userid="+userId,dataType:"json",cache:false,
		   success: function(updatedItemStatistics){
				jCore.writeCookie("userID",updatedItemStatistics.userId, 365);
				jCore.assignItemStats(shareURL,shareTitle,itemId,updatedItemStatistics,pollIdsArray,debugPath);
			},
			error: function(error){
				jCore.assignItemStats(shareURL,shareTitle,itemId,blankItemStats,pollIdsArray,debugPath);
			},
			timeout: function(error){
				jCore.assignItemStats(shareURL,shareTitle,itemId,blankItemStats,pollIdsArray,debugPath);
			}
		});
	},
	assignItemStats: function(shareURL,shareTitle,itemId,itemStats,pollIdsArray,debugPath) {
		this.shareURL = shareURL; // url of the item/page
		this.shareTitle=shareTitle; // title of the item/page
		this.itemId=itemId; // sitecore id of the item/page
		this.itemStats=itemStats; // stats on the item
		this.pollIdsArray=new Array(); // array of poll ids for polls on current page
		this.debugPath = debugPath;
		//this goes through polls on the page and initializes
		$(".jcorePoll").each(function(i) {
			jCore.pollIdsArray.push(this.id); // store this poll id in an array for later
			jCore.initPoll(i); // initialize this poll
		});
		// initialize all ratings
		jCore.initRating();
	},
	cookieTest: function() {
		var cookieEnabled=(navigator.cookieEnabled)? true : false
		//if not IE4+ nor NS6+
		if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
			document.cookie="testcookie"
			cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false
		}
		if(!cookieEnabled) {
			alert("Cookies are required for this site to run properly.  Please enable cookies in your browser settings and reload page.");
			return false;
		}
	},
	// **************************************************************
	// Poll Module methods
	// 
	// **************************************************************
	pollItems: new Array(),
	initPoll: function(i) {
		// set up this poll item. this is done for each poll item on the page.
		this.pollItems[i] = {
			pollId: jCore.pollIdsArray[i],
			pollForm: document.getElementById(jCore.pollIdsArray[i]),
			pollContainer: document.getElementById(jCore.pollIdsArray[i]+"Container"),
			pollUrl: $("#"+jCore.pollIdsArray[i]).attr("action")
		}
		// lets go ahead and store the source code for later use in results.
		jCore.tempPollSource(i, this.pollItems[i].pollContainer);
		
		// lets request current poll results handler. this will tell us if the user has already submitted to this poll.
		$.ajax({
			type: "GET",
			url: "/Handlers/Poll.ajax",
			dataType: "json",
			cache:false,
			data:"id="+jCore.pollIdsArray[i]+"&userID="+jCore.itemStats.userId,
			success: function(pollJSON){
				if(pollJSON.userClicked) {
					// user already voted. show results.
					jCore.showPollResults(i,pollJSON);
				} else {
					// user has not voted. attach submit event to form.
					$("#"+jCore.pollItems[i].pollId).submit(function() {
						return jCore.submitPoll(i,jCore.pollItems[i].pollId,jCore.pollItems[i].pollForm,jCore.pollItems[i].pollContainer,jCore.pollItems[i].pollurl);
					});
				}
			}
		});
	},
	submitPoll: function(i,pollId,pollForm,pollContainer,pollurl) {
		// get currently selection to submit
		var pollValue = $("input:radio:checked", pollForm).val();

		// if there is no selection we stop and alert user.
		if(!pollValue)
			alert("Please select a poll answer");
		else {
			// if we made it this far, we go ahead and submit the poll. on success we re-request the poll results handler
			$.ajax({
				type: "GET",
				url: "/Handlers/PollClick.ajax",
				data: "id="+pollId+"&choiceId="+pollValue+"&userid="+jCore.itemStats.userId,
				cache:false,
				success: function(pollResults){
					if(pollResults.processed = true) {
					    pollTitle = $(pollContainer).prev(".modPollQuestion:first").html();
					    if($.trim)
					        pollTitle = $.trim(pollTitle);
					    sTrackEngagement("pol:"+escape(pollTitle));
						jCore.getPollResults(i);
					}
				}
			});	
		}
		return false;
	},
	getPollResults: function(i) {
		// request results. this is called on a successful poll submission. on success we show results.
		$.ajax({
			type: "GET",
			url: "/Handlers/Poll.ajax",
			dataType:"json",
			cache:false,
			data:"id="+jCore.pollItems[i].pollId+"&userid="+jCore.itemStats.userId,
			success: function(pollresults){
				jCore.showPollResults(i, pollresults);
			}
		});
	},
	toHex: function(i) {
		i=Math.round(i);
		var vals=["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
		var result="";
		do {
			var lastDigit=i%16;
			result=vals[lastDigit]+result;
			i=Math.round((i-lastDigit)/16);
		} while (i>0);
		return result;
	},
	yellowToRed: function(f) {
		if (f<0) f=0;
		if (f>1) f=1;
		var hex=jCore.toHex(f*255);
		if (hex.length<2) hex="0"+hex;
		var result="#ff"+hex+"00";
		return result;
	},
	showPollResults: function(i, pollresults) {
		var colorNum = new Array();
		// modify stored source object with percentages from poll results json
		var arrIdx = 0;
		// build percent/color array
		for(p=0;p<pollresults.poll.length;p++) {
			// if NOT duplicate, then create entry
			if(!isDuplicate(pollresults.poll[p].percentage,colorNum)){
				colorNum[arrIdx] = new Array(2);
				colorNum[arrIdx][0] = pollresults.poll[p].percentage; // add percentage
				colorNum[arrIdx][1] = ""; // initialize color
				arrIdx++;
			}
		}
		// sort percent/color array so spectrum is built in red to yellow order
		colorNum.sort(sortPerc);
		// calculate color increment for spectrum
		var colorIncr = 1 / (colorNum.length - 1);
		// add color in to percent/color array
		for(p=0;p<colorNum.length;p++) {
			colorNum[p][1] = jCore.yellowToRed( p * colorIncr );
		}
		for(p=0;p<pollresults.poll.length;p++) {
			var oldVal = jCore.pollItems[i].pollSource[pollresults.poll[p].itemId];
			var percentage=pollresults.poll[p].percentage;
			var re=/PERCENT/g
			// create replacement variable for color
			var reColor = /THEPERCCOLOR/g
			// create replacement variable for length vs. percent to fit within the HTML line
			// round( length of line - right padding) x percentage )
			var percPerLen = Math.round( ( 283 - 10 ) * ( percentage / 100 ) );
			var rePPL = /PPL/g
			var newVal = oldVal.replace(re,percentage);
			// replace variable with color
			var newVal = newVal.replace(reColor,colorForPerc(percentage,colorNum));
			// replace variable with pixel length
			var newVal = newVal.replace(rePPL,percPerLen);
			jCore.pollItems[i].pollSource[pollresults.poll[p].itemId]=newVal;
		}
		// create an array to hold final source code for results
		tempSource=new Array;
		for (var qId in jCore.pollItems[i].pollSource) {
			tempSource.push(jCore.pollItems[i].pollSource[qId]);
		}
		tempSource.push('<span class="modPollQuestion">Total Votes: '+pollresults.totalClicks+'</span>')
		// output final source code for results
		pCont = $(this.pollItems[i].pollContainer);
		pCont.html(tempSource.join(""));
	},
	tempPollSource: function(p, pollContainer) {
		// get number of labels and attach colors to poll 
		var numLbls = $("label", pollContainer).length;
		var colorIncr = 1 / (numLbls - 1);
		// new object inside this poll item to store source code for later use in results
		jCore.pollItems[p].pollSource=new Object();
		// if the input is also inside the label, we want to remove it. here we create the reg exp to do that
		inputReg = new RegExp(/<input[^>]*?>/gi); 
		// for each label we store a string for later use in results source code.
		$("label", pollContainer).each(function(i) {
			inputFor = document.getElementById($(this).attr("for")).value;
			cleanSource = this.innerHTML.replace(inputReg, "");
			jCore.pollItems[p].pollSource[inputFor]= "<div class='pollResultRow'><div class='pollResultBar' style='width:PPLpx;background-color:THEPERCCOLOR;opacity:0.7;filter:alpha(opacity=70);'>&nbsp;</div><span class='pollCat'>&nbsp;</span><div class='pollPercText'><span class='pollPerc'>PERCENT%&nbsp;</span>"+cleanSource+"</div></div>";
		});
	},
	// **************************************************************
	// Rating Module methods
	// 
	// **************************************************************
	initRating: function() {
		
	},
	// **************************************************************
	// Utility methods
	// **************************************************************
	log: function(v) {
		if(window.console)
			console.log(v);
	},
	findPos: function(obj) {
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		return [curleft,curtop];
		}
	},
	readCookie: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0; i < ca.length; i++)
		{
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0)
				return c.substring(nameEQ.length,c.length);
		}
		return false;
	},
	writeCookie: function(name,value,days) {
		if(days)
		{
			var date = new Date();
			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
			var expires = "; expires=" + date.toGMTString();
			document.cookie = name + "=" + value + expires + "; domain=.go.com; path=/";	
		}
		else
		{
			var expires = "";
			document.cookie = name + "=" + value + expires + "; domain=.go.com; path=/;";
		}
	},
	deleteCookie: function(name) {
		var expire = new Date();
		expire.setDate(expire.getDate() - 1);
		document.cookie = ''+name+'=""; expires=' + expire.toGMTString() + '; path=/';
	},
	openWin: function(url,wName,para) {
		if(typeof(arguments[2]) == "object")
		var values = jCore.parameters(arguments[2]);
		window.open(url,wName,values);
	},
	parameters: function (attributes)
	{
		var values = [];
		for(attribute in attributes)
		{
			values.push(attribute + "=" + attributes[attribute].toString());
		}
		return values.join(",");
	},
	getUrlParam: function(name) {
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var results = regex.exec( window.location.href );
		if( results == null )
			return "";
		else
			return results[1];
	}
};
// pointer for function call in each page. Now sent to already existing jCore object.
jCoreInit = function(shareURL,shareTitle,itemId,pollIdsArray) {jCore.jCoreInit(shareURL,shareTitle,itemId,pollIdsArray);}
// find color associated with particular percent
function colorForPerc(thePerc,theArray){
	for(x=0;x<theArray.length;x++){
		if(theArray[x][0]==thePerc){
			return theArray[x][1];
		}
	}
}
// is the element alread in the array
function isDuplicate(theElem,theArray){
	for(x=0;x<theArray.length;x++){
		if(theArray[x][0] == theElem){
			return true;
		}
	}
	return false;
}
// sore in decending percent order
function sortPerc(a, b){
	return b[0] - a[0];
}

function prepRatingSystem(e) {
	var rateInfo = $(".shareBarRatings:eq("+e+") li a:first");
		
	$(".shareBarRatings:eq("+e+") ul").mouseover(function() {
		$(".shareBarRatings:eq("+e+") ul").addClass("ratingHover");				   
	});
	
	$(".shareBarRatings:eq("+e+") ul").mouseout(function() {
		$(".shareBarRatings:eq("+e+") ul").removeClass("ratingHover");		
	});
	
	$(".shareBarRatings:eq("+e+")>ul>li a").click(function() {
		rateContent(this);
		return false;
	});
}

// function to submit rating
function rateContent(el) {
	var rateResultPage = $(el).attr("href");	
	$.ajax({
		type: "GET",url: rateResultPage,dataType: "json",cache:false,
		success: function(rateJSON){
			if(rateJSON.processed == true) {
				updateRating();
			} else if(rateJSON.processed == false) {
				$(".shareBarRatings").html("Error. Please try again later.");
			}
		}
	});
}
function updateRating() {
	$.ajax({type: "GET", url: jCore.debugPath+"/Html/Handlers/ItemStats.ajax", data:"id="+jCore.itemId+"&userid="+userID,dataType:"json",cache:false,
	   success: function(updatedItemStatistics){
			updateRatingStats(updatedItemStatistics);
			disableRatings();
		}
	});
		
}
/* ---------------------------------------- /includes/jsbin/espn.js ---------------------------------------- */
$(document).ready(function() {
    $(".countdownClock").each(function(i) {
        //countdown($(this), i);
    });
    $(".shareBarRatings").each(function(e) {
        prepRatingSystem(e);
    });
    initTabSystems();
    checkForNewsFilters();
    checkForCalendarFilters();
    initGenericForm();
    initTabModules();
    initShareBar();
    initActionDropDowns();
    initSelectDropDowns();
    initNavigation();
    initSearch();
    initTableStripes();
    initLastItem();
    initStmtBkgd();
    initTopicToggle();
    initEQColumns();
    initRegComplete();
    initActivityCarousel();
    initNewsMediaDropdown();
    initSportSelectClick();
    //initSearchForms();
    initGenericTableFormatting();
    initIframeStuff();
    initProfileEventResultsModule();
    initNewSportSelectionDropdown();
    checkInlineArticleTable();
    addTrackPixeltoFab50();
    initSearchPageVideoPopover();
    initSearchPageDropdown();
    $(".colorboxMe").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
    initFormValidation();
    initHeaderOnlyFors();
    initSuperNavToggles();
    initNewNavHover();
	initRibbonNavContent();
	//initESPNHSModal();
});

/*************************************************
END OF DOC READY
*************************************************/

/*
function initESPNHSModal(){
	if (document.cookie.indexOf('visited=true') == -1) {
        var fifteenDays = 1000*60*60*24*15;
        var expires = new Date((new Date()).valueOf() + fifteenDays);
        document.cookie = "visited=true;path=/;expires=" + expires.toUTCString();
        setTimeout("$.fn.colorbox({inline:true, href:'#rebrandModal', open:true, onLoad:customModal(), width:985, height:750})", 1000);
    }
}
*/
function customModal(){
	$('#colorbox').attr('class', 'custom-modal');
	$('.closeModal, .modalButton').live('click', function(){
		$.fn.colorbox.close();
		return false;
	});
	setTimeout("$.fn.colorbox.close()", 15000);
}

function initRibbonNavContent() {
    $('.navContentSubColFull').each(function () {
        var $this = $(this),
			params = new Array(),
			getUrl;

        if (typeof $(this).attr('rel') !== 'undefined') {
            params = $(this).attr('rel').split('|');
            getUrl = '/Handlers/GetSportSpotlightItem.aspx?type=' + params[0] + '&id=' + params[1] + '&parameters=' + params[2];

            $.ajax({
                type: "GET",
                dataType: "json",
                url: getUrl,
                success: function (data) {
                    $this.html(buildRibbonFeature(data));
                }
            });
        }
    });
}

function buildRibbonFeature(data) {
	var featureHtml = '',
		target = (data.Target != null) ? data.Target : '';
	if (data.ImageSource != '')
		featureHtml += '<a href="'+data.Url+'"'+target+'><img class="mainImage" src="'+data.ImageSource+'"/></a>';
	
	featureHtml += '<a class="navContentSubColFullTitle" href="'+data.Url+'"'+target+'>'+data.Title+data.Icon+'</a>';
	
	if (data.Blurb != '')
		featureHtml += '<p>'+data.Blurb+'</p>';
	
	return featureHtml;
}

function initNewNavHover() {	
	$("#siteNavMain > li").mouseover(function() {
		$(this).prev().addClass("adj-left");
		$(this).next().addClass("adj-right");
	}).mouseout(function() {
		if ($(this).hasClass("activeNav"))
			return false;
		else {
			$(this).prev().removeClass("adj-left");
			$(this).next().removeClass("adj-right");
		}
	});
	
	$("#siteNavMain > li.activeNav").prev().addClass("adj-left");
	$("#siteNavMain > li.activeNav").next().addClass("adj-right");
}
function initSuperNavToggles() {
    $(".superNavToggleTrigger").click(function () {
        scope = $(this).parent();
        $(".active", scope).removeClass("active");
        $(this).addClass("active");
        findClass = $(this).attr("rel");
        scope.parent().find(".superNavContentWrap").hide();
        $("." + findClass).show();
        return false;
    });

    $("#sectionNavToggle").mouseover(function () {
        $("#sectionNavToggle a").css("display", "block");
    }).mouseout(function () {
        $("#sectionNavToggle a").removeAttr("style");
    });

    $(".more_sports_subnav_col a").mouseover(function () {
        scope = $(this).parent();
        $(".active", scope).removeClass("active");
        $(this).addClass("active");
        findClass = $(this).attr("rel");
        scope.parent().find(".more_sports_content").hide();
        $("#" + findClass).show();
    });
	
}
var onlyForOpen = false;
var currentGender;
function initHeaderOnlyFors() {
    $(".onlyForGuys").click(function () { onlyForHeaderClick("guys") });
    $(".onlyForGirls").click(function () { onlyForHeaderClick("girls") });
}
function onlyForHeaderClick(gender) {
    $(".onlyForGirls").removeClass("onlyForGirlsActive");
    $(".onlyForGuys").removeClass("onlyForGuysActive");
    if (!onlyForOpen) {
        if (gender == "girls") {
            $(".onlyForGirls").addClass("onlyForGirlsActive");
            $("#headerOnlyForGuys").hide();
            $("#headerOnlyForGirls").show();
        } else {
            $(".onlyForGuys").addClass("onlyForGuysActive");
            $("#headerOnlyForGuys").show();
            $("#headerOnlyForGirls").hide();
        }
        $("body").animate({ paddingTop: 248, backgroundPosition: "0 248px" }, "normal");
        $("#headerOnlyForWrap").animate({ height: 248 }, "normal");
        onlyForOpen = true;
    } else {
        if (currentGender != gender) {
            if (gender == "girls") {
                $(".onlyForGirls").addClass("onlyForGirlsActive");
                $("#headerOnlyForGuys").hide();
                $("#headerOnlyForGirls").show();
            } else {
                $(".onlyForGuys").addClass("onlyForGuysActive");
                $("#headerOnlyForGuys").show();
                $("#headerOnlyForGirls").hide();
            }
        } else {
            $("body").animate({ paddingTop: 0, backgroundPosition: "0 0" }, "normal");
            $("#headerOnlyForWrap").animate({ height: 0 }, "normal");
            onlyForOpen = false;
        }


    }
    currentGender = gender;
}
function initSearchPageDropdown() {

    $(".searchResultFormSelectTrigger").click(function () {
        thisDropdown = $(this).next("ul");
        if (thisDropdown.css("display") == "block") {
            thisDropdown.hide();
            $(".searchResultFormSelectTrigger").removeClass("searchResultFormSelectTriggerActive");
            $("html").unbind("click");
        } else {
            $(".searchResultFormSelectTrigger").removeClass("searchResultFormSelectTriggerActive");
            $(".searchResultFormSelect ul").hide();
            thisDropdown.toggle();
            $(this).toggleClass("searchResultFormSelectTriggerActive");
            $("html").bind("click", function () {
                $(".searchResultFormSelectTriggerActive").removeClass("searchResultFormSelectTriggerActive");
                $(".searchResultFormSelect ul").hide();
                $("html").unbind("click");
            });
        }
        return false;
    });
    $(".searchResultFormSelect ul a").click(function () {
        val = $(this).text();
        hiddenVal = $(this).parent('li').attr("rev");
        $("input[name=searchPursuit]").val(hiddenVal);
        $(".searchResultFormSelect ul").hide();
        $(".searchResultFormSelectTrigger").text(val);
        $(".searchResultFormSelectTriggerActive").removeClass("searchResultFormSelectTriggerActive");
        return false;
    });

    filterVal = $("input[name=searchPursuit]:first").val();
    filterVal = (filterVal == "TrackAndXC") ? "TrackandXC" : filterVal;

    if (typeof filterVal != "undefined" && filterVal != "") {
        friendlyFilterVal = $("li[rev=" + filterVal + "]:first").find("a:first").text();
        if (typeof friendlyFilterVal != "undefined" && friendlyFilterVal != "") {
            $(".searchResultFormSelectTrigger").html(friendlyFilterVal);
        }
    }
}
var vidPopover;
function initSearchPageVideoPopover() {
    if (!document.getElementById("videoPopover")) {
        $("body").append('<div id="videoPopover"></div>');
    }
    vidPopover = $("#videoPopover");
    vidPopover.mouseover(function () {
        $(this).hide();
    });
    $(".videoResultImg, .photoResultImg").each(function (e) {
        $(this).mouseover(function () {
            vidPopover.hide();
            text = $(this).attr("rev");
            if (text != "") {
                vidPopover.html(text+"<span></span>");
                pos = jCore.findPos(this);
                xOffset = pos[0] - (vidPopover.width() / 2) + 40;
                yOffset = pos[1] - (vidPopover.height() + 18);
                vidPopover.css({ "top": yOffset, "left": xOffset }).show();
            }
        }).mouseout(function () {
            vidPopover.hide();
        });
    });
}

function addTrackPixeltoFab50() {
    $(".fab50Module").each(function () {
        var ord1 = Math.random() * 10000000000000000;
        ord1 = Math.round(ord);
        $(this).append('<img src="http://ad.doubleclick.net/ad/N4390.ESPN/B4702703.3;sz=1x1;ord='+ord1+'" height="1" width="1" />');
    });
}
function checkInlineArticleTable() {
    $(".fmtBBContent table.articleImageInlineRight").each(function() {
        imgWidth = $("img:first", this).width();
        $(this).removeAttr("width").width(imgWidth);
    });
    $(".fmtBBContent table.articleImageInlineLeft").each(function () {
        imgWidth = $("img:first", this).width();
        $(this).removeAttr("width").width(imgWidth);
    });
}
function openLoginThickbox() {
    $("#dashLoginLink").trigger("click");
}
function hideMediaModuleLinks() {
    $("#moreRelatedArticles, #moreRelatedArticles").remove();
}
/*
* jQuery postMessage - v0.5 - 9/11/2009
* http://benalman.com/projects/jquery-postmessage-plugin/
* 
* Copyright (c) 2009 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
(function ($) { var g, d, j = 1, a, b = this, f = !1, h = "postMessage", e = "addEventListener", c, i = b[h] && !$.browser.opera; $[h] = function (k, l, m) { if (!l) { return } k = typeof k === "string" ? k : $.param(k); m = m || parent; if (i) { m[h](k, l.replace(/([^:]+:\/\/[^\/]+).*/, "$1")) } else { if (l) { m.location = l.replace(/#.*$/, "") + "#" + (+new Date) + (j++) + "&" + k } } }; $.receiveMessage = c = function (l, m, k) { if (i) { if (l) { a && c(); a = function (n) { if ((typeof m === "string" && n.origin !== m) || ($.isFunction(m) && m(n.origin) === f)) { return f } l(n) } } if (b[e]) { b[l ? e : "removeEventListener"]("message", a, f) } else { b[l ? "attachEvent" : "detachEvent"]("onmessage", a) } } else { g && clearInterval(g); g = null; if (l) { k = typeof m === "number" ? m : typeof k === "number" ? k : 100; g = setInterval(function () { var o = document.location.hash, n = /^#?\d+&/; if (o !== d && n.test(o)) { d = o; l({ data: o.replace(n, "") }) } }, k) } } } })(jQuery);
doRefresh = false;

$.receiveMessage(
  function (e) {
      $("#a").height(parseFloat(e.data));
  },
  'http://dyestat.rise.espn.go.com'
);

function initIframeStuff() {
    function updateIframe() {
        if (jCore.getUrlParam("i")) {
            httpTest = new RegExp("http://dyestat.rise.espn.go.com");
            goto = document.location.search.replace("?i=", "");
            if (!httpTest.test(goto)) {
                document.getElementById("a").src = "http://dyestat.rise.espn.go.com" + goto;
            } else {
                document.getElementById("a").src = goto;
            }
        }
    }
    
    if (document.getElementById("a")) {
        //$.historyInit(pageLoadTFX, "jquery_history.html");
        document.domain = "go.com";
        updateIframe();
                
       /*if(document.location.hash.replace("#","").length > 0) {
            httpTest = new RegExp("http://dyestat.rise.espn.go.com");
            if(!httpTest.test(document.location)) {
                document.getElementById("a").src="http://dyestat.rise.espn.go.com"+document.location.hash.replace("#","");
            } else {
                document.getElementById("a").src=document.location.hash.replace("#","");
            }
        }*/
        
        function doIframe(){
            document.domain = "go.com";
            
	        o = document.getElementsByTagName('iframe');
	        for(i=0;i<o.length;i++){
		        if (/\bautoHeight\b/.test(o[i].className)){
			        //o[i].contentWindow.document.domain = "dyestat.com";
			        setHeight(o[i]);
			        addEvent(o[i],'load', doIframe);
		        }
	        }
        }

        function setHeight(e){
            if ($.browser.msie) {
                if (e.contentDocument) {
                    e.height = e.contentDocument.body.offsetHeight + 35;
                } else {
                    e.height = e.contentWindow.document.body.scrollHeight + 35;
                }

            } else {
                if (e.contentDocument) {
                    e.height = e.contentDocument.body.offsetHeight + 35;
                } else {
                    e.height = e.contentWindow.document.body.scrollHeight;
                }
	        }
        }

        function addEvent(obj, evType, fn){
	        if(obj.addEventListener) {
	            obj.addEventListener(evType, fn,false);
	            return true;
	        } else if (obj.attachEvent) {
	            var r = obj.attachEvent("on"+evType, fn);
	            return r;
	        } else {
	            return false;
	        }
        }

        if (document.getElementById && document.createTextNode){
            addEvent(window,'load', doIframe);
        }    
    }

}
function addFriendEmail(el) {
    if($(".friendsEmail").length<=1) {
        $(el).closest("form").bind("submit", function() {
            inviteFriendEmailGather(this);
        });
    }
    $(el).before('<div class="formRow"><label for="toemail"><strong>FRIEND\'S EMAIL</strong> </label><input class="friendsEmail validate validEmail" type="text" name="toemail" rev="enter email address" /><a onclick="$(this).parent().remove();return false;" href="#">Remove</a></div>');
    
}
function inviteFriendEmailGather(form) {
    if($(".validatorError", form).length <= 0) {
        emailsArray = [];
        $(".friendsEmail").each(function() {
            emailsArray.push(this.value);
        });
        $("#toemail").val(emailsArray.join(","));
    }
}
function initGenericTableFormatting() {
    $(".profileModuleTable>tbody").each(function () {
        scope = this;
        cellCount = $("tr:first>td", scope).length;
        stripe = false;
        $("tr:even", scope).addClass("altRowStyle");
        $("tr", scope).addClass("addBorder");
    });
    
    $(".genericTable>tbody").each(function() {
        scope = this;
        cellCount = $("tr:first>td", scope).length;
        stripe = false;
        $("tr", scope).each(function(i) {
            if(stripe==true)
                $(this).addClass("altRowStyle");
            if((i-1)%2==0) {
                $(this).addClass("addBorder");
                $("td:first", this).html("&nbsp;");
                $("td:last", this).attr("colSpan", (cellCount-1));
                stripe=(stripe==false)?true:false;
            } else {
                $(this).addClass("boldRow");
            }
        });
    });
}
var sportDropTimer;
function initNewSportSelectionDropdown() {
    $("#newSportDropTrigger").bind("click", function (e) {
        elPos = jCore.findPos(this);
        if ((e.pageX - elPos[0]) < 39) {
            $("#sportSelectionWrap").show();
            $(this).addClass("activeSportTrigger");
            return false;
        }
    });
    $("#newSportDropTrigger").mousemove(function (e) {
        elPos = jCore.findPos(this);
        if ((e.pageX - elPos[0]) > 39) {
            $(this).addClass("newSportDropTriggerHover");
        } else {
            $(this).removeClass("newSportDropTriggerHover");
        }
    }).mouseout(function () {
        $(this).removeClass("newSportDropTriggerHover");
    });
    $("#sportSelectionWrap, #newSportDropTrigger").bind("mouseover", function () {
        if (window.clearTimeout(sportDropTimer))
            window.clearTimeout(sportDropTimer);
    }).bind("mouseout", function () {
        hideDropdown = function () { $("#sportSelectionWrap").hide(); $("#newSportDropTrigger").removeClass("activeSportTrigger"); }
        sportDropTimer = window.setTimeout(hideDropdown, 500);
    });
}
function initSportSelectClick() {
    $(".sportSelectLink").click(function() {
        if(!social.ifLoggedIn())
            jCore.writeCookie("sportSelection",$(this).attr("rel"));
        sTrackSelectSport(escape($(this).html()));
    });
}
function initNewsMediaDropdown() {
    $(".newsMediaModule .genericDropDown .dropContent a").click(function(e) {
        e.preventDefault();
        _this = $(this);
        parentItem = _this.closest(".dropTrigger").find("a:first");
        self = this;
        parentItem.html(_this.html());
        _this.closest(".dropContent").hide();
        $.ajax({
            url: self.href,
            cache: false,
            success: function(data) {
                $("#newsMediaList #results").html(data);
                checkForCalendarFilters();
            }
        });
        
    });
}

function initActivityCarousel() {
    $(".activityCarousel").each(function (i){
		var newScroller = new scrollObj(i);
	});
}
function scrollObj(i) {
	this.scrollWidth = $(".activityCarouselHide:eq("+i+")").width();
	this.currentPane = 1;
	this.totalScrollPanes = $(".activityCarouselHide:eq("+i+") .carouselItem").length;
	this.paneWidth = $(".activityCarouselHide:eq("+i+") .carouselItem:first").width() + parseInt($(".activityCarouselHide:eq("+i+") .carouselItem:first").css("margin-left")) + parseInt($(".activityCarouselHide:eq("+i+") .carouselItem:first").css("margin-right"));
	this.totalScrollPanes = parseInt(this.totalScrollPanes) * this.paneWidth;
	
	this.paneCount = Math.ceil(this.totalScrollPanes / this.scrollWidth);
	
	this.scrollHide = $(".activityCarouselHide:eq("+i+")");
	this.scrollWrap = $(".activityCarouselHide:eq("+i+") .activityCarouselWrap");
	$(this.scrollWrap).width(this.totalScrollPanes+"px");
	
	this.okToScroll = true;
	this.scrollLeftButton = $(".activityCarousel:eq("+i+")>.scrollCarouselLeft:first");
	this.scrollRightButton = $(".activityCarousel:eq("+i+")>.scrollCarouselRight:first");
	var self= this;
	$(this.scrollLeftButton).click(function() {
		self.scrollCarousel(1);
		return false;
	});
	$(this.scrollRightButton).click(function() {
		self.scrollCarousel(-1);
		return false;
	});
	
	if(this.paneCount > 1)
		$(this.scrollRightButton).show();
		
	$(window).bind("resize", function() {
		self.redefineCarousel(i);						  
	});
}

scrollObj.prototype = {
	redefineCarousel: function(i) {
		tempWidth  = $(".activityCarouselHide:eq("+i+")").width();
		tempTotalPanes = $(".activityCarouselHide:eq("+i+") .carouselItem").length;
		tempPaneWidth = $(".activityCarouselHide:eq("+i+") .carouselItem:first").width() + parseInt($(".activityCarouselHide:eq("+i+") .carouselItem:first").css("margin-left")) + parseInt($(".activityCarouselHide:eq("+i+") .carouselItem:first").css("margin-right"));
		tempTotalPanes = parseInt(tempTotalPanes) * tempPaneWidth;
		
		tempPaneCount = Math.ceil(tempTotalPanes / tempWidth);
		
		if(tempPaneCount != this.paneCount) {
			this.scrollLeftButton.hide();
			this.scrollRightButton.hide();
			this.scrollWrap.animate({left: 0}, "fast");
			//this.scrollWrap.css("left", 0);
			
			
			this.scrollWidth = tempWidth;
			this.currentPane = 1;
			this.paneWidth = tempPaneWidth;
			this.totalScrollPanes = parseInt(tempTotalPanes) * tempPaneWidth;
			
			this.paneCount = tempPaneCount;
			
			if(this.paneCount > 1)
				this.scrollRightButton.show();
		}
		
	},
	scrollCarousel: function(dir) {
		var cssDir= (dir==-1) ? 'right':'left';
		var scrollWidth = this.scrollWidth;
		var scrollSpeed = this.scrollWidth;
		var scrollWrapLeft = $(this.scrollWrap).css("left");

		if(this.okToScroll == false) {
			return;
		}
		var newScrollWrapLeft = (parseInt(scrollWrapLeft) + (dir * scrollWidth));
		if(cssDir == "left") {
			if(this.currentPane <= 1) {
				return;
			} else {
				$(this.scrollRightButton).show();
				var self = this;
				this.okToScroll = false;
				$(this.scrollWrap).animate({left: newScrollWrapLeft+"px"}, "slow", function() {
					self.okToScroll = true;
				});
				this.currentPane--;
			}
		}
		if(cssDir == "right") {
			if(this.currentPane >= this.paneCount) {
				return;
			} else {
				$(this.scrollLeftButton).show();
				this.okToScroll = false;
				var self = this;
				$(this.scrollWrap).animate({left: newScrollWrapLeft+"px"}, "slow", function() {
					self.okToScroll = true;
				});
				this.currentPane++;
			}
		}
		
		this.checkCurrentPane(this.currentPane, this.paneCount);
	},
	checkCurrentPane: function(currentPane, paneCount) {
		if(currentPane == 1) {
			$(this.scrollLeftButton).hide();
		} else if(currentPane == paneCount) {
			$(this.scrollRightButton).hide();
		}
	}
}



var validator=null;

/**
 * Initialize the form validation system.
 */
function initFormValidation() {
	if(typeof com != "undefined") {
		validator=new com.digitaria.validator();
							   
		com.digitaria.initRevFieldDefaults();
	
		$('form.genericForm').each(function() {
			this.onsubmit=function() {
				return validator.validate(this, { revCountsAsEmpty: true });
			}
		});
	}
}

/**
 * Initialize the tab module system.
 * Find all of the links, bind them to call setTabModule when clicked.
 * If any have a parent li with .activeNav set, set them.
 */
function initTabModules() {
	$('.tabModuleTabs a').each(function() {
		$(this).click(function(e) {
			e.preventDefault();
			if($(".slTabSortBy").length > 0) {
                $(".slTabSortBy .activeFilter").removeClass("activeFilter");
                $(".slTabSortBy a:first").addClass("activeFilter");
            }
			setTabModule(this);
		});
		
		if ($(this).parent().is('.activeNav')) {
			setTabModule(this);
		}
	});
}
function setTabModule(el) {
	el=$(el);
	parentModule=el.parents('.tabModule');
	tabsHolder=parentModule.find('.tabModuleTabs');
	
	// Change the active state
	tabsHolder.find('li.activeNav').removeClass('activeNav');
	el.parent().addClass('activeNav');
	
	// Hide all unwanted panes
	parentModule.find('.tabModulePane').hide();
	
	// If we have a rel, turn on the matching id
	if (el.attr('rel')!="") {
		$('#'+el.attr('rel')).show();
	} else { // Otherwise, load the href in to the pane via AJAX
		parentModule.find('.tabModuleContentInner').show().load(el.attr('href'));
	}
}
function filterAjaxRequest(el) {
	el=$(el);
	$("#checkLogInMessage").remove();
	if(el.hasClass("localCheck") && !social.ifLoggedIn()) {
	    redirect = social.getRedirectUrl();
	    el.after('<p id="checkLogInMessage" style="float:right;margin-right:50px;width:250px;font-weight:normal;"><a href="javascript:void(0);" onclick="$(\'#dashLoginLink\').trigger(\'click\');">Please log in</a> to view personalized content.</p>');
	    return false;
	}
	parentModule=el.parents('.tabModule');
	$(".activeFilter").removeClass("activeFilter");
	el.addClass("activeFilter");
	requestUrl = $(".sportLandTabMod li.activeNav a").attr("href");
	parentModule.find('.tabModuleContentInner').show().load(requestUrl+el.attr("href"));	
	return false;
}
function initGenericForm() {
	// create erro div for generic forms
    $(".genericForm").each(function() {
        $(this).append("<div class='genericFormError'></div>");
    });
	
}
function initTabSystems() {
	$(".ajaxTabModule").each(function() {
        var scope = this;
        var tabContent = $(".ajaxTabContent:first", scope);
        $(".ajaxTabsList li a", scope).click(function() {
            $(".ajaxTabsList li.active", scope).removeClass("active");
            $(this, scope).parent("li").addClass("active");
            $(tabContent).html("Loading");
            var newTabContent = this.href;
            $.ajax({ type: "GET", url: newTabContent,
                success: function(data) {
                    $(tabContent).html(data);
                }
            });
            return false;
        });
    });	
}
function checkForNewsFilters() {
	var filter = new Array();
	$(".newsFilterArchive #newsArchiveFilter").each(function(i) {
	    
		filter[i] = new Filter("newsArchiveFilter","newsArchiveFilterItem","newsArchiveList",20);
	});
}
function checkForCalendarFilters() {
	if(document.getElementById("theCalendarCheckBoxes")){
		var myfilter = new Filter("theCalendarCheckBoxes","calEventItem","calEventTable",1000);
	}
	if(document.getElementById("theNewsMediaCheckBoxes")){
	    var limit = (document.getElementById("itemsLimit"))?document.getElementById("itemsLimit").value:20;
		var myfilter = new Filter("theNewsMediaCheckBoxes","newsMediaItem","newsMediaList",limit);
	}
	if(document.getElementById("theFilterCheckBoxes")){
		var myfilter = new Filter("theFilterCheckBoxes","fltrTblItem","fltrTable",100);
	}
}
/* BEGIN: Form Validation
/*-----------------------------*/
function validateForm(form, invalid, required, failureMessage) {
	var errorMessage = new Array();
	var requiredCheck = new RegExp(/Required/);
	for(var i = 0; i < form.elements.length; i++)
	{
		elementType = form.elements[i].tagName;
		elementTitle = $(form.elements[i]).attr("title");
		if(elementType.toLowerCase() == "input" && requiredCheck.test(elementTitle) && form.elements[i].value == "")
		{
			var elID = form.elements[i].id;
			var labelText = findLabel(elID);
			var tempMessage = required.replace("%F%", labelText);
			errorMessage.push("<li>"+tempMessage+"</li>");
		}
		else if(elementType.toLowerCase() == "textarea" && requiredCheck.test(elementTitle) && form.elements[i].value == "")
		{
			var elID = form.elements[i].id;
			var labelText = findLabel(elID);
			var tempMessage = required.replace("%F%", labelText);
			errorMessage.push("<li>"+tempMessage+"</li>");
		}
		else if(elementType.toLowerCase() == "select" && form.elements[i].value == "" && requiredCheck.test(elementTitle))
		{
			var elID = form.elements[i].id;
			var labelText = findLabel(elID);
			var tempMessage = required.replace("%F%", labelText);
			errorMessage.push("<li>"+tempMessage+"</li>");
		}
	}
	if(errorMessage.length > 0) {

		if ($.browser.msie && ($.browser.version == '6.0')) {
			outputMessage = errorMessage.join("\n");
			var regex1 = /\<li\>/g;
			var regex2 = /\<\/li\>/g;
			outputMessage = outputMessage.replace(regex1, "");
			outputMessage = outputMessage.replace(regex2, "");
			alert(outputMessage);
		} else {
			var fullErrorMessage = failureMessage+"<ul>"+errorMessage.join("")+"</ul>";
			$(".genericFormError", form).show();
			$(".genericFormError", form).html(fullErrorMessage);
		}
		//outputMessage = errorMessage.join("\n");
		//alert(outputMessage);
		return false;
	};
}
function findLabel(elID) {
	var labelText = "hi";
	$("label").each(function() {
		var thisLabelFor = $(this).attr("for");
		var thisLabelHtml = $(this).html();
		var thisLabelHtml1 = thisLabelHtml.split("<");
		if(thisLabelFor == elID) {
			labelText = thisLabelHtml1[0];
		}
	});
	return labelText;
}

/* for the David */
function addThisFlash(type) {
    if(type == "share")
        $("#flashMediaCenterWrap .shareBarLinksShare:first").trigger("click");
    else
        addthis_open($("#flashMediaCenterWrap .shareBarLinksShare:first"), 'email', '[url]', '[title]');
}

function addThisEmailFlash(url, title) {
    addthis_open($("#flashMediaCenterWrap")[0], 'email', escape(url), title);        
}

/* initialize Share Bar by Nick Davison
/*-------------------------------------------------------*/

function initShareBar() {

    $('.shareBarLinksShare').each(function() {
        this.onclick=function(e) {
            sTrackEvent("event62");
            addthis_open(this, 'share', '[url]', '[title]');
            return false;
        };
    });

    $('.socialBarEmail').each(function () {
        this.onclick=function(e) {
            addthis_open(this, 'email', '[url]', '[title]');
            return false;
        };
    });
   
    $('.shareBarLinksPrint').click(function(e) {
        e.preventDefault();
        window.print();
    });
	
    $('.shareBarLinksFavorite').click(function(e) {
        e.preventDefault();
		var url = location.href;
		var name = document.title;
		if (window.sidebar) { // Mozilla Firefox
			window.sidebar.addPanel(name, url, "");
		}
		else if (window.external) { // IE
			window.external.AddFavorite(url, name);
		}
		else if (window.opera && window.print) {
			window.external.AddFavorite(url, name);
		}
		else {
			alert('not supported');
		}
	});
}
function hideDropDown(i) {
    $(".genericDropDown").css("visibility","visible");
	$(".genericDropDown:eq("+i+") .dropContent").hide();
}
function initActionDropDowns(){
	var dropdownTimeout = new Array();
	// add click functionality for generic dropdowns
	$(".genericDropDown").each(function(i) {
        var scope = $(this);
        $(".dropTrigger>a:first", scope).unbind("click").bind("click", function() {
            if($.browser.msie && $.browser.version.substr(0,1)<8) {
                $(".genericDropDown").each(function(e) {
                    if(i != e)
                        $(this).css("visibility","hidden");
                });
            }
            var thisDropStyle = $(".dropContent", scope).css("display");
            if (thisDropStyle == "none") {
                $(".dropContent").hide();
                $(".dropContent", scope).show();
            } else {
				if(clearTimeout(dropdownTimeout[i]))
					clearTimeout(dropdownTimeout[i]);
                $(".dropContent").hide();
            }
            return false;
        });
		
		scope.bind("mouseout", function() {
			dropdownTimeout[i] = setTimeout("hideDropDown("+i+");",1000);
		}).bind("mouseover",function() {
			
			if(clearTimeout(dropdownTimeout[i])) {
				clearTimeout(dropdownTimeout[i]);
				scope.unbind("mouseout");
				scope.bind("mouseout", function() {
					dropdownTimeout[i] = setTimeout("hideDropDown("+i+");",1000);
				});
			}
		});
		
		if(!document.all) {
			$(window).bind('resize', function() {
				$(".dropContent", scope).hide();
			});
		}
    });
}
var globalDropdownTimeout;
function initSelectDropDowns() {

	$(".dropdown dt a").click(function() {
		$(".dropdown dd ul").toggle();
		
		$(".dropdown dd ul").bind("mouseover", function() {
		    if(globalDropdownTimeout)
    		    clearTimeout(globalDropdownTimeout);
		}).bind("mouseout", function() {
		    if(globalDropdownTimeout)
    		    clearTimeout(globalDropdownTimeout);
		    globalDropdownTimeout = setTimeout(function(){$(".dropdown dd ul").hide();}, 500);
		});
		
		$(this).bind("mouseover", function() {
		    if(globalDropdownTimeout)
    		    clearTimeout(globalDropdownTimeout);
		}).bind("mouseout", function() {
		    if(globalDropdownTimeout)
    		    clearTimeout(globalDropdownTimeout);
		    globalDropdownTimeout = setTimeout(function(){$(".dropdown dd ul").hide();}, 500);
		});
	});
				
	$(".dropdown dd ul li a").click(function() {
		var text = $(this).html();
		$(".dropdown dt a span").html(text);
		$(".dropdown dd ul").hide();
		$("#result").html("Selected value is: " + getSelectedValue("sample"));
	});
				
	function getSelectedValue(id) {
		return $("#" + id).find("dt a span.value").html();
	}

	$(document).bind('click', function(e) {
		var $clicked = $(e.target);
		if (! $clicked.parents().hasClass("catdropdown"))
			$(".catdropdown dd ul").hide();
	});

	$(".catdropdown dt a").click(function() {
		$(".catdropdown dd ul").toggle();
	});
				
	$(".catdropdown dd ul li a").click(function() {
		var text = $(this).html();
		$(".catdropdown dt a span").html(text);
		$(".catdropdown dd ul").hide();
		$("#result").html("Selected value is: " + getSelectedValue("sample"));
	});
				
	$(document).bind('click', function(e) {
		var $clicked = $(e.target);
		if (! $clicked.parents().hasClass("catdropdown"))
			$(".catdropdown dd ul").hide();
	});

}
function initSearch() {
// Search init
    $("#headerSearchField, #findModSearchField").blur(function () {
        if ($(this).attr("rev") != "") {
            if ($(this).val() == "") {
                $(this).val($(this).attr("rev")).css({ color: "#cccccc" });

            }
        }
    }).focus(function () {
        if ($(this).attr("rev") != "") {
            if ($(this).val() == $(this).attr("rev")) {
                $(this).val("").css("color", "#3c3c3c");
            }
        }
    });
    $("#searchPgField").removeAttr("rev").blur(function () {
        if ($(this).val() == "") {
            $(this).val("SEARCH").css({ color: "#cccccc" });
        }
    }).focus(function () {
        if ($(this).val() == "SEARCH" || $(this).val() == "Search Sports") {
            $(this).val("").css("color", "#3c3c3c");
        }
    })
}
function initSearchForms() {
    $("#searchResultsHdr, #headerSearch").submit(function() {
        scope = this;
        thisField = $("input:first", scope);
        if(thisField.val() == "" || thisField.val() == "SEARCH") {
            alert("Please enter a search term.");
            return false;
        }
    });
}
function initNavigation(){
	
	$("#siteNavMain ul").css({display: "none"}); // Opera Fix
	$("#siteNavMain li").hover(
			function()
			{
				$(this).find("ul:first").show();
				
				//concept
				//$(this).addClass("star_hover");
				
				//deprecate
				//$(this).find("ul:first").css({visibility: "visible", display: "block"});
				//$("#siteNavMain ul:last").css({left: "-65px"});
			}
			,
			function()
			{
				$(this).find("ul:first").hide();
				
				//concept				
				//$(this).removeClass("star_hover");
				
				//deprecate
				//$(this).find("ul:first").css({visibility: "hidden", display: "none"});
			}
	);

}
function initTableStripes(){
	$("table.stripe tbody").each(function() {
		$(this).find("tr:even").addClass("even");
	});
	//adjust table stripes once filter engaged
	$("input:checkbox").click(function(){
		$("table.stripe tbody tr").removeClass("even");	
		$("table.stripe tbody tr:visible:even").addClass("even");
	});
}
function initLastItem(){
	$("#siteNavMain>li:last").addClass("lastItem");
	$(".newsMediaItem:last").css({ borderBottom: "none" });
	//elimate last border
	$("input:checkbox").click(function(){
		$(".newsMediaItem").css({ borderBottom: "1px #d5d5d5 solid" });
		$(".newsMediaItem:visible:last").css({ borderBottom: "none" });
	});
	$(".tweetsModule li:last").css({borderBottom: "none" }).css({ marginBottom: 0 }).css({ paddingBottom: "5px" });
	$(".fab50Details .resultsTable tr:last td").css({ borderBottom: "none" });
	//if caption is empty on FAB50 page remove caption and byline space
	if ($(".fab50Photo .caption").is(':empty') && $(".fab50Photo .byline").is(':empty')) { 
		$(".fab50Photo .caption").hide();
		$(".fab50Photo .byline").hide();
	}
}
function initStmtBkgd(){
	$(".stmtHdr").addClass("stmt" + $(".stmtHdr").attr("stmtBkgdColor"));
}
/* Homepage scheme changer
/*-------------------------------------------------------*/
function initHomepageSchemeChg(){

	// get a randomn number
	var rndNum = Math.floor(Math.random()* numPhotos);
	// calculate css values to determine scheme

	$("#hpBody").css({ "background-color" : theSchemes [rndNum][1] }); // background color
	$("#hpWrapper").css({ "background-color" : theSchemes [rndNum][1] }); // background color
	$("#hpPhotoBkgd").css({ "background" : "url(/Media/backgrounds/" + theSchemes [rndNum][0] + ") no-repeat" }); // background photo
	// button background and link font color
	$(".hpSportsLinks a").css({ "color" : theSchemes [rndNum][3] })
			.hover(function(){
						// hover over: link background image name calculation
						$(this).css({ "background" : "url(/Media/backgrounds/hpLinkBkgdBlue.gif) no-repeat" }); 
					},
					function(){ 
						// hover out: none
						$(this).css({ "background" : "none" }); 
					});
}
function initTopicToggle() {
	$("#btnStartTopic").click(function(e) {
        e.preventDefault();
		$(".topicToggle").toggle();
	});
}
/* Equalize twin columns
/*-------------------------------------------------------*/
function initEQColumns() {
	
	var layoutRails = 10; // number of rails
	var twinSetCnt = 0;   // number of sets of twins (base 0)

	// go thru the rails to deal with twin columns
	for( var railNum = 1; railNum < layoutRails; railNum++ ) {
		if( railNum !=  4 && railNum !=  5 ) {
			// find number of twins by taking the columns that need evening and dividing by two
			var numTwins =  Math.floor( $( ".rail" + railNum + " .colHt" ).length / 2 );
	
			var numTwinsArray = new Array( numTwins );  // build an array to hold the greatest height per set of twins
			// initialize twins' height array to zeros
			for( var i = 0; i < numTwinsArray.length; i++ ){
				numTwinsArray[i] = 0;
			}
			// if rail class holds twins process
			if( numTwins > 0 ) {
				// select each possible twin and process
				$( ".rail" + railNum + " .colHt" ).each(function() {
					// calculate the twins' class name
					var theNewClass = "setColHt" + twinSetCnt;
					// add class to module
					$(this).addClass( theNewClass );
					// remove class name for possible twin
					$(this).removeClass( "colHt" );
					// if twin's height is greater than previously recorded value then replace with greater value
					if ( $( this ).height() > numTwinsArray[twinSetCnt] ) {
						 numTwinsArray[twinSetCnt] = $( this ).height();
					}			
					// get next twin
					twinSetCnt++;
					// if twin name surpasses twin count start again
					if( twinSetCnt >= numTwins ) { 
						twinSetCnt = 0;
					}
				})
				// set all twin sets to greatest value
				for ( var runTimes = 0; runTimes < numTwins; runTimes++ ) { 
					$( ".setColHt" + runTimes ).height( numTwinsArray[runTimes] );
				}
			}
		}
	}
	
}
function initRegComplete() {
    if(document.getElementById("completeRegistrationForm")) {
        $("#profileType option:selected, #pursuitsSport option:selected").removeAttr("selected");
        $("#pursuitsGender, #pursuitsLevel").attr("disabled","disabled");
        $("#profileType").change(function() {
            $(".requireThisRow").removeClass("requireThisRow");
            switch(this.value) {
                case "Athlete":
                $("#School, #GraduationYear, #pursuitsSport").parent(".editFieldWrap").addClass("requireThisRow");
                break;
                case "Employee":
                $("#School").parent(".editFieldWrap").addClass("requireThisRow");
                break;
            }
        });
        
        $("#completeRegistrationForm").submit(function() {
            var hasError = false;
            $(".regFormRequired").each(function(i) {
                
                if($(this).parent(".editFieldWrap").hasClass("requireThisRow") && $(this).val() == "") {
                    //console.log($(this));
                    //$(this).closest(".editFieldWrap").css("background-color","#FFF7C8");
                    hasError = true;
                }/* else if ($(this).parent(".editFieldWrap").css("display") != "none" && $(this).val() != "") {
                    $(this).closest(".editFieldWrap").css("background-color","inherit");
                }*/
                
            });
            
            $("#pursuitsSport").each(function(i) {
		        if(!$(this).attr("disabled") && $(this).parent(".editFieldWrap").hasClass("requireThisRow") && $(this).val()=="") {
			       // $(this).closest(".editFieldWrap").css("background-color","#FFF7C8");
			        hasError = true;
		        }/* else if(!$(this).attr("disabled") && $(this).val()!="") {
		            $(this).closest(".editFieldWrap").css("background-color","inherit");
		        }*/
	        });
            
            if(hasError == true) {
                $(".regErrorCont").html("Please fill out all fields.");
                return false;
            } else {
                $(".regErrorCont").html("");
                sTrackRegComplete(s_omni.pageName,s_omni.channel,s_omni.prop5,s_omni.prop25,"event4");
                var axel = Math.random() + "";
                var a = axel * 1000000000000000000;
                var doPing = new Image();
                doPing.src ="http://fls.doubleclick.net/activityi;src=1181183;type=espnr429;cat=espnr766;ord=1;num=" + a + "?";
                inc = 0;
                while(inc < 500) {
                    inc++;  
                }
                delete inc;
                return true;
            }
            return false;
        });
    
        var autoCompVal =document.getElementById("School").value;
   		$("#School").autocomplete("/CFAPI/SearchManagement/GetSchoolAutoComplete.ajax", { minChars: 3, matchSubset: false, matchContains: false, cacheLength: 0, selectOnly: 1 }, autoCompVal);
        
       /* $.ajax({
            url:"/CFAPI/CoreManagement/GetEntityPursuitList.ajax",
            dataType:"json",
            cache:false,
            success:function(data2) {*/
                $.ajax({
                    url:"/CFAPI/CoreManagement/GetPursuitTree.ajax",
                    dataType:"json",
                    cache:false,
                    success:function(data) {
                        social.account.storePursuitTree(data, "");
                    }
                });
           /* }
        });*/
    }
}
function initProfileEventResultsModule() {
    $(".profileEventGlossary").each(function () {
        allPs = $("p", this);
        if (allPs.length > 2) {
            $(this).append('<a style="padding:5px;" href="javascript:void(0);" onclick="showAllTermsForEventResultsModule(this);">More terms &raquo;</a>');
            for (i = 3; i < allPs.length; i++) {
                $(allPs[i]).hide();
            }
        }
    });
}
function showAllTermsForEventResultsModule(el) {
    container = $(el).parent();
    $("p", container).show();
    $(el).remove();
}

/**
* @author Alexander Farkas
* v. 1.21
*/


(function ($) {
    if (!document.defaultView || !document.defaultView.getComputedStyle) { // IE6-IE8
        var oldCurCSS = jQuery.curCSS;
        jQuery.curCSS = function (elem, name, force) {
            if (name === 'background-position') {
                name = 'backgroundPosition';
            }
            if (name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[name]) {
                return oldCurCSS.apply(this, arguments);
            }
            var style = elem.style;
            if (!force && style && style[name]) {
                return style[name];
            }
            return oldCurCSS(elem, 'backgroundPositionX', force) + ' ' + oldCurCSS(elem, 'backgroundPositionY', force);
        };
    }

    var oldAnim = $.fn.animate;
    $.fn.animate = function (prop) {
        if ('background-position' in prop) {
            prop.backgroundPosition = prop['background-position'];
            delete prop['background-position'];
        }
        if ('backgroundPosition' in prop) {
            prop.backgroundPosition = '(' + prop.backgroundPosition;
        }
        return oldAnim.apply(this, arguments);
    };

    function toArray(strg) {
        strg = strg.replace(/left|top/g, '0px');
        strg = strg.replace(/right|bottom/g, '100%');
        strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g, "$1px$2");
        var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
        return [parseFloat(res[1], 10), res[2], parseFloat(res[3], 10), res[4]];
    }

    $.fx.step.backgroundPosition = function (fx) {
        if (!fx.bgPosReady) {
            var start = $.curCSS(fx.elem, 'backgroundPosition');

            if (!start) {//FF2 no inline-style fallback
                start = '0px 0px';
            }

            start = toArray(start);

            fx.start = [start[0], start[2]];

            var end = toArray(fx.options.curAnim.backgroundPosition);
            fx.end = [end[0], end[2]];

            fx.unit = [end[1], end[3]];
            fx.bgPosReady = true;
        }
        //return;
        var nowPosX = [];
        nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
        nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
        fx.elem.style.backgroundPosition = nowPosX[0] + ' ' + nowPosX[1];

    };
})(jQuery);
/* ---------------------------------------- /includes/jsbin/filterObj.js ---------------------------------------- */
/****************************************************************
*
*	Filter Object
*	Author: Michael Turnwall - Digitaria Inc.
*	Created: 5.22.2007
*	Filter elements
*
****************************************************************/

// id = id of filter options form or container
// className = class assigned to elements that can be filtered
// contID = optional starting point to start looking for the class name
// maxLength = number of items to show at a time
function Filter(id,className,contID,maxLength,stripeIt)
{
	this.contID = contID;
	this.id = id;
	this.filterCont = document.getElementById(id);
	this.filterOptions = this.filterCont.getElementsByTagName("input");
	
	// dealing with a table or a bunch of divs?
	if(className.toLowerCase() == "tr")
	{
		var rows = document.getElementById(contID).getElementsByTagName("tr");
	
		this.filterElements = new Array();
		for(var i = 1; i < rows.length; i++)
		{
			this.filterElements.push(rows[i]);
		}
	}
	else
	{
		this.filterElements = this.getElementsByClassName(className,contID);
	}
	
	for(var i = 0; i < this.filterOptions.length; i++)
	{
		if(this.filterOptions[i].value.match(/\ball\b/) && !this.filterOptions[i].value.match("all-"))
			this.filterOptions[i].checked = true;
		else
			this.filterOptions[i].checked = false;
	}
	
	this.max = maxLength;
	this.stripeIt = stripeIt;
	this.showAll(true);
	this.initEvents();
}
/*----------------------*/

// attach events to the filter options
Filter.prototype.initEvents = function()
{
	var self = this;	// so we can access this object from the custom event
	for(var i = 0; i < this.filterOptions.length; i++)
	{
		//this.filterOptions[i].onclick = function(){self.scanValues(this.value)};
		//this.filterOptions[i].onkeypress = function(){self.scanValues(this.value)};
		$(self.filterOptions[i]).click(function(){ self.scanValues(this.value) });
		$(self.filterOptions[i]).keypress(function(){ self.scanValues(this.value) });
	}
};
/*----------------------*/

// function that allows getting elements by their class name. Returns the found elements in an array
// arguments: className - class name to search for, element - a starting point to start the search
// if no element is specified, all the nodes on the page are searched
Filter.prototype.getElementsByClassName = function(className,element)
{
	if(element)
	{
		var el = document.getElementById(element);
		var children = el.getElementsByTagName('*');
	}
	else
	{
		var children = document.getElementsByTagName('*') || document.all;
	}
	
	var elements = [];
	var regexp = new RegExp(className,"ig");
	for(i = 0; i < children.length; i++)
	{
		if(children[i].className.match(regexp))
			elements.push(children[i]);
	}
	if(elements.length > 0)
		return elements;
	else
		return false;
};

// show all the items
Filter.prototype.showAll = function(firstTime)
{
	for(var i = 0; i < this.filterElements.length; i++)
	{
		//this.filterElements[i].className += " a"; // cheating, add the "a" so we can replace with a reg exp
		className = this.filterElements[i].className;	// assign elements classname to manipulate it
		
		// reset className to original
		className = className.replace(/\sshow|\shide/,"");
		
		var regexp = new RegExp("(\\sshow$|\\shide$)|"+className+"(?!\\S)");
		//alert(regexp);
		if(i < this.max)
			className = className.replace(regexp,className+" show");
		else
			className = className.replace(regexp,className+" hide");
		
		// take the edited className and give it back to the element
		this.filterElements[i].className = className;
	}
	$("#calendarTableWrap h4").show();

};
/*----------------------*/

// clear the board so we have a clean slate to put the filter events on
Filter.prototype.hideAll = function()
{
	for(var i = 0; i < this.filterElements.length; i++)
	{
		this.filterElements[i].className = this.filterElements[i].className.replace(/(\sshow|\shide)/," hide");
	}			
};
/*----------------------*/

// look through the filter options to see what's selected
Filter.prototype.scanValues = function(value)
{
	$(".noAvailItems").hide();
	this.checkedFilters = new Array();
	if(!value.match(/\ball\b/) || value.match("all-"))
	{
		this.filterOptions[0].checked = false;
	}
	else
	{
		for(var i = 1; i < this.filterOptions.length; i++)
		{
			this.filterOptions[i].checked = false;
		}
		var all = true;
	}
	for(var i = 0; i < this.filterOptions.length; i++)
	{
		if(this.filterOptions[i].checked)
		{
			this.checkedFilters.push(this.filterOptions[i].value);
			
		}

	}
	if(this.checkedFilters.length == 0 || all == true)
	{
		this.showAll();
		this.filterOptions[0].checked = true;
		return true;
	}
	this.showFiltered();
};
/*----------------------*/

// turn the filter elements on
Filter.prototype.showFiltered = function()
{
	this.hideAll();

	var stripeThese = new Array();
	var count = 0;
	for(var i = 0; i < this.filterElements.length && count < this.max; i++)
	{
		for(var j = 0; j < this.checkedFilters.length; j++)
		{
			var regexp = new RegExp("_"+this.checkedFilters[j]+"_","i");
			if(this.filterElements[i].id.match(regexp))
			{
				this.filterElements[i].className = this.filterElements[i].className.replace(/hide/,"show");
				stripeThese.push(this.filterElements[i]);
				//fadeIn(this.filterElements[i].id,0,100,10);
				count++;
				break;
			}					
		}
	}
	
	if(count == 0){
		$(".noAvailItems").show();
	}else{
		$(".noAvailItems").hide();
	}
	
	this.checkDividers();
};
Filter.prototype.checkDividers = function() {
	$("#calendarTableWrap>.calendarTable").each(function(i) {
		var hideTitle = true;
		$(".calendarFilterItem", "#calendarTableWrap>.calendarTable:eq("+i+")").each(function(f) {
			
			if($("#calendarTableWrap>.calendarTable:eq("+i+") .calendarFilterItem:eq("+f+")").css("display") != "none")
				hideTitle = false;
		});
		if(hideTitle)
			$("#calendarTableWrap h4:eq("+i+")").hide();
		else
			$("#calendarTableWrap h4:eq("+i+")").show();
	});
};
/* ---------------------------------------- /includes/jsbin/jQuery.colorbox.js ---------------------------------------- */
/*	ColorBox v1.3.2 - a full featured, light-weight, customizable lightbox based on jQuery 1.3 */
(function (Z) { var P = "colorbox", N = "hover", V = true, o = false, u, L = !Z.support.opacity, q = L && !window.XMLHttpRequest, t = "click.colorbox", W = "cbox_open", i = "cbox_load", S = "cbox_complete", h = "cbox_cleanup", M = "cbox_closed", l = "resize.cbox_resize", e, r, s, D, X, I, B, d, C, m, b, F, Q, H, K, j, J, g, R, v, G, E, A, O, Y, n, U, k, f, a = { transition: "elastic", speed: 350, width: o, height: o, innerWidth: o, innerHeight: o, initialWidth: "400", initialHeight: "400", maxWidth: o, maxHeight: o, scalePhotos: V, scrolling: V, inline: o, html: o, iframe: o, photo: o, href: o, title: o, rel: o, opacity: 0.9, preloading: V, current: "image {current} of {total}", previous: "previous", next: "next", close: "close", open: o, overlayClose: V, slideshow: o, slideshowAuto: V, slideshowSpeed: 2500, slideshowStart: "start slideshow", slideshowStop: "stop slideshow", preloadIMG: V }; function c(w, x) { x = x === "x" ? document.documentElement.clientWidth : document.documentElement.clientHeight; return (typeof w === "string") ? Math.round((w.match(/%/) ? (x / 100) * parseInt(w, 10) : parseInt(w, 10))) : w; } function T(w) { return n.photo || w.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i); } function p() { for (var w in n) { if (typeof (n[w]) === "function") { n[w] = n[w].call(O); } } } u = Z.fn.colorbox = function (x, w) { if (this.length) { this.each(function () { var y = Z(this).data(P) ? Z.extend({}, Z(this).data(P), x) : Z.extend({}, a, x); Z(this).data(P, y).addClass("cboxelement"); }); } else { Z(this).data(P, Z.extend({}, a, x)); } Z(this).unbind(t).bind(t, function (z) { O = this; n = Z(O).data(P); p(); f = w || o; var y = n.rel || O.rel; if (y && y !== "nofollow") { C = Z(".cboxelement").filter(function () { var AA = Z(this).data(P).rel || this.rel; return (AA === y); }); Y = C.index(O); if (Y < 0) { C = C.add(O); Y = C.length - 1; } } else { C = Z(O); Y = 0; } if (!U) { U = V; k = V; Z().bind("keydown.cbox_close", function (AA) { if (AA.keyCode === 27) { AA.preventDefault(); u.close(); } }).bind("keydown.cbox_arrows", function (AA) { if (AA.keyCode === 37) { AA.preventDefault(); g.click(); } else { if (AA.keyCode === 39) { AA.preventDefault(); J.click(); } } }); if (n.overlayClose) { e.css({ cursor: "pointer" }).one("click", u.close); } O.blur(); Z.event.trigger(W); R.html(n.close); e.css({ opacity: n.opacity }).show(); n.w = c(n.initialWidth, "x"); n.h = c(n.initialHeight, "y"); u.position(0); if (q) { m.bind("resize.cboxie6 scroll.cboxie6", function () { e.css({ width: m.width(), height: m.height(), top: m.scrollTop(), left: m.scrollLeft() }); }).trigger("scroll.cboxie6"); } } u.slideshow(); u.load(); z.preventDefault(); }); if (x && x.open) { Z(this).triggerHandler(t); } return this; }; u.init = function () { function w(x) { return Z('<div id="cbox' + x + '"/>'); } m = Z(window); r = Z('<div id="colorbox"/>'); e = w("Overlay").hide(); s = w("Wrapper"); D = w("Content").append(b = w("LoadedContent").css({ width: 0, height: 0 }), F = w("LoadingOverlay"), Q = w("LoadingGraphic"), H = w("Title"), K = w("Current"), j = w("Slideshow"), J = w("Next"), g = w("Previous"), R = w("Close")); s.append(Z("<div/>").append(w("TopLeft"), X = w("TopCenter"), w("TopRight")), Z("<div/>").append(I = w("MiddleLeft"), D, B = w("MiddleRight")), Z("<div/>").append(w("BottomLeft"), d = w("BottomCenter"), w("BottomRight"))).children().children().css({ "float": "left" }); Z("body").prepend(e, r.append(s)); if (L) { r.addClass("cboxIE"); if (q) { e.css("position", "absolute"); } } D.children().addClass(N).mouseover(function () { Z(this).addClass(N); }).mouseout(function () { Z(this).removeClass(N); }).hide(); v = X.height() + d.height() + D.outerHeight(V) - D.height(); G = I.width() + B.width() + D.outerWidth(V) - D.width(); E = b.outerHeight(V); A = b.outerWidth(V); r.css({ "padding-bottom": v, "padding-right": G }).hide(); J.click(u.next); g.click(u.prev); R.click(u.close); D.children().removeClass(N); }; u.position = function (AB, y) { var AA, x = document.documentElement.clientHeight, z = Math.max(x - n.h - E - v, 0) / 2 + m.scrollTop(), w = Math.max(document.documentElement.clientWidth - n.w - A - G, 0) / 2 + m.scrollLeft(); AA = (r.width() === n.w + A && r.height() === n.h + E) ? 0 : AB; s[0].style.width = s[0].style.height = "9999px"; function AC(AD) { X[0].style.width = d[0].style.width = D[0].style.width = AD.style.width; Q[0].style.height = F[0].style.height = D[0].style.height = I[0].style.height = B[0].style.height = AD.style.height; } r.dequeue().animate({ width: n.w + A, height: n.h + E, top: z, left: w }, { duration: AA, complete: function () { AC(this); k = o; s[0].style.width = (n.w + A + G) + "px"; s[0].style.height = (n.h + E + v) + "px"; if (y) { y(); } }, step: function () { AC(this); } }); }; u.resize = function (AA) { if (!U) { return; } var AB, z, x, AD, AH, w, AF, y = n.transition === "none" ? 0 : n.speed; m.unbind(l); if (!AA) { AF = setTimeout(function () { var AI = b.wrapInner("<div style='overflow:auto'></div>").children(); n.h = AI.height(); b.css({ height: n.h }); AI.replaceWith(AI.children()); u.position(y); }, 1); return; } b.remove(); b = Z('<div id="cboxLoadedContent"/>').html(AA); function AE() { n.w = n.w || b.width(); return n.w; } function AC() { n.h = n.h || b.height(); return n.h; } b.hide().appendTo(e).css({ width: AE(), overflow: n.scrolling ? "auto" : "hidden" }).css({ height: AC() }).prependTo(D); Z("#cboxPhoto").css({ cssFloat: "none" }); if (q) { Z("select:not(#colorbox select)").filter(function () { return this.style.visibility !== "hidden"; }).css({ visibility: "hidden" }).one(h, function () { this.style.visibility = "inherit"; }); } function AG(AI) { u.position(AI, function () { if (!U) { return; } if (L) { if (w) { b.fadeIn(100); } r[0].style.removeAttribute("filter"); } D.children().show(); if (n.iframe) { b.append("<iframe id='cboxIframe'" + (n.scrolling ? " " : "scrolling='no'") + " name='iframe_" + new Date().getTime() + "' frameborder=0 src='" + (n.href || O.href) + "' />"); } F.hide(); Q.hide(); j.hide(); if (C.length > 1) { K.html(n.current.replace(/\{current\}/, Y + 1).replace(/\{total\}/, C.length)); J.html(n.next); g.html(n.previous); if (n.slideshow) { j.show(); } } else { K.hide(); J.hide(); g.hide(); } H.html(n.title || O.title); Z.event.trigger(S); if (f) { f.call(O); } if (n.transition === "fade") { r.fadeTo(y, 1, function () { if (L) { r[0].style.removeAttribute("filter"); } }); } m.bind(l, function () { u.position(0); }); }); } if ((n.transition === "fade" && r.fadeTo(y, 0, function () { AG(0); })) || AG(y)) { } if (n.preloading && C.length > 1) { z = Y > 0 ? C[Y - 1] : C[C.length - 1]; AD = Y < C.length - 1 ? C[Y + 1] : C[0]; AH = Z(AD).data(P).href || AD.href; x = Z(z).data(P).href || z.href; if (T(AH)) { Z("<img />").attr("src", AH); } if (T(x)) { Z("<img />").attr("src", x); } } }; u.load = function () { var x, w, AA, z = u.resize; k = V; function y(AD) { var AC = Z(AD), AE = AC.find("img"), AB = AE.length; (function AF() { var AG = new Image(); AB = AB - 1; if (AB >= 0 && n.preloadIMG) { AG.onload = AF; AG.src = AE[AB].src; } else { z(AC); } } ()); } O = C[Y]; n = Z(O).data(P); p(); Z.event.trigger(i); n.h = n.height ? c(n.height, "y") - E - v : n.innerHeight ? c(n.innerHeight, "y") : o; n.w = n.width ? c(n.width, "x") - A - G : n.innerWidth ? c(n.innerWidth, "x") : o; n.mw = n.w; n.mh = n.h; if (n.maxWidth) { n.mw = c(n.maxWidth, "x") - A - G; n.mw = n.w && n.w < n.mw ? n.w : n.mw; } if (n.maxHeight) { n.mh = c(n.maxHeight, "y") - E - v; n.mh = n.h && n.h < n.mh ? n.h : n.mh; } x = n.href || O.href; F.show(); Q.show(); R.show(); if (n.inline) { Z('<div id="cboxInlineTemp" />').hide().insertBefore(Z(x)[0]).bind(i + " " + h, function () { Z(this).replaceWith(b.children()); }); z(Z(x)); } else { if (n.iframe) { z(" "); } else { if (n.html) { y(n.html); } else { if (T(x)) { w = new Image(); w.onload = function () { var AB; w.onload = null; w.id = "cboxPhoto"; Z(w).css({ margin: "auto", border: "none", display: "block", cssFloat: "left" }); if (n.scalePhotos) { AA = function () { w.height -= w.height * AB; w.width -= w.width * AB; }; if (n.mw && w.width > n.mw) { AB = (w.width - n.mw) / w.width; AA(); } if (n.mh && w.height > n.mh) { AB = (w.height - n.mh) / w.height; AA(); } } if (n.h) { w.style.marginTop = Math.max(n.h - w.height, 0) / 2 + "px"; } z(w); if (C.length > 1) { Z(w).css({ cursor: "pointer" }).click(u.next); } if (L) { w.style.msInterpolationMode = "bicubic"; } }; w.src = x; } else { Z("<div />").load(x, function (AB, AC) { if (AC === "success") { y(this); } else { z(Z("<p>Request unsuccessful.</p>")); } }); } } } } }; u.next = function () { if (!k) { Y = Y < C.length - 1 ? Y + 1 : 0; u.load(); } }; u.prev = function () { if (!k) { Y = Y > 0 ? Y - 1 : C.length - 1; u.load(); } }; u.slideshow = function () { var x, w, y = "cboxSlideshow_"; j.bind(M, function () { j.unbind(); clearTimeout(w); r.removeClass(y + "off " + y + "on"); }); function z() { j.text(n.slideshowStop).bind(S, function () { w = setTimeout(u.next, n.slideshowSpeed); }).bind(i, function () { clearTimeout(w); }).one("click", function () { x(); Z(this).removeClass(N); }); r.removeClass(y + "off").addClass(y + "on"); } x = function () { clearTimeout(w); j.text(n.slideshowStart).unbind(S + " " + i).one("click", function () { z(); w = setTimeout(u.next, n.slideshowSpeed); Z(this).removeClass(N); }); r.removeClass(y + "on").addClass(y + "off"); }; if (n.slideshow && C.length > 1) { if (n.slideshowAuto) { z(); } else { x(); } } }; u.close = function () { Z.event.trigger(h); U = o; Z().unbind("keydown.cbox_close keydown.cbox_arrows"); m.unbind(l + " resize.cboxie6 scroll.cboxie6"); e.css({ cursor: "auto" }).fadeOut("fast"); r.stop(V, o).fadeOut("fast", function () { b.remove(); r.css({ opacity: 1 }); D.children().hide(); Z.event.trigger(M); }); }; u.element = function () { return O; }; u.settings = a; Z(u.init); } (jQuery)); String.prototype.namespace = function (D) { var B = this.split(D || "."), C = window, A; for (A = 0; A < B.length; A++) { C = C[B[A]] = C[B[A]] || {}; } }; "espn.colorbox.login".namespace(); espn.colorbox.login = { serverProtocol: window.location.host.indexOf("proxydev.espn.go.com") != -1 || window.location.host.indexOf("espndbar06.espn.go.com:8779") != -1 ? "https://proxydev.espn.go.com" : "https://r.espn.go.com", globalRegSessionUrl: window.location.host.indexOf("proxydev.espn.go.com") != -1 || window.location.host.indexOf("espndbar06.espn.go.com:8779") != -1 ? "https://globalregsessionstaging.go.com/globalregsession/session?as=" : "https://globalregsession.go.com/globalregsession/session?as=", appredirect: window.location.href.indexOf("#") > 0 ? window.location.href.substring(0, window.location.href.indexOf("#")) : window.location.href, height: jQuery("div.ie6").length > 0 || jQuery("div.ie7").length > 0 ? 540 : 495, width: 843, worldCupTeams: { 162: true, 164: true, 202: true, 203: true, 205: true, 207: true, 210: true, 212: true, 215: true, 448: true, 449: true, 451: true, 455: true, 467: true, 468: true, 472: true, 475: true, 478: true, 479: true, 481: true, 482: true, 624: true, 627: true, 628: true, 656: true, 657: true, 660: true, 2666: true, 4469: true, 4789: true, 4860: true, 6757: true }, runOnLoad: function () { jQuery("#welcome-msg").html(""); var A = getCookie("BLUE"); var C = getCookie("RED"); var B = getCookie("SWID"); if (B != null && B != "" && B.indexOf("{") == 0 && B.indexOf("}") == B.length - 1) { if ((C != null && C != "") || (A != null && A != "")) { jQuery.getScript(espn.colorbox.login.globalRegSessionUrl + "parseUserData"); } else { passivelyLogin(); } } else { if (B == null || B == "") { jQuery.getScript(espn.colorbox.login.globalRegSessionUrl + "parseUserData"); } else { buildMemberArea(null, null, "U", null, null, null, null); } } } }; function parseUserData(A) { var D = getLoginStatus(A.loginstatus); var C = 0; var E = false; if (A.tokens != null) { for (var B = 0; B < A.tokens.length; B++) { if (location.pathname.indexOf("/outdoors") > -1) { if (A.tokens[B] == 703) { C = 1; } } else { if (A.tokens[B] == 27) { C = 1; } if (A.tokens[B] == 749) { C = 1; } } if (A.tokens[B] == 1067) { E = true; } } } if (D == "0" || D == "1") { buildMemberArea(A.username, A.firstname, D, C, A.gender.abbreviation, A.birthyear, E); } else { if (D == "N") { passivelyLogin(); } else { buildMemberArea(null, null, D, null, null, null, null); } } } function passivelyLogin() { var B = jQuery("#memberAreaAffiliateName").val(); var A = espn.colorbox.login.globalRegSessionUrl + "afterPassiveLogin"; jQuery.getScript(espn.colorbox.login.serverProtocol + "/members/passiveLogin?affiliateName=" + B + "&appRedirect=" + encodeURIComponent(A)); } function afterPassiveLogin(A) { var B = getLoginStatus(A.loginstatus); if (B == "N") { buildMemberArea(null, null, "N", null, null, null, null); } else { parseUserData(A); } } function buildMemberArea(E, D, F, C, B, A, G) { getOmnitureVar(E, D, F, C, B, A, G); writeMemberArea(E, D, F, G, C); } function writeMemberArea(D, H, E, K, J) { var F = jQuery("input#language").val(); var A = jQuery("input#regFormId").val(); var C = myEspnText.urlPrefix; var B = "http://espn.go.com"; if (window.location.host.indexOf("proxydev.espn.go.com") != -1 || window.location.host.indexOf("test.espn.go.com") != -1 || window.location.host.indexOf("espndbar06.espn.go.com:8779") != -1 || window.location.host.indexOf("vwtsbar04:6920") != -1) { C = "https://proxydev.espn.go.com"; B = "http://proxydev.espn.go.com"; } if (E == "1" || E == "0") { jQuery.myespn.init({ success: function (L) { jQuery("#welcome-msg").append(getSupportedTeams(L, D, H, F, B)); jQuery("#welcome-msg").append('<a href="' + C + "/members/logout?appRedirect=" + encodeURIComponent(document.location.href) + '" name="&lpos=myespn&lid=signout" class="sign-out-btn"></a>'); jQuery("a.lightboxLink").colorbox({ iframe: true, height: espn.colorbox.login.height, width: espn.colorbox.login.width, scrolling: false, close: "" }); }, error: function (L) { jQuery("#welcome-msg").append("<p><span>" + getSportsNationLink(D, H, myEspnText.welcometext + " ", F) + '</span></p><p class="divider"/>'); jQuery("#welcome-msg").append('<a href="' + C + "/members/logout?appRedirect=" + encodeURIComponent(document.location.href) + '" name="&lpos=myespn&lid=signout" class="sign-out-btn" style="float:right"></a>'); jQuery("a.lightboxLink").colorbox({ iframe: true, height: espn.colorbox.login.height, width: espn.colorbox.login.width, scrolling: false, close: "" }); } }); } else { if (E == "U") { var I = C + "/members/v3_0/register?registrationFormId=" + A + "&addata=login_cta_unreg_reg_registernow&appRedirect=" + encodeURIComponent(espn.colorbox.login.appredirect.replace("action=login", "").replace("action=upsell", "")); var G = "<p><span>" + myEspnText.support + '</span></p><p class="divider"></p><a class="lightboxLink sign-in-btn" name="&lpos=membersvcsnav&lid=login" href="' + C + "/members/v3_0/login?" + jQuery("#form-memberarea").serialize() + "&appRedirect=" + encodeURIComponent(espn.colorbox.login.appredirect.replace("action=login", "").replace("action=upsell", "")); if (F != "en" && F != "EN") { I = I + "&language=" + F; } G = G + '"></a><p>' + myEspnText.or + ' <a class="lightboxLink" name="&lpos=membersvcsnav&lid=register" href="' + I; jQuery("#welcome-msg").append(G + '">' + myEspnText.register + "</a></p>"); } else { if (E == "N" || E == null) { jQuery("#welcome-msg").append('<p><span><a style="text-decoration:none">' + myEspnText.heliumdown + "</a></span></p>"); } } } jQuery("a.lightboxLink").colorbox({ iframe: true, height: espn.colorbox.login.height, width: espn.colorbox.login.width, scrolling: false, close: "" }); } function getSupportedTeams(I, D, J, H, F) { var E = window.location.href; if (E.indexOf("#") > 0) { E = window.location.href.substring(0, window.location.href.indexOf("#")); } sportsNationLink = getSportsNationLink(D, J, "", H); languageParam = ""; if (H != "en" && H != "EN") { languageParam = "&language=" + H; } else { if (jQuery("input[type=hidden][name=ver]").val() == "global") { languageParam = "&ver=global"; } } if (typeof I === "undefined" || typeof I.myTeams === "undefined" || I.myTeams.length == 0) { return "<p><span>" + sportsNationLink + myEspnText.supportlc1 + '<a href="' + F + "/personalization/v3_0/myEspn?appRedirect=" + encodeURIComponent(E) + languageParam + '" name="&lpos=membersvcsnav&lid=myEspn" class="lightboxLink">' + myEspnText.supportlc2 + '</a></span></p><p class="divider"></p>'; } else { var K = 0; var C = ""; for (var G = 0; G < I.myTeams.length; G++) { var B = I.myTeams[G]; if (B.sport >= 600 && espn.colorbox.login.worldCupTeams[B.id] && K < 3) { var A = "http://soccernet.espn.go.com/team?id="; if (H == "es" || H == "ES") { A = "http://espndeportes.espn.go.com/futbol/equipo?id="; } C = C + '<a href="' + A + B.id + '" class="wc-flag-20 wc-flag-20-' + B.id + '"/>'; K += 1; } } if (K > 0) { return "<p><span>" + sportsNationLink + " " + myEspnText.supports + "</span></p>" + C + '<p class="divider"></p><p><a href="' + F + "/personalization/v3_0/myEspn?appRedirect=" + encodeURIComponent(E) + languageParam + '" name="&lpos=membersvcsnav&lid=myEspn" class="lightboxLink">' + myEspnText.edit + "</a></p>"; } else { return "<p><span>" + sportsNationLink + myEspnText.supportlc1 + '<a href="' + F + "/personalization/v3_0/myEspn?appRedirect=" + encodeURIComponent(E) + languageParam + '" name="&lpos=membersvcsnav&lid=myEspn" class="lightboxLink">' + myEspnText.supportlc2 + '</a></span></p><p class="divider"></p>'; } } } function getSportsNationLink(B, A, C, D) { if (B == null || B == "" || B == "null") { return C + A; } else { C = C + ' <a name="&lpos=membersvcsnav&lid=profile" class="membername" href="http://sportsnation.espn.go.com/'; if (D == "es" || D == "ES") { C = C + "es/"; } return C + "fans/" + B + '">' + A + "</a>"; } } function getOmnitureVar(C, G, D, I, H, B, J) { var A = "U"; var F = "U"; var E = "F"; if (I != null) { if (I == 1 || I == "1") { E = "T"; } } if (H != null && H != "") { F = H; } if (B != null && B != "") { A = B + 7; } if (D == "" || D == null) { swid = getCookie("SWID"); if (swid != null && swid != "") { if (swid.indexOf("{") == 0 && swid.indexOf("}") == swid.length - 1) { D = "U"; } else { D = "N"; } } } anCV = E + F + A + D; } function getLoginStatus(A) { if (A == "Anonymous Guest") { return "U"; } else { if (A == "Guest Not Logged In") { return "N"; } else { if (A == "Registered, Passively Logged In") { return "0"; } else { if (A == "Registered, Actively Logged In") { return "1"; } else { return ""; } } } } } function getCookie(A) { var C = document.cookie.split("; "); for (var B = 0; B < C.length; B++) { cookie = C[B].split("="); if (cookie[0] == A) { return cookie[1]; } } return null; } function runOmnitureIndependently(E, D, F, C, B, A, G) { getOmnitureVar(E, D, F, C, B, A, G); callOmniture(); } function setAppRedirect(A) { espn.colorbox.login.appredirect = A; }

/* ---------------------------------------- /includes/jsbin/jquery-autocomplete.js ---------------------------------------- */
jQuery.autocomplete = function(input, options) {
	// Create a link to self
	var me = this;

	// Create jQuery object for input element
	var $input = $(input).attr("autocomplete", "off");

	// Apply inputClass if necessary
	if (options.inputClass) {
		$input.addClass(options.inputClass);
	}

	// Create results
	var results = document.createElement("div");

	// Create jQuery object for results
	// var $results = $(results);
	var $results = $(results).hide().addClass(options.resultsClass).css("position", "absolute");
	if( options.width > 0 ) {
		$results.css("width", options.width);
	}

	// Add to body element
	$("body").append(results);

	input.autocompleter = me;

	var timeout = null;
	var prev = "";
	var active = -1;
	var cache = {};
	var keyb = false;
	var hasFocus = false;
	var lastKeyPressCode = null;
	var mouseDownOnSelect = false;
	var hidingResults = false;

	// flush cache
	function flushCache(){
		cache = {};
		cache.data = {};
		cache.length = 0;
	};

	// flush cache
	flushCache();

	// if there is a data array supplied
	if( options.data != null ){
		var sFirstChar = "", stMatchSets = {}, row = [];

		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
		if( typeof options.url != "string" ) {
			options.cacheLength = 1;
		}

		// loop through the array and create a lookup structure
		for( var i=0; i < options.data.length; i++ ){
			// if row is a string, make an array otherwise just reference the array
			row = ((typeof options.data[i] == "string") ? [options.data[i]] : options.data[i]);

			// if the length is zero, don't add to list
			if( row[0].length > 0 ){
				// get the first character
				sFirstChar = row[0].substring(0, 1).toLowerCase();
				// if no lookup array for this character exists, look it up now
				if( !stMatchSets[sFirstChar] ) stMatchSets[sFirstChar] = [];
				// if the match is a string
				stMatchSets[sFirstChar].push(row);
			}
		}

		// add the data items to the cache
		for( var k in stMatchSets ) {
			// increase the cache size
			options.cacheLength++;
			// add to the cache
			addToCache(k, stMatchSets[k]);
		}
	}

	$input
	.keydown(function(e) {
		// track last key pressed
		lastKeyPressCode = e.keyCode;
		switch(e.keyCode) {
			case 38: // up
				e.preventDefault();
				moveSelect(-1);
				break;
			case 40: // down
				e.preventDefault();
				moveSelect(1);
				break;
			case 9:  // tab
			case 13: // return
				if( selectCurrent() ){
					// make sure to blur off the current field
					//$input.get(0).blur();
					//$input.next("input:text").focus();
					e.preventDefault();
				}
				break;
			default:
				active = -1;
				if (timeout) clearTimeout(timeout);
				timeout = setTimeout(function(){onChange();}, options.delay);
				break;
		}
	})
	.focus(function(){
		// track whether the field has focus, we shouldn't process any results if the field no longer has focus
		if(this.value==options.oldURL){this.value="";}
		hasFocus = true;
	})
	.blur(function() {
		if(this.value==""){this.value=options.oldURL;}
		// track whether the field has focus
		hasFocus = false;
		if (!mouseDownOnSelect) {
			hideResults();
		}
	});

	hideResultsNow();

	function onChange() {
		// ignore if the following keys are pressed: [del] [shift] [capslock]
		if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ) return $results.hide();
		var v = $input.val();
		if (v == prev) return;
		prev = v;
		if (v.length >= options.minChars) {
			$input.addClass(options.loadingClass);
			requestData(v);
		} else {
			$input.removeClass(options.loadingClass);
			$results.hide();
		}
	};

 	function moveSelect(step) {

		var lis = $("li", results);
		if (!lis) return;

		active += step;

		if (active < 0) {
			active = 0;
		} else if (active >= lis.size()) {
			active = lis.size() - 1;
		}

		lis.removeClass("ac_over");

		$(lis[active]).addClass("ac_over");

		// Weird behaviour in IE
		// if (lis[active] && lis[active].scrollIntoView) {
		// 	lis[active].scrollIntoView(false);
		// }

	};

	function selectCurrent() {
		var li = $("li.ac_over", results)[0];
		if (!li) {
			var $li = $("li", results);
			if (options.selectOnly) {
				if ($li.length == 1) li = $li[0];
			} else if (options.selectFirst) {
				li = $li[0];
			}
		}
		if (li) {
			selectItem(li);
			return true;
		} else {
			return false;
		}
	};

	function selectItem(li) {
		if (!li) {
			li = document.createElement("li");
			li.extra = [];
			li.selectValue = "";
		}
		
		var v = $.trim(li.selectValue ? li.selectValue : li.innerHTML);
		input.lastSelected = v;
		prev = v;
		$results.html("");
		
		v = v.replace(/<strong>/g, "");
		v = v.replace(/<\/strong>/g, "");
		$input.val(v);
		$input.next("input").val(li.id);
		hideResultsNow();
		if (options.onItemSelect) {
			setTimeout(function() { options.onItemSelect(li) }, 1);
		}
	};

	// selects a portion of the input string
	function createSelection(start, end){
		// get a reference to the input element
		var field = $input.get(0);
		if( field.createTextRange ){
			var selRange = field.createTextRange();
			selRange.collapse(true);
			selRange.moveStart("character", start);
			selRange.moveEnd("character", end);
			selRange.select();
		} else if( field.setSelectionRange ){
			field.setSelectionRange(start, end);
		} else {
			if( field.selectionStart ){
				field.selectionStart = start;
				field.selectionEnd = end;
			}
		}
		field.focus();
	};

	// fills in the input box w/the first match (assumed to be the best match)
	function autoFill(sValue){
		// if the last user key pressed was backspace, don't autofill
		if( lastKeyPressCode != 8 ){
			// fill in the value (keep the case the user has typed)
			$input.val($input.val() + sValue.substring(prev.length));
			// select the portion of the value not typed by the user (so the next character will erase)
			createSelection(prev.length, sValue.length);
		}
	};

	function showResults() {
		// get the position of the input field right now (in case the DOM is shifted)
		var pos = findPos(input);
		// either use the specified width, or autocalculate based on form element
		var iWidth = (options.width > 0) ? options.width : $input.width();
		// reposition
		$results.css({
			width: parseInt(iWidth) + "px",
			top: (pos.y + input.offsetHeight) + "px",
			left: pos.x + "px"
		}).show();
	};

	function hideResults() {
		if (timeout) clearTimeout(timeout);
		timeout = setTimeout(hideResultsNow, 200);
	};

	function hideResultsNow() {
		if (hidingResults) {
			return;
		}
		hidingResults = true;
	
		if (timeout) {
			clearTimeout(timeout);
		}
		
		var v = $input.removeClass(options.loadingClass).val();
		
		if ($results.is(":visible")) {
			$results.hide();
		}
		
		if (options.mustMatch) {
			if (!input.lastSelected || input.lastSelected != v) {
				selectItem(null);
			}
		}

		hidingResults = false;
	};

	function receiveData(q, data) {
		if (data) {
			$input.removeClass(options.loadingClass);
			results.innerHTML = "";

			// if the field no longer has focus or if there are no matches, do not display the drop down
			if( !hasFocus || data.length == 0 ) return hideResultsNow();

			if ($.browser.msie) {
				// we put a styled iframe behind the calendar so HTML SELECT elements don't show through
				$results.append(document.createElement('iframe'));
			}
			results.appendChild(dataToDom(data));
			// autofill in the complete box w/the first match as long as the user hasn't entered in more data
			if( options.autoFill && ($input.val().toLowerCase() == q.toLowerCase()) ) autoFill(data[0][0]);
			showResults();
		} else {
			hideResultsNow();
		}
	};

	function parseData(data) {
		if (!data) return null;
		var parsed = [];
		//var rows = data.split(options.lineSeparator);
		
		for (var i=0; i < data.List.length; i++) {
			var tempArray = new Array();
			tempArray[0] = data.List[i].Name.toLowerCase();
			tempArray[1] = data.List[i].Value;
			parsed.push(tempArray);
			/*var row = $.trim(data[i]);
			if (row) {
				parsed[parsed.length] = row.split(options.cellSeparator);
			}*/
			
		}
		return parsed;
	};

	function dataToDom(data) {
		var ul = document.createElement("ul");
		var num = data.length;

		// limited results to a max number
		if( (options.maxItemsToShow > 0) && (options.maxItemsToShow < num) ) num = options.maxItemsToShow;

		for (var i=0; i < num; i++) {
			var row = data[i];
			if (!row) continue;
			var li = document.createElement("li");
			if (options.formatItem) {
				li.innerHTML = options.formatItem(row, i, num);
				li.selectValue = row[0];
			} else {
				li.innerHTML = row[0];
				li.selectValue = row[0];
				li.id = row[1];
			}
			var extra = null;
			if (row.length > 1) {
				extra = [];
				for (var j=1; j < row.length; j++) {
					extra[extra.length] = row[j];
				}
			}
			li.extra = extra;
			ul.appendChild(li);
			
			$(li).hover(
				function() { $("li", ul).removeClass("ac_over"); $(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
				function() { $(this).removeClass("ac_over"); }
			).click(function(e) { 
				$input.focus();
				e.preventDefault();
				e.stopPropagation();
				selectItem(this)
			});
			
		}
		$(ul).mousedown(function() {
			mouseDownOnSelect = true;
		}).mouseup(function() {
			mouseDownOnSelect = false;
		});
		return ul;
	};

	function requestData(q) {
		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		// recieve the cached data
		if (data) {
			receiveData(q, data);
		// if an AJAX url has been supplied, try loading the data now
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			//$.get(makeUrl(q),dataType:"json", function(data) {
			$.ajax({type: "GET", url: "/CFAPI/SearchManagement/GetSchoolAutoCompleteByState.ajax?", data:"wildcard="+q+"&state="+$("#state option:selected").val(),dataType:"json",cache:false,
	  			success: function(data){
					data = parseData(data);
					addToCache(q, data);
					receiveData(q, data);
				}
			});
		// if there's been no data found, remove the loading class
		} else {
			$input.removeClass(options.loadingClass);
		}
	};

	function makeUrl(q) {
		var sep = options.url.indexOf('?') == -1 ? '?' : '&'; 
		var url = options.url + sep + "q=" + encodeURI(q);
		for (var i in options.extraParams) {
			url += "&" + i + "=" + encodeURI(options.extraParams[i]);
		}
		return url;
	};

	function loadFromCache(q) {
		if (!q) return null;
		if (cache.data[q]) return cache.data[q];
		if (options.matchSubset) {
			for (var i = q.length - 1; i >= options.minChars; i--) {
				var qs = q.substr(0, i);
				var c = cache.data[qs];
				if (c) {
					var csub = [];
					for (var j = 0; j < c.length; j++) {
						var x = c[j];
						var x0 = x[0];
						if (matchSubset(x0, q)) {
							csub[csub.length] = x;
						}
					}
					return csub;
				}
			}
		}
		return null;
	};

	function matchSubset(s, sub) {
		if (!options.matchCase) s = s.toLowerCase();
		var i = s.indexOf(sub);
		if (i == -1) return false;
		return i == 0 || options.matchContains;
	};

	this.flushCache = function() {
		flushCache();
	};

	this.setExtraParams = function(p) {
		options.extraParams = p;
	};

	this.findValue = function(){
		var q = $input.val();

		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		if (data) {
			findValueCallback(q, data);
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data)
				addToCache(q, data);
				findValueCallback(q, data);
			});
		} else {
			// no matches
			findValueCallback(q, null);
		}
	}

	function findValueCallback(q, data){
		if (data) $input.removeClass(options.loadingClass);
		var num = (data) ? data.length : 0;
		var li = null;

		for (var i=0; i < num; i++) {
			var row = data[i];

			if( row[0].toLowerCase() == q.toLowerCase() ){
				li = document.createElement("li");
				if (options.formatItem) {
					li.innerHTML = options.formatItem(row, i, num);
					li.selectValue = row[0];
				} else {
					li.innerHTML = row[0];
					li.selectValue = row[0];
				}
				var extra = null;
				if( row.length > 1 ){
					extra = [];
					for (var j=1; j < row.length; j++) {
						extra[extra.length] = row[j];
					}
				}
				li.extra = extra;
			}
		}

		if( options.onFindValue ) setTimeout(function() { options.onFindValue(li) }, 1);
	}

	function addToCache(q, data) {
		if (!data || !q || !options.cacheLength) return;
		if (!cache.length || cache.length > options.cacheLength) {
			flushCache();
			cache.length++;
		} else if (!cache[q]) {
			cache.length++;
		}
		cache.data[q] = data;
	};

	function findPos(obj) {
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	}
}

jQuery.fn.autocomplete = function(url, options, oldURL, data) {
	// Make sure options exists
	options = options || {};
	// Set url as option
	options.url = url;
	// set some bulk local data
	options.data = ((typeof data == "object") && (data.constructor == Array)) ? data : null;

	options.oldURL = oldURL?oldURL:"";

	// Set default values for required options
	options = $.extend({
		inputClass: "ac_input",
		resultsClass: "ac_results",
		lineSeparator: "\n",
		cellSeparator: "|",
		minChars: 1,
		delay: 400,
		matchCase: 0,
		matchSubset: 1,
		matchContains: 0,
		cacheLength: 1,
		mustMatch: 0,
		extraParams: {},
		loadingClass: "ac_loading",
		selectFirst: false,
		selectOnly: false,
		maxItemsToShow: -1,
		autoFill: false,
		width: 0
	}, options);
	options.width = parseInt(options.width, 10);

	this.each(function() {
		var input = this;
		new jQuery.autocomplete(input, options);
	});

	// Don't break the chain
	return this;
}

jQuery.fn.autocompleteArray = function(data, options) {
	return this.autocomplete(null, options, data);
}

jQuery.fn.indexOf = function(e){
	for( var i=0; i<this.length; i++ ){
		if( this[i] == e ) return i;
	}
	return -1;
};

/* ---------------------------------------- /includes/jsbin/jquery.fcbkcomplete.min.js ---------------------------------------- */
/*
 FCBKcomplete 2.6
 - Jquery version required: 1.2.x, 1.3.x
 
 Changelog:
 
 - 2.00	new version of fcbkcomplete
 
 - 2.01 fixed bugs & added features
 		fixed filter bug for preadded items
 		focus on the input after selecting tag
 		the element removed pressing backspace when the element is selected
 		input tag in the control has a border in IE7
 		added iterate over each match and apply the plugin separately
 		set focus on the input after selecting tag
 
 - 2.02 fixed fist element selected bug
 		fixed defaultfilter error bug
 
 - 2.5 	removed selected="selected" attribute due ie bug
 		element search algorithm changed
 		better performance fix added
 		fixed many small bugs
 		onselect event added
 		onremove event added
 		
 - 2.6 	ie6/7 support fix added
 		added new public method addItem due request
 		added new options "firstselected" that you can set true/false to select first element on dropdown list
 		autoexpand input element added
 		removeItem bug fixed
 		and many more bug fixed
 		
 */

/* Coded by: emposha <admin@emposha.com> */
/* Copyright: Emposha.com <http://www.emposha.com/> - Distributed under MIT - Keep this message! */
/*
 * json_url         - url to fetch json object
 * cache       		- use cache
 * height           - maximum number of element shown before scroll will apear
 * newel            - show typed text like a element
 * firstselected	- automaticly select first element from dropdown
 * filter_case      - case sensitive filter
 * filter_selected  - filter selected items from list
 * complete_text    - text for complete page
 * maxshownitems	- maximum numbers that will be shown at dropdown list (less better performance)
 * onselect			- fire event on item select
 * onremove			- fire event on item remove
 */

jQuery(
    function($) {
        $.fn.fcbkcomplete = function(opt) {
            return this.each(function() {
                function init() {
                    createFCBK();
                    preSet();
                    addInput(0);
                }

                function createFCBK() {
                    element.hide();
                    element.attr("multiple", "multiple");
                    if (element.attr("name").indexOf("[]") == -1) {
                        element.attr("name", element.attr("name") + "[]");
                    }

                    holder = $(document.createElement("ul"));
                    holder.attr("class", "holder");
                    element.after(holder);

                    complete = $(document.createElement("div"));
                    complete.addClass("facebook-auto");
                    complete.append('<div class="default">' + options.complete_text + "</div>");

                    if (browser_msie) {
                        complete.append('<iframe class="ie6fix" scrolling="no" frameborder="0"></iframe>');
                        browser_msie_frame = complete.children('.ie6fix');
                        //$("input:checkbox").parent().css("z-index","-1");
                    }

                    feed = $(document.createElement("ul"));
                    feed.attr("id", elemid + "_feed");

                    complete.prepend(feed);
                    holder.after(complete);
                    feed.css("width", complete.width());
                }

                function preSet() {
                    element.children("option").each(
		                function(i, option) {
		                    option = $(option);
		                    if (option.hasClass("selected")) {
		                        addItem(option.text(), option.val(), true);
		                        option.attr("selected", "selected");
		                    }
		                    else {
		                        option.removeAttr("selected");
		                    }

		                    cache.push({
		                        caption: option.text(),
		                        value: option.val()
		                    });
		                    search_string += "" + (cache.length - 1) + ":" + option.text() + ";";
		                }
		            );
                }

                //public method to add new item
                this.addItem = function(title, value) {
                    addItem(title, value);
                }

                function addItem(title, value, preadded) {
                    var li = document.createElement("li");
                    var txt = document.createTextNode(title);
                    var aclose = document.createElement("a");

                    $(li).attr({ "class": "bit-box", "rel": value });
                    $(li).prepend(txt);
                    $(aclose).attr({ "class": "closebutton", "href": "#" });

                    li.appendChild(aclose);
                    holder.append(li);

                    $(aclose).click(
	                    function() {
	                        $(this).parent("li").fadeOut("fast",
	                            function() {
	                                removeItem($(this));
	                            }
	                        );
	                        return false;
	                    }
	                );

                    if (!preadded) {
                        $("#" + elemid + "_annoninput").remove();
                        var _item;
                        addInput(1);
                        if (element.children("option[value=" + value + "]").length) {
                            _item = element.children("option[value=" + value + "]");
                            _item.get(0).setAttribute("selected", "selected");
                            if (!_item.hasClass("selected")) {
                                _item.addClass("selected");
                            }
                        }
                        else {
                            var _item = $(document.createElement("option"));
                            _item.attr("value", value).get(0).setAttribute("selected", "selected");
                            _item.attr("value", value).addClass("selected");
                            _item.text(title);
                            element.append(_item);
                        }
                        if (options.onselect.length) {
                            funCall(options.onselect, _item)
                        }
                    }
                    holder.children("li.bit-box.deleted").removeClass("deleted");
                    feed.hide();
                    browser_msie ? browser_msie_frame.hide() : '';
                }

                function removeItem(item) {
                    if (options.onremove.length) {
                        var _item = element.children("option[value=" + item.attr("rel") + "]");
                        funCall(options.onremove, _item)
                    }
                    element.children("option[value=" + item.attr("rel") + "]").removeAttr("selected");
                    element.children("option[value=" + item.attr("rel") + "]").removeClass("selected");
                    item.remove();
                    deleting = 0;
                }

                function addInput(focusme) {
                    var li = $(document.createElement("li"));
                    var input = $(document.createElement("input"));

                    li.attr({ "class": "bit-input", "id": elemid + "_annoninput" });
                    input.attr({ "type": "text", "class": "maininput", "size": "1" });
                    holder.append(li.append(input));

                    input.focus(
	                    function() {
	                        complete.fadeIn("fast");
	                    }
	                );

                    input.blur(
	                    function() {
	                        complete.hide();
	                    }
	                );

                    holder.click(
	                    function() {
	                        input.focus();
	                        if (feed.length && input.val().length) {
	                            feed.show();
	                        }
	                        else {
	                            feed.hide();
	                            browser_msie ? browser_msie_frame.hide() : '';
	                            complete.children(".default").show();
	                        }
	                    }
	                );

                    input.keypress(
	                    function(event) {
	                        if (event.keyCode == 13) {
	                            return false;
	                        }

	                        //auto expand input							
	                        input.attr("size", input.val().length + 1);
	                    }
	                );

                    input.keydown(
	                    function(event) {
	                        if(input.val().length > 34)
	                            return;
	                        //prevent to enter some bad chars when input is empty
	                        if (event.keyCode == 191) {
	                            event.preventDefault();
	                            return false;
	                        }
	                    }
	                );

                    input.keyup(
	                    function(event) {
                            if(input.val().length >= 34) {
	                            newVal = (input.val().substr(0,33));
	                            input.val(newVal);
	                            return;
	                        }
	                        var etext = xssPrevent(input.val());

	                        if (event.keyCode == 8 && etext.length == 0) {
	                            feed.hide();
	                            browser_msie ? browser_msie_frame.hide() : '';
	                            if (holder.children("li.bit-box.deleted").length == 0) {
	                                holder.children("li.bit-box:last").addClass("deleted");
	                                return false;
	                            }
	                            else {
	                                if (deleting) {
	                                    return;
	                                }
	                                deleting = 1;
	                                holder.children("li.bit-box.deleted").fadeOut("fast", function() {
	                                    removeItem($(this));
	                                    return false;
	                                });
	                            }
	                        }

	                        //if (event.keyCode != 40 && event.keyCode != 38 && etext.length != 0)
	                        // changed to only start requests when we have 3 or more characters
	                        if (event.keyCode != 40 && event.keyCode != 38 && etext.length > 2) {
	                            counter = 0;

	                            if (options.json_url) {
	                                if (options.cache && json_cache) {
	                                    addMembers(etext);
	                                    bindEvents();
	                                }
	                                else {
	                                    $.getJSON(options.json_url + "?wildcard=" + etext, null,
	                                        function(data) {
	                                            addMembers(etext, data);
	                                            json_cache = true;
	                                            bindEvents();
	                                        }
	                                    );
	                                }
	                            }
	                            else {
	                                addMembers(etext);
	                                bindEvents();
	                            }
	                            complete.children(".default").hide();
	                            feed.show();
	                        }
	                    }
	                );
                    if (focusme) {
                        setTimeout(function() {
                            input.focus();
                            complete.children(".default").show();
                        }, 1);
                    }
                }

                function addMembers(etext, dataNew) {
                    // added specifically for espn
                    data = dataNew.List;

                    feed.html('');

                    if (!options.cache) {
                        cache = new Array();
                        search_string = "";
                    }

                    addTextItem(etext);

                    if (data != null && data.length) {
                        $.each(data,
	                    	function(i, val) {
	                    	    cache.push(
									{
									    caption: val.Name,
									    value: val.Value
									}
								);
	                    	    search_string += "" + (cache.length - 1) + ":" + val.Name + ";";
	                    	}
						);
                    }

                    var maximum = options.maxshownitems < cache.length ? options.maxshownitems : cache.length;
                    var filter = "i";
                    if (options.filter_case) {
                        filter = "";
                    }

                    var myregexp, match;
                    try {
                        myregexp = eval('/(?:^|;)\\s*(\\d+)\\s*:[^;]*?' + etext + '[^;]*/g' + filter);
                        match = myregexp.exec(search_string);
                    } catch (ex) { };

                    var content = '';
                    while (match != null && maximum > 0) {
                        var id = match[1];
                        var object = cache[id];
                        if (options.filter_selected && element.children("option[value=" + object.caption + "]").hasClass("selected")) {
                            //nothing here...
                        }
                        else {
                            content += '<li rel="' + object.caption + '">' + itemIllumination(object.caption, etext) + '</li>';
                            counter++;
                            maximum--;
                        }
                        match = myregexp.exec(search_string);
                    }
                    feed.append(content);

                    if (options.firstselected) {
                        focuson = feed.children("li:visible:first");
                        focuson.addClass("auto-focus");
                    }

                    if (counter > options.height) {
                        feed.css({ "height": (options.height * 24) + "px", "overflow": "auto" });
                        if (browser_msie) {
                            browser_msie_frame.css({ "height": (options.height * 24) + "px", "width": feed.width() + "px" }).show();
                        }
                    }
                    else {
                        feed.css("height", "auto");
                        if (browser_msie) {
                            browser_msie_frame.css({ "height": feed.height() + "px", "width": feed.width() + "px" }).show();
                        }
                    }
                }

                function itemIllumination(text, etext) {
                    if (options.filter_case) {
                        try {
                            eval("var text = text.replace(/(.*)(" + etext + ")(.*)/gi,'$1<em>$2</em>$3');");
                        } catch (ex) { };
                    }
                    else {
                        try {
                            eval("var text = text.replace(/(.*)(" + etext.toLowerCase() + ")(.*)/gi,'$1<em>$2</em>$3');");
                        } catch (ex) { };
                    }
                    return text;
                }

                function bindFeedEvent() {
                    feed.children("li").mouseover(
			            function() {
			                feed.children("li").removeClass("auto-focus");
			                $(this).addClass("auto-focus");
			                focuson = $(this);
			            }
	                );

                    feed.children("li").mouseout(
			            function() {
			                $(this).removeClass("auto-focus");
			                focuson = null;
			            }
	                );
                }

                function removeFeedEvent() {
                    feed.children("li").unbind("mouseover");
                    feed.children("li").unbind("mouseout");
                    feed.mousemove(
			            function() {
			                bindFeedEvent();
			                feed.unbind("mousemove");
			            }
			        );
                }

                function bindEvents() {
                    var maininput = $("#" + elemid + "_annoninput").children(".maininput");
                    bindFeedEvent();
                    feed.children("li").unbind("mousedown");
                    feed.children("li").mousedown(
	                    function() {
	                        var option = $(this);
	                        addItem(option.text(), option.attr("rel"));
	                        feed.hide();
	                        browser_msie ? browser_msie_frame.hide() : '';
	                        complete.hide();
	                    }
	                );

                    maininput.unbind("keydown");
                    maininput.keydown(
	                    function(event) {
	                        if (event.keyCode == 191) {
	                            event.preventDefault();
	                            return false;
	                        }

	                        if (event.keyCode != 8) {
	                            holder.children("li.bit-box.deleted").removeClass("deleted");
	                        }

	                        if (event.keyCode == 13 && checkFocusOn()) {
	                            var option = focuson;
	                            addItem(option.text(), option.attr("rel"));
	                            complete.hide();
	                            event.preventDefault();
	                            focuson = null;
	                            return false;
	                        }

	                        if (event.keyCode == 13 && !checkFocusOn()) {
	                            if (options.newel) {
	                                var value = xssPrevent($(this).val());
	                                addItem(value, value);
	                                complete.hide();
	                                event.preventDefault();
	                                focuson = null;
	                            }
	                            return false;
	                        }

	                        if (event.keyCode == 40) {
	                            removeFeedEvent();
	                            if (focuson == null || focuson.length == 0) {
	                                focuson = feed.children("li:visible:first");
	                                feed.get(0).scrollTop = 0;
	                            }
	                            else {
	                                focuson.removeClass("auto-focus");
	                                focuson = focuson.nextAll("li:visible:first");
	                                var prev = parseInt(focuson.prevAll("li:visible").length, 10);
	                                var next = parseInt(focuson.nextAll("li:visible").length, 10);
	                                if ((prev > Math.round(options.height / 2) || next <= Math.round(options.height / 2)) && typeof (focuson.get(0)) != "undefined") {
	                                    feed.get(0).scrollTop = parseInt(focuson.get(0).scrollHeight, 10) * (prev - Math.round(options.height / 2));
	                                }
	                            }
	                            feed.children("li").removeClass("auto-focus");
	                            focuson.addClass("auto-focus");
	                        }
	                        if (event.keyCode == 38) {
	                            removeFeedEvent();
	                            if (focuson == null || focuson.length == 0) {
	                                focuson = feed.children("li:visible:last");
	                                feed.get(0).scrollTop = parseInt(focuson.get(0).scrollHeight, 10) * (parseInt(feed.children("li:visible").length, 10) - Math.round(options.height / 2));
	                            }
	                            else {
	                                focuson.removeClass("auto-focus");
	                                focuson = focuson.prevAll("li:visible:first");
	                                var prev = parseInt(focuson.prevAll("li:visible").length, 10);
	                                var next = parseInt(focuson.nextAll("li:visible").length, 10);
	                                if ((next > Math.round(options.height / 2) || prev <= Math.round(options.height / 2)) && typeof (focuson.get(0)) != "undefined") {
	                                    feed.get(0).scrollTop = parseInt(focuson.get(0).scrollHeight, 10) * (prev - Math.round(options.height / 2));
	                                }
	                            }
	                            feed.children("li").removeClass("auto-focus");
	                            focuson.addClass("auto-focus");
	                        }
	                    }
	                );
                }

                function addTextItem(value) {
                    if (options.newel) {
                        feed.children("li[fckb=1]").remove();
                        if (value.length == 0) {
                            return;
                        }
                        var li = $(document.createElement("li"));
                        li.attr({ "rel": value, "fckb": "1" }).html(value);
                        feed.prepend(li);
                        counter++;
                    } else {
                        return;
                    }
                }

                function funCall(func, item) {
                    var _object = "";
                    for (i = 0; i < item.get(0).attributes.length; i++) {
                        if (item.get(0).attributes[i].nodeValue != null) {
                            _object += "\"_" + item.get(0).attributes[i].nodeName + "\": \"" + item.get(0).attributes[i].nodeValue + "\",";
                        }
                    }
                    _object = "{" + _object + " notinuse: 0}";
                    try {
                        eval(func + "(" + _object + ")");
                    } catch (ex) { };
                }

                function checkFocusOn() {
                    if (focuson == null) {
                        return false;
                    }
                    if (focuson.length == 0) {
                        return false;
                    }
                    return true;
                }

                function xssPrevent(string) {
                    string = string.replace(/[\"\'][\s]*javascript:(.*)[\"\']/g, "\"\"");
                    string = string.replace(/script(.*)/g, "");
                    string = string.replace(/eval\((.*)\)/g, "");
                    string = string.replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '');
                    return string;
                }

                var options = $.extend({
                    json_url: null,
                    cache: false,
                    height: "10",
                    newel: false,
                    firstselected: false,
                    filter_case: false,
                    filter_hide: false,
                    complete_text: "Start to type...",
                    maxshownitems: 30,
                    onselect: "",
                    onremove: ""
                }, opt);

                //system variables
                var holder = null;
                var feed = null;
                var complete = null;
                var counter = 0;
                var cache = new Array();
                var json_cache = false;
                var search_string = "";
                var focuson = null;
                var deleting = 0;
                var browser_msie = "\v" == "v";
                var browser_msie_frame;

                var element = $(this);
                var elemid = element.attr("id");
                init();

                return this;
            });
        };
    }
);
/* ---------------------------------------- /includes/jsbin/jquery.history.js ---------------------------------------- */
/*
 * jQuery history plugin
 * 
 * sample page: http://www.mikage.to/jquery/jquery_history.html
 *
 * Copyright (c) 2006-2009 Taku Sano (Mikage Sawatari)
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Modified by Lincoln Cooper to add Safari support and only call the callback once during initialization
 * for msie when no initial hash supplied.
 */


jQuery.extend({
	historyCurrentHash: undefined,
	historyCallback: undefined,
	historyIframeSrc: undefined,
	historyNeedIframe: jQuery.browser.msie && (jQuery.browser.version < 8 || document.documentMode < 8),
	
	historyInit: function(callback, src){
		jQuery.historyCallback = callback;
		if (src) jQuery.historyIframeSrc = src;
		var current_hash = location.hash.replace(/\?.*$/, '');
		
		jQuery.historyCurrentHash = current_hash;
		if (jQuery.historyNeedIframe) {
			// To stop the callback firing twice during initilization if no hash present
			if (jQuery.historyCurrentHash == '') {
				jQuery.historyCurrentHash = '#';
			}
		
			// add hidden iframe for IE
			jQuery("body").prepend('<iframe id="jQuery_history" style="display: none;"'+
				' src="javascript:false;"></iframe>'
			);
			var ihistory = jQuery("#jQuery_history")[0];
			var iframe = ihistory.contentWindow.document;
			iframe.open();
			iframe.close();
			iframe.location.hash = current_hash;
		}
		else if (jQuery.browser.safari) {
			// etablish back/forward stacks
			jQuery.historyBackStack = [];
			jQuery.historyBackStack.length = history.length;
			jQuery.historyForwardStack = [];
			jQuery.lastHistoryLength = history.length;
			
			jQuery.isFirst = true;
		}
		if(current_hash)
			jQuery.historyCallback(current_hash.replace(/^#/, ''));
		setInterval(jQuery.historyCheck, 100);
	},
	
	historyAddHistory: function(hash) {
		// This makes the looping function do something
		jQuery.historyBackStack.push(hash);
		
		jQuery.historyForwardStack.length = 0; // clear forwardStack (true click occured)
		this.isFirst = true;
	},
	
	historyCheck: function(){
		if (jQuery.historyNeedIframe) {
			// On IE, check for location.hash of iframe
			var ihistory = jQuery("#jQuery_history")[0];
			var iframe = ihistory.contentDocument || ihistory.contentWindow.document;
			var current_hash = iframe.location.hash.replace(/\?.*$/, '');
			if(current_hash != jQuery.historyCurrentHash) {
			
				location.hash = current_hash;
				jQuery.historyCurrentHash = current_hash;
				jQuery.historyCallback(current_hash.replace(/^#/, ''));
				
			}
		} else if (jQuery.browser.safari) {
			if(jQuery.lastHistoryLength == history.length && jQuery.historyBackStack.length > jQuery.lastHistoryLength) {
				jQuery.historyBackStack.shift();
			}
			if (!jQuery.dontCheck) {
				var historyDelta = history.length - jQuery.historyBackStack.length;
				jQuery.lastHistoryLength = history.length;
				
				if (historyDelta) { // back or forward button has been pushed
					jQuery.isFirst = false;
					if (historyDelta < 0) { // back button has been pushed
						// move items to forward stack
						for (var i = 0; i < Math.abs(historyDelta); i++) jQuery.historyForwardStack.unshift(jQuery.historyBackStack.pop());
					} else { // forward button has been pushed
						// move items to back stack
						for (var i = 0; i < historyDelta; i++) jQuery.historyBackStack.push(jQuery.historyForwardStack.shift());
					}
					var cachedHash = jQuery.historyBackStack[jQuery.historyBackStack.length - 1];
					if (cachedHash != undefined) {
						jQuery.historyCurrentHash = location.hash.replace(/\?.*$/, '');
						jQuery.historyCallback(cachedHash);
					}
				} else if (jQuery.historyBackStack[jQuery.historyBackStack.length - 1] == undefined && !jQuery.isFirst) {
					// back button has been pushed to beginning and URL already pointed to hash (e.g. a bookmark)
					// document.URL doesn't change in Safari
					if (location.hash) {
						var current_hash = location.hash;
						jQuery.historyCallback(location.hash.replace(/^#/, ''));
					} else {
						var current_hash = '';
						jQuery.historyCallback('');
					}
					jQuery.isFirst = true;
				}
			}
		} else {
			// otherwise, check for location.hash
			var current_hash = location.hash.replace(/\?.*$/, '');
			if(current_hash != jQuery.historyCurrentHash) {
				jQuery.historyCurrentHash = current_hash;
				jQuery.historyCallback(current_hash.replace(/^#/, ''));
			}
		}
	},
	historyLoad: function(hash){
		var newhash;
		hash = decodeURIComponent(hash.replace(/\?.*$/, ''));
		
		if (jQuery.browser.safari) {
			newhash = hash;
		}
		else {
			newhash = '#' + hash;
			location.hash = newhash;
		}
		jQuery.historyCurrentHash = newhash;
		
		if (jQuery.historyNeedIframe) {
			var ihistory = jQuery("#jQuery_history")[0];
			var iframe = ihistory.contentWindow.document;
			iframe.open();
			iframe.close();
			iframe.location.hash = newhash;
			jQuery.lastHistoryLength = history.length;
			jQuery.historyCallback(hash);
		}
		else if (jQuery.browser.safari) {
			jQuery.dontCheck = true;
			// Manually keep track of the history values for Safari
			this.historyAddHistory(hash);
			
			// Wait a while before allowing checking so that Safari has time to update the "history" object
			// correctly (otherwise the check loop would detect a false change in hash).
			var fn = function() {jQuery.dontCheck = false;};
			window.setTimeout(fn, 200);
			jQuery.historyCallback(hash);
			// N.B. "location.hash=" must be the last line of code for Safari as execution stops afterwards.
			//      By explicitly using the "location.hash" command (instead of using a variable set to "location.hash") the
			//      URL in the browser and the "history" object are both updated correctly.
			location.hash = newhash;
		}
		else {
		  jQuery.historyCallback(hash);
		}
	}
});
/* ---------------------------------------- /includes/jsbin/jquery.imgareaselect.min.js ---------------------------------------- */
(function($){var abs=Math.abs,max=Math.max,min=Math.min,round=Math.round;function div(){return $('<div/>')}$.imgAreaSelect=function(img,options){var $img=$(img),imgLoaded,$box=div().addClass("removeMeLater"),$area=div(),$border=div().add(div()).add(div()).add(div()),$outer=div().add(div()).add(div()).add(div()),$handles=$([]),$areaOpera,left,top,imgOfs,imgWidth,imgHeight,$parent,parOfs,zIndex=0,position='absolute',startX,startY,scaleX,scaleY,resizeMargin=10,resize,aspectRatio,shown,x1,y1,x2,y2,selection={x1:0,y1:0,x2:0,y2:0,width:0,height:0},$p,d,i,o,w,h,adjusted;function viewX(x){return x+imgOfs.left-parOfs.left}function viewY(y){return y+imgOfs.top-parOfs.top}function selX(x){return x-imgOfs.left+parOfs.left}function selY(y){return y-imgOfs.top+parOfs.top}function evX(event){return event.pageX-parOfs.left}function evY(event){return event.pageY-parOfs.top}function getSelection(noScale){var sx=noScale||scaleX,sy=noScale||scaleY;return{x1:round(selection.x1*sx),y1:round(selection.y1*sy),x2:round(selection.x2*sx),y2:round(selection.y2*sy),width:round(selection.x2*sx)-round(selection.x1*sx),height:round(selection.y2*sy)-round(selection.y1*sy)}}function setSelection(x1,y1,x2,y2,noScale){var sx=noScale||scaleX,sy=noScale||scaleY;selection={x1:round(x1/sx),y1:round(y1/sy),x2:round(x2/sx),y2:round(y2/sy)};selection.width=(x2=viewX(selection.x2))-(x1=viewX(selection.x1));selection.height=(y2=viewX(selection.y2))-(y1=viewX(selection.y1))}function adjust(){if(!$img.width())return;imgOfs={left:round($img.offset().left),top:round($img.offset().top)};imgWidth=$img.width();imgHeight=$img.height();if($().jquery=='1.3.2'&&$.browser.safari&&position=='fixed'){imgOfs.top+=max(document.documentElement.scrollTop,$('body').scrollTop());imgOfs.left+=max(document.documentElement.scrollLeft,$('body').scrollLeft())}parOfs=$.inArray($parent.css('position'),['absolute','relative'])+1?{left:round($parent.offset().left)-$parent.scrollLeft(),top:round($parent.offset().top)-$parent.scrollTop()}:position=='fixed'?{left:$(document).scrollLeft(),top:$(document).scrollTop()}:{left:0,top:0};left=viewX(0);top=viewY(0)}function update(resetKeyPress){if(!shown)return;$box.css({left:viewX(selection.x1),top:viewY(selection.y1)}).add($area).width(w=selection.width).height(h=selection.height);$area.add($border).add($handles).css({left:0,top:0});$border.width(max(w-$border.outerWidth()+$border.innerWidth(),0)).height(max(h-$border.outerHeight()+$border.innerHeight(),0));$($outer[0]).css({left:left,top:top,width:selection.x1,height:imgHeight});$($outer[1]).css({left:left+selection.x1,top:top,width:w,height:selection.y1});$($outer[2]).css({left:left+selection.x2,top:top,width:imgWidth-selection.x2,height:imgHeight});$($outer[3]).css({left:left+selection.x1,top:top+selection.y2,width:w,height:imgHeight-selection.y2});w-=$handles.outerWidth();h-=$handles.outerHeight();switch($handles.length){case 8:$($handles[4]).css({left:w/2});$($handles[5]).css({left:w,top:h/2});$($handles[6]).css({left:w/2,top:h});$($handles[7]).css({top:h/2});case 4:$handles.slice(1,3).css({left:w});$handles.slice(2,4).css({top:h})}if(resetKeyPress!==false){if($.imgAreaSelect.keyPress!=docKeyPress)$(document).unbind($.imgAreaSelect.keyPress,$.imgAreaSelect.onKeyPress);if(options.keys)$(document)[$.imgAreaSelect.keyPress]($.imgAreaSelect.onKeyPress=docKeyPress)}if($.browser.msie&&$border.outerWidth()-$border.innerWidth()==2){$border.css('margin',0);setTimeout(function(){$border.css('margin','auto')},0)}}function doUpdate(resetKeyPress){adjust();update(resetKeyPress);x1=viewX(selection.x1);y1=viewY(selection.y1);x2=viewX(selection.x2);y2=viewY(selection.y2)}function hide($elem,fn){options.fadeSpeed?$elem.fadeOut(options.fadeSpeed,fn):$elem.hide()}function areaMouseMove(event){var x=selX(evX(event))-selection.x1,y=selY(evY(event))-selection.y1;if(!adjusted){adjust();adjusted=true;$box.one('mouseout',function(){adjusted=false})}resize='';if(options.resizable){if(y<=resizeMargin)resize='n';else if(y>=selection.height-resizeMargin)resize='s';if(x<=resizeMargin)resize+='w';else if(x>=selection.width-resizeMargin)resize+='e'}$box.css('cursor',resize?resize+'-resize':options.movable?'move':'');if($areaOpera)$areaOpera.toggle()}function docMouseUp(event){$('body').css('cursor','');if(options.autoHide||selection.width*selection.height==0)hide($box.add($outer),function(){$(this).hide()});options.onSelectEnd(img,getSelection());$(document).unbind('mousemove',selectingMouseMove);$box.mousemove(areaMouseMove)}function areaMouseDown(event){if(event.which!=1)return false;adjust();if(resize){$('body').css('cursor',resize+'-resize');x1=viewX(selection[/w/.test(resize)?'x2':'x1']);y1=viewY(selection[/n/.test(resize)?'y2':'y1']);$(document).mousemove(selectingMouseMove).one('mouseup',docMouseUp);$box.unbind('mousemove',areaMouseMove)}else if(options.movable){startX=left+selection.x1-evX(event);startY=top+selection.y1-evY(event);$box.unbind('mousemove',areaMouseMove);$(document).mousemove(movingMouseMove).one('mouseup',function(){options.onSelectEnd(img,getSelection());$(document).unbind('mousemove',movingMouseMove);$box.mousemove(areaMouseMove)})}else $img.mousedown(event);return false}function aspectRatioXY(){x2=max(left,min(left+imgWidth,x1+abs(y2-y1)*aspectRatio*(x2>x1||-1)));y2=round(max(top,min(top+imgHeight,y1+abs(x2-x1)/aspectRatio*(y2>y1||-1))));x2=round(x2)}function aspectRatioYX(){y2=max(top,min(top+imgHeight,y1+abs(x2-x1)/aspectRatio*(y2>y1||-1)));x2=round(max(left,min(left+imgWidth,x1+abs(y2-y1)*aspectRatio*(x2>x1||-1))));y2=round(y2)}function doResize(){if(abs(x2-x1)<options.minWidth){x2=x1-options.minWidth*(x2<x1||-1);if(x2<left)x1=left+options.minWidth;else if(x2>left+imgWidth)x1=left+imgWidth-options.minWidth}if(abs(y2-y1)<options.minHeight){y2=y1-options.minHeight*(y2<y1||-1);if(y2<top)y1=top+options.minHeight;else if(y2>top+imgHeight)y1=top+imgHeight-options.minHeight}x2=max(left,min(x2,left+imgWidth));y2=max(top,min(y2,top+imgHeight));if(aspectRatio)if(abs(x2-x1)/aspectRatio>abs(y2-y1))aspectRatioYX();else aspectRatioXY();if(abs(x2-x1)>options.maxWidth){x2=x1-options.maxWidth*(x2<x1||-1);if(aspectRatio)aspectRatioYX()}if(abs(y2-y1)>options.maxHeight){y2=y1-options.maxHeight*(y2<y1||-1);if(aspectRatio)aspectRatioXY()}selection={x1:selX(min(x1,x2)),x2:selX(max(x1,x2)),y1:selY(min(y1,y2)),y2:selY(max(y1,y2)),width:abs(x2-x1),height:abs(y2-y1)};update();options.onSelectChange(img,getSelection())}function selectingMouseMove(event){x2=resize==''||/w|e/.test(resize)||aspectRatio?evX(event):viewX(selection.x2);y2=resize==''||/n|s/.test(resize)||aspectRatio?evY(event):viewY(selection.y2);doResize();return false}function doMove(newX1,newY1){x2=(x1=newX1)+selection.width;y2=(y1=newY1)+selection.height;selection=$.extend(selection,{x1:selX(x1),y1:selY(y1),x2:selX(x2),y2:selY(y2)});update();options.onSelectChange(img,getSelection())}function movingMouseMove(event){x1=max(left,min(startX+evX(event),left+imgWidth-selection.width));y1=max(top,min(startY+evY(event),top+imgHeight-selection.height));doMove(x1,y1);event.preventDefault();return false}function startSelection(){adjust();x2=x1;y2=y1;doResize();resize='';if($outer.is(':not(:visible)'))$box.add($outer).hide().fadeIn(options.fadeSpeed||0);shown=true;$(document).unbind('mouseup',cancelSelection).mousemove(selectingMouseMove).one('mouseup',docMouseUp);$box.unbind('mousemove',areaMouseMove);options.onSelectStart(img,getSelection())}function cancelSelection(){$(document).unbind('mousemove',startSelection);hide($box.add($outer));selection={x1:selX(x1),y1:selY(y1),x2:selX(x1),y2:selY(y1),width:0,height:0};options.onSelectChange(img,getSelection());options.onSelectEnd(img,getSelection())}function imgMouseDown(event){if(event.which!=1||$outer.is(':animated'))return false;adjust();startX=x1=evX(event);startY=y1=evY(event);$(document).one('mousemove',startSelection).one('mouseup',cancelSelection);return false}function parentScroll(){doUpdate(false)}function imgLoad(){imgLoaded=true;setOptions(options=$.extend({classPrefix:'imgareaselect',movable:true,resizable:true,parent:'body',onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},options));$box.add($outer).css({visibility:''});if(options.show){shown=true;adjust();update();$box.add($outer).hide().fadeIn(options.fadeSpeed||0)}setTimeout(function(){options.onInit(img,getSelection())},0)}var docKeyPress=function(event){var k=options.keys,d,t,key=event.keyCode||event.which;d=!isNaN(k.alt)&&(event.altKey||event.originalEvent.altKey)?k.alt:!isNaN(k.ctrl)&&event.ctrlKey?k.ctrl:!isNaN(k.shift)&&event.shiftKey?k.shift:!isNaN(k.arrows)?k.arrows:10;if(k.arrows=='resize'||(k.shift=='resize'&&event.shiftKey)||(k.ctrl=='resize'&&event.ctrlKey)||(k.alt=='resize'&&(event.altKey||event.originalEvent.altKey))){switch(key){case 37:d=-d;case 39:t=max(x1,x2);x1=min(x1,x2);x2=max(t+d,x1);if(aspectRatio)aspectRatioYX();break;case 38:d=-d;case 40:t=max(y1,y2);y1=min(y1,y2);y2=max(t+d,y1);if(aspectRatio)aspectRatioXY();break;default:return}doResize()}else{x1=min(x1,x2);y1=min(y1,y2);switch(key){case 37:doMove(max(x1-d,left),y1);break;case 38:doMove(x1,max(y1-d,top));break;case 39:doMove(x1+min(d,imgWidth-selX(x2)),y1);break;case 40:doMove(x1,y1+min(d,imgHeight-selY(y2)));break;default:return}}return false};function styleOptions($elem,props){for(option in props)if(options[option]!==undefined)$elem.css(props[option],options[option])}function setOptions(newOptions){if(newOptions.parent)($parent=$(newOptions.parent)).append($box.add($outer));options=$.extend(options,newOptions);adjust();if(newOptions.handles!=null){$handles.remove();$handles=$([]);i=newOptions.handles?newOptions.handles=='corners'?4:8:0;while(i--)$handles=$handles.add(div());$handles.addClass(options.classPrefix+'-handle').css({position:'absolute',fontSize:0,zIndex:zIndex+1||1});if(!parseInt($handles.css('width')))$handles.width(5).height(5);if(o=options.borderWidth)$handles.css({borderWidth:o,borderStyle:'solid'});styleOptions($handles,{borderColor1:'border-color',borderColor2:'background-color',borderOpacity:'opacity'})}scaleX=options.imageWidth/imgWidth||1;scaleY=options.imageHeight/imgHeight||1;if(newOptions.x1!=null){setSelection(newOptions.x1,newOptions.y1,newOptions.x2,newOptions.y2);newOptions.show=!newOptions.hide}if(newOptions.keys)options.keys=$.extend({shift:1,ctrl:'resize'},newOptions.keys);$outer.addClass(options.classPrefix+'-outer');$area.addClass(options.classPrefix+'-selection');for(i=0;i++<4;)$($border[i-1]).addClass(options.classPrefix+'-border'+i);styleOptions($area,{selectionColor:'background-color',selectionOpacity:'opacity'});styleOptions($border,{borderOpacity:'opacity',borderWidth:'border-width'});styleOptions($outer,{outerColor:'background-color',outerOpacity:'opacity'});if(o=options.borderColor1)$($border[0]).css({borderStyle:'solid',borderColor:o});if(o=options.borderColor2)$($border[1]).css({borderStyle:'dashed',borderColor:o});$box.append($area.add($border).add($handles).add($areaOpera));if($.browser.msie){if(o=$outer.css('filter').match(/opacity=([0-9]+)/))$outer.css('opacity',o[1]/100);if(o=$border.css('filter').match(/opacity=([0-9]+)/))$border.css('opacity',o[1]/100)}if(newOptions.hide)hide($box.add($outer));else if(newOptions.show&&imgLoaded){shown=true;$box.add($outer).fadeIn(options.fadeSpeed||0);doUpdate()}aspectRatio=(d=(options.aspectRatio||'').split(/:/))[0]/d[1];if(options.disable||options.enable===false){$box.unbind('mousemove',areaMouseMove).unbind('mousedown',areaMouseDown);$img.add($outer).unbind('mousedown',imgMouseDown);$(window).unbind('resize',parentScroll);$img.add($img.parents()).unbind('scroll',parentScroll)}else if(options.enable||options.disable===false){if(options.resizable||options.movable)$box.mousemove(areaMouseMove).mousedown(areaMouseDown);if(!options.persistent)$img.add($outer).mousedown(imgMouseDown);$(window).resize(parentScroll);$img.add($img.parents()).scroll(parentScroll)}options.enable=options.disable=undefined}this.getOptions=function(){return options};this.setOptions=setOptions;this.getSelection=getSelection;this.setSelection=setSelection;this.update=doUpdate;$p=$img;while($p.length&&!$p.is('body')){if(!isNaN($p.css('z-index'))&&$p.css('z-index')>zIndex)zIndex=$p.css('z-index');if($p.css('position')=='fixed')position='fixed';$p=$p.parent()}if(!isNaN(options.zIndex))zIndex=options.zIndex;if($.browser.msie)$img.attr('unselectable','on');$.imgAreaSelect.keyPress=$.browser.msie||$.browser.safari?'keydown':'keypress';if($.browser.opera)$areaOpera=div().css({width:'100%',height:'100%',position:'absolute',zIndex:zIndex+2||2});$box.add($outer).css({visibility:'hidden',position:position,overflow:'hidden',zIndex:zIndex||'0'});$box.css({zIndex:zIndex+2||2});$area.add($border).css({position:'absolute'});img.complete||img.readyState=='complete'||!$img.is('img')?imgLoad():$img.one('load',imgLoad)};$.fn.imgAreaSelect=function(options){options=options||{};this.each(function(){if($(this).data('imgAreaSelect'))$(this).data('imgAreaSelect').setOptions(options);else{if(options.enable===undefined&&options.disable===undefined)options.enable=true;$(this).data('imgAreaSelect',new $.imgAreaSelect(this,options))}});if(options.instance)return $(this).data('imgAreaSelect');return this}})(jQuery);
/* ---------------------------------------- /includes/jsbin/social.core.js ---------------------------------------- */
$(document).ready(function () {
    $.ajax({
        url: "/Handlers/GetActiveEntity.ajax" + ((typeof g_cfViewEntityId == "undefined" || g_cfViewEntityId == "") ? "" : "?veid=" + g_cfViewEntityId),
        cache: false,
        dataType: 'json',
        success: function (data) {
            if (data.IsUnder13 == true && (document.URL.indexOf("/Community/Under-13.aspx") < 0))
                document.location = "/Community/Under-13.aspx";

            // store logged in entity info
            social.entityInfo = data.Entity;
            if (social.entityInfo)
                social.entityInfo.PassivelyLoggedIn = data.PassivelyLoggedIn;
            else
                social.PassivelyLoggedIn = data.PassivelyLoggedIn;

            if (social.entityInfo) {
                $(".uploadPhotoLink").each(function () {
                    _this = $(this);
                    thisId = _this.attr("rel");
                    _this.attr("href", "/Community/Account/" + social.entityInfo.DisplayName + ".aspx#My Stuff/Pics/Upload Pics/eventId_" + thisId);
                });
                $(".uploadVideoLink").each(function () {
                    _this = $(this);
                    thisId = _this.attr("rel");
                    _this.attr("href", "/Community/Account/" + social.entityInfo.DisplayName + ".aspx#My Stuff/Flicks/Upload Flick/eventId_" + thisId);
                });
                $(".addBlogLink").each(function () {
                    _this = $(this);
                    thisId = _this.attr("rel");
                    _this.attr("href", "/Community/Account/" + social.entityInfo.DisplayName + ".aspx#My Stuff/Blogs/Add Blog/eventId_" + thisId);
                });
            }

            if (social.entityInfo)
                social.entityInfo.AssociatedSchoolEntityId = data.AssociatedSchoolEntityId;

            if (data.Entity == null)
                jCore.writeCookie("sportAndState", "N/A||anonymous");
            else
                jCore.writeCookie("sportAndState", data.Entity.PrimaryPursuitName + "||registered");

            if (typeof isHomepage != "undefined" && isHomepage == true) {
                /*if(social.ifLoggedIn()) {
                document.location = "/Handlers/RedirectRegisteredUser.aspx";
                } else if(jCore.readCookie("sportSelection") && jCore.readCookie("sportSelection") != "") {
                document.location = "/Handlers/RedirectRegisteredUser.aspx?pid="+jCore.readCookie("sportSelection");
                } else*/
                if (!social.ifLoggedIn() && (!jCore.readCookie('cfAuth') && jCore.readCookie('cfGoRegPreRegistration'))) {
                    $("#hpSignUpBtn").css("visibility", "hidden");
                    $("#hpSignUpCopy #colorboxMe").replaceWith("<a href='/Community/Register.aspx' id='colorboxMe'>FINISH REGISTRATION</a>");
                }
            }
            if (social.ifLoggedIn() && data.Entity.PrimaryPursuitId != null)
                jCore.writeCookie("sportSelection", data.Entity.PrimaryPursuitId);
            if (typeof initAskRiseModule != "undefined")
                initAskRiseModule();
            // store logged in roles
            if (data.Roles)
                social.entityInfo.Roles = data.Roles;
            // store impersonating status
            if (social.entityInfo)
                social.entityInfo.Impersonating = data.Impersonating;
            // store origin id if available
            if (social.entityInfo && data.OriginEntityId)
                social.entityInfo.OriginEntityId = data.OriginEntityId;
            // initialize commenting
            if (social.comments)
                social.comments.initComments(data.Entity);
            // initialize likes
            if (social.likes)
                social.likes.initLikes();
            // initialize favorites
            if (social.favorites)
                social.favorites.initFavs();
            // initialize block user
            if (social.block)
                social.block.initBlockUser(data.IsBlocking);
            // initialize dashboard
            if (document.getElementById('headerProfileDash'))
                social.initDashboard(data);
            // init forums
            if (social.forums && document.getElementById('forumsDetail')) {
                social.forums.findForumView();
            }
            // test to see if we are on account page
            if (document.getElementById("profileNavigation") && document.getElementById("profileSubNavigation") && document.getElementById("profileContent") && social.account) {
                if (!data.Entity) {
                    $("#dashLoginLink").trigger("click");
                    $("#profileContent").html("<h2>You are not authorized to view this page.</h2>");
                } else {
                    social.account.getNav();
                }
            }
            if (typeof g_doLogin != "undefined" && g_doLogin == true) {
                $("#dashLoginLink").trigger("click");
            }
            // test to see if we are on profile page
            /*if (document.getElementById("profileTabsWrap") && document.getElementById("profileAjaxContent") && social.profile) {
            social.profile.initUtilLinks(data.IsFriend);
            if (social.ifLoggedIn() && g_cfViewEntitySubType == 2 && social.entityInfo.Id == g_cfViewEntityId) {
            $(".breadCrumbTitleArea").replaceWith('<div id="accountNav"></div>');
            social.profile.addSocialNav();
            }
            social.profile.applyNavHistory();
            social.profile.profileContRef = $("#profileAjaxContent");
            }*/
            // new profile conditions
            if (document.getElementById('profileAccountNavWrap') && social.profile && !document.getElementById("profileTabsWrap")) {
                social.profile.initUtilLinks(data.IsFriend);
                social.profile.updateStatus('#statusMessageModule');
                social.profile.initPressModule();
                if (social.ifLoggedIn() && g_cfViewEntityType == 6 && social.entityInfo.Id == g_cfViewEntityId) {
                    social.profile.editModule('.editableModule');
                    $("#changeStatus").show();
                    social.profile.addSocialNav();
                    social.profile.initFriendsModule();
                    social.profile.initProfileBlogModule();
                } else {
                    $("#changeStatus").remove();
                }
            } else if (document.getElementById("profileTabsWrap") && document.getElementById("profileAjaxContent") && social.profile) {
                social.profile.initUtilLinks(data.IsFriend);
                if (social.ifLoggedIn() && g_cfViewEntitySubType == 2 && social.entityInfo.Id == g_cfViewEntityId) {
                    $(".breadCrumbTitleArea").replaceWith('<div id="accountNav"></div>');
                    social.profile.addSocialNav();
                }
                social.profile.applyNavHistory();
                social.profile.profileContRef = $("#profileAjaxContent");
            }
            if (document.getElementById("memberBlogLanding")) {
                social.profile.initMemberBlogLanding();
            }
            if (document.getElementById('memberFriendsLanding')) {
                social.profile.initMemberFriendLanding();
            }
            // check to see if the form builder function exists
            if (typeof initFormBuilder == 'function') {
                initFormBuilder();
            }
        },
        error: function () {
            redirect = (document.location.toString()).replace("http://" + document.domain, "");
            //social.lbDialog.showOverlay("Error occured while getting active entity.", function() {}, true);
        }
    });
    // preloading various images for social
    loaderBG = new Image();
    loaderBG.src = "/Media/backgrounds/social_load_bg.png";
    loaderIcon = new Image();
    loaderIcon.src = "/Media/backgrounds/profile_loader.gif";
    modalBG = new Image();
    modalBG.src = "/Media/backgrounds/overlay.png";

    
});
var social = {
    initDashboard: function (data) {
        redirect = social.getRedirectUrl();

        logoutLinkRef = (document.location.href.indexOf("/Community/Account/") == -1) ? document.location.href : "http://" + document.domain;


        // make sure this person is logged in
        if (!social.ifLoggedIn() && (!jCore.readCookie('cfAuth') && jCore.readCookie('cfGoRegPreRegistration'))) {
            //redirect = (document.location.toString()).replace("http://"+document.domain, "");
            cookieVal = jCore.readCookie('cfGoRegPreRegistration').split("|");
            callbackUrl = "http://" + s_domain + "/community/register.aspx";
            /*if (callbackUrl.indexOf("#") != -1 && (callbackUrl.toLowerCase().indexOf("/community/members/") == -1 || callbackUrl.toLowerCase().indexOf("/community/account/") == -1)) {
            callbackUrl = callbackUrl.split("#")[0] + ord + "#" + callbackUrl.split("#")[1]
            }*/

            document.getElementById("headerProfileDash").innerHTML = "<span id='dashLoggedOut'>Hey, " + cookieVal[0] + "! <a href='https://r.espn.go.com/members/logout?appRedirect=" + logoutLinkRef + "' onclick='return social.globalLogout();' class='signOutDash'>sign out</a> or <a href='" + ((cookieVal[1]) ? cookieVal[1] : "/community/register.aspx") + "' onclick='return social.checkPassiveLoginStateForCompleteReg(this);'>Complete your registration now!</a></span><a tref='/members/v3_1/login' data-appRedirect='" + callbackUrl + "' href='' data-regformid='espn_rise' data-language='en' data-affiliatename='espn_rise' class='cbOverlay' style='visibility:hidden;position:absolute;top:0;left:0;' id='dashLoginLink'></a>";
            //document.getElementById("headerProfileDash").innerHTML = "<span id='dashAvater'><img width='40' src='/Media/anonymous.gif'/></span><span id='dashLoggedOut'>Hey, " + cookieVal[0] + "! <a href='https://r.espn.go.com/members/logout?appRedirect=http://" + document.domain + "/All-Sports.aspx' onclick='return social.globalLogout();' class='signOutDash'>sign out</a><br/><a href='" + ((cookieVal[1]) ? cookieVal[1] : "/community/register.aspx") + "' onclick='return social.checkPassiveLoginStateForCompleteReg(this);'>Complete your registration now!</a></span><a class='colorboxMeDash' id='dashLoginLink' href='" + s_loginUrl + escape(callbackUrl).replace(/\//g, "%2F") + "' style='visibility:hidden;position:absolute;top:0;left:0;'></a>";
            //$(".colorboxMeDash").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
            return;
        } else if (!social.ifLoggedIn()) {

            var ord = Math.random() * 10000000000000000;
            ord = Math.round(ord);
            if (document.location.href.indexOf("?_=") == -1)
                ord = "?_=" + ord;

            callbackUrl = document.location.href;
            if (callbackUrl.indexOf("#") != -1 && (callbackUrl.toLowerCase().indexOf("/community/members/") == -1 || callbackUrl.toLowerCase().indexOf("/community/account/") == -1)) {
                callbackUrl = callbackUrl.split("#")[0] + ord + "#" + callbackUrl.split("#")[1]
            }
            //console.log(callbackUrl);
            document.getElementById("headerProfileDash").innerHTML = "<span id='dashLoggedOut'>Hey, Guest! <a tref='/members/v3_1/login' data-appRedirect='" + callbackUrl + "' href='' data-regformid='espn_rise' data-language='en' data-affiliatename='espn_rise' class='cbOverlay' id='dashLoginLink'>Sign In</a> or <a id='dashSignupLink' data-appRedirect='" + s_riseRegistrationUrl + "' tref='/members/v3_1/register' href='' data-regformid='espn_rise' data-language='en' data-affiliatename='espn_rise' class='cbOverlay' id='dashSignUpLink'>Sign up now</a></span>";
            //document.getElementById("headerProfileDash").innerHTML = "<span id='dashAvater'><img width='40' src='/Media/anonymous.gif'/></span><span id='dashLoggedOut'>Hey, Guest! <a class='colorboxMeDash' id='dashLoginLink' href='" + s_loginUrl + escape(callbackUrl).replace(/\//g, "%2F") + "'>Sign in</a><br/><a class='colorboxMeDash' href='/GoReg/Registration.aspx'>Not a member? Sign up now</a></span>";
            //document.getElementById("headerProfileDash").innerHTML = "<span id='dashAvater'><img width='40' src='/Media/anonymous.gif'/></span><span id='dashLoggedOut'>Hey, Guest! <a class='colorboxMeDash' id='dashLoginLink' href='" + jCore.readCookie('cfGoRegLoginUrl') + escape(document.location.href).replace(/\//g, "%2F") + ord + "'>Sign in</a><br/><a class='colorboxMeDash' href='/GoReg/Registration.aspx'>Not a member? Sign up now</a></span>";
            //$(".colorboxMeDash").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
            return;
        }

        tempSource = new Array();
        //tempSource.push("<img src='"+data.Entity.Icon.Url.replace("~/","/Assets/").replace(".jpg","_1.jpg")+"' id='dashAvater' />");
        if (social.currentUserRole("admin")) {
            if (social.entityInfo.OriginEntityId != social.entityInfo.Id)
                tempSource.push("<a onclick='social.impersonateUser(\"" + social.entityInfo.OriginEntityId + "\", this); return false;' id='dashImpersonateGreen' title='Turn Off Impersonation' href=''>!</a>");
            else {
                if (typeof g_cfViewEntityId != "undefined" && social.entityInfo.Id != g_cfViewEntityId)
                    tempSource.push("<a onclick='social.impersonateUser(\"" + g_cfViewEntityId + "\", this); return false;' id='dashImpersonate' title='Impersonate User' href=''>!</a>");
            }
        }
        //tempSource.push("<a onclick='social.toggleDashFull(this);return false;' href='#' id='dashArrow'></a>");
        //tempSource.push("<span id='dashAvater'><a href='/Community/Account/" + data.Entity.DisplayName + ".aspx#My Stuff/Pics'><img " + social.constrainImageSize(40, 40, data.Entity.Icon.Height, data.Entity.Icon.Width, data.Entity.Icon.Url, 1) + " title='Change Picture' alt='Change Picture' /></a></span>");


        tempSource.push("<span id='dashWelcome'>");

        tempSource.push("Hey&sbquo;&nbsp;<span><a href='" + data.Entity.ProfileUrl + "'>" + data.Entity.PublicLabel.substring(0, 23) + "" + ((data.Entity.PublicLabel.length > 23) ? "&hellip;" : "") + "</a></span> ");
        tempSource.push("<a class='signOutDash' href='https://r.espn.go.com/members/logout?appRedirect=" + logoutLinkRef + "' onclick='return social.globalLogout();'>sign out</a>");
        tempSource.push("</span>");

        tempSource.push("<a href='/Community/Account/" + data.Entity.DisplayName + ".aspx#Inbox/Unread'>" + data.UnreadMessagesCount + " Msgs</a>");

        var ord = Math.random() * 10000000000000000;
        ord = Math.round(ord);
        if (document.location.href.indexOf("?_=") == -1)
            ord = "?_=" + ord;
        //tempSource.push("<span id='dashLinks'><a href='/Community/Account/" + data.Entity.DisplayName + ".aspx'>MY ACCOUNT</a><span class='dashDivide'></span><a href='" + data.Entity.ProfileUrl + "'>MY PUBLIC PROFILE</a><!-- <span class='dashDivide'></span><a href='/CFAPI/MySchool.aspx'>MY SCHOOL</a><span class='dashDivide'></span><a href='/Community/Account/" + data.Entity.DisplayName + ".aspx#Inbox/Unread'>INBOX</a> --></span>");
        callbackUrl = document.location.href;
        if (callbackUrl.indexOf("#") != -1 && (callbackUrl.toLowerCase().indexOf("/community/members/") == -1 || callbackUrl.toLowerCase().indexOf("/community/account/") == -1)) {
            callbackUrl = callbackUrl.split("#")[0] + ord + "#" + callbackUrl.split("#")[1]
        }
        //tempSource.push("<div id='dashExtended'>");
        //tempSource.push("Loading...</div>");
        //tempSource.push("<a class='colorboxMeDash' id='dashLoginLink' href='" + s_loginUrl + escape(callbackUrl).replace(/\//g, "%2F") + "' style='visibility:hidden;position:absolute;top:0;left:0;'></a>");
        tempSource.push("<a tref='/members/v3_1/login' href='' data-appRedirect='" + callbackUrl + "' data-regformid='espn_rise' data-language='en' data-affiliatename='espn_rise' class='cbOverlay' style='visibility:hidden;position:absolute;top:0;left:0;' id='dashLoginLink'></a>");
        

        if (document.getElementById("headerProfileDash"))
            document.getElementById("headerProfileDash").innerHTML = tempSource.join("");
        delete tempSource;
        //$(".colorboxMeDash").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
        //social.updateDashUnreadCount();
    },
    checkPassiveLoginStateForCompleteReg: function (el) {
        if (typeof social.PassivelyLoggedIn != "undefined" && social.PassivelyLoggedIn == true) {
            $("#dashLoginLink").trigger("click");
            return false;
        } else {
            return true;
        }
    },
    globalLogout: function() {
        //call logout handler
        $.ajax({
            url: "/Handlers/Logout.aspx",
            cache: false,
            dataType: "json",
            async: false,
            success: function () {
                return true;
            }
        });
        //just nuke the cookies
        jCore.writeCookie('cfGoRegPreRegistration', '', -1);
    },
    toggleDashFull: function (el) {
        isHidden = ($("#dashExtended").css("display") == "block") ? false : true;
        if (isHidden) {
            $(el).addClass("extendedDashArrow");
            $("#dashExtended").show();
            $(el).removeAttr("style").css("bottom", (parseFloat($(el).css("bottom"), 10) - $("#dashExtended").height()));
            social.requestNewDashData(el);
        } else {
            $(el).removeClass("extendedDashArrow").removeAttr("style");
            $("#dashExtended").hide();
        }
    },
    requestNewDashData: function (el) {
        $.ajax({
            url: "/CFAPI/ActivityManagement/GetActivityFeed.ajax",
            dataType: "json",
            cache: false,
            success: function (data) {
                tempSource = [];
                for (i = 0; i < 4; i++) {
                    tempSource.push(social.buildActivityItem(data.ActivityFeed[i]));
                }
                $("#dashExtended").html(tempSource.join(""));
                $(el).removeAttr("style").css("bottom", (parseFloat($(el).css("bottom"), 10) - $("#dashExtended").height()));
            }
        });
    },
    getRedirectUrl: function () {
        return (document.location.toString()).split("?")[0].replace("http://" + document.domain, "").toString();
    },
    ifLoggedIn: function () {
        return ((social.entityInfo && jCore.readCookie("cfAuth")) ? true : false);
    },
    checkRelationshipToLoggedInEntity: function (checkId, relType) {
        $.ajax({
            url: "/CFAPI/CoreManagement/GetMyRelationshipEntities.ajax",
            data: "rt=" + relType,
            dataType: "json",
            success: function (data) {
                var userIsBlocked = false;
                for (i = 0; i < data.Relationships.length; i++) {
                    if (data.Relationships[i].DestinationEntity.Id == checkId)
                        return true;
                }
                return false;
            }
        });
    },
    currentUserRole: function (testRole) {
        for (a = 0; a < social.entityInfo.Roles.length; a++) {
            if (social.entityInfo.Roles[a].toLowerCase() == testRole)
                return true;
        }
        return false;
    },
    impersonateUser: function (eid, el) {
        $.ajax({
            url: "/CFAPI/CoreManagement/ImpersonateEntity.ajax?ieid=" + eid,
            cache: false,
            dataType: "json",
            async: false,
            success: function (data) {
                document.location.reload();

            }
        });
    },
    constrainImageSize: function (height, width, imgHeight, imgWidth, url, size) {
        if (imgHeight > imgWidth) { // checking orientation
            if (((height / imgHeight) * imgWidth) > width)
                return "width='" + width + "' src='" + url.replace("~/", "/Assets/").replace(".jpg", "_" + size + ".jpg") + "'"
            else
                return "height='" + height + "' width='" + Math.floor(imgWidth / (imgHeight / height)) + "' src='" + url.replace("~/", "/Assets/").replace(".jpg", "_" + size + ".jpg") + "'"
        } else {
            if (((width / imgWidth) * imgHeight) > height)
                return "height='" + height + "' width='" + Math.floor(imgWidth / (imgHeight / height)) + "' src='" + url.replace("~/", "/Assets/").replace(".jpg", "_" + size + ".jpg") + "'"
            else
                return "width='" + width + "' src='" + url.replace("~/", "/Assets/").replace(".jpg", "_" + size + ".jpg") + "'"
        }
    },
    updateDashUnreadCount: function () {
        $.getJSON("/CFAPI/CommunicationManagement/GetUnreadMessagesCount.ajax", function (data) {
            if (document.getElementById("dashUnreadCount"))
                document.getElementById("dashUnreadCount").innerHTML = data.Result;
        });
    },
	initSelectWidth: function() {
		if ($.browser.msie && $.browser.version.substr(0, 1) < 9) {
			$('.genericForm #myProfileEditFields select#state')
			
			.wrap('<div class="select-wrap" style="width:145px; overflow:hidden; display:block; float:left; margin: 4px 10px 0 0;"/>')
			
			.mousedown(function() {
				if($(this).css("width") != "auto") {
					var width = $(this).width();
					$(this).data("origWidth", $(this).css("width")).css("width", "auto");

					if($(this).width() < width) {
						$(this).unbind('mousedown');
						$(this).css("width", $(this).data("origWidth"));
					}
				}
			})

			.blur(function() {
				$(this).css("width", $(this).data("origWidth"));
			})

			.change(function() {
				$(this).css("width", $(this).data("origWidth"));
			});  
		}
	},
    /* GET DATE OUT OF JSON DATE STRING
    ********************************************************************************************************/
    addTimeZoneOffSet: function (date, offset) {
        newDate = new Date(date);
        //console.log(newDate);
        if (typeof offset == NaN || offset == "")
            return newDate;

        //console.log(parseFloat(offset)/100);
        jsonOffset = (parseFloat(offset) / 100) * 3600000;


        d = new Date();

        diff = ((parseFloat(offset) / 100) - (-d.getTimezoneOffset() / 60)) * 3600000;
        localDiff = (-d.getTimezoneOffset() / 60) * 3600000;
        //console.log(localDiff);
        //console.log(diff);
        //clientOffset = ((-d.getTimezoneOffset()/60)*3600000);
        //tempVal = parseFloat(date) - jsonOffset + clientOffset;
        tempVal = (parseFloat(date));
        newDate = new Date(tempVal);
        //console.log(newDate);
        return newDate;
    },
    getDateFromDotNetJSONString: function (jsonDate) {
        //plainDate = eval(jsonDate.replace(/\/Date\((\d+)(\-?\+?\d{4})*\)\//gi, "social.addTimeZoneOffSet($1,'$2')"));
        return eval(jsonDate.replace(/\/Date\((\d+)(\-?\+?\d{4})*\)\//gi, "new Date($1);"));
    },
    /* METHOD FOR SHOWING FULL DATE ON 'PRETTY DATE' TEXT
    ********************************************************************************************************/
    showTimeFull: function (el) {
        $(el).find("span").show();
        $(el).bind("mouseout", function () {
            $(this).find("span").hide();
        });

    },
    /* METHOD FOR CREATING TEMP ENTITY OBJECT
    ********************************************************************************************************/
    createEntityObjects: function (Entities) {
        tempObj = {};
        for (e = 0; e < Entities.length; e++) {
            thisIcon = (Entities[e].Icon == null) ? "" : Entities[e].Icon.Url.replace("~/", "/Assets/").replace(".jpg", "_1.jpg");
            tempObj[Entities[e].Id.toString()] = { "Info": [Entities[e].PublicLabel, thisIcon, Entities[e].Icon.Width, Entities[e].Icon.Height, Entities[e].DisplayName, Entities[e].ProfileUrl, (((Entities[e].City == null) ? "" : Entities[e].City.toLowerCase() + ", ") + ((Entities[e].State == null) ? "" : Entities[e].State)), Entities[e].Signature] };
        }
        return tempObj;
        delete tempObj;
    },
    /* METHOD FOR CREATING PAGINATION
    ********************************************************************************************************/
    pagination: {
        /* BUILD PAGINATION, REQUIRES PagingInfo FROM JSON
        ********************************************************************************************************/
        buildPagination: function (pagingInfo, callback, includeFirstLastLinks) {
            if (pagingInfo.TotalItems == 0)
                return "<ul class='genericPagination'><li class='totlePages'>(0 Pages Total)</li></ul>";
            else if (pagingInfo.Page == 0 && (pagingInfo.PageSize > pagingInfo.TotalItems))
                return "<ul class='genericPagination'><li class='totlePages'>(1 Page Total)</li></ul>";


            totalPages = Math.ceil(pagingInfo.TotalItems / pagingInfo.PageSize);

            //startPage = (pagingInfo.Page<3)?1:(pagingInfo.Page - 1);
            //endPage = ((startPage+5)>totalPages)?totalPages:(startPage+4);

            // determine start page
            startPage = (pagingInfo.Page < 8) ? 1 : (pagingInfo.Page - 1);
            // determind end page
            endPage = ((startPage + 10) > totalPages) ? totalPages : (startPage + 9);

            paginationSource = new Array();
            paginationSource.push('<ul class="genericPagination">');

            // add first page link
            if (includeFirstLastLinks == true)
                paginationSource.push(((pagingInfo.Page - 1) < 0) ? "" : "<li><a onclick='social.pagination.paginationAction(1); return false;' href='#'> First </a></li>");
            // add prev page link
            paginationSource.push(((pagingInfo.Page - 1) < 0) ? "" : "<li><a onclick='social.pagination.paginationAction(" + pagingInfo.Page + "); return false;' href='#'> Prev </a></li>");

            // add page links
            for (i = startPage; i <= endPage; i++) {
                // var to hold page link count
                pp = i - 1;
                // current page isnt a link
                if ((pp) == pagingInfo.Page)
                    paginationSource.push('<li>' + i + '</li>');
                else
                    paginationSource.push("<li><a onclick='social.pagination.paginationAction(" + i + "); return false;' href='#'> " + i + " </a></li>");
            }

            // add next page link
            paginationSource.push(((pagingInfo.Page + 2) > (totalPages)) ? "" : "<li><a onclick='social.pagination.paginationAction(" + ((pagingInfo.Page) + 2) + "); return false;' href='#'> Next </a></li>");
            // add last page link
            if (includeFirstLastLinks == true)
                paginationSource.push(((pagingInfo.Page + 2) > (totalPages)) ? "" : "<li><a onclick='social.pagination.paginationAction(" + (totalPages) + "); return false;' href='#'> Last </a></li>");

            // add total pages text
            paginationSource.push("<li class='totlePages'>(" + totalPages + " Pages Total)</li>");

            paginationSource.push('</ul>');

            return paginationSource.join("");

            // clean up
            delete startPage;
            delete endPage;
            delete totalPages;
            delete paginationSource;
        }
    },
    lbDialog: {
        /*************************************************
        LIGHTBOX FUNCTIONALITY
        *************************************************/
        doc: $(document),
        win: $(window),
        overlay: $("#overlay"),
        dialogBox: $("#dialog"),
        messageBox: $("#messageBox", "#dialog"),
        actionButton: $("#dialogAction", "#dialog"),
        cancelButton: $("#dialogCancel", "#dialog"),
        updatePreview: function preview(img, selection) {
            if (!selection.width || !selection.height)
                return;

            var scaleX = 100 / selection.width;
            var scaleY = 100 / selection.height;

            $('#preview img').css({
                width: Math.round(scaleX * $(img).width()),
                height: Math.round(scaleY * $(img).height()),
                marginLeft: -Math.round(scaleX * selection.x1),
                marginTop: -Math.round(scaleY * selection.y1)
            });
        },
        showCropBox: function (Id, url, Ht, Wd) {
            social.lbDialog.cancelButton.hide();
            social.lbDialog.actionButton.hide();
            social.lbDialog.dialogBox.addClass("cropDialog").width(600).css("overflow", "hidden");

            cropPopup = new Array();
            cropPopup.push('<div class="floatRight" style="font-size:12px;">PREVIEW<br/><div style="overflow: hidden; width: 100px; height: 100px;" id="preview"><img src="' + url.replace("~", "/Assets").replace(".jpg", "_3.jpg") + '"/></div><a onclick="social.account.saveEntityIcon(social.lbDialog.imgRef.getSelection(true), \'' + Id + '\', \'' + Ht + '\', \'' + Wd + '\'); return false;" id="cropSaver" class="cropButton" href="#">SAVE</a><a onclick="social.lbDialog.hideOverlay();return false;" href="#" class="cropButton">CANCEL</a></div>');
            cropPopup.push("<div id='cropMeWrap' style='height:300px;width:413px;background:#efefef;text-align:center;'><img style='margin-bottom:-46px;' id='cropMe' " + social.constrainImageSize(300, 413, Ht, Wd, url, 3) + "/></div>");
            // resize and position over
            social.lbDialog.overlay.height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).show().bind("click", function () { social.lbDialog.hideOverlay(); });
            // put new source into modal box
            social.lbDialog.showDialog(cropPopup.join(""), function () { });

            // calculate starting point for cropper
            tempRef = $('img#cropMe');
            startX = ((tempRef.width() / 2) - 50);
            startY = ((tempRef.height() / 2) - 50);
            // init cropper
            social.lbDialog.imgRef = $('img#cropMe').imgAreaSelect({ minHeight: 50, minWidth: 50, x1: startX, y1: startY, x2: (startX + 100), y2: (startY + 100), instance: true, aspectRatio: '1:1', handles: "corners", fadeSpeed: 200, onSelectChange: social.lbDialog.updatePreview, onInit: social.lbDialog.updatePreview });
            // bind resize of modal overlay
            social.lbDialog.win.bind("resize", function () { social.lbDialog.overlayResize(); });
        },
        showMessageAddFriend: function (id, pubLabel) {
            social.lbDialog.cancelButton.hide();
            social.lbDialog.actionButton.hide();
            //social.lbDialog.dialogBox.addClass("messageBox");
            social.lbDialog.dialogBox.width(500);
            social.lbDialog.overlay.height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).show().bind("click", function () { social.lbDialog.hideOverlay(); });

            formContent = new Array()
            formContent.push("<form onsubmit='social.account.modalSendFriendRequest(this); return false;' id='messageDetailForm' action=''>");
            formContent.push("	<p class='messageFormTitle'>ADD " + pubLabel.toUpperCase() + " AS A FRIEND</p>");
            formContent.push("	<input type='hidden' name='deid' value='" + id + "' />");
            formContent.push("	<textarea onfocus=\"if(this.innerHTML=='enter optional message...'){this.innerHTML=''}\" id='messageDetailReplyBox' name='body'>enter optional message...</textarea>");
            formContent.push("	<button onclick='social.lbDialog.hideOverlay()' type='reset'>CANCEL</button>");
            formContent.push("	<button type='submit'>SUBMIT</button>");
            formContent.push("</form>");

            social.lbDialog.showDialog(formContent.join(""), function () { });
            social.lbDialog.win.bind("resize", function () { social.lbDialog.overlayResize(); });
        },
        showMessageForm: function (recId, optionalSubject) {
            social.lbDialog.cancelButton.hide();
            social.lbDialog.actionButton.hide();
            //social.lbDialog.dialogBox.addClass("messageBox");
            social.lbDialog.dialogBox.width(500);
            social.lbDialog.overlay.height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).show().bind("click", function () { social.lbDialog.hideOverlay(); });

            formContent = new Array()
            formContent.push("<form onsubmit='social.account.modalSendMessage(this); return false;' id='messageDetailForm' action=''>");
            formContent.push("	<p class='messageFormTitle'>NEW MESSAGE</p>");
            formContent.push("	<input type='hidden' name='recipientEntityIds' value='" + recId + "' />");
            var subjectAttrs;
            if (typeof optionalSubject == "undefined") {
                subjectAttrs = " value='enter a subject...' onfocus=\"if(this.value=='enter a subject...'){this.value=''}\""
            } else {
                slashApost = new RegExp(/\[apostrophe\]/gim);
                newVal = optionalSubject.replace(slashApost, "&#39;");
                subjectAttrs = "value='" + newVal + "' disabled='disabled'";
            }
            formContent.push("	<input type='text'" + subjectAttrs + " name='subject' />");
            formContent.push("	<textarea onfocus=\"if(this.innerHTML=='enter your message...'){this.innerHTML=''}\" id='messageDetailReplyBox' name='body'>enter your message...</textarea>");
            formContent.push("	<button onclick='social.lbDialog.hideOverlay()' type='reset'>CANCEL</button>");
            formContent.push("	<button type='submit'>SUBMIT</button>");
            formContent.push("</form>");

            social.lbDialog.showDialog(formContent.join(""), function () { });
            social.lbDialog.win.bind("resize", function () { social.lbDialog.overlayResize(); });
        },
        showOverlayTransition: function (message, callback, ifDialog) {

            if (!document.getElementById("dialogCover"))
                $(".moduleContentInner", social.lbDialog.dialogBox).append("<div id='dialogCover' style='position:absolute;top:0;left:0;z-index:99999;height:" + social.lbDialog.dialogBox.height() + "px;width:" + social.lbDialog.dialogBox.width() + "px;background:white;display:none;'></div>");

            $("#dialogCover").fadeIn("fast", function () {
                newLeft = parseInt(social.lbDialog.dialogBox.css("left"), 10) + 85;
                newTop = parseInt(social.lbDialog.dialogBox.css("top"), 10) + 100;
                social.lbDialog.dialogBox.animate({ "width": 330, "left": newLeft, "height": 144, "top": newTop }, function () {

                    if (ifDialog == true) {
                        social.lbDialog.cancelButton.hide();
                        social.lbDialog.actionButton.html("OK").show();
                    } else {
                        social.lbDialog.cancelButton.show();
                        social.lbDialog.actionButton.html("Yes").show();
                    }
                    social.lbDialog.overlay.height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).show().bind("click", function () { social.lbDialog.hideOverlay(); });
                    social.lbDialog.showDialog(message, callback);
                    social.lbDialog.win.bind("resize", function () { social.lbDialog.overlayResize(); });
                });
            });
        },

        showOverlay: function (message, callback, ifDialog) {
            //social.lbDialog.dialogBox.removeClass("messageBox");
            social.lbDialog.dialogBox.width(330);
            if (ifDialog == true) {
                social.lbDialog.cancelButton.hide();
                social.lbDialog.actionButton.html("OK").addClass("centerMe").show();
            } else {
                social.lbDialog.cancelButton.show();
                social.lbDialog.actionButton.html("Yes").removeClass("centerMe").show();
            }
            social.lbDialog.overlay.height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).show().bind("click", function () { social.lbDialog.hideOverlay(); });
            social.lbDialog.showDialog(message, callback);
            social.lbDialog.win.bind("resize", function () { social.lbDialog.overlayResize(); });
        },
        overlayResize: function () {
            social.lbDialog.showDialog();
            social.lbDialog.overlay.hide().height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).show();
        },
        hideOverlay: function () {
            //social.lbDialog.dialogBox.hide().removeClass("messageBox");
            social.lbDialog.dialogBox.removeClass("cropDialog").width(330).hide();
            social.lbDialog.actionButton.unbind("click");
            social.lbDialog.overlay.hide().unbind("click");
            social.lbDialog.win.unbind("resize");
            $(".removeMeLater, .imgareaselect-outer").remove();
        },
        showDialog: function (message, callback) {
            social.lbDialog.messageBox.html(message);
            if (document.getElementById("dialogCover")) {
                social.lbDialog.dialogBox.css("height", "auto")
                $("#dialogCover").fadeOut("fast", function () { $(this).remove() });
            }
            newLeft = (social.lbDialog.win.width() / 2) - (social.lbDialog.dialogBox.width() / 2);
            newTop = (social.lbDialog.win.height() / 2) - (social.lbDialog.dialogBox.height() / 2) + social.lbDialog.win.scrollTop();
            social.lbDialog.actionButton.bind("click", function () { callback(); social.lbDialog.hideOverlay(); return false; });
            //social.lbDialog.dialogBox.css({"top":newTop,"left":newLeft}).show();
            social.lbDialog.dialogBox.css({ "top": newTop, "left": newLeft }).fadeIn("normal");
        }
    },
    /* TURN DATE INTO 'PRETTY' DISPLAY SUCH AS '5 MINUTES AGO' OR 'WEDNESDAY AT 12:30 AM'
    ********************************************************************************************************/
    prettyDate: function (date) {
        diff = (((new Date()).getTime() - date.getTime()) / 1000),
		day_diff = Math.floor(diff / 86400);
        days_array = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

        if (isNaN(day_diff) || day_diff < 0)
            return prettyDate(new Date());
        return day_diff == 0 && (
				diff < 60 && "<span onmouseover='social.showTimeFull(this);' class='timeStampExpand'>just now<span>: " + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear().toString().substr(2, 2) + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") + "</span></span>" ||
				diff < 120 && "<span onmouseover='social.showTimeFull(this);' class='timeStampExpand'>1 minute ago<span>: " + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear().toString().substr(2, 2) + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") + "</span></span>" ||
				diff < 3600 && "<span onmouseover='social.showTimeFull(this);' class='timeStampExpand'>" + Math.floor(diff / 60) + " minutes ago<span>: " + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear().toString().substr(2, 2) + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") + "</span></span>" ||
				diff < 7200 && "<span onmouseover='social.showTimeFull(this);' class='timeStampExpand'>1 hour ago<span>: " + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear().toString().substr(2, 2) + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") + "</span></span>" ||
				diff < (86400 - diff) && "<span onmouseover='social.showTimeFull(this);' class='timeStampExpand'>" + Math.floor(diff / 3600) + " hours ago<span>: " + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear().toString().substr(2, 2) + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") + "</span></span>") ||
			day_diff < 1 && "Yesterday" + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") ||
			day_diff < 6 && days_array[date.getDay()] + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? ("0" + date.getMinutes()) : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM") ||
			day_diff >= 6 && (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear().toString().substr(2, 2) + " at " + ((date.getHours() > 12) ? (date.getHours() - 12) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " PM" : (date.getHours()) + ":" + ((date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()) + " AM");
    },
    getIframeHeight: function () {
        return (($.browser.msie && $.browser.version.substr(0, 1) < 8) ? 550 : 528);
    },
    getIframeWidth: function () {
        return (($.browser.msie && $.browser.version.substr(0, 1) < 8) ? 850 : 840);
    }
};

// Fix state dropdown with bug in IE
social.initSelectWidth();

/* ---------------------------------------- /includes/jsbin/social.likes.js ---------------------------------------- */
social.likes = {
    initLikes: function () {
        // store all info requested
        social.storedItemRequests = new Array(); ;

        $(".socialLike").each(function () {

            scope = $(this);
            tempTitle = scope.attr("title").split(",");

            // fund out how many likes we already have for this item
            $.ajax({
                url: "/CFAPI/CoreManagement/GetSocialObjectInfo.ajax",
                data: "sot=" + tempTitle[1] + "&soid=" + tempTitle[0],
                dataType: "json",
                success: function (data) {
                    scope.html(data.Votes + ((data.Votes == 1) ? " Like" : " Likes"));
                    //if(social.entityInfo == null) {
                    if (!social.ifLoggedIn()) {
                        redirect = social.getRedirectUrl();
                        scope.replaceWith("<a href='javascript:void(0)' onclick='$(\"#dashLoginLink\").trigger(\"click\");' onmouseover='this.innerHTML=\"Log in to Like!\";' onmouseout='this.innerHTML=\"" + scope.html() + "\"' style='background-position:-200px -20px;color:#012E46;padding-right:10px;' id='btnShareOpinion'>" + scope.html() + "</a>");
                    } else if (jCore.readCookie("vote_" + social.entityInfo.Id + "_" + tempTitle[0])) {
                        scope.replaceWith("<span style='background-position:-200px -20px;color:#012E46;padding-right:10px;' id='btnShareOpinion'>" + scope.html() + "</span>");
                    } else {
                        scope.bind("click", function () {
                            social.likes.submitLike(tempTitle[0], scope, tempTitle[1]);
                        });
                    }
                    scope.attr("title", "");
                }
            });
        });
    },
    submitLike: function (id, el, type) {
        $.ajax({
            url: "/CFAPI/ActivityManagement/RateSocialObject.ajax",
            data: "sot=" + type + "&soid=" + id + "&v=9",
            dataType: "json",
            success: function (data) {
                $(el).replaceWith("<span style='background-position:-200px -20px;color:#012E46;padding-right:10px;' id='btnShareOpinion'>" + (parseInt(scope.html().replace(" Likes", ""), 10) + 1) + " Likes</span>");
            }
        });
    }
}
/* ---------------------------------------- /includes/jsbin/social.favorites.js ---------------------------------------- */
social.favorites = {
    initFavs: function () {
        $(".socialBarFav").each(function () {
            favScope = $(this);

            if (!social.ifLoggedIn()) {
                redirect = social.getRedirectUrl();
                favScope.mouseover(function () {
                    this.innerHTML = "Sign in";
                }).mouseout(function () {
                    this.innerHTML = "Favorite";
                }).attr("title", "").attr("href", "javascript:void(0);").click(function () { $("#dashLoginLink").trigger("click"); }); ;
            } else {
                tempInfo = favScope.attr("title").split(",");
                favScope.attr("rev", favScope.attr("title"));

                favScope.attr("title", "");
                if (jCore.readCookie("fav_" + social.entityInfo.Id + "_" + tempInfo[0])) {

                    favScope.addClass("saved");
                    //favScope.replaceWith("<span style='background-position:-71px -20px;width:70px;color:#012E46;padding-right:10px;' id='btnShareFavorites'>Favorite</span>");
                } else {
                    favScope.click(function () {
                        tempInfo = $(this).attr("rev").split(",");
                        social.favorites.submitFav(tempInfo[0], this, tempInfo[1]);
                        return false;
                    });
                }

            }
        });
    },
    submitFav: function (id, el, type) {
        $.ajax({
            url: "/CFAPI/ResourceManagement/SaveFavorite.ajax",
            data: "sot=" + type + "&soid=" + id,
            dataType: "json",
            success: function (data) {
                //$(el).remove();
                //$(el).replaceWith("<span style='background-position:-71px -20px;width:70px;color:#012E46;padding-right:10px;' id='btnShareFavorites'>Favorite</span>");
                $(el).addClass("saved");
                jCore.writeCookie("fav_" + social.entityInfo.Id + "_" + id, "true", 365);
            }
        });
    }
}
/* ---------------------------------------- /includes/jsbin/social.comments.js ---------------------------------------- */
social.comments = {
    initFlashComments: function (dsoid, dsot) {
        // $(".commentsContent").attr('title', '{"dsoid":"' + dsoid + '","dsot":"' + dsot + '"}');
    },
    initComments: function (socialEntity) {
        // get ref to comment containers
        if (!document.getElementById("flashMediaCenterWrap")) {
            social.comments.storeEntity = socialEntity;
            commentsCont = $(".commentsContent");
            commentsCont.each(function (i) { // for each container
                //extra check to make sure title holds info we need
                if ($(this).attr("title") != "") {
                    // get info needed to init comments from title attr and convert to json object
                    commentInfo = eval("(" + $(this).attr("title") + ')');
                    // request new data based on info provided
                    social.comments.requestCommentData(commentInfo);
                    // clean up
                    delete commentInfo;
                    // clear title after it is used
                    $(this).attr("title", "");
                }
            });
            // clean up
            delete commentsCont;
        }
    },
    requestCommentData: function (rData, page, ifProfile, ifTracking) {
        page = (typeof page == "undefined") ? 0 : page;
        if (typeof rData != "undefined" && rData != "") {// checking for undefined	
            if (typeof rData == "string") // extra check to make sure data has been converted to json
                social.rData = eval('(' + rData + ')');
            else
                social.rData = rData;
        }
        if (jCore.getUrlParam("comment")) {
            commentUrl = (typeof ifProfile == "undefined" || !ifProfile) ? "/CFAPI/CommunicationManagement/GetComment.ajax" : "/CFAPI/ProfileManagement/GetComment.ajax";
            tracking = (typeof ifTracking == "undefined" || !ifTracking) ? "&trackSOView=false" : "&trackSOView=true";
            $.ajax({
                url: commentUrl + "?includePagingInfo=1&cid=" + jCore.getUrlParam("comment") + tracking,
                data: "dsot=" + social.rData.dsot,
                dataType: "json",
                success: function (data) {
                    if (data.Errors && data.Errors.length > 0) {
                        if (data.Errors[0].ErrorId == 1078) {
                            if (document.getElementById('profileAjaxContent'))
                                document.getElementById('profileAjaxContent').innerHTML = "You do not have permission to view this profile.";
                        }
                    }
                    if (data.Comments.length <= 0) {
                        social.lbDialog.showOverlay("The comment you were looking for has been removed.", function () { }, true);
                        social.comments.fullRequest(rData, page);
                    }
                    else
                        social.comments.buildComments(data);
                }
            });
        } else {
            commentUrl = (typeof ifProfile == "undefined" || !ifProfile) ? "/CFAPI/CommunicationManagement/GetComments.ajax" : "/CFAPI/ProfileManagement/GetComments.ajax";
            // time to make request
            social.comments.fullRequest(rData, page, commentUrl, ifTracking);
        }
    },
    fullRequest: function (rData, page, commentUrl, ifTracking) {
        tracking = (typeof ifTracking == "undefined" || !ifTracking) ? "&trackSOView=false" : "&trackSOView=true";
        $.ajax({
            url: commentUrl + "?includePagingInfo=1&page=" + page + "" + tracking,
            data: "dsoid=" + social.rData.dsoid + "&dsot=" + social.rData.dsot,
            dataType: "json",
            success: function (data) {
                if (data.Errors && data.Errors.length > 0) {
                    if (data.Errors[0].ErrorId == 1078) {
                        if (document.getElementById('profileAjaxContent'))
                            document.getElementById('profileAjaxContent').innerHTML = "You do not have permission to view this profile.";
                    }
                }
                social.comments.buildComments(data);
            }
        });
    },
    saveCommentWithAttach: function (commentText, resourceIds, mediaType) {
        //social.comments.savedCommentText = data;
        social.comments.saveComment(commentText, function () { social.comments.initComments(social.comments.storeEntity); }, "" + mediaType + "=" + resourceIds + "");
    },
    buildComments: function (data) {
        // create temp array
        commentSource = new Array();

        // start comment form
        if (social.ifLoggedIn()) { // test for if you are logged in. social.ifLoggedIn() is in social.core.js 

            commentSource.push('<form action="" onsubmit="social.comments.saveComment(this.commentBody); return false;" class="commentForm clear">');
            /*if(social.entityInfo.EntitySubType != 2) {// not an athlete/student
            commentSource.push('<p>You must be a student to participate.</p>');
            } else*/
            if (data.AllowCommentingStatus == 0) {
                var commentPid = ($(".svFeedButton_askRise").length > 0) ? "?pid=" + $(".svFeedButton_askRise:first").attr("rel") : "";
                commentSource.push('	<iframe style="overflow:hidden;" scrolling="no" allowtransparency="true" height="315" width="380" border="0" frameborder="0" src="/CFAPI/CommentWithAttachment.aspx' + commentPid + '"></iframe>');
                //commentSource.push('	<p>COMMENT</p>');
                //commentSource.push('	<textarea name="commentBody"></textarea>');
                //commentSource.push('    <p class="commentError"></p>');
                //commentSource.push('	<button class="commentFormCancel" type="reset">CANCEL</button>');
                //commentSource.push('	<button type="submit">SEND</button>');
            } else {
                commentSource.push('<p>Comments are not allowed at this time.</p>');
            }
            commentSource.push('</form>');

        } else { // if not logged in...
            redirect = social.getRedirectUrl();
            commentSource.push('<div class="commentForm loggedOut clear">');
            commentSource.push('	<p>Login or Sign Up for ESPNHS in order to comment</p>');
            commentSource.push('	<a href="javascript:void(0);" onclick="$(\'#dashLoginLink\').trigger(\'click\');">LOG IN</a>');
            commentSource.push('	<a href="javascript:void(0);" onclick="$(\'#dashSignupLink\').trigger(\'click\');">SIGN UP</a>');
            commentSource.push('</div>');
        }

        // start comment items
        if (data.Comments.length == 0) // if no comments
            commentSource.push("<p class='noMessagesMessage'>Be the first to comment!</p>");
        else {
            // create privateEntities object from all entities inside data
            privateEntities = social.createEntityObjects(data.Entities);

            commentSource.push('<div class="commentItems">');

            // loop through comments and create
            for (i = 0; i < data.Comments.length; i++) {
                commentSource.push('<div class="commentItem clear" id="' + ((jCore.getUrlParam("comment") && (jCore.getUrlParam("comment") == data.Comments[i].Id)) ? "deepLinkedMessage" : "") + '">');
                commentSource.push('	<div class="commentUserPhoto"><a href="' + privateEntities[data.Comments[i].SourceEntityId].Info[5] + '"><img ' + social.constrainImageSize(44, 44, privateEntities[data.Comments[i].SourceEntityId].Info[3], privateEntities[data.Comments[i].SourceEntityId].Info[2], privateEntities[data.Comments[i].SourceEntityId].Info[1].replace("_1.jpg", ".jpg"), 1) + '/></a></div>');
                commentSource.push('	<div class="commentUser breakMyWords"><a href="' + privateEntities[data.Comments[i].SourceEntityId].Info[5] + '">' + privateEntities[data.Comments[i].SourceEntityId].Info[0] + '</a></div>');
                if (data.Comments[i].Attachments && data.Comments[i].Attachments.length > 0) {
                    if (data.Comments[i].CustomFields.List[0].Name.toLowerCase() == "attachedimageid") {
                        commentSource.push('	<div class="floatLeft"><a href="/all-sports/Photos.aspx?id=' + data.Comments[i].Attachments[0].Id + '"><img ' + social.constrainImageSize(200, 150, data.Comments[i].Attachments[0].Height, data.Comments[i].Attachments[0].Width, data.Comments[i].Attachments[0].Url, 1) + '/></a></div>');
                    } else {

                        if (data.Comments[i].Attachments[0].Icon.Url == "http://" + document.domain + "/Assets/CFS/2009/12/9/9c7265ab-8af7-45f6-a78a-118b4dcd8b2c.jpg") {
                            commentSource.push('	<div class="floatLeft" style="position:relative;"><span class="vidThumbPlayIcon"></span><img ' + social.constrainImageSize(200, 150, data.Comments[i].Attachments[0].Icon.Height, data.Comments[i].Attachments[0].Icon.Width, data.Comments[i].Attachments[0].Icon.Url, 1) + '/></div>');
                        } else {
                            commentSource.push('	<div class="floatLeft" style="position:relative;"><a href="/all-sports/Videos.aspx?id=' + data.Comments[i].Attachments[0].Id + '"><span class="vidThumbPlayIcon"></span><img ' + social.constrainImageSize(200, 150, data.Comments[i].Attachments[0].Icon.Height, data.Comments[i].Attachments[0].Icon.Width, data.Comments[i].Attachments[0].Icon.Url, 1) + '/></a></div>');
                        }

                    }
                }
                commentSource.push('	<div class="commentBody breakMyWords">' + unescape(data.Comments[i].Body) + '</div>');
                commentSource.push('	<div class="commentDate">' + social.prettyDate(social.getDateFromDotNetJSONString(data.Comments[i].AddDate)) + '</div>');
                // start if moderator tests. this decides what links to show with comment
                commentModerator = false;
                for (m = 0; m < data.Comments[i].ModeratorEntityIds.length; m++) {
                    if (social.ifLoggedIn() && social.entityInfo.Id == data.Comments[i].ModeratorEntityIds[m])
                        commentModerator = true;
                }
                // start optional utility links
                commentSource.push('<div class="moderatorLinks clear">');

                // if you are logged in you can flag this content
                if (social.ifLoggedIn() && (social.entityInfo.Id != data.Comments[i].SourceEntityId)) {
                    if (jCore.readCookie("abuse_" + social.entityInfo.Id + "_" + data.Comments[i].Id))
                        commentSource.push('<span>Flagged</span>');
                    else
                        commentSource.push('<a onclick="social.flag.reportAbuse(\'' + data.Comments[i].Id + '\',this, \'Comment\');" href="javascript: void(0);">Flag</a>');
                }


                // if you are listed as one of the moderators of this content you can delete
                if (social.ifLoggedIn() && (social.entityInfo.Id != data.Comments[i].SourceEntityId) && commentModerator)
                    commentSource.push(' | ');
                if (commentModerator)
                    commentSource.push('<a onclick="social.comments.removeComment(\'' + data.Comments[i].Id + '\',this)" href="javascript: void(0);">Delete</a>');

                commentSource.push('</div>');
                // end if moderator tests
                commentSource.push('</div>');
            }
            commentSource.push('</div>');
        }

        // redefine action method for our use here
        social.pagination.paginationAction = function (page) {
            social.comments.requestCommentData("", (page - 1));
            $("#comments").autoScroll();
            return false;
        }

        // add pagination source to array
        commentSource.push(social.pagination.buildPagination(data.PagingInfo));

        // output array
        $(".commentsContent").html(commentSource.join(''));
        // clean up
        delete commentSource;
        $("#colorboxMe").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
        window.setTimeout(function () { if (document.getElementById("deepLinkedMessage")) $("#deepLinkedMessage").autoScroll() }, 500);
    },
    saveActivityComment: function (comment) {
        social.rData = new Object();
        social.rData.dsoid = social.entityInfo.Id;
        social.rData.dsot = "Entity";
        social.comments.saveComment(comment, function (data) { social.account.addStatusToFeed(data); });
        return false;
    },
    saveComment: function (commentBody, callback, resourceIds) {
        $.ajax({
            url: "/CFAPI/CommunicationManagement/SaveComment.ajax",
            data: "dsoid=" + social.rData.dsoid + "&dsot=" + social.rData.dsot + "&body=" + escape(commentBody) + "&customFields=" + resourceIds,
            dataType: "json",
            success: function (data) {
                if (data.SaveResult == 0) { // successful
                    //commentBody.value = "";
                    social.comments.requestCommentData();
                    $(".commentError").html("");
                    sTrackEvent("event66");
                    if (callback)
                        callback(data);
                } else
                    $(commentBody).next(".commentError").html("Error saving comment.");
            }
        });
    },
    removeComment: function (cid, el) {
        $.ajax({
            url: "/CFAPI/CommunicationManagement/RemoveComment.ajax",
            data: "cid=" + cid,
            dataType: "json",
            success: function (data) {
                if (data.SaveResult == 0) { // successful {
                    $(el).parent(".moderatorLinks").parent(".commentItem").remove();

                    if ($.browser.msie && ($.browser.version == "7.0")) {
                        social.comments.requestCommentData();
                    }
                } else {
                    social.lbDialog.showOverlay("Error deleting comment.", function () { }, true);
                }
            }
        });
    }
}
/* ---------------------------------------- /includes/jsbin/social.flag.js ---------------------------------------- */
// initialize
$(document).ready(function() {
	$(".flagLink").each(function() {
		
	});
});
social.flag = {
	reportAbuse: function(id, el, type) {
		$.ajax({
			url:"/CFAPI/CoreManagement/ReportAbuse.ajax",
			data: "sot="+type+"&soid="+id,
			dataType:"json",
			success: function(data) {
				if(data.Errors.length <=0)
					$(el).replaceWith("<span>Flagged</span>");
				else
					$(el).replaceWith("<span>Error. Please try later.</span>");
			}
		});
	}
}
/* ---------------------------------------- /includes/jsbin/social.block.js ---------------------------------------- */
social.block = {
	initBlockUser: function(ifBlocked) {
	    $(".blockUserLink").each(function() {
	        var tempRef = $(this);
	        //if(social.checkRelationshipToLoggedInEntity(tempRef.attr("title"),"Block")) {
	        if(ifBlocked) {
	            tempRef.html("Unblock User");
	        } else {
	            tempRef.html("Block User");
	        }
	        tempRef.attr("title","");
	    });
	},
	blockUser: function(id) {
		$.ajax({
			url:"/CFAPI/CoreManagement/BlockUnblockUsers.ajax",
			data: "deids="+id,
			dataType:"json",
			success: function(data) {
				if(data.Errors.length <=0)
					document.location.reload();
					//social.lbDialog.showOverlay("User has been blocked",function(){},true);
			}
		});
	},
	unblockUser: function(id) {
		$.ajax({
			url:"/CFAPI/CoreManagement/BlockUnblockUsers.ajax",
			data: "deids="+id,
			dataType:"json",
			success: function(data) {
				if(data.Errors.length <=0)
					document.location.reload();
					//social.lbDialog.showOverlay("User has been unblocked",function(){document.location.reload()},true);
					
			}
		});
	}
};
/* ---------------------------------------- /includes/jsbin/social.account.js ---------------------------------------- */
social.account = {
    navTree: function () { },
    /* REQUEST NAVIGATION ENDPOINT
    ********************************************************************************************************/
    getNav: function () {
        social.accountContentRef = $("#profileContent");
        $.getJSON(
			  "/Handlers/GetAccountNavigation.aspx",
			  function (data) {
			      social.account.buildNav(data);
			  }
		);
    },
    /* BUILD PROFILE NAVIGATION
    ********************************************************************************************************/
    buildNav: function (data) {
        // create source arrays
        mainProfileNavSource = new Array();
        subProfileNavSource = new Array();

        // private function to find default href of parent nav item
        function getSubDefault(defId, items) {
            for (j = 0; j < items.length; j++) {
                if (defId == items[j].ApplicationId)
                    return [items[j].JsonEndPoint, items[j].Name];
            }
            return ["", ""];
        }

        // private function to build sub nav
        function getSubNav(mainName, allItems, checkActive) {

            // extra check to make sure we have items to render
            if (typeof allItems == "undefined")
                return false;

            // create temp source array
            tempSubSource = new Array();

            // add source code to array
            tempSubSource.push("<div style='display:none;' id='profile_subNav_" + mainName.replace(/\s/, "_") + "' class='profile_subNav'>");

            // loop through and build sub nav links
            for (s = 0; s < allItems.length; s++) {
                tempSubSource.push('<a ' + ((allItems[s].Name == 'Starred') ? 'id="starredTab"' : '') + ' class="history ' + ((checkActive == allItems[s].Name) ? "active" : "") + '" rel="#' + mainName + '/' + allItems[s].Name + '" href="' + allItems[s].JsonEndPoint + '"><span>' + allItems[s].Name + '</span></a>');
            }
            tempSubSource.push("</div>");

            // return all source
            return tempSubSource.join("");

            // clean up
            delete tempSubSource;
        }

        // build all nav
        for (i = 0; i < data.Menu.length; i++) {
            // find assosiated default sub nav item if available
            if (data.Menu[i].Items.length > 0) {
                endPointRef = getSubDefault(data.Menu[i].DefaultApplicationId, data.Menu[i].Items);
                social.account.navTree[data.Menu[i].Name] = endPointRef[1]
                //console.log("a[rel='#"+data.Menu[i].Name+"/"+endPointRef[1]+"']");
                //$("a[rel='#"+data.Menu[i].Name+"/"+endPointRef[1]+"']").addClass("active");
            } else {
                endPointRef = data.Menu[i].JsonEndPoint;
            }
            endPointRef = (data.Menu[i].Items.length > 0) ? getSubDefault(data.Menu[i].DefaultApplicationId, data.Menu[i].Items) : [data.Menu[i].JsonEndPoint, ""];
            // build source for main nav item
            mainProfileNavSource.push('<a id="socialNav_' + data.Menu[i].Name.replace(" ", "_") + '" rel="#' + data.Menu[i].Name + '" class="history" href="' + endPointRef[0] + '">' + data.Menu[i].Name + '</a>');

            // check sub items and build if needed
            if (data.Menu[i].Items.length > 0)
                subProfileNavSource.push(getSubNav(data.Menu[i].Name, data.Menu[i].Items, endPointRef[1]));
        }

        // output main nav source
        $("#profileNavigation").html(mainProfileNavSource.join(""));
        $("#profileNavigation").parent(".breadCrumbTitleArea").addClass("socialNavArea");
        // output sub nav
        $("#profileSubNavigation").html(subProfileNavSource.join(""));

        // apply history to hav items
        social.account.applyNavHistory();

        // trigger default sub link if needed

        // clean up
        delete mainProfileNavSource;
        delete subProfileNavSource;
        delete endPointRef;
    },
    /* INITIALIZE HISTORY MANAGER
    ********************************************************************************************************/
    applyNavHistory: function () {
        // Initialize history plugin.
        // The callback is called at once by present location.hash. 
        $.historyInit(social.account.pageload, "jquery_history.html");

        // set onlick event for buttons
        //$("a:has(.history)").click(function(){
        $("#profileNavigation a, #profileSubNavigation a").click(function (e) {
            e.preventDefault();
            var hash = $(this).attr("rel");
            hash = hash.replace(/^.*#/, '');
            if (hash != "My Profile") {
                // moves to a new page. 
                // pageload is called at once. 
                // hash don't contain "#", "?"
                $.historyLoad(hash);
                return false;
            } else if (hash == "My Profile") {
                $("#profileNavigation a").each(function () {
                    if (this.id != "socialNav_My_Public_Profile")
                        this.href = "";
                });
                document.location = social.entityInfo.ProfileUrl;
                //document.location = $("#socialNav_My_Public_Profile").attr("href");
            }
        });

        if (!document.location.hash)
            $("#profileNavigation a:eq(0)").trigger("click");
    },
    // PageLoad function
    pageload: function (hash) {
        // This function is called when:
        // 1. after calling $.historyInit();
        // 2. after calling $.historyLoad();
        // 3. after pushing "Go Back" button of a browser

        // hash doesn't contain the first # character.
        if (hash) {
            // restore ajax loaded state
            if ($.browser.msie) {
                // jquery's $.load() function does't work when hash include special characters like aao.
                hash = encodeURIComponent(hash);
            }

            // this is for IE
            hash = hash.replace(/%2F/g, "/").replace(/%20/g, " ").replace(/%2520/g, " ");

            // apply active states, goes 3 levels deep
            hashTest = hash.split("/");

            // reset active states
            $("#profileNavigation a,#profileSubNavigation a").removeClass("active");
            // add active to parent
            $("a[rel='#" + hashTest[0] + "']").addClass("active");

            if (hashTest[1])
                $("a[rel='#" + hashTest[0] + "/" + hashTest[1] + "']").addClass("active");
            else
                $("a[rel='#" + hashTest[0] + "/" + social.account.navTree[hashTest[0]] + "']").addClass("active");

            // hide sub navs and show correct one
            //$(".profile_subNav").hide();
            //$("#profile_subNav_"+hashTest[0].replace(" ","")).show();

            // test for message id
            if (hashTest[2] && hashTest[0] == "Inbox") { // this is a link to a message detail
                // set page title
                document.title = "Profile - Inbox > " + hashTest[2];
                social.account.mainEventDelegation("/CFAPI/CommunicationManagement/GetConversationMessages.ajax?mid=" + hashTest[2] + "&page=0&pageSize=100", "MessageDeepLink", hashTest[0]);
            } else if (hashTest[1] && hashTest[0] == "Edit Account" && hashTest[1] == "Stats") {
                

                    if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
                        $("#dashLoginLink").trigger("click");
                        $("#profileContent").html("<h2 style='font-size:18px;'>You need to <a style='font-size:18px;' href='javascript:void(0);' onclick='$(\"#dashLoginLink\").trigger(\"click\");'>login</a> to view this page.</h2>");
                    } else {
                        social.account.requestData($("#socialNav_Edit_Account").attr("href"), function (data) { social.account.build_Settings_Profile(data); }, "json", true);
                    }

            } else if (hashTest[2] && (hashTest[2] == "Upload Flick" || hashTest[2] == "Upload Pics" || hashTest[2] == "Add Blog") && (hashTest[1] == "Flicks" || hashTest[1] == "Pics" || hashTest[1] == "Blogs") && hashTest[0] == "My Stuff") {
                document.title = "Profile - My Stuff > " + hashTest[2];
                if (typeof social.account.sportsListFlat == "undefined") {
                    $.ajax({ url: "/cfapi/CoreManagement/GetFlattenedPursuitTree.ajax?pt=Sport",
                        dataType: "json",
                        async: false,
                        success: function (data) {
                            social.account.sportsListFlat = data;
                        }
                    });
                }
                $("#profile_subNav_" + hashTest[0].replace(/\s/, "_")).show();
                if (hashTest[2] == "Upload Flick") {
                    if (hashTest[3]) {
                        social.account.build_MyStuff_Videos_Upload(hashTest[3]);
                    } else {
                        social.account.build_MyStuff_Videos_Upload();
                    }
                } else if (hashTest[2] == "Upload Pics") {
                    if (hashTest[3]) {
                        social.account.build_MyStuff_Photos_Upload(hashTest[3]);
                    } else {
                        social.account.build_MyStuff_Photos_Upload();
                    }
                } else {
                    if (hashTest[3]) {
                        social.account.build_MyStuff_Blogs_Add(hashTest[3]);
                    } else {
                        social.account.build_MyStuff_Blogs_Add();
                    }
                }
            } else { // otherwise we assume its a top or second level item

                // set page title
                document.title = "Profile - " + hash.replace("/", " > ");
                // get ajax url for item
                contentUrlEl = $("a[rel='#" + hash + "']");
                // check ajax url if empty
                if (contentUrlEl.length > 0) {
                    appId = $("a[rel='#" + hash + "']").html().replace("<span>", "").replace("</span>", "").replace("<SPAN>", "").replace("</SPAN>", "");
                    appId = appId.replace(/ \s/, "");
                    // call method to get new data
                    social.account.mainEventDelegation(contentUrlEl.attr("href"), appId, hashTest[0]);
                } else {
                    social.lbDialog.showOverlay("Couldnt find page. Redirecting...", function () { $("#profileNavigation a:eq(0)").trigger("click") }, true);
                }
            }
        } else {
            // start page
            $("#profileNavigation a:eq(0)").trigger("click");
        }
    },
    /* PROFILE EVENT DELEGATION
    ********************************************************************************************************/
    mainEventDelegation: function (contentUrl, appId, mainApp) {
        switchSubNav = function () {
            // hide sub navs and show correct one
            $(".profile_subNav").hide();
            if (typeof mainApp != "undefined")
                $("#profile_subNav_" + mainApp.replace(/\s/, "_")).show();
        }
        switch (appId) {
            // HOME                  
            case "Activity Feed":
                social.account.requestData(contentUrl, function (data) { social.account.build_Home_Activity(data); switchSubNav(); }, "json", true);
                break;

            // INBOX                  
            case "Inbox":
                social.account.requestData(contentUrl, function (data) { social.account.build_Inbox_Unread(data); switchSubNav(); }, "json", true);
                break;

            case "Unread":
                social.account.requestData(contentUrl, function (data) { social.account.build_Inbox_Unread(data); switchSubNav(); }, "json", true);
                break;

            case "Messages":
                social.account.requestData(contentUrl, function (data) { social.account.build_Inbox_Messages(data); switchSubNav(); }, "json", true);
                break;

            case "Friend Requests":
                social.account.requestData(contentUrl, function (data) { social.account.build_Inbox_FriendRequests(data); switchSubNav(); }, "json", true);
                break;

            case "Alerts":
                social.account.requestData(contentUrl, function (data) { social.account.build_Inbox_Alerts(data); switchSubNav(); }, "json", true);
                break;

            case "Starred":
                social.account.requestData(contentUrl, function (data) { social.account.build_Inbox_Starred(data); switchSubNav(); }, "json", true);
                break;

            case "MessageDeepLink":
                social.account.requestData(contentUrl, function (data) { social.account.deepLinkMessage(data); switchSubNav(); }, "json", true);
                break;

            // MY STUFF                  
            case "My Stuff":
                social.account.requestData(contentUrl, function (data) { social.account.build_MyStuff_Photos(data); switchSubNav(); }, "json", true);
                break;

            case "Pics":
                social.account.requestData(contentUrl, function (data) { social.account.build_MyStuff_Photos(data); switchSubNav(); }, "json", true);
                break;

            case "Flicks":
                social.account.requestData(contentUrl + "&includePending=true", function (data) { social.account.build_MyStuff_Videos(data); switchSubNav(); }, "json", true);
                break;

            case "Blogs":
                social.account.requestData(contentUrl + "&descriptionLimit=53", function (data) { social.account.build_MyStuff_Blogs(data); switchSubNav(); }, "json", true);
                break;

            case "My Press":
                social.account.requestData(contentUrl, function (data) { social.account.build_MyStuff_My_Press(data); switchSubNav(); }, "json", true);
                break;

            case "My Favorites":
                social.account.requestData(contentUrl + "&descriptionLimit=53", function (data) { social.account.build_MyStuff_My_Favorites(data); switchSubNav(); }, "json", true);
                break;

            case "UploadDeepLink":
                if (contentUrl == "Upload Flick") {
                    switchSubNav();
                    social.account.build_MyStuff_Videos_Upload();
                }
                if (contentUrl == "Upload Pics") {
                    switchSubNav();
                    social.account.build_MyStuff_Photos_Upload();
                }
                break;

            // COMMUNITY                
            case "Friends":
                social.account.requestData(contentUrl, function (data) { social.account.build_Community_Friends(data); switchSubNav(); }, "json", true);
                break;

            case "My Friends":
                social.account.requestData(contentUrl, function (data) { social.account.build_Community_Friends(data); switchSubNav(); }, "json", true);
                break;

            case "Blocked":
                social.account.requestData(contentUrl, function (data) { social.account.build_Community_Blocked(data); switchSubNav(); }, "json", true);
                break;

            // SETTINGS                  
            case "Edit Account":
                if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
                    $("#dashLoginLink").trigger("click");
                    $("#profileContent").html("<h2 style='font-size:18px;'>You need to <a style='font-size:18px;' href='javascript:void(0);' onclick='$(\"#dashLoginLink\").trigger(\"click\");'>login</a> to view this page.</h2>");
                } else {
                    social.account.requestData(contentUrl, function (data) { social.account.build_Settings_Profile(data); switchSubNav(); }, "json", true);
                }
                break;

            case "Profile Info":
                if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
                    $("#dashLoginLink").trigger("click");
                    $("#profileContent").html("<h2 style='font-size:18px;'>You need to <a style='font-size:18px;' href='javascript:void(0);' onclick='$(\"#dashLoginLink\").trigger(\"click\");'>login</a> to view this page.</h2>");
                } else {
                    social.account.requestData(contentUrl, function (data) { social.account.build_Settings_Profile(data); switchSubNav(); }, "json", true);
                }
                break;

            case "My Sports":
                if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
                    $("#dashLoginLink").trigger("click");
                    $("#profileContent").html("<h2 style='font-size:18px;'>You need to <a style='font-size:18px;' href='javascript:void(0);' onclick='$(\"#dashLoginLink\").trigger(\"click\");'>login</a> to view this page.</h2>");
                } else {
                    social.account.requestData(contentUrl, function (data) { social.account.build_Settings_Pursuits(data); switchSubNav(); }, "json", true);
                }
                break;

            case "Privacy":
                if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
                    $("#dashLoginLink").trigger("click");
                    $("#profileContent").html("<h2 style='font-size:18px;'>You need to <a style='font-size:18px;' href='javascript:void(0);' onclick='$(\"#dashLoginLink\").trigger(\"click\");'>login</a> to view this page.</h2>");
                } else {
                    social.account.requestData(contentUrl, function (data) { social.account.build_Settings_Privacy(data); switchSubNav(); }, "json", true);
                }
                break;

            case "Notifications":
                if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
                    $("#dashLoginLink").trigger("click");
                    $("#profileContent").html("<h2 style='font-size:18px;'>You need to <a style='font-size:18px;' href='javascript:void(0);' onclick='$(\"#dashLoginLink\").trigger(\"click\");'>login</a> to view this page.</h2>");
                } else {
                    social.account.requestData(contentUrl, function (data) { social.account.build_Settings_Notifications(data); switchSubNav(); }, "json", true);
                }
                break;
        }
    },
    /* PROFILE GLOBAL DATA REQUEST
    ********************************************************************************************************/
    requestData: function (contentUrl, callback, dType, showLoader) {
        if (window['loaderTimer'])
            clearTimeout(window['loaderTimer']);
        if (showLoader && !document.getElementById("loaderWrap"))
            window['loaderTimer'] = setTimeout(function () {
                contentPos = jCore.findPos(document.getElementById("profileContent"));
                social.accountContentRef.prepend('<p id="loaderWrap" class="profileLoading" style="z-index:9998;position:absolute;top:' + contentPos[0] + ';left:' + contentPos[1] + ';background:url(/Media/backgrounds/social_load_bg.png);height:' + social.accountContentRef.height() + 'px;width:' + social.accountContentRef.width() + 'px;"><img height="24" width="24" alt="loading..." src="/Media/backgrounds/profile_loader.gif"/> Loading...</p>');
                delete contentPos;
            }, 500);

        if (social.globalRequestRef)
            social.globalRequestRef.abort();
        social.globalRequestRef = $.ajax({
            url: contentUrl,
            dataType: dType,
            cache: false,
            type: "post",
            timeout: 20000,
            success: function (data) {
                if (data.Errors && data.Errors.length > 0) {
                    social.account.handleErrors(data);
                } else {
                    if (window['loaderTimer'])
                        clearTimeout(window['loaderTimer']);
                    if (callback)
                        callback(data);
                }
            },
            error: function (a, b, c) {
                social.account.requestData(contentUrl, callback, dType, showLoader);
                //jCore.log("An error was encountered. Please try again later.\n" + a + "\n" + b + "\n" + c + "");
                //social.lbDialog.showOverlay("An error was encountered. Please try again later.\n"+a+"\n"+b+"\n"+c+"", function() {return false}, true);
            }
        });
    },
    /* PROFILE GLOBAL ERROR HANDLING METHOD
    ********************************************************************************************************/
    handleErrors: function (data) {
        if (data.Errors[0].ErrorId == 1005 || data.Errors[0].ErrorId == 1027 || data.Errors[0].ErrorId == 1057)
            $("#dashLoginLink").trigger("click");
        else if (data.Errors[0].ErrorId == 1079) {
            social.lbDialog.showOverlay("This message no longer exists.", function () { document.location.hash = "#Inbox"; document.location.reload(); }, true);
        } else
            social.lbDialog.showOverlay("An error was encountered. Please try again later.", function () { return false }, true);
    },
    /* PROFILE GLOBAL DATA RENDER METHOD
    ********************************************************************************************************/
    renderNewContent: function (content, callback) {
        if (social.accountContentRef)
            social.accountContentRef.html(content);
        if (callback)
            callback();
    },
    /* METHOD FOR THE (UN)SELECT ALL CHECKBOX
    ********************************************************************************************************/
    selectallCheckboxes: function (el) {
        tempRef = $("input:checkbox", ".mL_Item, .photoItem, .videoItem");
        tempRef.bind("click", function () {
            $("#selectAll").removeAttr("checked");
        });
        if (el.checked)
            tempRef.attr("checked", "checked");
        else
            tempRef.removeAttr("checked");

        delete tempRef;
    }
}
{{{

(function($){  
    $.fn.autoScroll = function() {
        jQuery('html,body').animate(
            {
                scrollLeft: this.offset().left,
                scrollTop: this.offset().top
            },
            500
        );
        return this;
    };  
})(jQuery);

}}}
/* ---------------------------------------- /includes/jsbin/social.account.activity.js ---------------------------------------- */
/* PROFILE VIEW - HOME / ACTIVITY
********************************************************************************************************/
social.account.build_Home_Activity = function(data, elID) {
	
	
	$.ajax({
		url: "/Handlers/GetActiveEntity.ajax?includeStats=1",
		cache: false,
		dataType: 'json',
		success: function(data) {
			social.account.buildActivitySnapshot(data);
		}
	});
	
	// create source array
	activityFeed = new Array();
	
	activityFeed.push("<div class='recentActivityHeader genericModuleHeader'><h4>Activity Feed</h4><div class='moduleHeaderWedge'></div></div>");
	
	activityFeed.push("<div id='activityFeedWrap'>");
	
	if(typeof elID == "undefined")
	    elID = "activityFilter_Site_Wide_Activity";
	activityFeed.push("<div id='activityFeedFilter'>");
	activityFeed.push("<a id='activityFilter_Site_Wide_Activity' class='"+((elID == 'activityFilter_Site_Wide_Activity')?"active":"")+"' onclick='social.account.changeActivityFilter(\"/CFAPI/ActivityManagement/GetActivityFeed.ajax\",this); return false;' href=''>Site Wide Activity</a>");
	activityFeed.push("<a id='activityFilter_All' class='"+((elID == 'activityFilter_All')?"active":"")+"' onclick='social.account.changeActivityFilter(\"/CFAPI/ActivityManagement/GetRelatedActivityFeed.ajax?eid="+social.entityInfo.Id+"\",this); return false;' href=''>My Friends</a>");
	if (social.entityInfo.AssociatedSchoolEntityId != null && social.entityInfo.AssociatedSchoolEntityId != "00000000-0000-0000-0000-000000000000")
    	activityFeed.push("<a id='activityFilter_School' class='"+((elID == 'activityFilter_School')?"active":"")+"' onclick='social.account.changeActivityFilter(\"/CFAPI/ActivityManagement/GetRelatedActivityFeed.ajax?eid="+social.entityInfo.AssociatedSchoolEntityId+"\",this); return false;' href=''>My School</a>");
	
	activityFeed.push("</div>");
	
	// check for no messages
	if(data.ActivityFeed.length == 0) {
		// output friendly message
		activityFeed.push('<div id="activityFeedList"><form class="commentForm clear" onsubmit="social.comments.saveActivityComment(this.commentBody); return false;" action="">	<p>COMMENT</p>	<textarea name="commentBody"/>    <p class="commentError"/>	<button type="reset" class="commentFormCancel">CANCEL</button>	<button type="submit">SUBMIT</button></form>');
		activityFeed.push("<div class='noMessagesMessage'>No Activity.</div></div>");
		social.account.renderNewContent(activityFeed.join(""));
		return;
	} else {
	    activityFeed.push(social.builActivityFeedDetails(data));
	    
	    // output array
	    social.account.renderNewContent(activityFeed.join(""), function() {
		    social.buildActivityPhotoScrub(data);
		    //refreshMe = function(){$("#socialNav_Activity_Feed").trigger("click")};
		    //window.setTimeout(refreshMe, 10000);
	    });
	    // clean up
	}
	
	
	delete activityFeed;
};
social.account.changeActivityFilter =function (url,el) {
    social.account.requestData(url,function(data){social.account.build_Home_Activity(data, el.id);},"json", true);
    return false;
};
social.account.addStatusToFeed = function(data){
    /*tempItem = new Array();
    tempItem.push('<div class="aF_Item comment">');
    tempItem.push(' <div class="aF_Avatar">');
    tempItem.push('     <a href="'+social.entityInfo.ProfileUrl+'">');
    tempItem.push('         <img '+social.constrainImageSize(40,40,social.entityInfo.Icon.Height,social.entityInfo.Icon.Width,social.entityInfo.Icon.Url,1)+' />');
    tempItem.push('     </a>');
    tempItem.push(' </div>');
    tempItem.push(' <div class="aF_Main">');
    tempItem.push('     <div class="aF_usernameLink breakMyWords">');
    tempItem.push('         <a href="http://qa.rise.espn.go.com/community/members/matthewausonio.aspx">Matthew</a>');
    tempItem.push('     </div>');
    tempItem.push('     <div class="aF_body aF_wallPost">yay</div>');
    tempItem.push('     <div class="aF_date">');
    tempItem.push('         <span class="timeStampExpand" onmouseover="social.showTimeFull(this);">3 minutes ago<span>: 2/22/10 at 1:53 PM</span></span>');
    tempItem.push('     </div>');
    tempItem.push(' </div>');
    tempItem.push('</div>');
    $(".aF_Item:first").before(tempItem.join(''));
    delete tempItem;*/
    $("#socialNav_Activity_Feed").trigger("click");
}
social.builActivityFeedDetails = function(data, ifProfile) {
	activityFeedArray = new Array();
	activityFeedArray.push("<div id='activityFeedList'>");
	
	// adding comment field
	if(ifProfile != true)
    	activityFeedArray.push('<form class="commentForm clear" onsubmit="social.comments.saveActivityComment(this.commentBody); return false;" action="">	<p>COMMENT</p>	<textarea name="commentBody"/>    <p class="commentError"/>	<button type="reset" class="commentFormCancel">CANCEL</button>	<button type="submit">SUBMIT</button></form>');
	// end adding comment field
	
	for(i=0;i<data.ActivityFeed.length; i++) {
        activityFeedArray.push(social.buildActivityItem(data.ActivityFeed[i]));
	}
	activityFeedArray.push("</div>");
	activityFeedArray.push("<div class='clear'></div>");
	
	return activityFeedArray.join("");
	delete activityFeedArray;
};
social.buildActivityItem = function(dataItem) {
    tempAFItem = [];
    function activityListClass(aFId) {
		switch(aFId) {
			case 1:
			return "photoUpload";
			break;
			case 2:
			return "videoUpload";
			break;
			case 3:
			return "blogPost";
			break;
			case 4:
			return "forumPost";
			break;
			case 5:
			return "signUp";
			break;
			case 6:
			return "login";
			break;
			case 7:
			return "custom";
			break;
			case 8:
			return "comment";
			break;
			case 9:
			return "forumTopic";
			break;
		}
	}
	
	tempActivityType = activityListClass(dataItem.ActivityType);
	tempAFItem.push('<div class="aF_Item '+tempActivityType+'">');
	
	tempAFItem.push('	<div class="aF_Avatar"><a href="'+dataItem.SourceEntity.ProfileUrl+'"><img '+social.constrainImageSize(44,44,dataItem.SourceEntity.Icon.Height,dataItem.SourceEntity.Icon.Width,dataItem.SourceEntity.Icon.Url,2)+'/></a></div>');
	tempAFItem.push('	<div class="aF_Main">');
	
	// ***********************************************************************PHOTOS*******************************************************************
	if(dataItem.ActivityType == 1) { // photo
		tempAFItem.push('<div class="aF_thumb">');
		// get all images
		for(p=0;p<dataItem.Photos.length;p++) {
			tempAFItem.push('<img alt="'+dataItem.Photos[p].Name+'||'+dataItem.Photos[p].Id+'||'+dataItem.Photos[p].Votes+'||'+dataItem.Photos[p].Comments+'" class="photoScrubItem_'+i+' thisPhotoScrub_'+i+'_'+p+'" '+((p==0)?"style=\"display:block;\"":"")+' '+social.constrainImageSize(58,98,dataItem.Photos[p].Height,dataItem.Photos[p].Width,dataItem.Photos[p].Url,1)+'/>');
		}
		tempAFItem.push('</div>');
		
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a> uploaded '+((dataItem.Photos.length>1)?" "+dataItem.Photos.length+" new pics.":"1 new pic.")+'</div>');
		if(dataItem.Photos.length > 0)
			tempAFItem.push('		<div class="aF_body"><a class="breakMyWords" href="/all-sports/Photos.aspx?id='+dataItem.Photos[0].Id+'" id="thisPhotoTitle_'+i+'">'+dataItem.Photos[0].Name+'</a></div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	// ***********************************************************************VIDEOS*******************************************************************
	} else if(dataItem.ActivityType == 2) { // video
		tempAFItem.push('<div class="aF_thumb">');
		tempAFItem.push('		<a href="/all-sports/Videos.aspx?id=' + dataItem.SourceEntity.Id + '" onclick="social.activityMediaPreview(\''+dataItem.Videos[0].Url+'\', \''+dataItem.Videos[0].Id+'\', this, \''+dataItem.ActivityId+'\', \'Video\'); return false;"><img '+social.constrainImageSize(58,98,dataItem.Videos[0].Icon.Height,dataItem.Videos[0].Icon.Width,dataItem.Videos[0].Icon.Url,1)+'/></a>');
		tempAFItem.push('		<span class="videoItemImgIcon"></span>');
		tempAFItem.push('</div>');
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a> uploaded a new flick.</div>');
		tempAFItem.push('		<div class="aF_body"><a class="breakMyWords" href="/all-sports/Videos.aspx?id=' + dataItem.SourceEntity.Id + '">' + dataItem.Videos[0].Name + '</a></div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	// ***********************************************************************BLOGS*******************************************************************
	} else if(dataItem.ActivityType == 3) { // blog
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a> posted a new blog.</div>');	
		tempAFItem.push('		<div class="aF_body"><a class="breakMyWords" href="'+dataItem.SourceEntity.ProfileUrl.replace(".aspx", "/")+'Blog.aspx?rid='+dataItem.BlogId+'">'+dataItem.Title+'</a></div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	
	// ***********************************************************************FORUMS POSTS*******************************************************************
	} else if(dataItem.ActivityType == 4) { // forum post
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a></div>');	
		tempAFItem.push('		<div class="aF_body"><a class="breakMyWords" href="'+dataItem.PostGlyph.DeepLink+'">posted a message</a> on the forums.</div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	
	// ***********************************************************************SIGN UPS*******************************************************************
	} else if(dataItem.ActivityType == 5) { // signup
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a></div>');	
		tempAFItem.push('		<div class="aF_body">just signed up for ESPNHS! Be sure to say hi.</div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	
	// ***********************************************************************LOGINS*******************************************************************
	} else if(dataItem.ActivityType == 6) { // login
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a></div>');	
		tempAFItem.push('		<div class="aF_body">logged in.</div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	
	// ***********************************************************************CUSTOM*******************************************************************
	} else if(dataItem.ActivityType == 7) { // custom
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a></div>');	
		tempAFItem.push('		<div class="aF_body">custom message.</div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	
	// ***********************************************************************COMMENTS*******************************************************************
	} else if(dataItem.ActivityType == 8) { // comment
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a> </div>');
		switch(dataItem.CommentType) {
			case 2:
			    tempAFItem.push('<div class="aF_body">Left a comment on <a href="/all-sports/Photos.aspx?id=' + dataItem.DestinationSocialObject.Id + '">' + dataItem.TargetEntity.DisplayName + '' + ((dataItem.TargetEntity.DisplayName.toLowerCase().match(/s$/)) ? "\'" : "\'s") + ' pic</a>.</div>');
			break;
			
			case 3:
			    tempAFItem.push('<div class="aF_body">Left a comment on <a href="/all-sports/Videos.aspx?id=' + dataItem.DestinationSocialObject.Id + '">' + dataItem.TargetEntity.DisplayName + '' + ((dataItem.TargetEntity.DisplayName.toLowerCase().match(/s$/)) ? "\'" : "\'s") + ' flick</a>.</div>');
			break;
			
			case 4:
			tempAFItem.push('<div class="aF_body">Left a comment on <a href="'+dataItem.TargetEntity.ProfileUrl.replace(".aspx", "/")+'Blog.aspx?rid='+dataItem.DestinationSocialObject.Id+'&comment='+dataItem.CommentGlyph.Id+'">'+dataItem.TargetEntity.DisplayName+''+((dataItem.TargetEntity.DisplayName.toLowerCase().match(/s$/))?"\'":"\'s")+' blog post</a>.</div>');
			break;
			
			case 5:
			if(dataItem.SourceEntity.Id != dataItem.DestinationSocialObject.Id)
				tempAFItem.push('<div class="aF_body">Left a comment on <a href="'+dataItem.DestinationSocialObject.ProfileUrl+'?comment='+dataItem.CommentGlyph.Id+'">'+dataItem.DestinationSocialObject.DisplayName+''+((dataItem.DestinationSocialObject.DisplayName.toLowerCase().match(/s$/))?"\'":"\'s")+'</a> wall.</div>');
				//tempAFItem.push('<div class="aF_body">Left a comment on <a href="'+dataItem.DestinationSocialObject.ProfileUrl+'?comment='+dataItem.CommentGlyph.Id+'"> their wall</a>.</div>');
			//else
				//tempAFItem.push('<div class="aF_body">Left a comment on <a href="'+dataItem.DestinationSocialObject.ProfileUrl+'?comment='+dataItem.CommentGlyph.Id+'">'+dataItem.DestinationSocialObject.DisplayName+''+((dataItem.DestinationSocialObject.DisplayName.toLowerCase().match(/s$/))?"\'":"\'s")+'</a> wall.</div>');
			break;
		}
		tempAFItem.push('		<div class="aF_body aF_wallPost">'+dataItem.CommentGlyph.Body+'</div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	// ***********************************************************************FORUM TOPICS*******************************************************************
	} else if(dataItem.ActivityType == 9) { // forum topic
		tempAFItem.push('		<div class="aF_usernameLink breakMyWords"><a href="'+dataItem.SourceEntity.ProfileUrl+'">'+dataItem.SourceEntity.PublicLabel+'</a></div>');	
		tempAFItem.push('		<div class="mL_body"><a href="'+dataItem.ForumTopicGlyph.DeepLink+'">started a new topic</a> on the forums.</div>');
		tempAFItem.push('		<div class="aF_date">'+social.prettyDate(social.getDateFromDotNetJSONString(dataItem.AddDate))+'</div>');
	}
	
	
	tempAFItem.push('	</div>');
	tempAFItem.push('</div>');
	
	return tempAFItem.join("");
	
	delete tempAFItem;
	
};
social.buildActivityPhotoScrub = function(data) {
	$(".aF_Item").each(function(p) { // we loop through all so we have a full count of items, not just the photo items
		if($(this).hasClass("photoUpload")) {
			scope = $(".aF_thumb", this);
			allImages = $("img", scope);
			biggestWidth = 0;
			biggestHeight = 0;
			$(allImages).each(function() {	
				tempRef = $(this);
				if(tempRef.width() > biggestWidth)
					biggestWidth = tempRef.width();
				if(tempRef.height() > biggestHeight)
					biggestHeight = tempRef.height();
				delete tempRef;
			});
			scope.height(biggestHeight).width(biggestWidth);
			anchorWidth = Math.floor(biggestWidth / allImages.length);
			tempArray = new Array();
			for(i=0;i<allImages.length;i++) {
			    //console.log($(allImages[i]).attr("alt").split("||")[1]);
			    tempArray.push('<a class="aF_ThumbLink" onclick="social.activityMediaPreview(\'' + $(allImages[i]).attr("src") + '\',\'' + $(allImages[i]).attr("alt").split("||")[1] + '\',this,\'' + data.ActivityFeed[p].ActivityId + '\', \'Image\'); return false;" href="/all-sports/Photos.aspx?id=' + $(allImages[i]).attr("alt").split("||")[1] + '" onmouseover="social.photoScrub(\'photoScrubItem_' + p + '\',\'thisPhotoScrub_' + p + '_' + i + '\',\'thisPhotoTitle_' + p + '\',\'aF_CommentsAndLikes_' + p + '\');" style="height:' + biggestHeight + 'px;width:' + anchorWidth + 'px;left:' + (anchorWidth * i) + 'px;"></a>');
			}

			scope.prepend(tempArray.join(""));
			
			delete tempArray;
		}
	});
};
social.activityMediaPreview = function(imgSrc,mid,el,useAid,dsot) {
	if(!document.getElementById('mediaPreviewBox'))
		$("#dialog").after("<div id='mediaPreviewBox'></div>");
	
	baseHeight = 680;
	baseWidth= 440;
	boxRef = $("#mediaPreviewBox");
	tempRef = $(el).parent();
	boxPos = jCore.findPos(tempRef[0]);
	
	tempImg = new Image();
	tempImg.src = imgSrc.replace("_1.jpg","_2.jpg");
	
	boxRef.html("<a href='#' onclick='social.lbDialog.hideOverlay(); $(\"#mediaPreviewBox\").hide(); return false;' id='mediaPreviewClose'></a><div id='mediaPreviewBoxItem'></div><div style='display:none;' id='comments' class='commentsContent'><img height='24' width='24' alt='loading...' src='/Media/backgrounds/profile_loader.gif'/> Loading...</div>");
	swfobject.embedSWF('/Media/Flash/espnRiseSocialViewer.swf', 'mediaPreviewBoxItem', '440', '400', '10.0.0', '', {aid:useAid}, {allowscriptaccess:'always', allowfullscreen:'true', menu:'false', quality:'best', scale:'noscale', wmode:'transparent'});
	boxRef.height(tempRef.height()).width(tempRef.width()).css({left:boxPos[0],top:boxPos[1]}).animate({
		top:(social.lbDialog.win.scrollTop()),
		left:(social.lbDialog.win.width()/2) - (baseWidth / 2),
		height:baseHeight,
		width:baseWidth
	},"slow",function() {
		$("#comments").show();
		social.comments.requestCommentData("{'dsoid':'"+mid+"','dsot':'"+dsot+"'}");
	});
	social.lbDialog.overlay.height(social.lbDialog.doc.height()).width(social.lbDialog.doc.width()).fadeIn("slow").bind("click", function() {social.lbDialog.hideOverlay();$("#mediaPreviewBox").hide();});
	
	
	delete tempRef;
	delete boxPos;
	delete boxRef;
	delete baseWidth;
	delete baseHeight;
};
social.account.buildActivitySnapshot = function(data) {
	if(document.getElementById("profile_subNav_Activity_Feed")) {
		$("#profile_subNav_Activity_Feed").show();
	} else {
		tempActivitySnapshot = new Array();
		
		tempActivitySnapshot.push('<div style="display:block;" class="profile_subNav" id="profile_subNav_Activity_Feed">');
		tempActivitySnapshot.push('		<div id="myActivityTotals_Blogs" class="myActivityTotals"><span class="entityTotals" id="theBlogTotal"></span><a '+(($.browser.msie && ($.browser.version == '7.0'))?"onclick='document.location.hash=\"#My Stuff/Blogs\"; document.location.reload();'":"")+' href="#My Stuff/Blogs">View All</a></div>');
		tempActivitySnapshot.push('		<div id="myActivityTotals_Photos" class="myActivityTotals"><span class="entityTotals" id="thePhotoTotal"></span><a '+(($.browser.msie && ($.browser.version == '7.0'))?"onclick='document.location.hash=\"#My Stuff/Pics\"; document.location.reload();'":"")+' href="#My Stuff/Pics">View All</a></div>');
		tempActivitySnapshot.push('		<div id="myActivityTotals_Videos" class="myActivityTotals"><span class="entityTotals" id="theVideoTotal"></span><a '+(($.browser.msie && ($.browser.version == '7.0'))?"onclick='document.location.hash=\"#My Stuff/Flicks\"; document.location.reload();'":"")+' href="#My Stuff/Flicks">View All</a></div>');
		tempActivitySnapshot.push('</div>');
		
		$("#profileSubNavigation").append(tempActivitySnapshot.join(""));
		
		delete tempActivitySnapshot;
	}
	document.getElementById("theBlogTotal").innerHTML = data.Entity.EntityStats.BlogsCount;
	document.getElementById("thePhotoTotal").innerHTML = data.Entity.EntityStats.ImagesCount;
	document.getElementById("theVideoTotal").innerHTML = data.Entity.EntityStats.VideosCount;
	
};
social.photoScrub = function(hideClass, showClass, titleId, commentsLikesClass) {
	tempSplit = $("."+showClass+":first").attr("alt").split("||");
	$("#" + titleId).html(tempSplit[0]).attr("href", "/all-sports/Photos.aspx?id=" + tempSplit[1]);
	$("."+commentsLikesClass).html(tempSplit[3]+" Comments | "+tempSplit[2]+" Likes");
	$("."+hideClass).hide();
	$("."+showClass).show();
	delete tempSplit;
};
/* ---------------------------------------- /includes/jsbin/social.account.inbox.js ---------------------------------------- */
/* PROFILE VIEW - GLOBAL MESSAGE ITEM CREATION METHOD
********************************************************************************************************/
social.account.build_MessageItem = function(data, ifDetailView, hideCheckbox) {
	// create source array
	tempArray = new Array();
	// build entities object
	privateEntities = social.createEntityObjects(data.Entities);
	
	function getAlertText(alertType) {
		switch(alertType) {
			case 5:
			return " is now your friend"
			break;
			case 6:
			return "";
			//return " left a comment on your wall"
			break;
			default:
			return " has caused an alert somehow"
			break;
		}
	}
	
	// start loop
	for(i=0;i<data.Messages.length;i++) {
		messageClass = "";
		messageUtilityLinks = ""
		parentLink = ""
		preformattedText = "";
		messageBody = "";
		messageSubject = "";
		
		// depending on message type we render different controls for each item
		switch(data.Messages[i].MessageType) {
			case 1:
			parentLink = "Messages"
			messageClass = "mL_Message"
			messageSubject = (($.browser.msie)?'<a onclick="document.location.hash=\'#Inbox/'+parentLink+'/'+data.Messages[i].MessageId+'\';document.location.reload();" href="#Inbox/'+parentLink+'/'+data.Messages[i].MessageId+'">'+data.Messages[i].Subject+'</a>':'<a href="#Inbox/'+parentLink+'/'+data.Messages[i].MessageId+'">'+data.Messages[i].Subject+'</a>');
			messageBody = data.Messages[i].Body;
			messageUtilityLinks = "<a onclick='social.account.deleteMessages([\""+data.Messages[i].MessageId+"\"]);return false;' href='#Inbox/"+parentLink+"'>Delete</a>";
			break;
			
			case 2:
			parentLink = "Friend Requests"
			messageClass = "mL_FriendRequest"
			messageSubject = "";
			messageBody = data.Messages[i].Body;
			messageUtilityLinks = "<a onclick='social.account.acceptRequests(\""+data.Messages[i].MessageId+"\");return false;' href='#Inbox/"+parentLink+"'>Accept</a> | <a onclick='social.account.deleteMessages([\""+data.Messages[i].MessageId+"\"]);return false;' href='#Inbox/"+parentLink+"'>Ignore</a>";
			//preformattedText = data.Messages[i].Subject;
			preformattedText = " wants to be your friend"
			break;
			
			case 3:
			parentLink = "Alerts"
			messageClass = "mL_Alert"
			messageBody = data.Messages[i].Body;
			messageUtilityLinks = "<a onclick='social.account.deleteMessages(\""+data.Messages[i].ConversationId+"\");return false;' href='#Inbox/"+parentLink+"'>Delete</a>"
			preformattedText = getAlertText(data.Messages[i].SystemAlertType);
			break;
		}	
		
		// on detail view we hide all controls since they are placed once at the top
		if(ifDetailView == true) {
			messageUtilityLinks = "";
			messageClass = "mL_Message_Detail"
		}
		
		tempArray.push('<div class="mL_Item '+messageClass+' clear">');
		tempArray.push("	<div onclick='social.account.starMessageItem(\""+data.Messages[i].MessageId+"\", this);' class='mL_ItemMark "+((data.Messages[i].Starred == true)?"starredItem":"")+"'></div>");
		
		if(!hideCheckbox)
			tempArray.push("	<div class='mL_Checkbox'><label><input value='"+data.Messages[i].MessageId+"' type='checkbox' /></label></div>");
		tempArray.push('	<div class="mL_Avatar"><a href="'+privateEntities[data.Messages[i].OtherEntityId].Info[5]+'"><img '+social.constrainImageSize(32,32,privateEntities[data.Messages[i].OtherEntityId].Info[3],privateEntities[data.Messages[i].OtherEntityId].Info[2],privateEntities[data.Messages[i].OtherEntityId].Info[1].replace("_1.jpg",".jpg"),1)+'/></a></div>');
		tempArray.push('	<div class="mL_Main">');
		if(data.Messages[i].MessageType != 3)
    		tempArray.push('		<div class="mL_usernameLink breakMyWords"><a href="'+$.trim(privateEntities[data.Messages[i].OtherEntityId].Info[5])+'">'+privateEntities[data.Messages[i].OtherEntityId].Info[0]+'</a> '+preformattedText+'</div>');
		tempArray.push('		<div class="mL_Body">');
		if(!ifDetailView)
			tempArray.push('			<div class="ml_Body_Subject breakMyWords">'+$.trim(messageSubject)+'</div>');
		if(data.Messages[i].Body != "" && messageBody != "")
			tempArray.push('		<div class="ml_Body_Blurb breakMyWords">'+$.trim(messageBody)+'</div>');
		tempArray.push('		</div>');
		tempArray.push('		<div class="mL_date">'+social.prettyDate(social.getDateFromDotNetJSONString(data.Messages[i].AddDate))+'</div>');
		tempArray.push('	</div>');
		tempArray.push('	<div class="mL_utilityLinks">'+messageUtilityLinks+'</div>');
		tempArray.push('</div>');
	}
	// return items
	return tempArray.join("");
	//clean up
	delete tempArray;
	delete messageClass;
	delete messageUtilityLinks;
	delete parentLink;
	delete preformattedText;
	delete messageBody;
	delete messageSubject;
	
	/*  
		EXAMPLE SOURCE CODE
		<div class='mL_Item'>
			<div class="mL_ItemMark"></div>
			<div class="mL_Avatar">
				<img src="#" alt="" />
			</div>
			<div class="mL_Main">
				<div class="mL_usernameLink"><a href="#">Username</a></div>
				<div class="mL_Body">
					<div class="mL_Body_Subject">subject</div>
					<div class="mL_Body_Blurb">blurb</div>
				</div>
				<div class="mL_date">
					10/21/82
				</div>
			</div>
			<div class="mL_utilityLinks">
				<a href="#">Delete</a>
				<!-- any other links go here -->
			</div>
		</div>
	*/
};
social.account.starMessageItem = function(mid, el) {
    setValueTo = ($(el).hasClass("starredItem"))?false:true;
    $.ajax({
        url:"/CFAPI/CommunicationManagement/SetStarredAttribute.ajax",
        data: "mids="+mid+"&value="+setValueTo,
        cache:false,
        dataType:"json",
        success: function(data) {
            if(setValueTo == true) {
                $(el).addClass("starredItem");
            } else {
                $(el).removeClass("starredItem");
            }
        }
    });
};
/* PROFILE VIEW - INBOX / STARRED
********************************************************************************************************/
social.account.build_Inbox_Starred = function(data) {
    // check for no messages
	if(data.Messages.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'></div><div class='noMessagesMessage'>You Currently Have No Starred Messages</div>");
		return;
	}
	social.account.build_Inbox_Unread(data);
};
/* PROFILE VIEW - INBOX / UNREAD
********************************************************************************************************/
social.account.build_Inbox_Unread = function(data) {
	social.account.addInboxComposeLink();
	// check for no messages
	if(data.Messages.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'></div><div class='noMessagesMessage'>You Currently Have No Unread Messages</div>");
		return;
	}
	
	// create source array
	messagesArray = new Array();
	
	messagesArray.push("<div class='bulkActions'><label for='selectAll'><input  id='selectAll' onclick='social.account.selectallCheckboxes(this);' type='checkbox' /> Select All</label><a class='bulkDelete' onclick='social.account.bulkDeleteMessages();' href='#Inbox/Unread'>Delete</a></div>");
	
	// build generic message item
	messagesArray.push(social.account.build_MessageItem(data));
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/CommunicationManagement/GetMessages.ajax?includePagingInfo=1&mfFilter=Unread&pageSize=10&page="+(page-1), "Unread", "Inbox");
		$("#profileContent").autoScroll();
		return false;
	}
	// add pagination source to array
	messagesArray.push(social.pagination.buildPagination(data.PagingInfo));
	// output array
	social.account.renderNewContent(messagesArray.join(""));
	// clean up
	delete messagesArray;
}
/* PROFILE VIEW - INBOX / MESSAGES
********************************************************************************************************/
social.account.build_Inbox_Messages = function(data) {
	social.account.addInboxComposeLink();
	// check for no messages
	if(data.Messages.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'></div><div class='noMessagesMessage'>You Currently Have No Messages</div>");
		return;
	}
	// create source array
	messagesArray = new Array();
	
	//messagesArray.push("<form action='#'>");
	messagesArray.push("<div class='bulkActions'><label for='selectAll'><input  id='selectAll' onclick='social.account.selectallCheckboxes(this);' type='checkbox' /> Select All</label><a class='bulkDelete' onclick='social.account.bulkDeleteMessages();' href='#Inbox/Messages'>Delete</a></div>");
	
	// build generic message item
	messagesArray.push(social.account.build_MessageItem(data));
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/CommunicationManagement/GetMessages.ajax?includePagingInfo=1&mfFilter=Messages&pageSize=10&page="+(page-1), "Messages", "Inbox");
		$("#profileContent").autoScroll();
		return false;
	}
	// add pagination source to array
	messagesArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	//messagesArray.push("</form>");
	
	// output array
	social.account.renderNewContent(messagesArray.join(""));
	// clean up
	delete messagesArray;
}
/* PROFILE VIEW - INBOX / FRIEND REQUESTS
********************************************************************************************************/
social.account.build_Inbox_FriendRequests = function(data) {
	social.account.addInboxComposeLink();
	// check for no messages
	if(data.Messages.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'></div><div class='noMessagesMessage'>You Currently Have No Friend Requests</div>");
		return;
	}
	
	// create source array
	messagesArray = new Array();
	
	messagesArray.push("<form action='#'>");
	messagesArray.push("<div class='bulkActions'><label for='selectAll'><input  id='selectAll' onclick='social.account.selectallCheckboxes(this);' type='checkbox' /> Select All</label><a class='bulkDelete' onclick='social.account.bulkAcceptRequests();' href='#Inbox/Friend Requests'>Accept</a> <a class='bulkDelete' onclick='social.account.bulkDeleteMessages();' href='#Inbox/Friend Requests'>Ignore</a></div>");
	
	
	// build generic message item
	messagesArray.push(social.account.build_MessageItem(data));
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/CommunicationManagement/GetMessages.ajax?includePagingInfo=1&mfFilter=FriendRequests&pageSize=10&page="+(page-1), "Friend Requests", "Inbox");
		$("#profileContent").autoScroll();
		return false;
	}
	// add pagination source to array
	messagesArray.push(social.pagination.buildPagination(data.PagingInfo));
	// output array
	social.account.renderNewContent(messagesArray.join(""));
	// clean up
	delete messagesArray;
}
/* PROFILE VIEW - INBOX / ALERTS
********************************************************************************************************/
social.account.build_Inbox_Alerts = function(data) {
	social.account.addInboxComposeLink();
	// check for no messages
	if(data.Messages.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'></div><div class='noMessagesMessage'>You Currently Have No Alerts</div>");
		return;
	}
	
	// create source array
	messagesArray = new Array();
	
	messagesArray.push("<form action='#'>");
	messagesArray.push("<div class='bulkActions'><label for='selectAll'><input  id='selectAll' onclick='social.account.selectallCheckboxes(this);' type='checkbox' /> Select All</label><a class='bulkDelete' onclick='social.account.bulkDeleteMessages();' href='#Inbox/Alerts'>Delete</a></div>");
	
	// build generic message item
	messagesArray.push(social.account.build_MessageItem(data));
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/CommunicationManagement/GetMessages.ajax?includePagingInfo=1&mfFilter=Alerts&pageSize=10&page="+(page-1), "Alerts", "Inbox");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	messagesArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	messagesArray.push("</form>");
	
	// output array
	social.account.renderNewContent(messagesArray.join(""));
	// clean up
	delete messagesArray;
}
/* METHOD FOR DEEP LINKING TO MESSAGE DETAIL
********************************************************************************************************/
social.account.deepLinkMessage = function(data) {
	social.account.build_Inbox_MessageDetail(data);
}
/* METHOD FOR DELETING MESSAGES. ALSO USED FOR IGNORING FRIEND REQUESTS
********************************************************************************************************/
social.account.deleteMessages = function(messageIds) {
	if(typeof messageIds == "string")
		social.lbDialog.showOverlay("Are you sure you want to delete this message?", function() {social.account.requestData("/CFAPI/CommunicationManagement/DeleteMessageByConversationId.ajax?convoId="+messageIds, document.location.reload(), "json");});
		//social.account.requestData("/CFAPI/CommunicationManagement/DeleteMessageByConversationId.ajax?convoId="+messageIds, document.location.reload(), "json");
	else
		social.lbDialog.showOverlay("Are you sure you want to delete the message(s)?", function() {social.account.requestData("/CFAPI/CommunicationManagement/DeleteMessages.ajax?mids="+messageIds.join(","), document.location.reload(), "json");});
		//social.account.requestData("/CFAPI/CommunicationManagement/DeleteMessages.ajax?mids="+messageIds.join(","), document.location.reload(), "json");
}
/* METHOD FOR DELETING AN ALERT AND REDIRECTING WITHOUT POPUP MESSAGE
    NOTE: sstetler: original need is to delete an alert and redirect without a confirmation.  Added all code here since getting an error message even though alert message was successfully deleted.
********************************************************************************************************/
social.account.redirectFromAlertLink = function(messageId, redirectUrl) {
    /*
    if (window['loaderTimer'])
        clearTimeout(window['loaderTimer']);
    if (showLoader && !document.getElementById("loaderWrap"))
        window['loaderTimer'] = setTimeout(function() {
            contentPos = jCore.findPos(document.getElementById("profileContent"));
            social.accountContentRef.prepend('<p id="loaderWrap" class="profileLoading" style="z-index:99999999;position:absolute;top:' + contentPos[0] + ';left:' + contentPos[1] + ';background:url(/Media/backgrounds/social_load_bg.png);height:' + social.accountContentRef.height() + 'px;width:' + social.accountContentRef.width() + 'px;"><img height="24" width="24" alt="loading..." src="/Media/backgrounds/profile_loader.gif"/> Loading...</p>');
            delete contentPos;
        }, 500);
    */
    
    if (social.globalRequestRef)
        social.globalRequestRef.abort();

    var contentUrl = '/CFAPI/CommunicationManagement/DeleteMessages.ajax?mids=' + messageId;

    social.globalRequestRef = $.ajax({
        url: contentUrl,
        dataType: "json",
        cache: false,
        type: "post",
        success: function(data) {
            /*
            if (window['loaderTimer'])
                clearTimeout(window['loaderTimer']);
            */
            if (redirectUrl) {
                window.location.href = redirectUrl;
            }
        },
        error: function(a, b, c) {
            if (redirectUrl) {
                window.location.href = redirectUrl;
            }
        }
    });
}
/* METHOD FOR ACCEPTING FRIEND REQUESTS
********************************************************************************************************/
social.account.acceptRequests = function(messageIds) {
	if(typeof messageIds == "string")
		social.account.requestData("/CFAPI/CoreManagement/AcceptFriendRequests.ajax?mids="+messageIds, document.location.reload(), "json");
	else
		social.account.requestData("/CFAPI/CoreManagement/AcceptFriendRequests.ajax?mids="+messageIds.join(","), document.location.reload(), "json");
}
/* METHOD FOR BULK ACCEPT
********************************************************************************************************/
social.account.bulkAcceptRequests = function(messageIds) {
	tempRef = $(".mL_Item");
	tempArray = new Array();
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].getElementsByTagName("input")[0].checked)
			tempArray.push(tempRef[i].getElementsByTagName("input")[0].value);
	}
	social.account.acceptRequests(tempArray.join(","));
	// clean up
	delete tempRef;
	delete tempArray;
}
/* METHOD FOR BULK DELETE/IGNORE
********************************************************************************************************/
social.account.bulkDeleteMessages = function() {
	tempRef = $(".mL_Item");
	tempArray = new Array();
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].getElementsByTagName("input")[0].checked)
			tempArray.push(tempRef[i].getElementsByTagName("input")[0].value);
	}
	social.account.deleteMessages(tempArray);
	// clean up
	delete tempRef;
	delete tempArray;
}
/* METHOD FOR REPLY TO A MESSAGE
********************************************************************************************************/
social.account.modalSendMessage = function (form) {
    tempRef = $(form);
    $("input:disabled", tempRef).removeAttr("disabled");
    social.account.requestData("/CFAPI/CommunicationManagement/SendMessage.ajax?" + tempRef.serialize(), function (data) {
        switch (data.SendResults[0].Value) {
            case 0:
                sTrackEvent("event65");
                social.lbDialog.showOverlayTransition("Message successfully sent.", function () { }, true);
                break;

            case 1:
                social.lbDialog.showOverlayTransition("You cannot send the message because this user has blocked you.", function () { }, true);
                break;

            case 2:
                social.lbDialog.showOverlayTransition("You need to be friends with this person before you can send them a message.", function () { }, true);
                break;

            case 3:
                social.lbDialog.showOverlayTransition("You cannot send a message to yourself.", function () { }, true);
                break;
        }
    }, "json");
    delete tempRef;
    return false;
}
/* METHOD FOR REPLY TO A MESSAGE
********************************************************************************************************/
social.account.replyToMessage = function (form) {
    tempRef = $(form);
    $("button, textarea", form).addClass("disabaled");
    social.account.requestData("/CFAPI/CommunicationManagement/SendMessage.ajax?" + tempRef.serialize(), function (data) {
        dashAvatar = $("#dashAvater img");
        switch (data.SendResults[0].Value) {
            case 0:
                try {
                    $(form).before('<div style="display:none;" class="mL_Item mL_Message_Detail"><div class="mL_ItemMark"/><div class="mL_Avatar"><img ' + social.constrainImageSize(32, 32, social.entityInfo.Icon.Height, social.entityInfo.Icon.Width, social.entityInfo.Icon.Url, 1) + '/></div><div class="mL_Main"><div class="mL_usernameLink breakMyWords"><a href="#">' + $.trim(social.entityInfo.PublicLabel) + '</a></div><div class="mL_body breakMyWords">' + $.trim(data.SentMessage.Body) + '</div><div class="mL_date">' + social.prettyDate(social.getDateFromDotNetJSONString(data.SentMessage.AddDate)) + '</div></div><div class="mL_utilityLinks"/></div>');
                    $(".mL_Item:last:hidden").animate({ "height": "toggle", "opacity": "toggle" }, "slow");
                } catch(e) {
                    document.location.reload();
                }
                break;

            case 1:
                social.lbDialog.showOverlay("You cannot reply to this message.", function () { }, true);
                break;

            case 2:
                social.lbDialog.showOverlay("You cannot reply because you are not friends with this person.", function () { }, true);
                break;

            case 3:
                social.lbDialog.showOverlay("You cannot reply to yourself.", function () { }, true);
                break;

            case 4:
                social.lbDialog.showOverlay("Error sending reply. Please try later.", function () { }, true);
                break;
        }
        $("button, textarea", form).removeClass("disabaled");
        $("textarea", form).val("");
    }, "json");
    delete tempRef;
    return false;
};
/* PROFILE VIEW - INBOX / MESSAGE DETAIL
********************************************************************************************************/
social.account.build_Inbox_MessageDetail = function(data) {
	social.account.addInboxComposeLink();
	// updates dashboard unread count
	social.updateDashUnreadCount();
	$("#profileContent").autoScroll();
	// create source array
	messagesArray = new Array();
	
	parentLink = ""	
	switch(data.Messages[(data.Messages.length-1)].MessageType) {
		case 1:
		parentLink = "Messages"
		// add action links
	messagesArray.push("<div class='bulkActions'><!-- <a href='#Inbox/"+parentLink+"' class='floatLeft'>&laquo; Go To All "+parentLink+"</a> --><a class='bulkDelete' onclick='social.account.deleteMessages(\""+data.Messages[0].ConversationId+"\");' href='#Inbox/"+parentLink+"'>Delete</a></div>");
		break;
		case 2:
		parentLink = "Friend Requests"
		// add action links
	messagesArray.push("<div class='bulkActions'><a href='#Inbox/"+parentLink+"' class='floatLeft'>&laquo; Go To All "+parentLink+"</a><a class='bulkDelete' onclick='social.account.acceptRequests(\""+data.Messages[0].MessageId+"\");' href='#Inbox/"+parentLink+"'>Accept</a><a class='bulkDelete' onclick='social.account.deleteMessages(\""+data.Messages[0].ConversationId+"\");' href='#Inbox/"+parentLink+"'>Ignore</a></div>");
		break;
		case 3:
		parentLink = "Alerts"
		// add action links
	messagesArray.push("<div class='bulkActions'><a href='#Inbox/"+parentLink+"' class='floatLeft'>&laquo; Go To All "+parentLink+"</a><a class='bulkDelete' onclick='social.account.deleteMessages(\""+data.Messages[0].ConversationId+"\");' href='#Inbox/"+parentLink+"'>Delete</a></div>");
		break;
	}
	messagesArray.push("<div class='mL_Message_Detail_Subject breakMyWords'>"+$.trim(data.Messages[0].Subject)+"</div>");
	// build generic message item
	messagesArray.push(social.account.build_MessageItem(data, true, true));
	
	// if allowed we add form to reply to a message
	if(data.ConversationAllowReply == true) {
		// open form
		messagesArray.push("<form onsubmit='return social.account.replyToMessage(this);' id='messageDetailForm' action='#Inbox/"+parentLink+"/"+data.ConversationReplyToMessageId+"'>");
		messagesArray.push("	<p class='messageFormTitle'>NEW MESSAGE</p>");
		messagesArray.push("	<input type='hidden' name='replyToMessageId' value='"+data.ConversationReplyToMessageId+"' />");
		messagesArray.push("	<textarea onfocus=\"if(this.innerHTML=='enter your message...'){this.innerHTML=''}\" id='messageDetailReplyBox' name='body'>enter your message...</textarea>");
		messagesArray.push("	<button type='reset'>CANCEL</button>");
		messagesArray.push("	<button type='submit'>SUBMIT</button>");
		// close form
		messagesArray.push("</form>");
	} else if(data.ConversationAllowReply == false && data.Messages[0].messageType == 1) {
		messagesArray.push("<div id='messageDetailForm'><p class='messageFormTitle'>REPLIES HAVE BEEN DISABLED FOR THIS MESSAGE.</p></div>");
	}
	// output array
	social.account.renderNewContent(messagesArray.join(""));
	// clean up
	delete messagesArray;
};
social.account.addInboxComposeLink = function() {
    if(!document.getElementById('composeLink')) {
        $("#profile_subNav_Inbox").append("<a id='composeLink' rel='#Inbox/Compose' class='history' onclick='social.account.composeMessage(this);' href='javascript:void(0);'><span>Compose</span></a>");
    }
};
social.account.composeMessage = function(el) {
    
    $.ajax({
	    url: "/Includes/JsBin/jquery.fcbkcomplete.compose.js",
	    dataType: "script",
	    async: false,
	    cache: true,
	    success: function(js){if(jQuery.browser.safari){eval(js);}}
    });
    $("#profile_subNav_Inbox a").removeClass("active");
    $(el).addClass("active");
    composeMessageSource = [];
    composeMessageSource.push('<form action="#Inbox" id="messageDetailForm" class="inboxComposeForm" onsubmit="return social.account.sendComposeMessage(this);">');
    composeMessageSource.push(' <div class="editBlogItem clear" style="border:0;margin-left:0;">');
    composeMessageSource.push('     <p class="messageFormTitle">RECIPIENTS</p>');
    composeMessageSource.push('     <div style="position:relative;"><select multiple="multiple" class="editBlogTag" id="editBlogTag"></select></div>');
    composeMessageSource.push('     <p class="messageFormTitle">SUBJECT</p>');
    composeMessageSource.push('     <input type="text" name="subject">');
    composeMessageSource.push('     <p class="messageFormTitle">MESSAGE</p>');
    composeMessageSource.push('     <textarea name="body"></textarea>');
    composeMessageSource.push('     <button type="reset" onclick="document.location.reload();">CANCEL</button>	<button type="submit">SUBMIT</button>');
    composeMessageSource.push(' </div');
    composeMessageSource.push('</form>');
    $("#profileContent").html(composeMessageSource.join(''));
    delete composeMessageSource;
    $(".editBlogTag").fcbkcompletecompose({
		json_url: "/CFAPI/CoreManagement/GetRelatedEntities.ajax?eid="+social.entityInfo.Id+"&page=0&pageSize=20&rt=Friend",
		cache: false,
		filter_selected: true,
		newel:false
	});
};
social.account.sendComposeMessage = function(form) {
    function returnTags(el) {
		tempTags = new Array();
		$("option.selected", el).each(function() {
			tempTags.push(this.value);
		});
		return tempTags.join(",");
		delete tempTags;
	}
	social.account.requestData("/CFAPI/CommunicationManagement/SendMessage.ajax?recipientEntityIds="+returnTags($("#editBlogTag", form))+"&body="+form.body.value+"&subject="+form.subject.value, function(data){}, "json");
	document.location.reload();
	return false;
};
/* ---------------------------------------- /includes/jsbin/social.account.myStuff.js ---------------------------------------- */
/* PROFILE VIEW - MY STUFF / VIDEOS
********************************************************************************************************/
social.account.build_MyStuff_Videos = function(data) {
	// storing this for later
	if(typeof social.account.sportsListFlat == "undefined") {
		$.ajax({url:"/cfapi/CoreManagement/GetFlattenedPursuitTree.ajax?pt=Sport", dataType:"json", success: function(data){
			social.account.sportsListFlat = data;
		}});
	}
	// check for no messages
	if(data.Items.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_Videos_Upload();' href='#My Stuff/Flicks'>Add A New Flick</a></div><div class='noMessagesMessage'>You Have No Flicks.</div>");
		return;
	}
	
	
	// create source array
	videosArray = new Array();
	
	videosArray.push("<div class='bulkActions mediaBulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_Videos_Upload();' href='#My Stuff/Flicks'>Add A New Flick</a><label><input  id='selectAll' onclick='social.account.selectallCheckboxes(this);' type='checkbox' /> Select All</label><a class='editPhotosLink' onclick='social.account.bulkEditVideos();' href='#My Stuff/Flicks'>Edit</a><a class='editPhotosLink' onclick='social.account.bulkDeleteResources(\"videoItem\",\"Video\");' href='#My Stuff/Flicks'>Delete</a></div>");
	
	videosArray.push("<div id='videoItems'>");
	for(i=0;i<data.Items.length; i++) {
		
		addVidClass = "";
		if((i+1)%3 == 0)
			addVidClass = "lastItem";
		videosArray.push("<div class='videoItem "+addVidClass+"'>");
		delete addVidClass;
		
		videosArray.push("	<input type='checkbox' value='"+data.Items[i].Id+"' class='videoListCheck' />");

        if(data.Items[i].Pending ==  true) {
		    videosArray.push("	<span class='videoItemImg'><a href='/all-sports/Videos.aspx?id=" + data.Items[i].Id + "'><span class='videoItemImgIcon'></span><img " + social.constrainImageSize(58, 98, data.Items[i].Height, data.Items[i].Width, data.Items[i].Icon.Url, 1) + " /></a></span>");
		    videosArray.push("	<p class='videoItemTitle'><a href='/all-sports/Videos.aspx?id=" + data.Items[i].Id + "'>" + data.Items[i].Name.substring(0, 35) + "" + ((data.Items[i].Name.length > 35) ? '&hellip;' : '') + "</a></p>");
		} else {
		    videosArray.push("	<span class='videoItemImg'><span class='videoItemImgIcon'></span><img " + social.constrainImageSize(58, 98, data.Items[i].Height, data.Items[i].Width, data.Items[i].Icon.Url, 1) + " /></span>");
		    videosArray.push("	<p class='videoItemTitle'>" + data.Items[i].Name.substring(0, 35) + "" + ((data.Items[i].Name.length > 35) ? '&hellip;' : '') + " <em style='font-weight:normal;color:#898989;'>- Item pending.</em></p>");
		}
		videosArray.push("	<p class='videoItemAddDate'>"+social.prettyDate(social.getDateFromDotNetJSONString(data.Items[i].AddDate))+"</span>");
		videosArray.push("	<p class='videoItemCommentsAndLikes'>"+data.Items[i].Comments+" Comments | "+data.Items[i].Votes+" Likes</p>");
		videosArray.push("	<p class='videoItemAdminLinks'><a onclick='social.account.requestData(\"/CFAPI/ResourceManagement/GetVideos.ajax?includePending=true&IncludeTags=true&includeRelatedEntities=true&rids=" + data.Items[i].Id + "\", function(data) {social.account.build_MyStuff_Videos_Edit(data);}, \"json\", true); return false;' href='#My Stuff/Flicks'>Edit</a> | <a onclick='social.account.deleteResource(\"" + data.Items[i].Id + "\",\"Video\");' href='#My Stuff/Flicks'>Delete</a></p>");

		videosArray.push("   <p class='videoItemHighlightWrap'><label><input onclick='social.account.changeHighlightedState(\"" + data.Items[i].Id + "\",\"video\", this);' type='checkbox' name='resourceIsHighlight_" + i + "' id='resourceIsHighlight_" + i + "' " + ((data.Items[i].Featured) ? "checked='checked'" : "") + " /> Highlight</label></p>");

        videosArray.push("</div>");
		if((i+1)%3 == 0)
			videosArray.push("<div class='clear'></div>");
	}
	videosArray.push("<div class='clear'></div></div>");
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/ResourceManagement/GetVideos.ajax?includePagingInfo=1&page="+(page-1), "Flicks", "My Stuff");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	videosArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	// output array
	social.account.renderNewContent(videosArray.join(""));
	// clean up
	delete videosArray;
}
social.account.changeHighlightedState = function (id, type, el) {
    setVal = (el.checked)?"1":"0";
    $(el).attr("disabled","disabled");
    sendUrl = (type == "video") ? "/CFAPI/ResourceManagement/SetVideosFeaturedFlag.ajax?ids=" + id + "&featured=" + setVal : "/CFAPI/ResourceManagement/SetImagesFeaturedFlag.ajax?ids=" + id + "&featured=" + setVal;
    $.ajax({
        url:sendUrl,
        success:function() {
            $(el).removeAttr("disabled");
        }
    });

};
/* PROFILE VIEW - MY STUFF / VIDEOS / UPLOAD
********************************************************************************************************/
social.account.build_MyStuff_Videos_Upload = function (el) {
    if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
        $("#dashLoginLink").trigger("click");
    } else {
        videoUpload = new Array();
        videoUpload.push('<div class="bulkActions"><a class="floatLeft" onclick="document.location.reload()" href="#My Stuff/Flicks">&laquo Back To Flicks</a></div>');
        videoUpload.push('<a href="https://r.espn.go.com/members/v3_0/validateEmail?source=espn_rise&amp;registrationFormId=espn_rise&amp;appRedirect=' + document.location.href + '" class="colorboxMe cboxelement" id="triggerEmailReg">&nbsp;</a>');
        // adding loader layer to improve experience
        contentPos = jCore.findPos(document.getElementById("profileContent"));
        //
        if (/eventId\_/.test(el)) {
            el = el.replace("_", "=");
        }
        if (/schoolId\_/.test(el)) {
            el = el.replace("_", "=");
        }
		
		videoUpload.push('<p id="loaderWrap" class="profileLoading" style="z-index:99999999;position:absolute;top:' + contentPos[0] + ';left:' + contentPos[1] + ';background:url(/Media/backgrounds/social_load_bg.png);height:260px;width:595px;"><br/><br/><br/><br/><img height="24" width="24" alt="loading..." src="/Media/backgrounds/profile_loader.gif"/> Loading...</p>');
		videoUpload.push('<iframe style="overflow:hidden;" frameBorder="0" style="border:0;" id="uploadIframe" height="600px" width="480px" src="/cfapi/VideoUploader.aspx' + ((typeof el != "undefined") ? "?" + el : "") + '"></iframe>');
        //videoUpload.push("<p class=\"uploadDisabled\">Video uploading is temporarily unavailable.  We're working to resolve the problem, please try back later today.</h3>");
		
		
		//videoUpload.push('<iframe frameBorder="0" style="border:0;" id="uploadIframe" height="530px" width="595px" src="http://local.rise.espn.go.com/cfapi/VideoUploader.aspx"></iframe>');
        // output array
        social.account.renderNewContent(videoUpload.join(""));

        $(".colorboxMe").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
        // clean up
        delete videoUpload;
        delete contentPos;
    }
}
/* METHOD CALLED BACK FROM SUBMISSION OF VIDEO UPLOAD FORM
********************************************************************************************************/
social.account.build_MyStuff_Videos_Create = function (videoIds) {
    sTrackContentUpload("video");
    if ($(".sportVerticalFeedModule").length > 0) {
        refreshRundown();
    } else {
        social.account.requestData("/CFAPI/ResourceManagement/GetVideos.ajax?includePending=true&includeTags=true&includeRelatedEntities=true&rids=" + videoIds, function (data) { social.account.build_MyStuff_Videos_Edit(data); }, "json", true);
    }
};
/* PROFILE VIEW - MY STUFF / VIDEOS / EDIT
********************************************************************************************************/
social.account.build_MyStuff_Videos_Edit = function (data) {

    // private function
    function getPresetTags(tags) {
        if (!tags || tags == null)
            return;
        tempTags = tags.split(",");
        tempTagOptions = new Array();
        for (t = 0; t < tempTags.length; t++) {
            tempTagOptions.push("<option class='selected'>" + tempTags[t] + "</option>");
        }
        return tempTagOptions.join("");
        delete tempTagOptions;
        delete tempTags;
    }

    // create source array
    editVideosArray = new Array();

    editVideosArray.push("<div class='bulkActions'><a onclick='document.location.reload();' class='floatLeft' href='#My Stuff/Flicks'>&laquo Back To Flicks</a></div>");
    // start form
    editVideosArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.saveVideos(this);' id='photoEditForm' action='#My Stuff/Flicks'>");

    // loop through and build each photo edit item
    for (i = 0; i < data.Items.length; i++) {
        var schoolChecked = false;
        var eventChecked = false;
        var eventName;
        var eventId;
        if (data.Items[i].CustomFields) {
            for (var c = 0; c < data.Items[i].CustomFields.List.length; c++) {
                if (data.Items[i].CustomFields.List[c].Name == "SCHOOL_ID" && data.Items[i].CustomFields.List[c].Value != "")
                    schoolChecked = true;

                if (data.Items[i].CustomFields.List[c].Name == "EVENT_ID" && data.Items[i].CustomFields.List[c].Value != "") {
                    eventChecked = true;
                    eventId = data.Items[i].CustomFields.List[c].Value;
                }
            }
        }
        if (eventChecked == true) {
            for (var e = 0; e < data.Events.length; e++) {
                if (data.Events[e].Id == eventId)
                    eventName = data.Events[e].Name;
            }
        }
        editVideosArray.push("<div class='editVideoItem clear'>");
        editVideosArray.push("	<div class='editVideoItemImg'><img src='" + data.Items[i].Icon.Url.replace("~/", "/Assets/").replace(".jpg", "_1.jpg") + "' alt='' /></div>");
        editVideosArray.push("	<input type='hidden' name='editVideoId" + i + "' id='editVideoId" + i + "' value='" + data.Items[i].Id + "' />");
        editVideosArray.push("	<span class='floatRight' style='font-size:11px;margin:5px 10px 0 0;color:#818181;'>Quick Tip: Create a good title so people know what your video is about</span><label for='editVideoTitle" + i + "'>Title</label><input type='text' name='editVideoTitle" + i + "' id='editVideoTitle" + i + "' value='" + data.Items[i].Name.replace(/'/g, "&#039;") + "' /><br />");
        editVideosArray.push("	<label for='editVideoDesc" + i + "'>Description</label><textarea name='editVideoDesc" + i + "' id='editVideoDesc" + i + "'>" + data.Items[i].Description + "</textarea><br />");
        editVideosArray.push("	<label style='float:none;' for='editPhotoSportslabel" + i + "'>Sport</label>");
        if(!data.Items[i].PrimaryPursuitId)
            editVideosArray.push("	<select class='editSportDropdown' id='editPhotoSportslabel" + i + "'>" + social.account.getSportList(social.entityInfo.PrimaryPursuitId) + "</select>");
        else
            editVideosArray.push("	<select class='editSportDropdown' id='editPhotoSportslabel" + i + "'>" + social.account.getSportList(data.Items[i].PrimaryPursuitId) + "</select>");

        editVideosArray.push("      &nbsp;<input class='featuredCheckbox' "+((data.Items[i].Featured == true)?"checked='checked'":"")+" type='checkbox' name='featureCheckbox" + i + "' id='featureCheckbox" + i + "'><label class='featuredCheckboxLabel' for='featureCheckbox" + i + "'>Highlight</label>");

        editVideosArray.push("	<label style='float:none;' for='editPhotoTags" + i + "'>Tags</label>");
        editVideosArray.push("	<div class='editMediaTagsBox' class='clear'><select multiple='multiple' class='editPhotoTag' id='editPhotoTag" + i + "'>" + getPresetTags(data.Items[i].Tags) + "</select></div>");


        editVideosArray.push("<div class='uploadNewBox'>");
        editVideosArray.push("                <h3>Share Options</h3>");
        editVideosArray.push("                <label class='optionsLabel' style='display:'><input type='checkbox' " + ((schoolChecked == true) ? "checked='checked'" : "") + " id='SCHOOL_ID" + i + "' name='SCHOOL_ID' value='" + social.entityInfo.AssociatedSchoolEntityId + "' /> Display on my school page</label>");
        editVideosArray.push("                <div class='eventSelectionWrap " + ((eventChecked == true) ? "eventSelectionWrapShow" : "") + "'>");
        editVideosArray.push("                    <label class='optionsLabel'><input type='checkbox' " + ((eventChecked == true) ? "checked='checked'" : "") + " name='showEventForm' class='showEventForm' id='showEventForm_" + i + "' value='eventIdHere' /> Display on Event Page</label>");

        editVideosArray.push("                     <div class='whenWasItWrap'>");

        editVideosArray.push("                    <label>When Was it?</label>");
        editVideosArray.push("                    <select name='sd' id='sd'" + i + ">");
        newDate = new Date();
        startDate = new Date();


        newDate.setDate(startDate.getDate() - 30);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Past 30 Days</option>");
        newDate.setDate(startDate.getDate() - 60);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Month</option>");
        newDate.setDate(startDate.getDate() - 90);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 3 Months</option>");
        newDate.setDate(startDate.getDate() - 180);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 6 Months</option>");
        newDate.setDate(startDate.getDate() - 240);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 9 months</option>");
        newDate.setDate(startDate.getDate() - 365);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last year</option>");
        newDate.setDate(startDate.getDate() - 730);
        editVideosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Two Years</option>");
        editVideosArray.push("                    <option value='" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Future Event</option>");
        editVideosArray.push("                    <option " + ((eventChecked == true) ? "selected='selected'" : "") + " value=''>All</option>");
        editVideosArray.push("                    </select>");
        editVideosArray.push("                    </div>");

        editVideosArray.push("                    <div class='eventPickerWrap'>");
        editVideosArray.push("                    <label>What's the event name?</label>");
        editVideosArray.push("                    <div style='position:relative;'><input type='text' id='editBlogTag" + i + "' class='editBlogTag' " + ((eventChecked == true) ? "value='" + eventName + "'" : "") + " /><input type='hidden' name='EVENT_ID" + i + "' id='EVENT_ID" + i + "' " + ((eventChecked == true) ? "value='" + eventId + "'" : "") + " /></div>");
        editVideosArray.push("                    </div>");
        editVideosArray.push("                    <div class='clear'></div>");
        editVideosArray.push("                    </div>");

        editVideosArray.push("                </div>");
        editVideosArray.push("                <script type='text/javascript' src='/includes/jsbin/jquery-autocomplete-events.js'></script>");


        editVideosArray.push("</div>");
        editVideosArray.push("<div class='clear'></div>");
    }
    editVideosArray.push("<button type='reset' onclick='document.location.reload()'>CANCEL</button>");
    editVideosArray.push("<button type='submit'>SAVE</button>");
    // end form
    editVideosArray.push("</form>");

    // output array
    social.account.renderNewContent(editVideosArray.join(""), function () {


        $(".editPhotoTag").fcbkcomplete({
            json_url: "/cfapi/SearchManagement/GetTagAutoComplete.ajax",
            cache: false,
            filter_selected: true,
            newel: true
        });

        $(".showEventForm").click(function () {
            if ($(this).attr("checked")) {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").addClass("eventSelectionWrapShow");
            } else {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").removeClass("eventSelectionWrapShow");
            }
        });

        $(".editBlogTag").each(function (i) {
            var autoCompVal = $(this).val();
            $(this).autocompleteEvents("/CFAPI/SearchManagement/GetSchoolAutoComplete.ajax", { minChars: 3, matchSubset: false, matchContains: false, cacheLength: 0, selectOnly: 1 }, autoCompVal);
        });
    });
    // clean up
    delete editVideosArray;
};
/* METHOD TO SAVE VIDEOS
********************************************************************************************************/
social.account.saveVideos = function (form) {


    allPhotos = $(".editVideoItem", form);
    tempData = new Array();

    function returnTags(el) {
        tempTags = new Array();
        //$("option:selected, option.selected", el).each(function() {
        $(".holder li.bit-box").each(function () {
            tempTags.push(escape($(this).attr("rel")));
        });
        return tempTags.join(",");
        delete tempTags;
    }

    for (i = 0; i < allPhotos.length; i++) {
        okToPass = true;
        var autoCompVal = $("#editBlogTag" + i).val();
        if ($("#showEventForm_" + i).attr("checked")) {
            $.ajax({
                url: "/Handlers/GetEvents.ajax",
                data: "tags=" + autoCompVal,
                cache: false,
                dataType: "json",
                async: false,
                success: function (data) {
                    if (data.List.length != 1) {
                        alert("Please choose an event or un-check the \"Display on Event Page\" checkbox.");
                        okToPass = false;
                    } else {
                        $("#editBlogTag" + i).val(data.List[0].Name);
                        $("#EVENT_ID" + i).val(data.List[0].Value.split("|")[0]);
                    }
                }
            });
        }
        if ($("#showEventForm_" + i).attr("checked") && $("#EVENT_ID" + i).val() == "") {
            alert("Please choose an event or un-check the \"Display on Event Page\" checkbox.");
            okToPass = false;
        }
        if (!okToPass)
            return false;


        var customField = [];
        if (document.getElementById("SCHOOL_ID" + i).checked || (document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked)) {
            if (document.getElementById("SCHOOL_ID" + i).checked)
                customField.push("SCHOOL_ID=" + document.getElementById("SCHOOL_ID" + i).value);
            if (document.getElementById("SCHOOL_ID" + i).checked && (document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked))
                customField.push(",");
            if ((document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked))
                customField.push("EVENT_ID=" + document.getElementById("EVENT_ID" + i).value);
        } else {
            customField.push("SCHOOL_ID=,EVENT_ID=");
        }

        $.ajax({
            url: "/CFAPI/ResourceManagement/SaveVideo.ajax",
            async: false,
            data: {
                rid: document.getElementById("editVideoId" + i).value,
                columns: "Name,Description,PrimaryPursuitId",
                name: document.getElementById("editVideoTitle" + i).value,
                description: document.getElementById("editVideoDesc" + i).value,
                pid: document.getElementById("editPhotoSportslabel" + i).value,
                tags: returnTags(document.getElementById("editPhotoTag" + i)),
                customFields: customField.join(""),
                featured: ((document.getElementById('featureCheckbox' + i).checked) ? 1 : 0)
            },
            type: "post"
        });

    }

    delete tempData;
    hashVals = document.location.hash.split("/");
    if (hashVals[3])
        document.location.href = "/~/link.aspx?_id=" + hashVals[3].replace("eventId_", "");
    else
        document.location.reload();
    return false;
}
/* METHOD FOR BULK EDIT OF VIDEOS
********************************************************************************************************/
social.account.bulkEditVideos = function(messageIds) {
	tempRef = $(".videoItem");
	tempArray = new Array();
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].getElementsByTagName("input")[0].checked)
			tempArray.push(tempRef[i].getElementsByTagName("input")[0].value);
	}
	if(tempArray.length > 0)
	    social.account.requestData("/CFAPI/ResourceManagement/GetVideos.ajax?includePending=true&IncludeTags=true&includeRelatedEntities=true&rids=" + tempArray.join(","), function (data) { social.account.build_MyStuff_Videos_Edit(data); }, "json", true);
	// clean up
	delete tempRef;
	delete tempArray;
}



/* PROFILE VIEW - MY STUFF / PHOTOS
********************************************************************************************************/
social.account.build_MyStuff_Photos = function (data) {
    // storing this for later
    if (typeof social.account.sportsListFlat == "undefined") {
        $.ajax({ url: "/cfapi/CoreManagement/GetFlattenedPursuitTree.ajax?pt=Sport", dataType: "json", success: function (data) {
            social.account.sportsListFlat = data;
        } 
        });
    }
    // check for no messages
    if (data.Items.length == 0) {
        // output friendly message
        social.account.renderNewContent("<div class='bulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_Photos_Upload();' href='#My Stuff/Pics'>Add A New Pic</a></div><div class='noMessagesMessage'>You Have No Pics.</div>");
        return;
    }


    // create source array
    photosArray = new Array();

    photosArray.push("<div class='bulkActions mediaBulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_Photos_Upload(); return false;' href='#My Stuff/Pics'>Add A New Pic</a><label><input  id='selectAll' onclick='social.account.selectallCheckboxes(this);' type='checkbox' /> Select All</label><a class='editPhotosLink' onclick='social.account.bulkEditPhotos();' href='#My Stuff/Pics'>Edit</a><a class='editPhotosLink' onclick='social.account.bulkDeleteResources(\"photoItem\",\"Image\");' href='#My Stuff/Pics'>Delete</a></div>");

    photosArray.push("<div id='photoItems'>");
    for (i = 0; i < data.Items.length; i++) {
        addPhotoClass = "";
        if ((i + 1) % 3 == 0)
            addPhotoClass = "lastItem";

        photosArray.push("<div class='photoItem " + addPhotoClass + "'>");
        delete addPhotoClass;
        photosArray.push("	<input type='checkbox' value='" + data.Items[i].Id + "' class='photoListCheck' />");
        photosArray.push("	<span class='photoItemImg'><a href='/all-sports/Photos.aspx?id=" + data.Items[i].Id + "'><img " + social.constrainImageSize(58, 98, data.Items[i].Height, data.Items[i].Width, data.Items[i].Url, 1) + " /></a></span>");
        photosArray.push("	<p class='photoItemTitle'><a href='/all-sports/Photos.aspx?id=" + data.Items[i].Id + "'>" + data.Items[i].Name.substring(0, 15) + "" + ((data.Items[i].Name.length > 15) ? '&hellip;' : '') + "</a></p>");
        photosArray.push("	<p class='photoItemAddDate'>" + social.prettyDate(social.getDateFromDotNetJSONString(data.Items[i].AddDate)) + "</span>");
        photosArray.push("	<p class='photoItemCommentsAndLikes'>" + data.Items[i].Comments + " Comments | " + data.Items[i].Votes + " Likes</p>");

        photosArray.push("	<p class='photoItemAdminLinks'>");
        if (data.Items[i].IsLoggedInUsersAvatar)
            photosArray.push("	<span>Current Profile Image</span>");
        else
            photosArray.push("	<a href='#' onclick='social.account.cropPopup(\"" + data.Items[i].Id + "\", \"" + data.Items[i].Url + "\", \"" + data.Items[i].Height + "\", \"" + data.Items[i].Width + "\");return false;'>Set Profile Image</a>");
        //photosArray.push("	<a href='#' onclick='social.account.requestData(\"/CFAPI/CoreManagement/SetEntityIcon.ajax?rid="+data.Items[i].Id+"\",function(data) {document.location.reload();},\"json\");return false;'>Set Profile Image</a>");
        photosArray.push("	 | <a onclick='social.account.requestData(\"/CFAPI/ResourceManagement/GetImages.ajax?IncludeTags=true&includeRelatedEntities=true&rids=" + data.Items[i].Id + "\", function(data) {social.account.build_MyStuff_Photos_Edit(data);}, \"json\", true); return false;' href='#My Stuff/Pics'>Edit</a>");
        photosArray.push("	 | <a onclick='social.account.deleteResource(\"" + data.Items[i].Id + "\",\"Image\");' href='#My Stuff/Pics'>Delete</a></p>");
        photosArray.push("   <p class='photoItemHighlightWrap'><label><input onclick='social.account.changeHighlightedState(\"" + data.Items[i].Id + "\",\"photo\", this);' type='checkbox' name='resourceIsHighlight_" + i + "' id='resourceIsHighlight_" + i + "' " + ((data.Items[i].Featured) ? "checked='checked'" : "") + " /> Highlight</label></p>");
        photosArray.push("</div>");

        if ((i + 1) % 3 == 0)
            photosArray.push("<div class='clear'></div>");
    }
    photosArray.push("<div class='clear'></div></div>");

    // redefine action method for our use here
    social.pagination.paginationAction = function (page) {
        social.account.mainEventDelegation("/CFAPI/ResourceManagement/GetImages.ajax?includePagingInfo=1&page=" + (page - 1), "Pics", "My Stuff");
        $("#profileContent").autoScroll();
        return false;
    }

    // add pagination source to array
    photosArray.push(social.pagination.buildPagination(data.PagingInfo));

    // output array
    social.account.renderNewContent(photosArray.join(""));
    // clean up
    delete photosArray;
}
social.account.cropPopup = function(Id, url, Ht, Wd) {
	social.lbDialog.showCropBox(Id, url, Ht, Wd);
}
social.account.saveEntityIcon = function(selection, Id, Ht, Wd) {
	xScale = Ht / ($("img#cropMe").height());
	yScale = Wd / ($("img#cropMe").width());
	social.account.requestData("/CFAPI/CoreManagement/SetEntityIcon.ajax?rid="+Id+"&x="+Math.floor(selection.x1 * xScale)+"&y="+Math.floor(selection.y1 *yScale)+"&width="+Math.floor(selection.width * xScale)+"&height="+Math.floor(selection.height * yScale)+"&resultWidth=200&resultHeight=200", function(){$(".removeMeLater, .imgareaselect-outer").remove();social.lbDialog.hideOverlay();document.location.reload();}, "json", true);
}
/* METHOD FOR BULK EDIT OF PHOTOS
********************************************************************************************************/
social.account.bulkEditPhotos = function(messageIds) {
	tempRef = $(".photoItem");
	tempArray = new Array();
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].getElementsByTagName("input")[0].checked)
			tempArray.push(tempRef[i].getElementsByTagName("input")[0].value);
	}
	if(tempArray.length > 0)
	    social.account.requestData("/CFAPI/ResourceManagement/GetImages.ajax?IncludeTags=true&includeRelatedEntities=true&rids=" + tempArray.join(","), function (data) { social.account.build_MyStuff_Photos_Edit(data); }, "json", true);
	//social.account.acceptRequests(tempArray.join(","));
	// clean up
	delete tempRef;
	delete tempArray;
}
/* PROFILE VIEW - MY STUFF / PHOTOS / EDIT
********************************************************************************************************/
social.account.build_MyStuff_Photos_Edit = function (data) {

    // private function
    function getPresetTags(tags) {
        if (!tags || tags == null)
            return;
        tempTags = tags.split(",");
        tempTagOptions = new Array();
        for (t = 0; t < tempTags.length; t++) {
            tempTagOptions.push("<option value='" + tempTags[t] + "' class='selected'>" + tempTags[t] + "</option>");
        }
        return tempTagOptions.join("");
        delete tempTagOptions;
        delete tempTags;
    }

    // create source array
    editPhotosArray = new Array();

    editPhotosArray.push("<div class='bulkActions'><a onclick='document.location.reload();' class='floatLeft' href='#My Stuff/Pics'>&laquo Back To Pics</a></div>");
    // start form
    editPhotosArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.savePhotos(this);' id='photoEditForm' action='#My Stuff/Pics'>");

    // loop through and build each photo edit item
    for (i = 0; i < data.Items.length; i++) {
        var schoolChecked = false;
        var eventChecked = false;
        var eventName;
        var eventId;
        if (data.Items[i].CustomFields) {
            for (var c = 0; c < data.Items[i].CustomFields.List.length; c++) {
                if (data.Items[i].CustomFields.List[c].Name == "SCHOOL_ID" && data.Items[i].CustomFields.List[c].Value != "")
                    schoolChecked = true;

                if (data.Items[i].CustomFields.List[c].Name == "EVENT_ID" && data.Items[i].CustomFields.List[c].Value != "") {
                    eventChecked = true;
                    eventId = data.Items[i].CustomFields.List[c].Value;
                }
            }
        }
        if (eventChecked == true) {
            for (var e = 0; e < data.Events.length; e++) {
                if (data.Events[e].Id == eventId)
                    eventName = data.Events[e].Name;
            }
        }
        editPhotosArray.push("<div class='editPhotoItem clear'>");
        editPhotosArray.push("	<div class='editPhotoItemImg'><img src='" + data.Items[i].Url.replace("~/", "/Assets/").replace(".jpg", "_1.jpg") + "' alt='' /></div>");
        editPhotosArray.push("	<span class='floatRight' style='font-size:11px;margin:5px 10px 0 0;color:#818181;'>Quick Tip: Create a good title so people know what your photo is about</span><input type='hidden' name='editPhotoId" + i + "' id='editPhotoId" + i + "' value='" + data.Items[i].Id + "' />");
        editPhotosArray.push("	<label for='editPhotoTitle" + i + "'>Title</label><input type='text' name='editPhotoTitle" + i + "' id='editPhotoTitle" + i + "' value='" + data.Items[i].Name + "' /><br />");
        editPhotosArray.push("	<label for='editPhotoDesc" + i + "'>Description</label><textarea name='editPhotoDesc" + i + "' id='editPhotoDesc" + i + "'>" + data.Items[i].Description + "</textarea><br />");
        editPhotosArray.push("	<label style='float:none;' for='editPhotoSportslabel" + i + "'>Sport</label>");

        if (!data.Items[i].PrimaryPursuitId)
            editPhotosArray.push("	<select class='editSportDropdown' id='editPhotoSportslabel" + i + "'>" + social.account.getSportList(social.entityInfo.PrimaryPursuitId) + "</select>");
        else
            editPhotosArray.push("	<select class='editSportDropdown' id='editPhotoSportslabel" + i + "'>" + social.account.getSportList(data.Items[i].PrimaryPursuitId) + "</select>");

        editPhotosArray.push("      &nbsp;<input class='featuredCheckbox' " + ((data.Items[i].Featured == true) ? "checked='checked'" : "") + " type='checkbox' name='featureCheckbox" + i + "' id='featureCheckbox" + i + "'><label class='featuredCheckboxLabel' for='featureCheckbox" + i + "'>Highlight</label>");
        
        

        editPhotosArray.push("	<label style='float:none;' for='editPhotoTags" + i + "'>Tags</label>");
        editPhotosArray.push("	<div class='editMediaTagsBox' class='clear'><select multiple='multiple' class='editPhotoTag' id='editPhotoTag" + i + "'>" + getPresetTags(data.Items[i].Tags) + "</select></div>");


        editPhotosArray.push("<div class='uploadNewBox'>");
        editPhotosArray.push("                <h3>Share Options</h3>");
        editPhotosArray.push("                <label class='optionsLabel' style='display:'><input type='checkbox' " + ((schoolChecked == true) ? "checked='checked'" : "") + " id='SCHOOL_ID" + i + "' name='SCHOOL_ID' value='" + social.entityInfo.AssociatedSchoolEntityId + "' /> Display on my school page</label>");
        editPhotosArray.push("                <div class='eventSelectionWrap " + ((eventChecked == true) ? "eventSelectionWrapShow" : "") + "'>");
        editPhotosArray.push("                    <label class='optionsLabel'><input type='checkbox' " + ((eventChecked == true) ? "checked='checked'" : "") + " name='showEventForm' class='showEventForm' id='showEventForm_" + i + "' value='eventIdHere' /> Display on Event Page</label>");

        editPhotosArray.push("                     <div class='whenWasItWrap'>");

        editPhotosArray.push("                    <label>When Was it?</label>");
        editPhotosArray.push("                    <select name='sd' id='sd'" + i + ">");
        newDate = new Date();
        startDate = new Date();


        newDate.setDate(startDate.getDate() - 30);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Past 30 Days</option>");
        newDate.setDate(startDate.getDate() - 60);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Month</option>");
        newDate.setDate(startDate.getDate() - 90);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 3 Months</option>");
        newDate.setDate(startDate.getDate() - 180);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 6 Months</option>");
        newDate.setDate(startDate.getDate() - 240);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 9 months</option>");
        newDate.setDate(startDate.getDate() - 365);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last year</option>");
        newDate.setDate(startDate.getDate() - 730);
        editPhotosArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Two Years</option>");
        editPhotosArray.push("                    <option value='" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Future Event</option>");
        editPhotosArray.push("                    <option " + ((eventChecked == true) ? "selected='selected'" : "") + " value=''>All</option>");
        editPhotosArray.push("                    </select>");
        editPhotosArray.push("                    </div>");

        editPhotosArray.push("                    <div class='eventPickerWrap'>");
        editPhotosArray.push("                    <label>What's the event name?</label>");
        editPhotosArray.push("                    <div style='position:relative;'><input type='text' id='editBlogTag" + i + "' class='editBlogTag' " + ((eventChecked == true) ? "value='" + eventName + "'" : "") + " /><input type='hidden' name='EVENT_ID" + i + "' id='EVENT_ID" + i + "' " + ((eventChecked == true) ? "value='" + eventId + "'" : "") + " /></div>");
        editPhotosArray.push("                    </div>");
        editPhotosArray.push("                    <div class='clear'>"+((eventChecked==true)?"<a href='javascript:void(0);' onclick='social.account.removeEventFromEditItem("+i+", this);'>(remove event)</a>":"")+"</div>");
        editPhotosArray.push("                    </div>");

        editPhotosArray.push("                </div>");
        editPhotosArray.push("                <script type='text/javascript' src='/includes/jsbin/jquery-autocomplete-events.js'></script>");


        editPhotosArray.push("</div>");
        editPhotosArray.push("<div class='clear'></div>");
    }
    editPhotosArray.push("<button type='reset' onclick='document.location.reload()'>CANCEL</button>");
    editPhotosArray.push("<button type='submit'>SAVE</button>");
    // end form
    editPhotosArray.push("</form>");

    // output array
    social.account.renderNewContent(editPhotosArray.join(""), function () {
        $(".editPhotoTag").fcbkcomplete({
            json_url: "/cfapi/SearchManagement/GetTagAutoComplete.ajax",
            cache: false,
            filter_selected: true,
            newel: true
        });

        $(".showEventForm").click(function () {
            if ($(this).attr("checked")) {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").addClass("eventSelectionWrapShow");
            } else {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").removeClass("eventSelectionWrapShow");
            }
        });

        $(".editBlogTag").each(function (i) {
            var autoCompVal = $(this).val();
            $(this).autocompleteEvents("/CFAPI/SearchManagement/GetSchoolAutoComplete.ajax", { minChars: 3, matchSubset: false, matchContains: false, cacheLength: 0, selectOnly: 1 }, autoCompVal);
        });

    });
    // clean up
    delete editPhotosArray;
}
social.account.removeEventFromEditItem = function (count, el) {
    $("#editBlogTag" + count).val("");
    $("#EVENT_ID" + count).val("");
    if (count == "") {
        $("#showEventForm").removeAttr("checked");
        $(".eventSelectionWrap").removeClass("eventSelectionWrapShow");
    } else {
        $("#showEventForm_" + count).removeAttr("checked");
        $(".eventSelectionWrap:eq(" + count + ")").removeClass("eventSelectionWrapShow");
    }
    $(el).hide();

};
/* METHOD TO GET SPORT DROPDOWN LIST
********************************************************************************************************/
social.account.getSportList = function (findId) {
    tempDropdown = new Array();
    for (s = 0; s < social.account.sportsListFlat.FlattenedEntityPursuitList.List.length; s++) {
        if (findId && social.account.sportsListFlat.FlattenedEntityPursuitList.List[s].Value == findId)
            tempDropdown.push("<option selected='selected' value='" + social.account.sportsListFlat.FlattenedEntityPursuitList.List[s].Value + "'>" + social.account.sportsListFlat.FlattenedEntityPursuitList.List[s].Name + "</option>")
        else
            tempDropdown.push("<option value='" + social.account.sportsListFlat.FlattenedEntityPursuitList.List[s].Value + "'>" + social.account.sportsListFlat.FlattenedEntityPursuitList.List[s].Name + "</option>")
    }
    return tempDropdown.join("");

    delete tempDropdown;
}
/* METHOD TO SAVE PHOTOS
********************************************************************************************************/
social.account.savePhotos = function (form) {
    allPhotos = $(".editPhotoItem", form);
    tempData = new Array();

    function returnTags(el) {
        tempTags = new Array();
        //$("option:selected, option.selected", el).each(function() {
        $(".holder li.bit-box").each(function () {
            tempTags.push(escape($(this).attr("rel")));
        });
        return tempTags.join(",");
        delete tempTags;
    }

    for (i = 0; i < allPhotos.length; i++) {
        okToPass = true;
        var autoCompVal = $("#editBlogTag" + i).val();
        if ($("#showEventForm_" + i).attr("checked")) {
            $.ajax({
                url: "/Handlers/GetEvents.ajax",
                data: "tags=" + autoCompVal,
                cache: false,
                dataType: "json",
                async: false,
                success: function (data) {
                    if (data.List.length != 1) {
                        alert("Please choose an event or un-check the \"Display on Event Page\" checkbox.");
                        okToPass = false;
                    } else {
                        $("#editBlogTag" + i).val(data.List[0].Name);
                        $("#EVENT_ID" + i).val(data.List[0].Value.split("|")[0]);
                    }
                }
            });
        }
        if ($("#showEventForm_" + i).attr("checked") && $("#EVENT_ID" + i).val() == "") {
            alert("Please choose an event or un-check the \"Display on Event Page\" checkbox.");
            okToPass = false;
        }
        if (!okToPass)
            return false;

        var customField = [];
        if (document.getElementById("SCHOOL_ID" + i).checked || (document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked)) {
            if (document.getElementById("SCHOOL_ID" + i).checked)
                customField.push("SCHOOL_ID=" + document.getElementById("SCHOOL_ID" + i).value);
            if (document.getElementById("SCHOOL_ID" + i).checked && (document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked))
                customField.push(",");
            if ((document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked))
                customField.push("EVENT_ID=" + document.getElementById("EVENT_ID" + i).value);
        } else {
            customField.push("SCHOOL_ID=,EVENT_ID=");
        }


        $.ajax({
            url: "/CFAPI/ResourceManagement/SaveImage.ajax",
            async: false,
            data: {
                rid: document.getElementById("editPhotoId" + i).value,
                columns: "Name,Description,PrimaryPursuitId",
                name: document.getElementById("editPhotoTitle" + i).value,
                description: document.getElementById("editPhotoDesc" + i).value,
                pid: document.getElementById("editPhotoSportslabel" + i).value,
                tags: returnTags(document.getElementById("editPhotoTag" + i)),
                customFields: customField.join(""),
                featured: ((document.getElementById('featureCheckbox'+i).checked)?1:0)
            },
            type: "post"
        });

    }

    /*for (i = 0; i < allPhotos.length; i++) {
    var customField = [];
    if (document.getElementById("SCHOOL_ID" + i).checked || (document.getElementById("EVENT_ID" + i).value && document.getElementById("showEventForm_" + i).checked)) {
    customField.push("&customFields={");
    if (document.getElementById("SCHOOL_ID" + i).checked)
    customField.push("SCHOOL_ID:" + document.getElementById("SCHOOL_ID" + i).value)
    customField.push("}");
    }
    tempData.push("/CFAPI/ResourceManagement/SaveImage.ajax?rid=" + document.getElementById("editPhotoId" + i).value + "&columns=Name,Description,PrimaryPursuitId&name=" + document.getElementById("editPhotoTitle" + i).value + "&description=" + document.getElementById("editPhotoDesc" + i).value + "&pid=" + document.getElementById("editPhotoSportslabel" + i).value + "&tags=" + returnTags(document.getElementById("editPhotoTag" + i)) + customField.join(""))
    }

    for (i = 0; i < tempData.length; i++) {
    $.ajax({
    url: tempData[i],
    async: false
    });
    }*/

    delete tempData;
    hashVals = document.location.hash.split("/");
    if (hashVals[3])
        document.location.href = "/~/link.aspx?_id=" + hashVals[3].replace("eventId_", "");
    else
        document.location.reload();
    return false;
}
/* METHOD TO DELETE RESOURCES
********************************************************************************************************/
social.account.deleteResource = function(rids, type) {
	social.lbDialog.showOverlay("Are you sure you want to delete the selected item(s)?", function() {social.account.requestData("/CFAPI/ResourceManagement/DeleteResources.ajax?rt="+type+"&rids="+rids, function() {document.location.reload()}, "json")}, false);
}
/* METHOD FOR BULK DELETE OF RESOURCES
********************************************************************************************************/
social.account.bulkDeleteResources = function(itemClass, type) {
	tempRef = $("."+itemClass);
	tempArray = new Array();
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].getElementsByTagName("input")[0].checked)
			tempArray.push(tempRef[i].getElementsByTagName("input")[0].value);
	}
	if(tempArray.length > 0)
		social.account.deleteResource(tempArray.join(","), type);
	// clean up
	delete tempRef;
	delete tempArray;
}
/* PROFILE VIEW - MY STUFF / PHOTOS / UPLOAD
********************************************************************************************************/
social.account.build_MyStuff_Photos_Upload = function (el) {
    if (typeof social.entityInfo.PassivelyLoggedIn != "undefined" && social.entityInfo.PassivelyLoggedIn == true) {
        $("#dashLoginLink").trigger("click");
    } else {
        photoUpload = new Array();

        photoUpload.push('<div class="bulkActions"><a class="floatLeft" onclick="document.location.hash = \'#My Stuff/Pics\'; document.location.reload()" href="#My Stuff/Pics">&laquo Back To Pics</a></div>');
        photoUpload.push('<a href="https://r.espn.go.com/members/v3_0/validateEmail?source=espn_rise&amp;registrationFormId=espn_rise&amp;appRedirect=' + document.location.href + '" class="colorboxMe cboxelement" id="triggerEmailReg">&nbsp;</a>');
        // adding loader layer to improve experience
        contentPos = jCore.findPos(document.getElementById("profileContent"));
        photoUpload.push('<div style="position:relative;"><p id="loaderWrap" class="profileLoading" style="z-index:99999999;position:absolute;top:' + contentPos[0] + ';left:' + contentPos[1] + ';background:url(/Media/backgrounds/social_load_bg.png);height:350px;width:595px;top:45px;"><br/><br/><br/><br/><img height="24" width="24" alt="loading..." src="/Media/backgrounds/profile_loader.gif"/> Loading...</p>');
        if (/eventId\_/.test(el)) {
            el = el.replace("_", "=");
        }
        if (/schoolId\_/.test(el)) {
            el = el.replace("_", "=");
        }
        photoUpload.push('<iframe style="overflow:hidden;" frameBorder="0" style="border:0;" id="uploadIframe" height="600px" width="480px" src="/cfapi/PhotoUploader.aspx' + ((typeof el != "undefined") ? "?" + el : "") + '"></iframe></div>');

        // output array
        social.account.renderNewContent(photoUpload.join(""));

        $(".colorboxMe").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
        // clean up
        delete photoUpload;
        delete contentPos;
    }
}
/* METHOD CALLED FROM IFRAMED UPLOAD FORM TO BUILD LIST OF SPORTS FOR DROP DOWN
********************************************************************************************************/
social.account.uploadCallback = function(el) {
    $(el).html(social.account.getSportList(social.entityInfo.PrimaryPursuitId));
}
/* METHOD CALLED BACK FROM SUBMISSION OF UPLOAD FORM
********************************************************************************************************/
social.account.build_MyStuff_Photos_Create = function (photoIds) {
    sTrackContentUpload("photos");
    if ($(".sportVerticalFeedModule").length > 0) {
        refreshRundown();
    } else {
        social.account.requestData("/CFAPI/ResourceManagement/GetImages.ajax?IncludeTags=true&includeRelatedEntities=true&rids=" + photoIds, function (data) { social.account.build_MyStuff_Photos_Edit(data); }, "json", true);
    }
}
/* METHOD CALLED FROM EVENT (ATTACHED TO 'ADD' BUTTON) IN IFRAME TO GROW IFRAME HEIGHT
********************************************************************************************************/
social.account.updateIframeSize = function(dir, removes) {
	if(removes) {
		removes.unbind("click").bind("click", function() {
			social.account.updateIframeSize("smaller");
		});
	}
	if(dir == "larger") {
		$("#uploadIframe").height($("#uploadIframe").height() + 30);
		$(".ruRemove").bind("click", function() {
		});
	}
	else {
		$("#uploadIframe").height($("#uploadIframe").height() - 30);
	}
}
/* PROFILE VIEW - MY STUFF / MY FAVORITES
********************************************************************************************************/
social.account.build_MyStuff_My_Favorites = function(data) {
    // check for no blog posts
	if(data.Items.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'></div><div class='noMessagesMessage'>You Have No Favorites.</div>");
		return;
	}
	
	// start source code array
	myFavoritesArray = new Array();
    
    myFavoritesArray.push("<div class='bulkActions'></div>");
	
	for(i=0;i<data.Items.length;i++) {
		myFavoritesArray.push('<div class="mL_Item mL_MyPress clear">');
		//blogListArray.push('	<div class="mL_ItemMark"></div>');
		myFavoritesArray.push('	<div class="mL_Main">');
		if(data.Items[i].SocialObjectGlyph.SocialObjectType == 102) { // image
		    myFavoritesArray.push('		<div class="ml_Body_Subject breakMyWords"><a href="/all-sports/Photos.aspx?id='+data.Items[i].SocialObjectGlyph.Id+'">'+$.trim(data.Items[i].SocialObjectGlyph.Name)+'</a></div>');
		} else if(data.Items[i].SocialObjectGlyph.SocialObjectType == 103) { //video
		    myFavoritesArray.push('		<div class="ml_Body_Subject breakMyWords"><a href="/all-sports/Videos.aspx?id='+data.Items[i].SocialObjectGlyph.Id+'">'+$.trim(data.Items[i].SocialObjectGlyph.Name)+'</a></div>');
		} else {
		    myFavoritesArray.push('		<div class="ml_Body_Subject breakMyWords"><a href="'+$.trim(data.Items[i].SocialObjectGlyph.DeepLink)+'">'+$.trim(data.Items[i].SocialObjectGlyph.Name)+'</a></div>');
		}
		tempDesc = $.trim(data.Items[i].SocialObjectGlyph.Description);
		myFavoritesArray.push('		<div class="mL_body breakMyWords">'+((tempDesc.length>80)?tempDesc.substr(0,80):tempDesc)+'</div>');
		myFavoritesArray.push('		<div class="mL_utilityLinks"><a href="#My Stuff/My Favorites" onclick="social.account.deleteFavorite(\''+data.Items[i].ItemId+'\',\''+data.Items[i].SocialObjectGlyph.Id+'\');">Delete</a></div>');
		myFavoritesArray.push('	</div>');
		myFavoritesArray.push('</div>');
	}
    
    // redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/ResourceManagement/GetFavorites.ajax?includePagingInfo=1&descriptionLimit=53&page="+(page-1), "My Favorites", "My Stuff");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	myFavoritesArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	// output array
	social.account.renderNewContent(myFavoritesArray.join(""));
	// clean up
	delete myFavoritesArray;
}
social.account.deleteFavorite = function(ids, soid) {
    $.ajax({
		url:"/CFAPI/ResourceManagement/DeleteFavorites.ajax",
		dataType: 'json',
		type: 'POST',
		async:false,
		data: {
			ids: ids
		},
		success: function() {
		    jCore.deleteCookie("fav_"+social.entityInfo.Id+"_"+soid);
		}
	});		
	document.location.reload();
	return false;
};
/* PROFILE VIEW - MY STUFF / MY PRESS
********************************************************************************************************/
social.account.build_MyStuff_My_Press = function(data) {
	// storing this for later
	if(typeof social.account.sportsListFlat == "undefined") {
		$.ajax({url:"/cfapi/CoreManagement/GetFlattenedPursuitTree.ajax?pt=Sport", dataType:"json", success: function(data){
			social.account.sportsListFlat = data;
		}});
	}
	
	// check for no blog posts
	if(data.Items.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_My_Press_Add();' href='#My Stuff/My Press'>Add New Press</a></div><div class='noMessagesMessage'>You Have No Press.</div>");
		return;
	}
	
	// start source code array
	myPressArray = new Array();
	
	myPressArray.push("<div class='bulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_My_Press_Add();' href='#My Stuff/My Press'>Add New Press</a></div>");
	
	for(i=0;i<data.Items.length;i++) {
		myPressArray.push('<div class="mL_Item mL_MyPress clear">');
		//blogListArray.push('	<div class="mL_ItemMark"></div>');
		myPressArray.push('	<div class="mL_Main">');
		myPressArray.push('		<div class="ml_Body_Subject breakMyWords"><a target="_blank" href="'+$.trim(data.Items[i].DeepLink)+'">'+$.trim(data.Items[i].Name)+'</a></div>');
		//myPressArray.push('		<div class="mL_body breakMyWords">'+$.trim(data.Items[i].Description)+'</div>');
		myPressArray.push('		<div class="mL_utilityLinks"><a onclick="social.account.requestData(\'/CFAPI/ResourceManagement/GetTextResources.ajax?trt=UserDefinedLink&rids='+data.Items[i].Id+'\', function(data) {social.account.editMyPress(data.Items[0]);}, \'json\', true); return false;" href="#My Stuff/My Press">Edit</a> | <a href="#My Stuff/My Press" onclick="social.account.deleteResource(\''+data.Items[i].Id+'\',\'Text\');">Delete</a></div>');
		myPressArray.push('	</div>');
		myPressArray.push('</div>');
	}
	
	
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/ResourceManagement/GetTextResources.ajax?includePagingInfo=1&trt=UserDefinedLink&page="+(page-1), "My Press", "My Stuff");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	myPressArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	// output array
	social.account.renderNewContent(myPressArray.join(""));
	// clean up
	delete myPressArray;
}
/* PROFILE VIEW - MY STUFF / MY PRESS / ADD
********************************************************************************************************/
social.account.build_MyStuff_My_Press_Add = function() {
	
	// create source array
	addBlogsArray = new Array();
	
	addBlogsArray.push('<div class="bulkActions"><a onclick="document.location.reload()" class="floatLeft" href="#My Stuff/My Press">&laquo Back To My Press</a></div>');
	// start form
	addBlogsArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.saveMyPress(this);' id='blogEditForm' action='#My Stuff/My Press'>");
	
	addBlogsArray.push("<div class='editBlogItem clear'>");
	addBlogsArray.push("	<label for='editBlogTitle'>URL*</label><input type='text' name='myPressUrl' id='myPressUrl' value='' /><br />");
	addBlogsArray.push("	<label for='editBlogTitle'>Title*</label><input type='text' name='myPressTitle' id='myPressTitle' value='' /><br />");
	//addBlogsArray.push("	<label for='editBlogTitle'>Source</label><input type='text' name='myPressSource' id='myPressSource' value='' /><br />");
	addBlogsArray.push("</div>");
	
	
	addBlogsArray.push("<button type='reset' onclick='document.location.reload()'>CANCEL</button>");
	addBlogsArray.push("<button type='submit'>SAVE</button>");
	// end form
	addBlogsArray.push('</form>');
	
	// output array
	social.account.renderNewContent(addBlogsArray.join(""), function() {});
	// clean up
	delete addBlogsArray;
}
/* PROFILE VIEW - MY STUFF / MY PRESS / EDIT
********************************************************************************************************/
social.account.editMyPress = function(data) {
	// create source array
	editMyPressArray = new Array();
	// create source array
	editMyPressArray = new Array();
	
	editMyPressArray.push('<div class="bulkActions"><a onclick="document.location.reload()" class="floatLeft" href="#My Stuff/My Press">&laquo Back To My Press</a></div>');
	// start form
	editMyPressArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.saveMyPress(this, true);' id='blogEditForm' action='#My Stuff/My Press'>");
	
	editMyPressArray.push("<div class='editBlogItem clear'>");
	editMyPressArray.push("	<label for='editBlogTitle'>URL*</label><input type='text' name='myPressUrl' id='myPressUrl' value='"+data.DeepLink+"' /><br />");
	editMyPressArray.push("	<label for='editBlogTitle'>Title*</label><input type='text' name='myPressTitle' id='myPressTitle' value='"+data.Name+"' /><br />");
	//editMyPressArray.push("	<label for='editBlogTitle'>Source</label><input type='text' name='myPressSource' id='myPressSource' value='"+data.Description+"' /><br />");
	editMyPressArray.push("	<input type='hidden' name='myPressId' id='myPressId' value='"+data.Id+"' /><br />");
	editMyPressArray.push("</div>");
	
	
	editMyPressArray.push("<button type='reset' onclick='document.location.reload()'>CANCEL</button>");
	editMyPressArray.push("<button type='submit'>SAVE</button>");
	// end form
	editMyPressArray.push('</form>');
	
	// output array
	social.account.renderNewContent(editMyPressArray.join(""), function() {});
	// clean up
	delete editMyPressArray;
	
	return false;
}
/* METHOD TO SAVE MY PRESS
********************************************************************************************************/
social.account.saveMyPress = function(el, ifEditing) {

	if(document.getElementById("myPressUrl").value == "" || document.getElementById("myPressTitle").value == "") {
	    social.lbDialog.showOverlay("Please include a URL and Title",function(){},true);
	    return false;
	}
	
	if(!ifEditing) {
		$.ajax({
			url:"/CFAPI/ResourceManagement/SaveUserDefinedLink.ajax",
			dataType: 'json',
			type: 'POST',
			async:false,
			data: {
				name: document.getElementById("myPressTitle").value,
				urlValue: document.getElementById("myPressUrl").value,
                source:""
				//source: document.getElementById("myPressSource").value
			}
		});

	}
	else {
		$.ajax({
			url:"/CFAPI/ResourceManagement/SaveUserDefinedLink.ajax",
			dataType: 'json',
			type: 'POST',
			async:false,
			data: {
				name: document.getElementById("myPressTitle").value,
				urlValue: document.getElementById("myPressUrl").value,
                source:"",
				//source: document.getElementById("myPressSource").value,
				rid: document.getElementById("myPressId").value
			}
		});
	}		
	document.location.reload();
	return false;
}
/* PROFILE VIEW - MY STUFF / BLOGS
********************************************************************************************************/
social.account.build_MyStuff_Blogs = function(data) {
	// storing this for later
	if(typeof social.account.sportsListFlat == "undefined") {
		$.ajax({url:"/cfapi/CoreManagement/GetFlattenedPursuitTree.ajax?pt=Sport", dataType:"json", success: function(data){
			social.account.sportsListFlat = data;
		}});
	}
	
	// check for no blog posts
	if(data.Items.length == 0) {
		// output friendly message
		social.account.renderNewContent("<div class='bulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_Blogs_Add();' href='#My Stuff/Blogs'>Add A New Blog Post</a></div><div class='noMessagesMessage'>You Have No Blog Posts.</div>");
		return;
	}
	
	// start source code array
	blogArray = new Array();
	
	blogArray.push("<div class='bulkActions'><a class='uploadPhotoLink' onclick='social.account.build_MyStuff_Blogs_Add();' href='#My Stuff/Blogs'>Add A New Blog Post</a></div>");
	
	blogArray.push(social.account.build_MyStuff_Blogs_List(data, true));
	
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		//http://local.rise.espn.go.com/CFAPI/ResourceManagement/GetTextResources.ajax?trt=HTML
		social.account.mainEventDelegation("/CFAPI/ResourceManagement/GetTextResources.ajax?includePagingInfo=1&trt=RSS&page="+(page-1), "Blogs", "My Stuff");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	blogArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	// output array
	social.account.renderNewContent(blogArray.join(""));
	// clean up
	delete blogArray;
}
social.account.build_MyStuff_Blogs_List = function (data, ifShowLinks) {
    ifShowLinks = (typeof ifShowLinks == "undefined") ? false : ifShowLinks;
    privateEntities = social.createEntityObjects(data.Entities);

    blogListArray = new Array();

    for (i = 0; i < data.Items.length; i++) {
        blogListArray.push('<div class="mL_Item mL_Blog clear">');
        //blogListArray.push('	<div class="mL_ItemMark"></div>');
        blogListArray.push('	<div class="mL_Main">');
        //blogListArray.push('		<div class="mL_Title breakMyWords"><a onclick="if($.browser.msie && $.browser.version.substr(0,1) < 8){document.location.hash = \''+privateEntities[data.Items[i].EntityId].Info[5]+'#Blog/'+data.Items[i].Id+'\'; document.location.reload();};" href="'+privateEntities[data.Items[i].EntityId].Info[5]+'#Blog/'+data.Items[i].Id+'">'+$.trim(data.Items[i].Name)+'</a></div>');
        blogListArray.push('		<div class="mL_Title breakMyWords"><a href="'+data.Items[i].DeepLink + '">' + $.trim(data.Items[i].Name) + '</a></div>');
        blogListArray.push('		<div class="mL_body breakMyWords">' + $.trim(data.Items[i].Description) + '</div>');
        blogListArray.push('		<div class="mL_date">' + social.prettyDate(social.getDateFromDotNetJSONString(data.Items[i].AddDate)) + '</div>');
        blogListArray.push('		<div class="mL_CommentsandLikes">' + data.Items[i].Comments + ' Comments</div>');
        //blogListArray.push('		<div class="mL_CommentsandLikes">'+data.Items[i].Comments+' Comments | '+data.Items[i].Votes+' Likes</div>');

        showAdminLinks = false;
        for (m = 0; m < data.Items[i].ModeratorEntityIds.length; m++) {
            if (social.entityInfo && social.entityInfo.Id == data.Items[i].ModeratorEntityIds[m])
                showAdminLinks = true;
        }
        if (showAdminLinks && ifShowLinks)
            blogListArray.push('		<div class="mL_utilityLinks"><a onclick="social.account.requestData(\'/CFAPI/ResourceManagement/GetTextResources.ajax?trt=RSS&IncludeTags=true&includeRelatedEntities=true&rids=' + data.Items[i].Id + '\', function(data) {social.account.editBlog(data);}, \'json\', true); return false;" href="#My Stuff/Blogs">Edit</a> | <a href="#My Stuff/Blogs" onclick="social.account.deleteResource(\'' + data.Items[i].Id + '\',\'Text\');">Delete</a></div>');
        delete showAdminLinks;

        blogListArray.push('	</div>');
        blogListArray.push('</div>');
    }

    return blogListArray.join("");
    delete blogListArray;
    delete privateEntities;
}
/* PROFILE VIEW - MY STUFF / BLOGS / ADD
********************************************************************************************************/
social.account.build_MyStuff_Blogs_Add = function (extraId) {
    var eventName;
    if (typeof extraId != "undefined") {
        $.ajax({
            url: "/CFAPI/CoreManagement/GetEntities.ajax?eids=" + extraId.replace("eventId_", ""),
            dataType: "json",
            async: false,
            success: function (data) {
                eventName = data.Entities[0].PublicLabel;
            }
        });
    }

    // create source array
    addBlogsArray = new Array();

    addBlogsArray.push('<div class="bulkActions"><a onclick="document.location.reload()" class="floatLeft" href="#My Stuff/Blogs">&laquo Back To Blogs</a></div>');
    // start form
    addBlogsArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.saveBlog(this);' id='blogEditForm' action='#My Stuff/Blogs'>");

    addBlogsArray.push("<div class='editBlogItem editPhotoItem clear'>");
    addBlogsArray.push("	<label for='editBlogTitle'>Title</label><input type='text' name='editBlogTitle' id='editBlogTitle' value='' /><br />");
    addBlogsArray.push("	<label for='editBlogDesc'>Body</label><textarea name='editBlogDesc' id='editBlogDesc'></textarea><br />");
    addBlogsArray.push("	<label for='editBlogTags'>Sport &amp; Tags</label>");
    addBlogsArray.push("	<select id='editBlogSport'>" + social.account.getSportList(social.entityInfo.PrimaryPursuitId) + "</select>");
    addBlogsArray.push("	<div style='position:relative;'><select multiple='multiple' class='editBlogTags' id='editBlogTag'></select></div>");

    addBlogsArray.push("<div class='uploadNewBox'>");
    addBlogsArray.push("                <h3>Share Options</h3>");
    addBlogsArray.push("                <label class='optionsLabel' style='display:'><input type='checkbox' id='SCHOOL_ID' name='SCHOOL_ID' value='" + social.entityInfo.AssociatedSchoolEntityId + "' /> Display on my school page</label>");
    addBlogsArray.push("                <div class='eventSelectionWrap " + ((typeof extraId != "undefined") ? "eventSelectionWrapShow" : "") + "'>");
    addBlogsArray.push("                    <label class='optionsLabel'><input " + ((typeof extraId != "undefined") ? "checked='checked'" : "") + " type='checkbox' name='showEventForm' class='showEventForm' id='showEventForm' value='eventIdHere' /> Display on Event Page</label>");

    addBlogsArray.push("                     <div class='whenWasItWrap'>");

    addBlogsArray.push("                    <label>When Was it?</label>");
    addBlogsArray.push("                    <select name='sd' id='sd'>");
    newDate = new Date();
    startDate = new Date();


    newDate.setDate(startDate.getDate() - 30);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Past 30 Days</option>");
    newDate.setDate(startDate.getDate() - 60);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Month</option>");
    newDate.setDate(startDate.getDate() - 90);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 3 Months</option>");
    newDate.setDate(startDate.getDate() - 180);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 6 Months</option>");
    newDate.setDate(startDate.getDate() - 240);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 9 months</option>");
    newDate.setDate(startDate.getDate() - 365);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last year</option>");
    newDate.setDate(startDate.getDate() - 730);
    addBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Two Years</option>");
    addBlogsArray.push("                    <option value='" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Future Event</option>");
    addBlogsArray.push("                    <option value='' " + ((typeof extraId != "undefined") ? "selected='selected'" : "") + ">All</option>");
    addBlogsArray.push("                    </select>");
    addBlogsArray.push("                    </div>");

    addBlogsArray.push("                    <div class='eventPickerWrap'>");
    addBlogsArray.push("                    <label>What's the event name?</label>");
    addBlogsArray.push("                    <div style='position:relative;'><input " + ((typeof extraId != "undefined") ? "value='" + eventName + "'" : "") + " type='text' id='editBlogTags' class='editBlogTag' /><input type='hidden' " + ((typeof extraId != "undefined") ? "value='" + extraId.replace("eventId_","") + "'" : "") + " name='EVENT_ID' id='EVENT_ID' /></div>");
    addBlogsArray.push("                    </div>");
    addBlogsArray.push("                    <div class='clear'></div>");
    addBlogsArray.push("                    </div>");

    addBlogsArray.push("                </div>");
    addBlogsArray.push("                <script type='text/javascript' src='/includes/jsbin/jquery-autocomplete-events.js'></script>");


    addBlogsArray.push("</div>");
    addBlogsArray.push("<div class='clear'></div>");

    if (typeof extraId != "undefined") {
        addBlogsArray.push("	<input type='hidden' name='extraId' id='extraId' value='" + extraId + "' />");
    }
    //addBlogsArray.push("</div>");




    addBlogsArray.push("<button type='reset' onclick='document.location.reload()'>CANCEL</button>");
    addBlogsArray.push("<button type='submit'>SAVE</button>");
    // end form
    addBlogsArray.push('</form>');

    // output array
    social.account.renderNewContent(addBlogsArray.join(""), function () {
        $(".editBlogTags").fcbkcomplete({
            json_url: "/cfapi/SearchManagement/GetTagAutoComplete.ajax",
            cache: false,
            filter_selected: true,
            newel: true
        });

        $(".showEventForm").click(function () {
            if ($(this).attr("checked")) {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").addClass("eventSelectionWrapShow");
            } else {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").removeClass("eventSelectionWrapShow");
            }
        });

        $(".editBlogTag").each(function (i) {
            var autoCompVal = $(this).val();
            $(this).autocompleteEvents("/CFAPI/SearchManagement/GetSchoolAutoComplete.ajax", { minChars: 3, matchSubset: false, matchContains: false, cacheLength: 0, selectOnly: 1 }, autoCompVal);
        });

        if (CKEDITOR.instances['editBlogDesc']) {
            CKEDITOR.remove(CKEDITOR.instances['editBlogDesc']);
        }
        CKEDITOR.replace('editBlogDesc',
		{
		    toolbar: [['Source', '-', 'Bold', 'Italic', 'Underline', 'Strike', '-', 'Link', '-', 'Subscript', 'Superscript', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'Smiley']]
		});
    });
    // clean up
    delete addBlogsArray;
}
/* PROFILE VIEW - MY STUFF / BLOGS / EDIT
********************************************************************************************************/
social.account.editBlog = function (data) {
    var newData = data;
    data = data.Items[0];
    // private function
    function getPresetTags(tags) {
        if (!tags || tags == null)
            return;
        tempTags = tags.split(",");
        tempTagOptions = new Array();
        for (t = 0; t < tempTags.length; t++) {
            tempTagOptions.push("<option class='selected'>" + tempTags[t] + "</option>");
        }
        return tempTagOptions.join("");
        delete tempTagOptions;
        delete tempTags;
    }
    var schoolChecked = false;
    var eventChecked = false;
    var eventName;
    var eventId;
    if (data.CustomFields) {
        for (var c = 0; c < data.CustomFields.List.length; c++) {
            if (data.CustomFields.List[c].Name == "SCHOOL_ID" && data.CustomFields.List[c].Value != "")
                schoolChecked = true;

            if (data.CustomFields.List[c].Name == "EVENT_ID" && data.CustomFields.List[c].Value != "") {
                eventChecked = true;
                eventId = data.CustomFields.List[c].Value;
            }
        }
    }
    if (eventChecked == true) {
        for (var e = 0; e < newData.Events.length; e++) {
            if (newData.Events[e].Id == eventId)
                eventName = newData.Events[e].Name;
        }
    }

    // create source array
    editBlogsArray = new Array();

    editBlogsArray.push("<div class='bulkActions'><a onclick='document.location.reload()' class='floatLeft' href='#My Stuff/Blogs'>&laquo Back To Blogs</a></div>");
    // start form
    editBlogsArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.saveBlog(this, true);' id='blogEditForm' action='#My Stuff/Blogs'>");

    editBlogsArray.push("<div class='editBlogItem editPhotoItem clear'>");
    editBlogsArray.push("	<input type='hidden' name='editBlogId' id='editBlogId' value='" + data.Id + "' /><br />");
    editBlogsArray.push("	<label for='editBlogTitle'>Title</label><input type='text' name='editBlogTitle' id='editBlogTitle' value='" + data.Name.replace(/\'/gmi, "&#39;") + "' /><br />");
    editBlogsArray.push("	<label for='editBlogDesc'>Body</label><textarea name='editBlogDesc' id='editBlogDesc'>" + data.Data + "</textarea><br />");
    editBlogsArray.push("	<label for='editBlogTags'>Sport &amp; Tags</label>");
    editBlogsArray.push("	<select id='editBlogSport'>" + social.account.getSportList(data.PrimaryPursuitId) + "</select>");
    editBlogsArray.push("	<div style='position:relative;'><select multiple='multiple' class='editBlogTag' id='editBlogTag'>" + getPresetTags(data.Tags) + "</select></div>");

    editBlogsArray.push("<div class='uploadNewBox'>");
    editBlogsArray.push("                <h3>Share Options</h3>");
    editBlogsArray.push("                <label class='optionsLabel' style='display:'><input type='checkbox' " + ((schoolChecked == true) ? "checked='checked'" : "") + " id='SCHOOL_ID' name='SCHOOL_ID' value='" + social.entityInfo.AssociatedSchoolEntityId + "' /> Display on my school page</label>");
    editBlogsArray.push("                <div class='eventSelectionWrap " + ((eventChecked == true) ? "eventSelectionWrapShow" : "") + "'>");
    editBlogsArray.push("                    <label class='optionsLabel'><input type='checkbox' " + ((eventChecked == true) ? "checked='checked'" : "") + " name='showEventForm' class='showEventForm' id='showEventForm' value='eventIdHere' /> Display on Event Page</label>");

    editBlogsArray.push("                     <div class='whenWasItWrap'>");

    editBlogsArray.push("                    <label>When Was it?</label>");
    editBlogsArray.push("                    <select name='sd' id='sd'>");
    newDate = new Date();
    startDate = new Date();


    newDate.setDate(startDate.getDate() - 30);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Past 30 Days</option>");
    newDate.setDate(startDate.getDate() - 60);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Month</option>");
    newDate.setDate(startDate.getDate() - 90);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 3 Months</option>");
    newDate.setDate(startDate.getDate() - 180);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 6 Months</option>");
    newDate.setDate(startDate.getDate() - 240);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last 9 months</option>");
    newDate.setDate(startDate.getDate() - 365);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last year</option>");
    newDate.setDate(startDate.getDate() - 730);
    editBlogsArray.push("                    <option value='" + newDate.getMonth() + "/" + newDate.getDay() + "/" + newDate.getFullYear() + "&ed=" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Last Two Years</option>");
    editBlogsArray.push("                    <option value='" + startDate.getMonth() + "/" + startDate.getDay() + "/" + startDate.getFullYear() + "'>Future Event</option>");
    editBlogsArray.push("                    <option " + ((eventChecked == true) ? "selected='selected'" : "") + " value=''>All</option>");
    editBlogsArray.push("                    </select>");
    editBlogsArray.push("                    </div>");

    editBlogsArray.push("                    <div class='eventPickerWrap'>");
    editBlogsArray.push("                    <label>What's the event name?</label>");
    editBlogsArray.push("                    <div style='position:relative;'><input style='width:403px;' type='text' id='editBlogTags' class='editBlogTags' " + ((eventChecked == true) ? "value='" + eventName + "'" : "") + " /><input type='hidden' name='EVENT_ID' id='EVENT_ID' " + ((eventChecked == true) ? "value='" + eventId + "'" : "") + " /></div>");
    editBlogsArray.push("                    </div>");
    editBlogsArray.push("                    <div class='clear'>" + ((eventChecked == true) ? "<a href='javascript:void(0);' onclick='social.account.removeEventFromEditItem(\"\", this);'>(remove event)</a>" : "") + "</div>");
    editBlogsArray.push("                    </div>");

    editBlogsArray.push("                </div>");
    editBlogsArray.push("                <script type='text/javascript' src='/includes/jsbin/jquery-autocomplete-events.js'></script>");






    editBlogsArray.push("</div>");


    editBlogsArray.push("<button type='reset' onclick='document.location.reload()'>CANCEL</button>");
    editBlogsArray.push("<button type='submit'>SAVE</button>");
    // end form
    editBlogsArray.push("</form>");

    // output array
    social.account.renderNewContent(editBlogsArray.join(""), function () {
        $(".editBlogTag").fcbkcomplete({
            json_url: "/cfapi/SearchManagement/GetTagAutoComplete.ajax",
            cache: false,
            filter_selected: true,
            newel: true
        });
        if (CKEDITOR.instances['editBlogDesc']) {
            CKEDITOR.remove(CKEDITOR.instances['editBlogDesc']);
        }
        CKEDITOR.replace('editBlogDesc',
		{
		    toolbar: [['Source', '-', 'Bold', 'Italic', 'Underline', 'Strike', '-', 'Link', '-', 'Subscript', 'Superscript', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'Smiley']]
		});

        $(".showEventForm").click(function () {
            if ($(this).attr("checked")) {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").addClass("eventSelectionWrapShow");
            } else {
                $(this).parent(".optionsLabel").parent(".eventSelectionWrap").removeClass("eventSelectionWrapShow");
            }
        });

        $(".editBlogTags").each(function (i) {
            var autoCompVal = $(this).val();
            $(this).autocompleteEvents("/CFAPI/SearchManagement/GetSchoolAutoComplete.ajax", { minChars: 3, matchSubset: false, matchContains: false, cacheLength: 0, selectOnly: 1 }, autoCompVal);
        });
    });
    // clean up 
    delete editBlogsArray;

    return false;
}
/* METHOD TO SAVE BLOG POSTS
********************************************************************************************************/
social.account.saveBlog = function (el, ifEditing) {
    okToPass = true;
    var autoCompVal = $("#editBlogTags").val();
    if ($("#showEventForm").attr("checked") && $("#EVENT_ID").val() == "") {
        alert("Please choose an event or un-check the \"Display on Event Page\" checkbox.");
        okToPass = false;
    } else if ($("#showEventForm").attr("checked") && $("#EVENT_ID").val() != "") {
        $.ajax({
            url: "/Handlers/GetEvents.ajax",
            data: "tags=" + autoCompVal,
            cache: false,
            dataType: "json",
            async: false,
            success: function (data) {
                if (data.List.length != 1) {
                    alert("Please choose an event or un-check the \"Display on Event Page\" checkbox.");
                    okToPass = false;
                } else {
                    $("#editBlogTags").val(data.List[0].Name);
                    $("#EVENT_ID").val(data.List[0].Value);
                }
            }
        });
    }

    if (!okToPass)
        return false;


    function returnTags(el) {
        tempTags = new Array();
        $("option.selected", el).each(function () {
            tempTags.push(this.value);
        });
        return tempTags.join(",");
        delete tempTags;
    }
    if (CKEDITOR.instances.editBlogDesc.getData() == "" || document.getElementById("editBlogTitle").value == "") {
        alert("Please include a Title and Body");
        return false;
    }
    addCustom = "";
    var customField = [];
    if (document.getElementById("SCHOOL_ID") && document.getElementById("EVENT_ID")) {
        if (document.getElementById("SCHOOL_ID").checked || (document.getElementById("EVENT_ID").value && document.getElementById("showEventForm").checked)) {
            if (document.getElementById("SCHOOL_ID").checked)
                customField.push("SCHOOL_ID=" + document.getElementById("SCHOOL_ID").value);
            if (document.getElementById("SCHOOL_ID").checked && (document.getElementById("EVENT_ID").value && document.getElementById("showEventForm").checked))
                customField.push(",");
            if ((document.getElementById("EVENT_ID").value && document.getElementById("showEventForm").checked))
                customField.push("EVENT_ID=" + document.getElementById("EVENT_ID").value);
        } else {
            if (document.getElementById('extraId')) {


                extraIdVal = document.getElementById('extraId').value;
                if (/eventId/.test(extraIdVal)) {
                    customField.push("SCHOOL_ID=,EVENT_ID=" + extraIdVal.replace("eventId_", ""));
                }




            } else {
                customField.push("SCHOOL_ID=,EVENT_ID=");
            }
        }
    } else {
        customField.push("SCHOOL_ID=,EVENT_ID=");
    }


    // we submit blogs posts with a post. so we dont use main requestData method.

    if (!ifEditing) {
        var newPID;
        if (document.getElementById("editBlogSport")) {
            newPID = document.getElementById("editBlogSport").value;
        } else {
            if ($(".svFeedButton_blogs").length > 0) {
                newPID = $(".svFeedButton_blogs").attr("rel");
            }
        }
        $.ajax({
            url: "/CFAPI/ResourceManagement/SaveTextResource.ajax",
            dataType: 'json',
            type: 'POST',
            async: false,
            data: {
                trt: "RSS",
                name: escape(document.getElementById("editBlogTitle").value),
                data: escape(CKEDITOR.instances.editBlogDesc.getData()),
                pid: newPID,
                tags: returnTags(document.getElementById("editPhotoTag")),
                customFields: customField.join("")
            }
        });

    }
    else {
        $.ajax({
            url: "/CFAPI/ResourceManagement/SaveTextResource.ajax",
            dataType: 'json',
            type: 'POST',
            async: false,
            data: {
                rid: document.getElementById("editBlogId").value,
                columns: 'Name,PrimaryPursuitId,Data',
                name: escape(document.getElementById("editBlogTitle").value),
                data: escape(CKEDITOR.instances.editBlogDesc.getData()),
                pid: document.getElementById("editBlogSport").value,
                tags: returnTags(document.getElementById("editPhotoTag")),
                customFields: customField.join("")
            }
        });
    }
    if ($(".svFeedAddFormBox").length > 0) {
        refreshRundown();
    } else {
        hashVals = document.location.hash.split("/");
        if (hashVals[3])
            document.location.href = "/~/link.aspx?_id=" + hashVals[3].replace("eventId_", "");
        else {
            document.location.hash = "#My Stuff/BLogs";
            document.location.reload();
        }
    }
    return false;
}
/* ---------------------------------------- /includes/jsbin/social.account.community.js ---------------------------------------- */
/* PROFILE VIEW - COMMUNITY / FRIENDS
********************************************************************************************************/
social.account.build_Community_Friends = function(data) {
	// create source array
	friendsArray = new Array();
	
	friendsArray.push("<div class='friendsHead'><input onfocus='social.account.friendSearchStart(this);' onblur='social.account.friendSearchDone(this);' onkeyup='social.account.friendSearch(this, \"Friend\");' value='Search Friends' type='text' id='friendSearch' /><p id='totalFriendsText'><span>"+data.PagingInfo.TotalItems+"</span> Friend"+((data.PagingInfo.TotalItems==1)?"":"s")+" Total</p></div>");
	
	friendsArray.push(social.account.buildFriendList(data, 4));
	friendsListArray.push("<div class='clear'></div></div>");
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/CoreManagement/GetMyRelationshipEntities.ajax?includePagingInfo=1&rt=Friend&page="+(page-1), "Friends", "Community");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	friendsArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	// output array
	social.account.renderNewContent(friendsArray.join(""));
	// clean up
	delete friendsArray;
}
social.account.friendSearchStart = function(el) {
    if(el.value == "Search Friends") {
        el.value = "";
    }
};
social.account.friendSearchDone = function (el) {
    if (el.value == "") {
        el.value = "Search Friends";
        social.account.resetFriendsSearchList(el);
    }
};
social.account.resetFriendsSearchList = function (el) {
    relType = "Friend";
    getURL = "/CFAPI/CoreManagement/GetRelatedEntities.ajax"
    getData = {
        eid: social.entityInfo.Id,
        q: el.value,
        page: 0,
        pageSize: "20",
        includePagingInfo: 1,
        rt: relType
    };
    if (social.globalFriendRequestRef)
        social.globalFriendRequestRef.abort();
    social.globalFriendRequestRef = $.ajax({
        url: getURL,
        dataType: "json",
        cache: false,
        data: getData,
        success: function (data) {
            if (data.Errors && data.Errors.length > 0) {
                social.account.handleErrors(data);
            } else {
                if (window['loaderTimer'])
                    clearTimeout(window['loaderTimer']);

                filteredFriendsSource = [];
                filteredFriendsSource.push(social.account.buildFriendList(data, 4, ((relType.toLowerCase() == "block") ? true : false)));


                // add pagination source to array
                filteredFriendsSource.push(social.pagination.buildPagination(data.PagingInfo));
                $(".genericPagination", "#profileContent").remove();
                // output array
                $("#friendItems").replaceWith(filteredFriendsSource.join(""));
                $("#loaderWrap").remove();
                // clean up
                delete filteredFriendsSource;
            }
        },
        error: function (a, b, c) {
            jCore.log("An error was encountered. Please try again later.\n" + a + "\n" + b + "\n" + c + "");
        }
    });
};
social.account.friendSearch = function (el, relType, page) {
    var getURL;
    var getData;


    if (typeof social.account.currentFriendSearchRequest != "undefined" && social.account.currentFriendSearchRequest == el.value && typeof page == "undefined") {
        return;
    }
    if (el.value.length < 3) {
        return;
    }
    page = (typeof page == "undefined") ? 0 : page;
    if (el.value == "") {
        getURL = $("#profile_subNav_Friends .active").attr("href");
        getData = "";
        // redefine action method for our use here
        social.pagination.paginationAction = function (page) {
            if (relType == "block")
                social.account.mainEventDelegation("/CFAPI/CoreManagement/GetMyRelationshipEntities.ajax?includePagingInfo=1&rt=" + relType + "&page=" + (page - 1), "Blocked", "Community");
            else
                social.account.mainEventDelegation("/CFAPI/CoreManagement/GetMyRelationshipEntities.ajax?includePagingInfo=1&rt=" + relType + "&page=" + (page - 1), "Friends", "Community");
            $("#profileContent").autoScroll();
            return false;
        }
    } else {
        getURL = "/CFAPI/CoreManagement/GetRelatedEntities.ajax"
        getData = {
            eid: social.entityInfo.Id,
            q: el.value,
            page: page,
            pageSize: "20",
            includePagingInfo: 1,
            rt: relType
        };

        // redefine action method for our use here
        social.pagination.paginationAction = function (page) {
            social.account.friendSearch(el, relType, (page - 1));
            //social.account.mainEventDelegation("/CFAPI/CoreManagement/GetMyRelationshipEntities.ajax?includePagingInfo=1&rt=Block&page="+(page-1), "Blocked", "Community");
            $("#friendItems").autoScroll();
            return false;
        }
    }
    social.account.currentFriendSearchRequest = el.value;
    if (window['loaderTimer'])
        clearTimeout(window['loaderTimer']);
    if (!document.getElementById("loaderWrap"))
        window['loaderTimer'] = setTimeout(function () {
            contentPos = jCore.findPos(document.getElementById("friendItems"));
            social.accountContentRef.prepend('<p id="loaderWrap" class="profileLoading" style="z-index:9998;position:absolute;top:' + (contentPos[0] - 5) + 'px;left:' + contentPos[1] + 'px;background:url(/Media/backgrounds/social_load_bg.png);height:' + ($("#friendItems").height() + 45) + 'px;width:' + ($("#friendItems").width() + 20) + 'px;"><img height="24" width="24" alt="loading..." src="/Media/backgrounds/profile_loader.gif"/> Loading...</p>');
            delete contentPos;
        }, 500);

    if (social.globalFriendRequestRef)
        social.globalFriendRequestRef.abort();
    social.globalFriendRequestRef = $.ajax({
        url: getURL,
        dataType: "json",
        cache: false,
        data: getData,
        success: function (data) {
            if (data.Errors && data.Errors.length > 0) {
                social.account.handleErrors(data);
            } else {
                if (window['loaderTimer'])
                    clearTimeout(window['loaderTimer']);

                filteredFriendsSource = [];
                filteredFriendsSource.push(social.account.buildFriendList(data, 4, ((relType.toLowerCase() == "block") ? true : false)));


                // add pagination source to array
                filteredFriendsSource.push(social.pagination.buildPagination(data.PagingInfo));
                $(".genericPagination", "#profileContent").remove();
                // output array
                $("#friendItems").replaceWith(filteredFriendsSource.join(""));
                $("#loaderWrap").remove();
                // clean up
                delete filteredFriendsSource;
            }
        },
        error: function (a, b, c) {
            jCore.log("An error was encountered. Please try again later.\n" + a + "\n" + b + "\n" + c + "");
        }
    });
};
/* PROFILE VIEW - COMMUNITY / BLOCKED
********************************************************************************************************/
social.account.build_Community_Blocked = function(data) {

	// create source array
	blockedArray = new Array();
	
	blockedArray.push("<div class='friendsHead'><input onfocus='social.account.friendSearchStart(this);' onblur='social.account.friendSearchDone(this);' onkeyup='social.account.friendSearch(this, \"Block\");' value='Search Friends' type='text' id='friendSearch' /><p id='totalFriendsText'><span>"+data.PagingInfo.TotalItems+"</span> User"+((data.PagingInfo.TotalItems==1)?"":"s")+" Total</p></div>");
	
	blockedArray.push(social.account.buildFriendList(data, 4, true));

	//blockedArray.push("<div class='clear'></div></div>");
	// redefine action method for our use here
	social.pagination.paginationAction = function(page) {
		social.account.mainEventDelegation("/CFAPI/CoreManagement/GetMyRelationshipEntities.ajax?includePagingInfo=1&rt=Block&page="+(page-1), "Blocked", "Community");
		$("#profileContent").autoScroll();
		return false;
	}
	
	// add pagination source to array
	blockedArray.push(social.pagination.buildPagination(data.PagingInfo));
	
	// output array
	social.account.renderNewContent(blockedArray.join(""));
	// clean up
	delete blockedArray;
}
social.account.buildFriendList = function(data, count, ifBlockedUsers) {
	friendsListArray = new Array();
	friendsListArray.push("<div id='friendItems' class='clear'>");
	for(i=0;i<data.Relationships.length; i++) {
		friendItemClass = "";
		if((i+1)%count == 0)
			friendItemClass = "lastItem";
		
		friendsListArray.push("<div class='friendItem "+friendItemClass+"'>");
		delete friendItemClass;
		friendsListArray.push("	<div class='friendItemImg'><a href='"+data.Relationships[i].DestinationEntity.ProfileUrl+"'><img "+social.constrainImageSize(102,102,data.Relationships[i].DestinationEntity.Icon.Height,data.Relationships[i].DestinationEntity.Icon.Width,data.Relationships[i].DestinationEntity.Icon.Url,2)+" /></a></div>");
		friendsListArray.push("	<p class='friendItemTitle'><a href='"+data.Relationships[i].DestinationEntity.ProfileUrl+"'>"+data.Relationships[i].DestinationEntity.PublicLabel.substring(0,30)+""+((data.Relationships[i].DestinationEntity.PublicLabel.length > 30)?'&hellip;':'')+"</a></p>");
		friendsListArray.push("	<p class='friendItemSport'>"+data.Relationships[i].DestinationEntity.PrimaryPursuitName+"</p>");

		if(ifBlockedUsers != true) {
		    if((typeof g_cfViewEntityId != "undefined")) {
		        if (social.entityInfo && (g_cfViewEntityId == social.entityInfo.Id)) {
				    friendsListArray.push("	<p class='friendItemSendMessage'><a onclick='social.lbDialog.showMessageForm(\""+data.Relationships[i].DestinationEntity.Id+"\"); return false;' href=''>Send Message</a></p>");
				    friendsListArray.push("	<p class='friendItemRemove'><a onclick='social.account.removeFriend(\""+data.Relationships[i].RelationshipId+"\"); return false;' href=''>Remove</a></p>");
			    } else {
				    friendsListArray.push("	<p class='friendItemAdd'><a onclick='social.lbDialog.showMessageAddFriend(\""+data.Relationships[i].DestinationEntity.Id+"\", \""+data.Relationships[i].DestinationEntity.PublicLabel+"\"); return false;' href=''>Add As Friend</a></p>");
			    }
		    } else {
			    friendsListArray.push("	<p class='friendItemSendMessage'><a onclick='social.lbDialog.showMessageForm(\""+data.Relationships[i].DestinationEntity.Id+"\"); return false;' href=''>Send Message</a></p>");
			    friendsListArray.push("	<p class='friendItemRemove'><a onclick='social.account.removeFriend(\""+data.Relationships[i].RelationshipId+"\"); return false;' href=''>Remove</a></p>");
    			
		    }
		 } else {
		    friendsListArray.push("	<p class='friendItemSendMessage'><a onclick='social.block.unblockUser(\""+data.Relationships[i].DestinationEntity.Id+"\");' href='#Friends/Blocked'>Unblock User</a></p>");
		 }
			
		friendsListArray.push("</div>");
		
		if((i+1)%count == 0)
			friendsListArray.push("<div class='clear'></div>");
	}
	friendsListArray.push("</div>");
	return friendsListArray.join("");
	delete friendsListArray;
}
/* METHOD TO REMOVE FRIEND
********************************************************************************************************/
social.account.removeFriend = function(frId) {
	social.lbDialog.showOverlay("Are you sure you want to remove this friend?", function() {social.account.requestData("/CFAPI/CoreManagement/RemoveRelationships.ajax?rids="+frId, function() {document.location.reload()}, "json")}, false);
}
social.account.modalSendFriendRequest = function(form) {
	tempRef = $(form);
	tempBodyRef = $("#messageDetailReplyBox", form);
	if(tempBodyRef.val() == "enter optional message...")
		tempBodyRef.val("");
	delete tempBodyRef;
	social.account.requestData("/CFAPI/CoreManagement/SendFriendRequest.ajax?"+tempRef.serialize(), function(data){
		switch(data.CreateRelationshipStatusItems[0].RelationshipCreateStatus) {
			case 1:
			social.lbDialog.showOverlayTransition("Request has already been sent.",function(){},true);
			break;
			
			case 2:
			social.lbDialog.showOverlayTransition("You are already friends with this person.",function(){},true);
			break;
			
			case 5:
			sTrackEvent("event64");
			social.lbDialog.showOverlayTransition("Your friend request has been sent.",function(){},true);
			break;
			
			case 4:
			sTrackEvent("event64");
			social.lbDialog.showOverlayTransition("You are now friends with this person.",function(){},true);
			break;
			
			case 7:
			social.lbDialog.showOverlayTransition("You cannot send a friend request to yourself.",function(){},true);
			break;
			
			default:
			social.lbDialog.showOverlayTransition("Friend request cannot be sent at this time.",function(){},true);
			break;
		}
	}, "json");
	delete tempRef;
	return false;
}
/* ---------------------------------------- /includes/jsbin/social.account.settings.js ---------------------------------------- */
/* PROFILE VIEW - SETTINGS / PROFILE
********************************************************************************************************/
social.account.build_Settings_Profile = function (data) {
    // create source array
    profileSettingsArray = new Array();

    function gradYearList(gradYear) {
        thisYear = new Date();
        thisYear = thisYear.getFullYear();
        thisYear = thisYear + 5;
        tempArray = new Array();
        for (i = thisYear; i >= 1940; i--) {
            //curyear + i;
            if (i == gradYear)
                tempArray.push("<option selected='selected' value='" + i + "'>" + i + "</option>");
            else
                tempArray.push("<option value='" + i + "'>" + i + "</option>");

            delete curyear;
        }
        return tempArray;

        delete thisYear;
        delete tempArray;
    }

    // start profile settings form
    profileSettingsArray.push("<form onsubmit='social.account.saveProfile(this); return false;' class='profileSettingsForm genericForm' action='#Edit Account'><fieldset>");

    //personal info
    profileSettingsArray.push("<div class='genericModuleHeader'><h4>Personal</h4><div class='moduleHeaderWedge'></div></div>");
    profileSettingsArray.push("<div id='myProfileEditTop' class='clear'>");
    profileSettingsArray.push("		<div id='myProfileEditPhoto'>");
    profileSettingsArray.push("			<img " + social.constrainImageSize(168, 168, social.entityInfo.Icon.Height, social.entityInfo.Icon.Width, social.entityInfo.Icon.Url, 2) + "/>");
    if ($.browser.msie && $.browser.version.substr(0, 1) <= 7)
        profileSettingsArray.push("			<a onclick='document.location.reload()' href='#My Stuff/Pics'>Browse your gallery to change your profile image</a>");
    else
        profileSettingsArray.push("			<a href='#My Stuff/Pics'>Browse your gallery to change your profile image</a>");
    profileSettingsArray.push("		</div>");
    profileSettingsArray.push("		<div id='myProfileEditFields'>");
    profileSettingsArray.push("			<div class='clear profileEditAccountWrap'>");
    //profileSettingsArray.push("				<a href='https://r.espn.go.com/members/modifyAccount' class='profileEditInfoLink' target='_blank'>EDIT ACCOUNT INFO</a>");
    profileSettingsArray.push("				<a href='https://r.espn.go.com/members/modifyAccount' class='editBtn' target='_blank'>EDIT</a>");
    profileSettingsArray.push("				<p class='profileDisplayName'>" + social.entityInfo.DisplayName + "</p>");
    profileSettingsArray.push("				<p>" + social.entityInfo.PublicLabel + "</p>");
    profileSettingsArray.push("				<p>" + data.Profile.Email + "</p>");
    profileSettingsArray.push("			</div>");
    profileSettingsArray.push("			<div class='profileEditFieldsWrap'>");
    profileSettingsArray.push("				<input type='hidden' name='PublicLabelPreference' id='PublicLabelPreference' value='" + data.Profile.PublicLabelPreference + "' />");
    //profileSettingsArray.push("				<div class='editFieldWrap'><label for='PublicLabel'>DISPLAY NAME</label><input type='text' name='PublicLabel' id='PublicLabel' value='"+((data.Profile.PublicLabel == null)?"":data.Profile.PublicLabel)+"' /></div>");
    profileSettingsArray.push("				<div class='profileDisplayNameOptions'><label for='PublicLabel'>DISPLAY NAME</label>");
    profileSettingsArray.push("					<span><input type='radio' name='DisplayName' " + ((data.Profile.PublicLabelPreference == 2) ? "checked=\"checked\"" : "") + " value='2'/> First and Last Name </span>");
    profileSettingsArray.push("					<span><input type='radio' name='DisplayName' " + ((data.Profile.PublicLabelPreference == 1) ? "checked=\"checked\"" : "") + " value='1'/> First Name </span>");
    profileSettingsArray.push("					<span><input type='radio' name='DisplayName' " + ((data.Profile.PublicLabelPreference == 3) ? "checked=\"checked\"" : "") + " value='3'/> Username</span>");
    profileSettingsArray.push("				</div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='School'>SCHOOL</label><select id='state'><optgroup label='United States'><option value='AL'>Alabama</option><option value='AK'>Alaska</option><option value='AZ'>Arizona</option><option value='AR'>Arkansas</option><option value='CA'>California</option><option value='CO'>Colorado</option><option value='CT'>Connecticut</option><option value='DE'>Delaware</option><option value='DC'>District Of Columbia</option><option value='FL'>Florida</option><option value='GA'>Georgia</option><option value='HI'>Hawaii</option><option value='ID'>Idaho</option><option value='IL'>Illinois</option><option value='IN'>Indiana</option><option value='IA'>Iowa</option><option value='KS'>Kansas</option><option value='KY'>Kentucky</option><option value='LA'>Louisiana</option><option value='ME'>Maine</option><option value='MD'>Maryland</option><option value='MA'>Massachusetts</option><option value='MI'>Michigan</option><option value='MN'>Minnesota</option><option value='MS'>Mississippi</option><option value='MO'>Missouri</option><option value='MT'>Montana</option><option value='NE'>Nebraska</option><option value='NV'>Nevada</option><option value='NH'>New Hampshire</option><option value='NJ'>New Jersey</option><option value='NM'>New Mexico</option><option value='NY'>New York</option><option value='NC'>North Carolina</option><option value='ND'>North Dakota</option><option value='OH'>Ohio</option><option value='OK'>Oklahoma</option><option value='OR'>Oregon</option><option value='PA'>Pennsylvania</option><option value='RI'>Rhode Island</option><option value='SC'>South Carolina</option><option value='SD'>South Dakota</option><option value='TN'>Tennessee</option><option value='TX'>Texas</option><option value='UT'>Utah</option><option value='VT'>Vermont</option><option value='VA'>Virginia</option><option value='WA'>Washington</option><option value='WV'>West Virginia</option><option value='WI'>Wisconsin</option><option value='WY'>Wyoming</option></optgroup><optgroup label='Canada'><option value='AB'>Alberta</option><option value='BC'>British Columbia</option><option value='MB'>Manitoba</option><option value='NB'>New Brunswick</option><option value='NL'>Newfoundland and Labrador</option><option value='NT'>Northwest Territories</option><option value='NS'>Nova Scotia</option><option value='NU'>Nunavut</option><option value='ON'>Ontario</option><option value='PE'>Prince Edward Island</option><option value='QC'>Qu&#233;bec</option><option value='SK'>Saskatchewan</option><option value='YT'>Yukon</option></optgroup></select><input type='text' name='School' id='School' value=\"" + ((data.Profile.School == null) ? "" : data.Profile.School.Name) + "\" /><input type='hidden' id='schoolId' class='autoCompId' value='" + ((data.Profile.School == null) ? "" : data.Profile.School.Id) + "'/></div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='Height'>HEIGHT</label><input type='text' name='Height' id='Height' value='" + ((data.Profile.Height == null) ? "" : unescape(data.Profile.Height)) + "' /></div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='Weight'>WEIGHT</label><input type='text' name='Weight' id='Weight' value='" + ((data.Profile.Weight == null) ? "" : unescape(data.Profile.Weight)) + "' /></div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='GraduationYear'>GRADUATION YEAR</label><select name='GraduationYear' id='GraduationYear'>");
    profileSettingsArray.push(gradYearList(data.Profile.GraduationYear));
    profileSettingsArray.push("				</select></div>");

    function getCustomFieldVal(fieldName) {
        for (i = 0; i < data.Profile.Questions.length; i++) {
            if (data.Profile.Questions[i].Subject == fieldName) {
                return unescape(data.Profile.Questions[i].Body);
            }
        }
        return "";
    }

    profileSettingsArray.push("             <div style='clear:both;'></div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='Jersey_Number'>JERSEY NUMBER</label><input type='text' name='Jersey_Number' id='Jersey_Number' value='" + getCustomFieldVal("Jersey_Number") + "' /></div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='GPA'>GPA</label><input type='text' name='GPA' id='GPA' value='" + getCustomFieldVal("GPA") + "' /></div>");
    profileSettingsArray.push("				<div class='editFieldWrap'><label for='SATACT'>SAT/ACT</label><input type='text' name='SATACT' id='SATACT' value='" + getCustomFieldVal("SAT%2FACT") + "' /></div>");



    profileSettingsArray.push("			</div>");
    profileSettingsArray.push("		</div>");
    profileSettingsArray.push("</div>");

    //my info
    profileSettingsArray.push("<div class='genericModuleHeader'><h4>My Info</h4><div class='moduleHeaderWedge'></div></div>");
    profileSettingsArray.push("<div class='profileQuestionsWrap'><p>* Fill out as many topics as you want to help people get to know you better.</p>");
    profileSettingsArray.push("<label class='profileQuestionLabel' for='Accomplishments'>ACCOMPLISHMENTS</label>");
    profileSettingsArray.push("<textarea class='profileQuestionField' name='Accomplishments' id='Accomplishments'>" + ((data.Profile.Accomplishments == null) ? "" : unescape(data.Profile.Accomplishments)) + "</textarea>");
    profileSettingsArray.push("<label class='profileQuestionLabel' for='Signature'>SIGNATURE</label>");
    profileSettingsArray.push("<textarea class='profileQuestionField' name='Signature' id='Signature'>" + ((data.Profile.Signature == null) ? "" : unescape(data.Profile.Signature)) + "</textarea>");

    var statsShown = false;
    for (i = 0; i < data.Profile.Questions.length; i++) {

        if (data.Profile.Questions[i].Subject == "Stats") {
            statsShown = true;
            profileSettingsArray.push("<div class='profileQuestionArea' id='profileQuestion_" + data.Profile.Questions[i].Subject.replace(/\s/g, "_") + "'><label class='profileQuestionLabel' for='" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "'>" + unescape(data.Profile.Questions[i].Subject.replace(/\_/g, " ")).toUpperCase() + "</label><textarea class='profileQuestionField' name='" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "' id='" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "'>" + unescape(data.Profile.Questions[i].Body) + "</textarea></div>");
        }



    }
    if (statsShown == false) {
        //profileSettingsArray.push("<label class='profileQuestionLabel' for='profileQuestion_Stats'>STATS</label>");
        //profileSettingsArray.push("<textarea class='profileQuestionField' name='profileQuestion_Stats' id='profileQuestion_Stats'></textarea>");
        profileSettingsArray.push('<div id="profileQuestion_Stats" class="profileQuestionArea"><label for="Stats" class="profileQuestionLabel">STATS</label><textarea id="Stats" name="Stats" class="profileQuestionField"></textarea></div>');
    }
    profileSettingsArray.push("</div>");



    predoneQs = new Array;
    // add prefilled questions
    for (i = 0; i < data.Profile.Questions.length; i++) {
        if (data.Profile.Questions[i].Subject != "Stats" && data.Profile.Questions[i].Subject != "SAT%2FACT" && data.Profile.Questions[i].Subject != "Jersey_Number" && data.Profile.Questions[i].Subject != "GPA") {
            profileSettingsArray.push("<div class='profileQuestionArea' id='profileQuestion_" + data.Profile.Questions[i].Subject.replace(/\s/g, "_") + "'><label class='profileQuestionLabel' for='" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "'><a href='#' onclick='social.account.removeSettingsProfileQuestion(\"" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "\");return false;' class='floatRight'>Remove</a>" + unescape(data.Profile.Questions[i].Subject.replace(/\_/g, " ")).toUpperCase() + "</label><textarea class='profileQuestionField' name='" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "' id='" + data.Profile.Questions[i].Subject.replace(/\s/g, "_").replace(/\%/g, "") + "'>" + unescape(data.Profile.Questions[i].Body) + "</textarea></div>");
            predoneQs.push(data.Profile.Questions[i].Subject);
        }
    }

    profileSettingsArray.push("<select onchange='social.account.addSettingsProfileQuestion(this.value);' name='myInfoChoices' id='myInfoChoices'>");
    profileSettingsArray.push("		<option value=''>Add More Info</option>");
    //profileSettingsArray.push("		<option value='Stats'>Stats</option>");

    profileSettingsArray.push("		<option value='Athletic Accomplishments'>Athletic Accomplishments</option>");
    profileSettingsArray.push("		<option value='Events Attended'>Events Attended</option>");
    profileSettingsArray.push("		<option value='Event Results'>Event Results</option>");

    profileSettingsArray.push("		<option value='My 411'>My 411</option>");
    profileSettingsArray.push("		<option value='Nickname'>Nickname</option>");
    profileSettingsArray.push("		<option value='Friday-night Hangouts'>Friday-night Hangouts</option>");
    profileSettingsArray.push("		<option value='Interests'>Interests</option>");
    profileSettingsArray.push("		<option value='Best Sports Moment'>Best Sports Moment</option>");
    profileSettingsArray.push("		<option value='Worst Sports Moment'>Worst Sports Moment</option>");
    profileSettingsArray.push("		<option value='Superstitions'>Superstitions</option>");
    profileSettingsArray.push("		<option value='Where I%27ll Be In 5 Years'>Where I'll Be In 5 Years</option>");
    profileSettingsArray.push("		<option value='Favorite TV Shows'>Favorite TV Shows</option>");
    profileSettingsArray.push("		<option value='Favorite Video Games'>Favorite Video Games</option>");
    profileSettingsArray.push("		<option value='Favorite Musical Artists'>Favorite Musical Artists</option>");
    profileSettingsArray.push("		<option value='Favorite Movies'>Favorite Movies</option>");
    profileSettingsArray.push("		<option value='Favorite Sneakers'>Favorite Sneakers</option>");
    profileSettingsArray.push("		<option value='Favorite Clothing Brands'>Favorite Clothing Brands</option>");
    profileSettingsArray.push("		<option value='Favorite Athletes'>Favorite Athletes</option>");
    profileSettingsArray.push("		<option value='Favorite Foods'>Favorite Foods</option>");
    profileSettingsArray.push("		<option value='Favorite Quotes'>Favorite Quotes</option>");
    profileSettingsArray.push("</select>");

    profileSettingsArray.push('<div class="clear"></div><button style="margin-right:20px;" type="submit">SUBMIT</button>');

    profileSettingsArray.push("</fieldset></form>");
    // output array
    social.account.renderNewContent(profileSettingsArray.join(""));

    // output array
    social.account.renderNewContent(profileSettingsArray.join(""), function () {
        for (i = 0; i < predoneQs.length; i++) {
            //$("#myInfoChoices option[value='"+predoneQs[i]+"']").hide();
            $("#myInfoChoices option[value='" + predoneQs[i] + "']").attr("disabled", "disabled");
        }
        if (social.entityInfo.State != null) {
            $("#state option[value=" + social.entityInfo.State + "]").attr("selected", "selected");
        }
        var autoCompVal = document.getElementById("School").value;
        $("#School").autocomplete("/CFAPI/SearchManagement/GetSchoolAutoComplete.ajax", { minChars: 3, matchSubset: false, matchContains: false, cacheLength: 0, selectOnly: 1 }, autoCompVal);

        if (document.location.hash.split("/")[1] == "Stats") {
            $("#profileQuestion_Stats").autoScroll();
        }
    });

    // added to fix issue with adding unescaped value into test field
    $("#Height").val((data.Profile.Height == null) ? "" : unescape(data.Profile.Height));
    $("#Weight").val((data.Profile.Height == null) ? "" : unescape(data.Profile.Weight));
	
	// Fix state dropdown with bug in IE
	social.initSelectWidth();

    // clean up
    delete profileSettingsArray;
}
social.account.removeSettingsProfileQuestion = function (val) {
    $("#profileQuestion_" + val.replace(/\s/g, "_")).hide();
    $("#profileQuestion_" + val.replace(/\s/g, "_") + " textarea").val("");
    //$("#myInfoChoices option[value='"+val+"']").show();
    $("#myInfoChoices option[value='" + val.replace("27", "%27").replace(/\_/g, " ") + "']").removeAttr("disabled");
}
social.account.addSettingsProfileQuestion = function (val) {
    if (!val || val == "")
        return;
    //$("#myInfoChoices option[value='"+val+"']").hide();
    $("#myInfoChoices option[value='" + val + "']").attr("disabled", "disabled");
    $("#myInfoChoices option:selected").removeAttr("selected");
    if (document.getElementById("profileQuestion_" + val.replace(/\s/g, "_"))) {
        $("#profileQuestion_" + val.replace(/\s/g, "_")).show();
    } else {
        //
        if ($(".profileQuestionArea").length <= 0)
            $(".profileQuestionsWrap").append("<div class='profileQuestionArea' id='profileQuestion_" + val.replace(/\s/g, "_").replace(/\%/g, "") + "'><label class='profileQuestionLabel' for='" + val.replace(/\s/g, "_").replace(/\%/g, "") + "'><a href='#' onclick='social.account.removeSettingsProfileQuestion(\"" +val.replace(/\s/g, "_").replace(/\%/g, "") + "\");return false;' class='floatRight'>Remove</a>" + unescape(val.toUpperCase()) + "</label><textarea class='profileQuestionField' name='" + val.replace(/\s/g, "_").replace(/\%/g, "") + "' id='" + val.replace(/\s/g, "_").replace(/\%/g, "") + "'></textarea></div>");
        else
            $(".profileQuestionArea:last").after("<div class='profileQuestionArea' id='profileQuestion_" + val.replace(/\s/g, "_").replace(/\%/g, "") + "'><label class='profileQuestionLabel' for='" + val.replace(/\s/g, "_").replace(/\%/g, "") + "'><a href='#' onclick='social.account.removeSettingsProfileQuestion(\"" + val.replace(/\s/g, "_").replace(/\%/g, "") + "\");return false;' class='floatRight'>Remove</a>" + unescape(val.toUpperCase()) + "</label><textarea class='profileQuestionField' name='" + val.replace(/\s/g, "_").replace(/\%/g, "") + "' id='" + val.replace(/\s/g, "_").replace(/\%/g, "") + "'></textarea></div>");

    }
    $("#myInfoChoices option:eq(0)").attr("selected", "selected");

}
/* SAVE PROFILE
********************************************************************************************************/
social.account.saveProfile = function (el) {
    questionsData = new Array();
    questionsData.push("[");
    for (i = 0; i < $(".profileQuestionArea").length; i++) {
        if ($(".profileQuestionArea:eq(" + i + ") textarea").val() != "") {
            questionsData.push("{");
            questionsData.push('"Subject":"' + $(".profileQuestionArea:eq(" + i + ") textarea").attr("name").replace("I27ll", "I%27ll") + '",');
            questionsData.push('"Body":"' + escape($(".profileQuestionArea:eq(" + i + ") textarea").val()) + '"');
            questionsData.push("},");
        }
    }
    questionsData.push('{"Subject":"Jersey_Number","Body":"' + $("#Jersey_Number").val() + '"},');
    questionsData.push('{"Subject":"GPA","Body":"' + $("#GPA").val() + '"},');
    questionsData.push('{"Subject":"SAT%2FACT","Body":"' + $("#SATACT").val() + '"}');

    questionsData.push("]");
    postData = new Array();
    postData.push('{');
    postData.push('"PublicLabelPreference":' + $("input:radio:checked[name='DisplayName']").val() + ',');
    postData.push('"Questions":' + questionsData.join("") + ',');
    postData.push('"Accomplishments":"' + escape($("#Accomplishments").val()) + '",');
    postData.push('"Weight":"' + escape($("#Weight").val()) + '",');
    postData.push('"GraduationYear":"' + $("#GraduationYear").val() + '",');
    postData.push('"Height":"' + escape($("#Height").val()) + '",');
    postData.push('"Signature":"' + escape($("#Signature").val()) + '",');
    postData.push('"School": {"Name":"' + $("#School").val() + '","Id":"' + (($("#schoolId").val() == "") ? "00000000-0000-0000-0000-000000000000" : $("#schoolId").val()) + '"},');
    postData.push('"PublicLabel":"' + $("input:radio:checked[name='DisplayName']").val() + '"');
    postData.push('}');

    $.ajax({
        url: "/Handlers/SaveProfileData.ajax",
        dataType: 'json',
        type: 'POST',
        data:
		{
		    profile: postData.join("")
		},
        success: function () {
            social.lbDialog.showOverlay("Settings Saved. <span style='font-size: 14px; display: block; line-height:18px; padding-top:10px; font-weight: normal; padding-right: 25px;'>Profile changes may take up to a minute to appear.</span>", function () { return; }, true);
        }
    });

    return false;
}
/* PROFILE VIEW - SETTINGS / NOTIFICATIONS
********************************************************************************************************/
social.account.build_Settings_Notifications = function(data) {
	// create source array
	notificationsArray = new Array();
	
	// start profile settings form
	notificationsArray.push("<form onsubmit='social.account.saveNotifications(this); return false;' class='profileSettingsForm genericForm' action='#Edit Account/Notifications'><fieldset>");
	
	// possible settings
	// "EnableRelationshipSMSNotifications","EnableMessageSMSNotifications","EnableCommentSMSNotifications","EnableTagSMSNotifications"
	function ifActive(name) {
		for(i=0;i<data.Settings.length;i++) {
			if(data.Settings[i] == name)
				return " checked='checked'";
		}
		return "";
	}
	// friendship request settings
	notificationsArray.push("<div class='genericModuleHeader'><h4>Friendship Requests</h4><div class='moduleHeaderWedge'/></div>");
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('AutoAcceptFriends')+' type="checkbox" name="AutoAcceptFriends" id="AutoAcceptFriends" /><label for="AutoAcceptFriends">Auto-Accept Friend Requests</label></div>');
	
	// email settings
	notificationsArray.push("<div class='genericModuleHeader'><h4>Email</h4><div class='moduleHeaderWedge'/></div>");
	notificationsArray.push('<p class="formSubHeader">Send me an email when I receive:</p>')
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableRelationshipNotifications')+' type="checkbox" name="EnableRelationshipNotifications" id="EnableRelationshipNotifications" /><label for="EnableRelationshipNotifications">New Friend Requests</label></div>');
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableMessageNotifications')+' type="checkbox" name="EnableMessageNotifications" id="EnableMessageNotifications" /><label for="EnableMessageNotifications">New Messages</label></div>');
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableCommentNotifications')+' type="checkbox" name="EnableCommentNotifications" id="EnableCommentNotifications" /><label for="EnableCommentNotifications">New Comments on My Stuff</label></div>');
	notificationsArray.push('<div class="formRow formRowRadio"><input' + ifActive('EnableForumReplyNotifications') + ' type="checkbox" name="EnableForumReplyNotifications" id="EnableForumReplyNotifications" /><label for="EnableForumReplyNotifications">Replies to my Ask ESPNHS Questions and/or "Track & XC" forum threads</label></div>');
    //notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableTagNotifications')+' type="checkbox" name="EnableTagNotifications" id="EnableTagNotifications" /><label for="EnableTagNotifications">New Tags with My Name</label></div>');
	
	// mobile settings
	notificationsArray.push("<div class='genericModuleHeader'><h4>Mobile</h4><div class='moduleHeaderWedge'/></div>");
	notificationsArray.push('<p class="formSubHeader" style="margin-bottom:25px;">Features coming soon...</p>');
	/*notificationsArray.push('<p class="formSubHeader">Send me a mobile alert (SMS) when I receive:</p>')
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableRelationshipSMSNotifications')+' type="checkbox" name="EnableRelationshipSMSNotifications" id="EnableRelationshipSMSNotifications" /><label for="EnableRelationshipSMSNotifications">New Friend Requests</label></div>');
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableMessageSMSNotifications')+' type="checkbox" name="EnableMessageSMSNotifications" id="EnableMessageSMSNotifications" /><label for="EnableMessageSMSNotifications">New Messages</label></div>');
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableCommentSMSNotifications')+' type="checkbox" name="EnableCommentSMSNotifications" id="EnableCommentSMSNotifications" /><label for="EnableCommentSMSNotifications">New Comments on My Stuff</label></div>');
	notificationsArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableTagSMSNotifications')+' type="checkbox" name="EnableTagSMSNotifications" id="EnableTagSMSNotifications" /><label for="EnableTagSMSNotifications">New Tags with My Name</label></div>');*/
	
	///CFAPI/CommunicationManagement/DNCEntryEnlist.ajax
	// DNC setting
	notificationsArray.push("<div class='genericModuleHeader'><h4>Do Not Contact List</h4><div class='moduleHeaderWedge'/></div>");
	notificationsArray.push('<div class="formRow formRowRadio"><input '+((data.IsOnDNCList == true)?"checked='checked'":"")+' type="checkbox" name="DNCEntryEnlist" id="DNCEntryEnlist" /><label for="DNCEntryEnlist">Add Me to the Do Not Contact List</label></div>');
	
	notificationsArray.push('<button type="submit">SUBMIT</button>');
	notificationsArray.push("</fieldset></form>");
	
	// output array
	social.account.renderNewContent(notificationsArray.join(""));
	// clean up
	delete notificationsArray;
}
/* SAVE NOTIFICATONS SETTINGS
********************************************************************************************************/
social.account.saveNotifications = function(el) {
	tempData = new Array();
	tempRef = el.getElementsByTagName("input");
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].checked == true && tempRef[i].value != "" && tempRef[i].id != "DNCEntryEnlist")
			tempData.push(tempRef[i].id);
			
	}
	
	tempRefDNC = $("#DNCEntryEnlist");
	tempDNCBool = (tempRefDNC.attr("checked") != "") ? 'true' : 'false';
	
	social.account.requestData("/CFAPI/CommunicationManagement/SaveCommunicationSettings.ajax?dncList="+ tempDNCBool +"&settings="+tempData.join(","),function(data){social.lbDialog.showOverlay("Settings Saved.", function() {return;}, true);},"json");
	
	delete tempData;
	delete tempRef;
	delete tempRefDNC;
	delete tempDNCBool;
}
/* PROFILE VIEW - SETTINGS / PRIVACY
********************************************************************************************************/
social.account.build_Settings_Privacy = function(data) {
	// create source array
	privacyArray = new Array();
	
	// start profile settings form
	privacyArray.push("<form onsubmit='social.account.savePrivacy(this);return false;' class='profileSettingsForm genericForm' action='#Edit Account/Privacy'><fieldset>");
	
	// private function for checking if item is active
	function ifActive(name) {
		for(i=0;i<data.PrivacyAttributes.length;i++) {
			if(data.PrivacyAttributes[i] == name)
				return " checked='checked'";
		}
		return "";
	}
	
	function ifInActive(name) {
		tempVal = " checked='checked'";
		for(i=0;i<data.PrivacyAttributes.length;i++) {
			if(data.PrivacyAttributes[i] == name)
				tempVal = "";
		}
		return tempVal;
	}
	
	// personal permissions
	privacyArray.push("<div class='genericModuleHeader'><h4>Personal Permissions</h4><div class='moduleHeaderWedge'/></div>");
	privacyArray.push('<p class="formSubHeader">What do you want to display?</p>');
	
	privacyArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableAddressLocationVisibility')+' type="checkbox" name="EnableAddressLocationVisibility" id="EnableAddressLocationVisibility" /><label for="EnableAddressLocationVisibility">Location</label></div>');
	//privacyArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableDOBVisibility')+' type="checkbox" name="EnableDOBVisibility" id="EnableDOBVisibility" /><label for="EnableDOBVisibility">Date of Birth</label></div>');
	
	// profile permissions
	privacyArray.push("<div class='genericModuleHeader'><h4>Profile Permissions</h4><div class='moduleHeaderWedge'/></div>");
	privacyArray.push('<p class="formSubHeader">Who can see your profile?</p>');
	privacyArray.push('<div class="formRow formRowRadio radioWithBorder"><input'+ifInActive('RestrictProfileViewingToMyNetwork')+' type="radio" value="" name="RestrictProfileViewingToMyNetwork" id="RestrictProfileViewingToMyNetworkAll" /><label for="RestrictProfileViewingToMyNetworkAll">Everyone</label>');
	privacyArray.push('<input'+ifActive('RestrictProfileViewingToMyNetwork')+' type="radio" value="RestrictProfileViewingToMyNetwork" name="RestrictProfileViewingToMyNetwork" id="RestrictProfileViewingToMyNetworkFriends" /><label for="RestrictProfileViewingToMyNetworkFriends">Only Approved Friends</label></div>');
	privacyArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableCommunityFeaturingOfMyStuff')+' type="checkbox" name="EnableCommunityFeaturingOfMyStuff" id="EnableCommunityFeaturingOfMyStuff" /><label for="EnableCommunityFeaturingOfMyStuff">ESPNHS is allowed to feature My Stuff.</label></div>');
	
	// search settings
	privacyArray.push("<div class='genericModuleHeader'><h4>Search Settings</h4><div class='moduleHeaderWedge'/></div>");
	privacyArray.push('<p class="formSubHeader">How can people search for you?</p>');
	privacyArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableSearchByFirstLastName')+' type="checkbox" name="EnableSearchByFirstLastName" id="EnableSearchByFirstLastName" /><label for="EnableSearchByFirstLastName">First or Last Name</label></div>');
	//privacyArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableSearchByDisplayName')+' type="checkbox" name="EnableSearchByDisplayName" id="EnableSearchByDisplayName" /><label for="EnableSearchByDisplayName">Display Name</label></div>');
	privacyArray.push('<div class="formRow formRowRadio"><input'+ifActive('EnableSearchByEmail')+' type="checkbox" name="EnableSearchByEmail" id="EnableSearchByEmail" /><label for="EnableSearchByEmail">Email Address</label></div>');
	
	// comments settings
	privacyArray.push("<div class='genericModuleHeader'><h4>Comment Settings</h4><div class='moduleHeaderWedge'/></div>");
	privacyArray.push('<p class="formSubHeader">Who can leave comments on your profile?</p>');
	privacyArray.push('<div class="formRow formRowRadio"><input'+ifInActive('lolRestrictCommentingToMyNetwork')+' type="radio" value="" name="RestrictCommentingToMyNetwork" id="RestrictCommentingToMyNetworkAll" /><label for="RestrictCommentingToMyNetworkAll">Everyone</label>');
	privacyArray.push('<input'+ifActive('RestrictCommentingToMyNetwork')+' type="radio" value="RestrictCommentingToMyNetwork" name="RestrictCommentingToMyNetwork" id="RestrictCommentingToMyNetworkFriends" /><label for="RestrictCommentingToMyNetworkFriends">Only Approved Friends</label></div>');
	
	privacyArray.push('<button type="submit">SAVE CHANGES</button>');
	privacyArray.push("</fieldset></form>");
	
	// output array
	social.account.renderNewContent(privacyArray.join(""));
	// clean up
	delete privacyArray;
}
/* SAVE PRIVACY SETTINGS
********************************************************************************************************/
social.account.savePrivacy = function(el) {
	tempData = new Array();
	tempRef = el.getElementsByTagName("input");
	for(i=0;i<tempRef.length;i++) {
		if(tempRef[i].checked == true && tempRef[i].value != "")
			tempData.push(tempRef[i].name);
	}
	
	social.account.requestData("/CFAPI/CoreManagement/SavePrivacySettings.ajax?privacyAttributes="+tempData.join(","),function(data){social.lbDialog.showOverlay("Settings Saved.", function() {return;}, true);},"json");
	        
	delete tempData;
	delete tempRef;
	
	// Old method of saving DNC list info
	
	// tempRefDNC = $("#DNCEntryEnlist");
	// if(tempRefDNC.attr("checked") != "") {
	   
	    // social.account.requestData("/CFAPI/CommunicationManagement/DNCEntryEnlist.ajax",function(){
	        // tempData = new Array();
	        // tempRef = el.getElementsByTagName("input");
	        // for(i=0;i<tempRef.length;i++) {
		        // if(tempRef[i].checked == true && tempRef[i].value != "" && tempRef[i].id != "DNCEntryEnlist")
			        // tempData.push(tempRef[i].name);
	        // }
	        
	        // social.account.requestData("/CFAPI/CoreManagement/SavePrivacySettings.ajax?privacyAttributes="+tempData.join(","),function(data){social.lbDialog.showOverlay("Settings Saved.", function() {return;}, true);},"json");
	        
	        // delete tempData;
	        // delete tempRef;
	    // },"json");
	// } else {
	    
	    // social.account.requestData("/CFAPI/CommunicationManagement/DNCEntryDelist.ajax",function(tempData){
	        // tempData = new Array();
	        // tempRef = el.getElementsByTagName("input");
	        // for(i=0;i<tempRef.length;i++) {
		        // if(tempRef[i].checked == true && tempRef[i].value != "" && tempRef[i].id != "DNCEntryEnlist")
			        // tempData.push(tempRef[i].name);
	        // }
	        
	        // social.account.requestData("/CFAPI/CoreManagement/SavePrivacySettings.ajax?privacyAttributes="+tempData.join(","),function(data){social.lbDialog.showOverlay("Settings Saved.", function() {return;}, true);},"json");
	        
	        // delete tempData;
	        // delete tempRef;
	    // },"json");
	// }
	// delete tempRefDNC;
	
	
}
/* PROFILE VIEW - SETTINGS / PURSUITS
********************************************************************************************************/
social.account.build_Settings_Pursuits = function(keepData) {
	// request pursuit tree and store. the rest will be continued from there
	if(typeof social.account.pursuitTree == "undefined")
		social.account.requestData("/CFAPI/CoreManagement/GetPursuitTree.ajax",function(newData) {social.account.storePursuitTree(newData, keepData)},"json");
	else 
		social.account.storePursuitTree(social.account.pursuitTree, keepData)
}
/* SAVE PURSUIT
********************************************************************************************************/
social.account.storePursuitTree = function(data, origData) {

	// used cached request if available
	if(typeof social.account.pursuitTree == "undefined") {
		// private function to get genders
		function getOptions(gData) {
			tempOptions = new Array();
			tempOptions['allOptions'] = new Array();
			for(g=0;g<gData.ChildPursuits.length;g++) {
				tempOptions['allOptions'].push(gData.ChildPursuits[g].Name);
				//tempOptions[gData.ChildPursuits[g].Name] = getPositions(gData.ChildPursuits[g]);
				tempOptions[gData.ChildPursuits[g].Name] = gData.ChildPursuits[g].Id;
			}
			return tempOptions;
			delete tempOptions;
		}
		
		// private function to get positions
		function getPositions(pData) {
			tempPositions = new Array();
			for(p=0;p<pData.ChildPursuits.length;p++) {
				tempPositions.push([pData.ChildPursuits[p].Name, pData.ChildPursuits[p].Id])
			}
			return tempPositions;
			delete tempPositions;
		}
		
		tempTree = {};
		for(i=0;i<data.PursuitTree.ChildPursuits.length;i++) {
			tempTree[data.PursuitTree.ChildPursuits[i].Name] = {
				id: data.PursuitTree.ChildPursuits[i].Id,
				options: getOptions(data.PursuitTree.ChildPursuits[i])
			};
		}
		
		social.account.pursuitTree = tempTree;
		delete tempTree;
	}
	if(origData != "") {
    	social.account.buildPursuitTree(origData);
    }
	
}
/* BUILD PURSUIT VIEW
********************************************************************************************************/
social.account.buildPursuitTree= function(origData) {

	// private function to find LEVEL for use in list of pursuits
	function findLevel(listData) {
		for(p=0;p<listData.length;p++) {
			if(listData[p].DataType == "LEVEL")
				return "&nbsp;&nbsp;&nbsp;&nbsp;<strong>Level: </strong>"+listData[p].Value
		}
		return "";
	}

	// create source array
	pursuitsArray = new Array();

	// start pursuits form
	pursuitsArray.push("<form onsubmit='social.account.saveNewPursuit(this); return false;' class='profileSettingsForm genericForm' action='#Edit Account/Pursuits'><fieldset>");
	pursuitsArray.push("<div class='genericModuleHeader'><h4>Add A Sport</h4><div class='moduleHeaderWedge'/></div>");
	// start dropdowns
	pursuitsArray.push("<select onchange='social.account.updatePursuitChoices(this);' id='pursuitsSport'><option value=''>Select Sport</option>");
	for(sport in social.account.pursuitTree) {
		pursuitsArray.push("<option value='"+social.account.pursuitTree[sport].id+"'>"+sport+"</option>");
	}
	pursuitsArray.push("</select>");
	pursuitsArray.push("<select onchange='social.account.updatePursuitChoices(this);' class='pursuitIdList' id='pursuitsGender' disabled='disabled'><option value=''>Please Select</option></select>");
	pursuitsArray.push("<select onchange='social.account.updatePursuitChoices(this);' id='pursuitsLevel' disabled='disabled'><option value=''>Select Level</option><option value='Junior Varsity'>Junior Varsity</option><option value='Varsity'>Varsity</option><option value='Other'>Other</option><option value='N/A'>N/A</option></select>");
	//pursuitsArray.push("<select onchange='social.account.updatePursuitChoices(this);' class='pursuitIdList' id='pursuitsPosition' disabled='disabled'><option value=''>Select Position</option></select>");
	
	//end form
	pursuitsArray.push("<button type='submit' class='addPursuitSubmit'>ADD</button>");
	pursuitsArray.push("</fieldset></form>");
	
	// start second section
	pursuitsArray.push("<form onsubmit='social.account.setPrimaryPursuit(this); return false;' class='profileSettingsForm genericForm' action='#Edit Account/Pursuits'><fieldset>");
	pursuitsArray.push("<div class='genericModuleHeader'><h4>My Sports</h4><div class='moduleHeaderWedge'/></div>");
	pursuitsArray.push("<p>* Your \"<strong>Primary Sport</strong>\" should be the one that you are most interested in. It will be set as your landing page and we will deliver you all of the information around it. You can change it as often as you want.");
	
	pursuitsArray.push("<ul class='currentPursuitsList'>");
	for(i=0;i<origData.EntityPursuitList.length;i++) {
		pursuitsArray.push('<li '+((origData.EntityPursuitList[i].IsPrimary==true)?"class='clear primaryPursuit'":"class='clear'")+'><a class="pursuitDelete" href="#Edit Account/Pursuits" onclick="social.account.deletePursuit(\''+origData.EntityPursuitList[i].Id+'\'); return false;">Delete</a><input '+((origData.EntityPursuitList[i].IsPrimary==true)?"checked='checked'":"")+' type="radio" name="primaryPursuit" value="'+origData.EntityPursuitList[i].Id+'" /> <p><strong>Sport: </strong>'+(((origData.EntityPursuitList[i].PursuitTree.ChildPursuits[0].Name == "Action Sports") || (origData.EntityPursuitList[i].PursuitTree.ChildPursuits[0].Name == "Other"))?origData.EntityPursuitList[i].PursuitTree.ChildPursuits[0].ChildPursuits[0].Name:origData.EntityPursuitList[i].PursuitTree.ChildPursuits[0].Name)+' '+findLevel(origData.EntityPursuitList[i].Data)+'</p></li>');
	}
	pursuitsArray.push("</ul>");
	pursuitsArray.push("<button type='submit' class='addPursuitSubmit'>SET PRIMARY SPORT</button>");
	pursuitsArray.push("</fieldset></form>");
	
	// output array
	social.account.renderNewContent(pursuitsArray.join(""));
	// clean up
	delete pursuitsArray;
}
/* SET NEW PRIMARY PURSUIT
********************************************************************************************************/
social.account.setPrimaryPursuit = function(form) {
	tempRef = $("li input:radio:checked:first", form);
	tempVal = tempRef.val();
	
	social.lbDialog.showOverlay("Are you sure you want to set a new primary pursuit?", function() {social.account.requestData("/CFAPI/CoreManagement/SetPrimaryEntityPursuit.ajax?epid="+tempVal, function() {$(".primaryPursuit").removeClass("primaryPursuit").removeAttr("style");tempRef.parent("li").animate( { backgroundColor: '#dfe8f1' }, 1000).animate( { backgroundColor: '#f3f3f3' }, 1000).addClass("primaryPursuit");}, "json");});
}
/* DELETE PURSUIT
********************************************************************************************************/
social.account.deletePursuit = function(pId) {
	social.lbDialog.showOverlay("Are you sure you want to delete this pursuit?", function() {social.account.requestData("/CFAPI/CoreManagement/DeleteEntityPursuit.ajax?epid="+pId, document.location.reload(), "json");});
}
social.account.saveNewPursuit = function(form) {
	tempSportRef = $("#pursuitsSport");
	//tempPosRef = $("#pursuitsPosition");
	tempPosRef = $("#pursuitsGender");
	tempLevelRef = $("#pursuitsLevel").val();
	formComplete = true;
	
	$("select", form).each(function(i) {
		if(!$(this).attr("disabled") && $(this).val()=="") {
			social.lbDialog.showOverlay("Please complete your selection before submission.", function() {return true;}, true);
			formComplete = false;
		}
	});
	
	tempVal = (tempPosRef.attr("disabled"))?tempSportRef.val():tempPosRef.val();
	if(formComplete == true && tempVal != "")
		// /CFAPI/CoreManagement/SaveEntityPursuit.ashx?pid=0ae6ac81-8716-490c-9a6a-bc47cd59d456&pursuitdataTypes=%27LEVEL%27&LEVEL=Varsity
		social.account.requestData("/CFAPI/CoreManagement/SaveEntityPursuit.ajax?pid="+tempVal+"&pursuitdataTypes=LEVEL&LEVEL="+tempLevelRef, social.lbDialog.showOverlay("Settings Saved.", function() {document.location.reload()}, true), "json");
	
	delete formComplete;
	delete tempLevelRef;
	delete tempPosRef;
	delete tempSportRef;
}
/* UPDATE PURSUIT DROPDOWN CHOICES
********************************************************************************************************/
social.account.updatePursuitChoices= function(el) {
	if(el.value == "")
		return;
	else {
		switch(el.id) {
			case "pursuitsSport":
			updateGenderChoices($("option:selected",el).html());
			break;
			case "pursuitsGender":
			updatePositionChoices(el.value);
			break;
			case "pursuitsLevel":
			updatePositionChoices(el.value);
			break;
		}
	}
	
	// private function for updating selections - GENDER
	function updateGenderChoices(val) {
		tempOptions = new Array();
		tempOptions.push("<option value=''>Please Select</option>");
		if(social.account.pursuitTree[val].options.allOptions.length <= 0) {
			$("#pursuitsGender").html(tempOptions.join("")).attr({"disabled":"disabled","selectedIndex":0});
		} else {
			for(i=0;i<social.account.pursuitTree[val].options.allOptions.length;i++) {
				tempOptions.push("<option value='"+social.account.pursuitTree[val].options[social.account.pursuitTree[val].options.allOptions[i]]+"'>"+social.account.pursuitTree[val].options.allOptions[i]+"</option>");
			}
			$("#pursuitsGender").html(tempOptions.join("")).removeAttr("disabled");
		}
		$("#pursuitsLevel").removeAttr("disabled").attr({"selectedIndex":0});
		//$("#pursuitsPosition").attr({"disabled":"disabled","selectedIndex":0});
		
		delete tempOptions;
	}
	
	// private function for updating selections - POSITIONS
	function updatePositionChoices(val) {
		tempSport = $("#pursuitsSport option:selected").html();
		tempGender = $("#pursuitsGender").val();
		
		tempPos = new Array();
		tempPos.push("<option value=''>Select Position</option>");
		
		if(social.account.pursuitTree[tempSport].options[tempGender]) {
			for(i=0;i<social.account.pursuitTree[tempSport].options[tempGender].length;i++) {
				tempPos.push("<option value='"+social.account.pursuitTree[tempSport].options[tempGender][i][1]+"'>"+social.account.pursuitTree[tempSport].options[tempGender][i][0]+"</option>");
			}
			$("#pursuitsPosition").html(tempPos.join("")).removeAttr("disabled");
		}
			
		
		delete tempSport;
		delete tempGender;
		delete tempPos;
	}
}
/* ---------------------------------------- /includes/jsbin/social.forums.js ---------------------------------------- */
/*$(document).ready(function() {
	social.forums.findForumView();
});*/
social.forums = {
    okayToSubmit: true,
    findForumView: function () {
        // if there is no forum id then we stop
        if (typeof g_forumId == "undefined" || !g_forumId)
            return;
        // set global reference to forum container
        social.forums.forumsDetailRef = $("#forumsDetail");

        // if page is set in url get it out and use for request. 
        //deepLinkPage = (document.location.hash != "" && /^\#Page/.test(document.location.hash)) ? parseInt(document.location.hash.replace("#Page", ""), 10) : 1;
        deepLinkPage = jCore.getUrlParam("Page");
        if (deepLinkPage == "") {
            deepLinkPage = 1;
        }
        // set global for current page
        social.forums.currentPage = ((deepLinkPage == "") ? 0 : (deepLinkPage - 1));
        // set global for current sort
        social.forums.currentSortType = "DESC";
        social.forums.currentSortColumn = "ModDate";


        // test if we are on topic view or not
        if (g_forumTopicId == "") {
            social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopics.ajax", function (data) { social.forums.initForumView(data) }, true, "fid=" + g_forumId + "&includePagingInfo=1&descriptionLimit=120&page=" + (deepLinkPage - 1));
        } else if (g_forumTopicPostId == "") {
            social.forums.currentSortColumn = "AddDate";
            social.forums.currentSortType = "ASC";
            social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopicPosts.ajax", function (data) { social.forums.currentForumTopicId = data.Forum.Id; social.forums.initTopicView(data) }, true, "ftid=" + g_forumTopicId + "&includePagingInfo=1&page=" + (deepLinkPage - 1));
        }
        else {
            social.forums.currentSortColumn = "AddDate";
            social.forums.currentSortType = "ASC";
            social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopicPost.ajax", function (data) { social.forums.currentForumTopicId = data.Forum.Id; social.forums.initTopicView(data) }, true, "pid=" + g_forumTopicPostId + "&includePagingInfo=1");
        }
    },
    globalForumRequest: function (url, callback, showLoader, data) {
        // if a timeout already exists clear it
        if (window['loaderTimer'])
            clearTimeout(window['loaderTimer']);
        // if a loader doesnt already exist we put it in after timeout
        if (showLoader && !document.getElementById("loaderWrap"))
            window['loaderTimer'] = setTimeout(function () {
                contentPos = jCore.findPos(social.forums.forumsDetailRef);
                social.forums.forumsDetailRef.prepend('<p id="loaderWrap" class="profileLoading" style="z-index:99999999;position:absolute;top:' + contentPos[0] + ';left:' + contentPos[1] + ';background:url(/Media/backgrounds/social_load_bg.png);height:' + social.forums.forumsDetailRef.height() + 'px;width:' + social.forums.forumsDetailRef.width() + 'px;"><img height="24" width="24" alt="loading..." src="/Media/backgrounds/profile_loader.gif"/> Loading...</p>');
                delete contentPos;
            }, 500);
        // check if the global ajax request ref already exists, if it does abort
        if (social.forums.globalAjaxRequest)
            social.forums.globalAjaxRequest.abort();
        // reset globalajaxRequest and send new request out
        social.forums.globalAjaxRequest = $.ajax({
            url: url,
            dataType: "json",
            data: data + "&sortOrder=" + social.forums.currentSortType + "&sortColumn=" + social.forums.currentSortColumn,
            cache: false,
            type: "post",
            success: function (data) {
                if (window['loaderTimer'])
                    clearTimeout(window['loaderTimer']);

                if (data.PagingInfo)
                    social.forums.currentPage = data.PagingInfo.Page + 1;
                // send data to callback
                if (callback)
                    callback(data);
            }
        });
    },
    initForumView: function (data, sortLabel) {

        /*if (data.Errors[0])
        alert(data.Errors[0].ErrorId);*/
        // create temop source array
        forumSourceArray = new Array();

        // build entities object
        privateEntities = social.createEntityObjects(data.Entities);

        // store forum id for later use in creating topics
        social.forums.currentForumId = data.Forum.Id

        // redefine action method for our use here
        social.pagination.paginationAction = function (page) {
            currentSortLabel = (document.getElementById("currentSortOption")) ? document.getElementById("currentSortOption").innerHTML.toString() : "";
            social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopics.ajax", function (data) { social.forums.initForumView(data, currentSortLabel) }, true, "fid=" + g_forumId + "&descriptionLimit=120&includePagingInfo=1&page=" + (page - 1));
            social.forums.currentPage = (page - 1);
            social.forums.forumsDetailRef.autoScroll();
            document.location.hash = "#Page" + page;
            return false;
        }

        // add title bar
        forumSourceArray.push('<div class="genericModuleHeader"><h4>Threads</h4><div class="moduleHeaderWedge"></div></div>');
        // add generic structure divs
        forumSourceArray.push('<div class="moduleContentOuter"><div class="moduleContentInner clear">');

        // add pagination source to array
        forumSourceArray.push('<div class="topPagination">' + social.pagination.buildPagination(data.PagingInfo) + '</div>');

        // add new thread button
        forumSourceArray.push('<div class="addReplyForm forumForm loggedOut"> <a href="javascript:void(0);" onclick="social.forums.showNewTopicForm(this); return false;">START A NEW THREAD</a></div>');

        forumSourceArray.push('<div style="display: none;" class="forumForm"><div style="text-align: center;"><img height="24" width="24" src="/Media/backgrounds/profile_loader.gif" alt="loading..." /></div></div>')

        // add sort drop down box
        /*forumSourceArray.push('<span class="sortByLabel">Sort By: </span><div class="dropDownBox theCalendarDropDown"><ul class="genericDropDown">');
        forumSourceArray.push('		<li class="dropTrigger"><a id="currentSortOption" href="#">' + ((typeof sortLabel == "undefined" || sortLabel == "") ? "Most Recent Activity" : sortLabel) + '</a><ul class="dropContent" style="display: none;">');

        // start sort options
        forumSourceArray.push('			<li><a href="" onclick="social.forums.sortForumsTopics(\'DESC\',\'ModDate\',this.innerHTML);return false;">Most Recent Activity</a></li>');
        forumSourceArray.push('			<li><a href="" onclick="social.forums.sortForumsTopics(\'DESC\',\'AddDate\',this.innerHTML);return false;">Newest First</a></li>');
        forumSourceArray.push('			<li><a href="" onclick="social.forums.sortForumsTopics(\'ASC\',\'AddDate\',this.innerHTML);return false;">Oldest First</a></li>');
        forumSourceArray.push('			<li><a href="" onclick="social.forums.sortForumsTopics(\'DESC\',\'Posts\',this.innerHTML);return false;">Most Replies</a></li>');
        forumSourceArray.push('			<li><a href="" onclick="social.forums.sortForumsTopics(\'DESC\',\'Views\',this.innerHTML);return false;">Most Views</a></li>');

        forumSourceArray.push('		</ul></li>');
        forumSourceArray.push('</ul>');*/
        forumSourceArray.push('</div>');

        // close off generic structure divs
        forumSourceArray.push('</div></div>');
        // loop through forum topics and add previews to source array
        for (i = 0; i < data.ForumTopics.length; i++) {
            // start container
            forumSourceArray.push('<div class="forumTopicPreview">');

            forumSourceArray.push('<div class="tP_LatestPostInfo">');
            if (data.ForumTopics[i].LastPostDate != null) {
                // last reply box
                forumSourceArray.push('Last Post: ' + social.prettyDate(social.getDateFromDotNetJSONString(data.ForumTopics[i].LastPostDate)) + '<br><a class="textAppearanceLink breakMyWords">' + privateEntities[data.ForumTopics[i].LastPostEntityId].Info[0] + '</a>');
                //forumSourceArray.push('	<div class="tP_LastReply">');
                //forumSourceArray.push('		<p>Last Reply:</p>');
                //forumSourceArray.push('		<p>' + social.prettyDate(social.getDateFromDotNetJSONString(data.ForumTopics[i].LastPostDate)) + '&nbsp;&nbsp;|&nbsp;&nbsp;<strong>' + privateEntities[data.ForumTopics[i].LastPostEntityId].Info[0] + '</strong></p>');
                //forumSourceArray.push('	</div>');
            }
            forumSourceArray.push('</div>');


            // avatar
            forumSourceArray.push('		<a href="' + privateEntities[data.ForumTopics[i].EntityId].Info[5] + '"><img ' + social.constrainImageSize(44, 44, privateEntities[data.ForumTopics[i].EntityId].Info[3], privateEntities[data.ForumTopics[i].EntityId].Info[2], privateEntities[data.ForumTopics[i].EntityId].Info[1].replace("_1.jpg", ".jpg"), 1) + ' class="tP_ForumAvatar" /></a>');
            // topic title link
            forumSourceArray.push(' <div class="tP_TitleLink">');

            //forumSourceArray.push('		<a class=" breakMyWords" href="' + document.location.pathname.replace(".aspx", ("/" + data.ForumTopics[i].SeoName + ".aspx")) + '">' + data.ForumTopics[i].Subject + '</a>');
            forumSourceArray.push('		<a class=" breakMyWords" href="' +data.ForumTopics[i].DeepLink + '">' + data.ForumTopics[i].Subject + '</a>');
            // topic blurb with link
            if (data.ForumTopics[i].Posts > 10) {
                forumSourceArray.push(' <span class="tP_TitlePaginationLinks">&laquo; ');
                if (data.ForumTopics[i].Posts < 51) { // only show < 1 2 3 4 5 >
                    for (p = 0; p < (Math.ceil(data.ForumTopics[i].Posts / 10)); p++) {
                        forumSourceArray.push('		<a href="' + data.ForumTopics[i].DeepLink + '?Page=' + (p + 1) + '">' + (p + 1) + '</a>');
                    }
                } else { //show < 1 2 ... 5 6 >
                    forumSourceArray.push('		<a href="' + data.ForumTopics[i].DeepLink + '?Page=1">1</a> <a href="' + document.location.pathname.replace(".aspx", ("/" + data.ForumTopics[i].SeoName + ".aspx")) + '?Page=2">2</a> ... ');
                    lastPage = (Math.ceil(data.ForumTopics[i].Posts / 10));
                    forumSourceArray.push('		<a href="' + data.ForumTopics[i].DeepLink + '?Page=' + (lastPage - 1) + '">' + (lastPage - 1) + '</a> <a href="' + data.ForumTopics[i].DeepLink + '?Page=' + lastPage + '">' + lastPage + '</a>');
                }

                forumSourceArray.push(' &raquo;</span> ');
            }

            forumSourceArray.push(' </div>');

            //forumSourceArray.push('		<p>' + data.ForumTopics[i].Description + '&nbsp;&nbsp;&nbsp;<a class="moreLink" href="' + document.location.pathname.replace(".aspx", ("/" + data.ForumTopics[i].SeoName + ".aspx")) + '"> More</a></p>');
            // username link
            forumSourceArray.push('		By: <a class="tP_UsernameLink" href="' + privateEntities[data.ForumTopics[i].EntityId].Info[5] + '">' + privateEntities[data.ForumTopics[i].EntityId].Info[0] + '</a>');
            // time stamp
            forumSourceArray.push('		<div class="tP_TimeStamp">&nbsp;&nbsp;|&nbsp;&nbsp;' + social.prettyDate(social.getDateFromDotNetJSONString(data.ForumTopics[i].AddDate)) + '&nbsp;&nbsp;|&nbsp;&nbsp;</div>');
            // comments and likes
            forumSourceArray.push('		<div class="tP_ViewsAndReplies">' + data.ForumTopics[i].Views + ' ' + ((data.ForumTopics[i].Views == 1) ? "View" : "Views") + '&nbsp;&nbsp;|&nbsp;&nbsp;' + data.ForumTopics[i].Posts + ' ' + ((data.ForumTopics[i].Posts == 1) ? "Reply" : "Replies") + '</div>');



            // end container
            forumSourceArray.push('</div>');
        }



        // add pagination source to array
        forumSourceArray.push(social.pagination.buildPagination(data.PagingInfo));
        // output source array
        if ($.browser.msie)
            document.getElementById("forumsDetail").innerHTML = forumSourceArray.join('');
        else
            social.forums.forumsDetailRef.html(forumSourceArray.join(''));
        // clean up
        delete forumSourceArray;

        // any additional calls
        initActionDropDowns();

    },
    sortForumsTopics: function (sortType, sortColumn, newLabel) {
        social.forums.currentSortType = sortType;
        social.forums.currentSortColumn = sortColumn;
        $(".dropContent", "#forumsDetail").hide();
        social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopics.ajax", function (data) { social.forums.initForumView(data, newLabel) }, true, "fid=" + g_forumId + "&includePagingInfo=1&descriptionLimit=120&page=" + 0);
        social.forums.forumsDetailRef.autoScroll();
    },
    sortForumsTopicPosts: function (sortType, sortColumn, newLabel) {
        social.forums.currentSortType = sortType;
        social.forums.currentSortColumn = sortColumn;
        $(".dropContent", "#forumsDetail").hide();
        social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopicPosts.ajax", function (data) { social.forums.initTopicView(data, newLabel) }, true, "ftid=" + g_forumTopicId + "&includePagingInfo=1&descriptionLimit=120&page=" + 0);
        social.forums.forumsDetailRef.autoScroll();
    },
    showNewTopicForm: function (el) {
        // set reference to the form
        formRef = $(el).parent(".addReplyForm").next(".forumForm");

        // show form, it should currently hold a loader icon in case things are a bit slow
        formRef.toggle();
        // create temp source array
        addTopicArray = new Array();

        if (social.ifLoggedIn()) {
            // start the form
            addTopicArray.push('<form onsubmit="social.forums.saveNewTopic(this);return false;" style="display:block;" class="addTopicForm" action="/CFAPI/ForumManagement/SaveForumTopic.ajax">');
            addTopicArray.push('	<input id="fid" type="hidden" name="fid" value="' + social.forums.currentForumId + '" />');
            addTopicArray.push('	<p>You are logged in as <strong>' + social.entityInfo.PublicLabel + '</strong>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a onclick="jCore.deleteCookie(\'cfAuth\')" href="https://r.espn.go.com/members/logout?appRedirect=' + document.location + '">Sign Out</a></p>');
            addTopicArray.push('	<label for="subject" class="messageFormTitle">THREAD TITLE</label><br/>');
            addTopicArray.push('	<input id="subject" type="text" name="subject" /><br/>');
            addTopicArray.push('	<label for="messageDetailReplyBox" class="messageFormTitle">THREAD BODY</label><br/>');
            addTopicArray.push('	<textarea id="messageDetailReplyBox" name="description"></textarea>');
            addTopicArray.push('	<button type="reset">CANCEL</button>');
            addTopicArray.push('	<button type="submit">PUBLISH</button>');
            addTopicArray.push('</form>');
        } else {
            addTopicArray.push('<div style="display:block;border-top:2px solid #ececec;" class="addTopicForm loggedOut clear">');
            addTopicArray.push('	<p>Login or Sign Up for ESPNHS in order to contribute</p>');
            addTopicArray.push('	<a onclick="$(\'#dashLoginLink\').trigger(\'click\');" href="javascript:void(0)">LOG IN</a>');
            addTopicArray.push('	<a onclick="$(\'#dashSignupLink\').trigger(\'click\');" href="javascript:void(0)">SIGN UP</a>');
            addTopicArray.push('</div>');
        }
        // output source
        formRef.html(addTopicArray.join(''));
        // show container
        //formRef.toggle();

        // clean up
        delete addTopicArray;
        delete formRef;
        // redefine action of the "Start new topic" button to simply toggle display of our new form
        //$(el).unbind("click").removeAttr("onclick").bind("click", function() {$(".forumForm").toggle();return false;});
        $("#colorboxMe").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
        social.forums.initEditor("messageDetailReplyBox");
    },
    saveNewTopic: function (el) {
        //if (CKEDITOR.instances.messageDetailReplyBox.getData() == "" || $("#subject").val() == "") {
        //    social.lbDialog.showOverlay("Please enter a title and a body.", function () { return true; }, true);
        if ($("#subject").val() == "") {
            social.lbDialog.showOverlay("Please enter a title.", function () { return true; }, true);

        } else {
            formData = "";

            formData = "description=" + escape(social.forums.inputFormatter(CKEDITOR.instances.messageDetailReplyBox.getData())) + "&subject=" + $("#subject", el).val() + "&fid=" + $("#fid", el).val();

            social.forums.globalForumRequest($(el).attr("action"), function (data) { social.forums.newTopicForward(data); }, false, formData);
        }
    },
    newTopicForward: function (data) {
        sTrackThreadCreate(data.SavedForumTopic.SeoName);
        newTopicUrl = document.location.pathname.replace(".aspx", ("/" + data.SavedForumTopic.SeoName + ".aspx")).toString()
        document.location = newTopicUrl;
    },
    /****************************** 					START TOPIC VIEW  				*************************************************/
    initTopicView: function (data, sortLabel) {
        if (social.ifLoggedIn()) {
            if (jCore.readCookie("abuse_" + social.entityInfo.Id + "_" + data.ForumTopic.Id)) {
                $(".forumTopicHead a.flagLink").replaceWith("<span>Flagged</span>");
            }
        }
        var isModerator = false;
        for (i = 0; i < data.ForumTopic.ModeratorEntityIds.length; i++) {
            if (social.entityInfo && (social.entityInfo.Id == data.ForumTopic.ModeratorEntityIds[i])) {
                isModerator = true;
            }
        }

        if (isModerator == true) {
            $(".forumTopicHead .forumTopicUtilities .forumTopicUserControls").append('<a href="javascript: void(0);" onclick="social.forums.editTopic(\'' + data.ForumTopic.Id + '\',this)">Edit</a>');
        }
        // create temop source array
        topicSourceArray = [];

        // build entities object
        privateEntities = social.createEntityObjects(data.Entities);

        // redefine action method for our use here
        social.pagination.paginationAction = function (page) {
            //social.forums.globalForumRequest("/CFAPI/ForumManagement/GetForumTopicPosts.ajax", function (data) { social.forums.initTopicView(data) }, true, "ftid=" + g_forumTopicId + "&includePagingInfo=1&page=" + (page - 1));
            //social.forums.forumsDetailRef.autoScroll();
            document.location = document.location.toString().split("?")[0] + "?Page=" + page;
            return false;
        }

        // add title bar
        topicSourceArray.push('<div class="genericModuleHeader"><h4>Replies</h4><div class="moduleHeaderWedge"/></div>');
        // add generic structure divs
        topicSourceArray.push('<div class="moduleContentOuter"><div style="border-bottom:2px solid #ECECEC; padding-bottom:5px;" class="moduleContentInner clear">');

        // add pagination source to array
        if (data.Posts.length > 0)
            topicSourceArray.push('<div class="topPagination">' + social.pagination.buildPagination(data.PagingInfo, function () { }, true) + '</div>');
        // add top form
        //topicSourceArray.push(social.forums.buildReplyForm(data.ForumTopic.Id));

        if (social.ifLoggedIn()) {
            topicSourceArray.push('<div class="addReplyForm forumForm loggedOut">');
            if (data.Posts.length > 0)
                topicSourceArray.push(' <a class="submitAReplyButton" onclick="social.forums.showPostReplyForm(this);" href="javascript:void(0);">SUBMIT A REPLY</a>');
            else {
                topicSourceArray.push(' Be the first to reply!');
            }
            topicSourceArray.push('</div>');
        } else {
            topicSourceArray.push('<div class="addReplyForm forumForm loggedOut">');
            if (data.Posts.length > 0) {

                topicSourceArray.push('	<p>Login or Sign Up for ESPNHS in order to contribute</p>');
                topicSourceArray.push('	<a onclick="$(\'#dashLoginLink\').trigger(\'click\');" href="javascript:void(0)">LOG IN</a>');
                topicSourceArray.push('	<a onclick="$(\'#dashSignupLink\').trigger(\'click\');" href="javascript:void(0)">SIGN UP</a>');

            } else {
                topicSourceArray.push(' Be the first to reply!');
            }
            topicSourceArray.push('</div>');
        }



        // close off generic structure divs
        topicSourceArray.push('</div></div>');

        // sorting for topic posts
        // topicSourceArray.push('<div class="forumTopicPostSort clear">');
        // add pagination source to array
        //topicSourceArray.push('<div class="topPagination">' + social.pagination.buildPagination(data.PagingInfo) + '</div>');

        // topicSourceArray.push('</div>');
        //var prevDepth = 0;
        //var continuedFromPage = false;
        // loop through forum topics and add previews to source array

        for (i = 0; i < data.Posts.length; i++) {
            // start if moderator tests. this decides what links to show with post
            commentModerator = false;
            for (m = 0; m < data.Posts[i].ModeratorEntityIds.length; m++) {
                if (social.ifLoggedIn() && social.entityInfo.Id == data.Posts[i].ModeratorEntityIds[m])
                    commentModerator = true;
            }

            // start container
            topicSourceArray.push('<div id="post_' + data.Posts[i].Id + '" class="forumTopicPost"><div class="forumTopicPostOuter"><div class="clear forumTopicPostInner" style="' + ((i == (data.Posts.length - 1)) ? 'border-bottom:0;' : '') + '' + ((commentModerator) ? 'min-height:66px;' : '') + '">');



            topicSourceArray.push('		<div class="forumTopicUserControls">');
            // avatar
            topicSourceArray.push('			<a href="' + privateEntities[data.Posts[i].EntityId].Info[5] + '"><img ' + social.constrainImageSize(44, 44, privateEntities[data.Posts[i].EntityId].Info[3], privateEntities[data.Posts[i].EntityId].Info[2], privateEntities[data.Posts[i].EntityId].Info[1].replace("_1.jpg", ".jpg"), 1) + ' class="fT_ForumAvatar" /></a>');
            if (commentModerator) {

                topicSourceArray.push('<a onclick="social.forums.removeTopicPost(\'' + data.Posts[i].Id + '\',this)" href="javascript: void(0);">Delete</a>');
                topicSourceArray.push('<a onclick="social.forums.editTopicPost(\'' + data.Posts[i].Id + '\',this)" href="javascript: void(0);">Edit</a>');
            }
            topicSourceArray.push('		</div>');

            // start utilities div
            topicSourceArray.push('		<div class="forumTopicUtilities">');

            // start utility links
            topicSourceArray.push('		<div class="moderatorLinks">');

            if (data.Posts[i].RemovedByAuthor == false && data.Posts[i].RemovedByModerator == false) { // dont want to show links for deleted/placeholder posts
                if (social.ifLoggedIn()) { // amke sure youre logged in for flagging
                    if (jCore.readCookie("abuse_" + social.entityInfo.Id + "_" + data.Posts[i].Id)) { // if you have already flagged this one
                        topicSourceArray.push('<span>Flagged</span>');
                    } else {
                        topicSourceArray.push('<a onclick="social.flag.reportAbuse(\'' + data.Posts[i].Id + '\',this, \'ForumTopicPost\');" href="javascript: void(0);">Flag</a>');
                    }
                    //topicSourceArray.push('<a onclick="social.forums.threadReply(\'' + data.ForumTopic.Id + '\', this);" href="javascript:void(0);">Reply</a>');
                    topicSourceArray.push('<a onclick="social.forums.quoteReply(\'' + data.ForumTopic.Id + '\', this);" href="javascript:void(0);">Quote</a>');
                }

                topicSourceArray.push('<a href="' + document.location.toString().split("?")[0] + "?pid=" + data.Posts[i].Id + '">Permalink</a>');
            }
            // end utility links
            topicSourceArray.push('		</div>');

            // username link
            topicSourceArray.push('			<strong>By:</strong> <a class="fT_UsernameLink" href="' + privateEntities[data.Posts[i].EntityId].Info[5] + '">' + privateEntities[data.Posts[i].EntityId].Info[0] + '</a>');
            // time stamp
            topicSourceArray.push('		    <span class="fT_TimeStamp">' + social.prettyDate(social.getDateFromDotNetJSONString(data.Posts[i].AddDate)) + '</span>');


            // end utilities div
            topicSourceArray.push('		</div>');

            // topic blurb with link
            if (data.Posts[i].RemovedByAuthor == true || data.Posts[i].RemovedByModerator == true) { // if this is a deleted/placeholder reply
                topicSourceArray.push('		<p class="alternateText fT_postBody">' + data.Posts[i].Body + '</p>');
            } else {
                topicSourceArray.push('<div class="forumTopicMainInfo">' + social.forums.postFormatter(data.Posts[i].Body) + '</div>');
            }
            //topicSourceArray.push('<div class="forumTopicSignature">');
            if (privateEntities[data.Posts[i].EntityId].Info[7]) {
                topicSourceArray.push('<div class="forumTopicSignature">' + unescape(privateEntities[data.Posts[i].EntityId].Info[7]) + '</div>');
            } else {
                topicSourceArray.push('<div class="forumTopicSignature" style="margin-top:0;"></div>');
            }
            //topicSourceArray.push('</div>');
            // end container
            topicSourceArray.push('		</div></div></div>');
        }

        // add pagination source to array
        topicSourceArray.push('<div class="moduleContentInner clear" style="border-bottom: 2px solid #ECECEC; padding-bottom: 5px; margin:0 5px; border-bottom:0;">');
        topicSourceArray.push('<div class="topPagination">' + social.pagination.buildPagination(data.PagingInfo, function () { }, true) + '</div>');
        // add bottom form
        topicSourceArray.push(social.forums.buildReplyForm(data.ForumTopic.Id));
        topicSourceArray.push('</div>');



        // output source array
        social.forums.forumsDetailRef.html(topicSourceArray.join(''));
        // clean up
        delete topicSourceArray;
        //init colorbox for register links
        $("#colorboxMe").colorbox({ iframe: true, height: social.getIframeHeight(), width: social.getIframeWidth() });
        // any additional calls
        initActionDropDowns();
        // scroll down to deep linked message if its there
        deepLinkedMessage = jCore.getUrlParam("pid");
        if (document.getElementById("post_" + deepLinkedMessage))
            window.setTimeout(function () { if (deepLinkedMessage != "") $("#post_" + deepLinkedMessage).autoScroll() }, 500);
    },
    buildReplyForm: function (topicId) {
        replyFormSource = [];
        if (social.ifLoggedIn()) {

            replyFormSource.push('<div class="addReplyForm forumForm loggedOut">');
            replyFormSource.push(' <a class="submitAReplyButton" onclick="social.forums.showPostReplyForm(this);" href="javascript:void(0);">SUBMIT A REPLY</a>');
            replyFormSource.push('</div>');
            replyFormSource.push('<form style="display:none;background:url(\'/Media/backgrounds/forum_post_top.gif\') no-repeat scroll 0 0 transparent;" onsubmit="social.forums.saveNewTopicPost(this);return false;" style="display:block;" class="addReplyForm forumForm clear" id="threadReplyForm" action="/CFAPI/ForumManagement/SaveForumTopicPost.ajax">');
            replyFormSource.push('	<input type="hidden" id="ftid" name="ftid" value="' + topicId + '" />');
            replyFormSource.push('	<p>You are logged in as <strong>' + social.entityInfo.PublicLabel + '</strong>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a onclick="jCore.deleteCookie(\'cfAuth\')" href="https://r.espn.go.com/members/logout?appRedirect=' + document.location + '">Sign Out</a></p>');
            replyFormSource.push('	<label for="messageDetailReplyBox" class="messageFormTitle">ADD YOUR REPLY</label><br/>');
            replyFormSource.push('	<textarea class="replyBox" id="messageDetailReplyBox" name="body"></textarea>');
            replyFormSource.push('	<button type="submit">SUBMIT</button>');
            replyFormSource.push('</form>');
        } else {

            replyFormSource.push('<div class="addReplyForm forumForm loggedOut">');
            replyFormSource.push('	<p>Login or Sign Up for ESPNHS in order to contribute</p>');
            replyFormSource.push('	<a onclick="$(\'#dashLoginLink\').trigger(\'click\');" href="javascript:void(0)">LOG IN</a>');
            replyFormSource.push('	<a onclick="$(\'#dashSignupLink\').trigger(\'click\');" href="javascript:void(0)">SIGN UP</a>');
            replyFormSource.push('</div>');
        }
        return replyFormSource.join(''); ;
        delete replyFormSource;
    },
    removeTopicPost: function (pid, el) {
        social.forums.globalForumRequest("/CFAPI/ForumManagement/RemoveForumTopicPost.ajax", function () {
            if ($(el).closest(".forumPostThreadWrapInner").parent().children().length > 1) {
                $(el).parent(".moderatorLinks").siblings(".fT_postBody").html('Removed by Author').addClass("alternateText");
            } else {
                if (/\?pid\=/.test(document.location)) {
                    document.location = document.location.toString().split("?")[0];
                } else {
                    document.location.reload();
                }
            }
        }, false, "pid=" + pid);
    },
    editTopic: function (topicId, el) {
        $(".inlineReplyForm").remove();
        replyToThreadForm = [];
        replyToThreadForm.push('<form action="/CFAPI/ForumManagement/SaveForumTopic.ajax" class="inlineReplyForm addReplyForm forumForm clear" style="display: block;" onsubmit="social.forums.saveEditedTopic(this);return false;">');
        replyToThreadForm.push('<input id="ftid" name="ftid" type="hidden" value="' + topicId + '" />');
        replyToThreadForm.push('<label class="messageFormTitle" for="subject">');
        replyToThreadForm.push('EDIT TITLE');
        replyToThreadForm.push('</label>');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<input type="text" name="subject" id="subject" value="' + $(el).parent(".forumTopicUserControls").parent(".forumTopicUtilities").next(".forumTopicHeadTitle").html() + '">');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<label class="messageFormTitle" for="description">');
        replyToThreadForm.push('EDIT BODY');
        replyToThreadForm.push('</label>');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<textarea id="postReplyField" name="description" class="messageDetailReplyBox replyBox" >' + social.forums.editTopicOutputFormatter(el) + '</textarea>');
        replyToThreadForm.push('<button type="submit">SUBMIT</button>');
        replyToThreadForm.push('</form>');
        $(el).parent(".forumTopicUserControls").parent(".forumTopicUtilities").next(".forumTopicHeadTitle").next(".forumTopicMainInfo").next(".forumTopicSignature").after(replyToThreadForm.join(""));
        $(".inlineReplyForm").autoScroll();
        delete replyToThread;
        social.forums.initEditor('postReplyField');
    },
    editTopicPost: function (postId, el) {
        /*social.forums.globalForumRequest("/CFAPI/ForumManagement/RemoveForumTopicPost.ajax", function () {
        if ($(el).closest(".forumPostThreadWrapInner").parent().children().length > 1) {
        $(el).parent(".moderatorLinks").siblings(".fT_postBody").html('Removed by Author').addClass("alternateText");
        } else {
        if (/\?pid\=/.test(document.location)) {
        document.location = document.location.toString().split("?")[0];
        } else {
        document.location.reload();
        }
        }
        }, false, "pid=" + pid);*/
        $(".inlineReplyForm").remove();
        replyToThreadForm = [];
        replyToThreadForm.push('<form action="/CFAPI/ForumManagement/SaveForumTopicPost.ajax" class="inlineReplyForm addReplyForm forumForm clear" style="display: block;" onsubmit="social.forums.saveEditedTopicPost(this);return false;">');
        replyToThreadForm.push('<input id="epid" name="epid" type="hidden" value="' + postId + '" />');
        replyToThreadForm.push('<label class="messageFormTitle" for="messageDetailReplyBox">');
        replyToThreadForm.push('EDIT YOUR REPLY');
        replyToThreadForm.push('</label>');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<textarea id="postReplyField" name="body" class="messageDetailReplyBox replyBox" >' + social.forums.editOutputFormatter(el) + '</textarea>');
        replyToThreadForm.push('<button type="submit">SUBMIT</button>');
        replyToThreadForm.push('</form>');
        $(el).parent(".forumTopicUserControls").next(".forumTopicUtilities").next(".forumTopicMainInfo").next(".forumTopicSignature").after(replyToThreadForm.join(""));
        $(".inlineReplyForm").autoScroll();
        delete replyToThread;
        social.forums.initEditor('postReplyField');
    },
    saveEditedTopic: function (el) {
        formData = "";

        //if (CKEDITOR.instances.postReplyField.getData() == "" || $("#subject", el).val() == "") {
        //    social.lbDialog.showOverlay("Please enter a body and title.", function () { }, true);
        if ($("#subject", el).val() == "") {
            social.lbDialog.showOverlay("Please enter a title.", function () { }, true);
            return false;
        }
        formData = "description=" + escape(social.forums.inputFormatter(CKEDITOR.instances.postReplyField.getData())) + "&ftid=" + $("#ftid", el).val() + "&subject=" + $("#subject", el).val();

        social.forums.globalForumRequest($(el).attr("action"), function (data) { if (data.Errors.length > 0) { social.lbDialog.showOverlay("Error occured\n" + data.Errors[0].Message, function () { }, true); } /* refresh */document.location = document.location.protocol + "//" + document.location.host + data.SavedForumTopic.DeepLink }, false, formData)

    },
    saveEditedTopicPost: function (el) {
        formData = "";

        if (CKEDITOR.instances.postReplyField.getData() == "") {
            social.lbDialog.showOverlay("Please enter a message.", function () { }, true);
            return false;
        }
        formData = "body=" + escape(social.forums.inputFormatter(CKEDITOR.instances.postReplyField.getData())) + "&epid=" + $("#epid", el).val();

        social.forums.globalForumRequest($(el).attr("action"), function (data) { if (data.Errors.length > 0) { social.lbDialog.showOverlay("Error occured\n" + data.Errors[0].Message, function () { }, true); } /* refresh */document.location = document.location.toString().split("?")[0].replace(/\#Page[0-9]*/, "") + "?pid=" + data.SavedPost.Id }, false, formData)
    },
    saveNewTopicPost: function (el) {

        formData = "";


        if ($("#messageDetailReplyBox", el).length > 0) {
            // main thread reply
            if (CKEDITOR.instances.messageDetailReplyBox.getData() == "") {
                social.lbDialog.showOverlay("Please enter a message.", function () { }, true);
                return false;
            }
            formData = "body=" + escape(social.forums.inputFormatter(CKEDITOR.instances.messageDetailReplyBox.getData())) + "&ftid=" + $("#ftid", el).val();
        } else {
            // post reply
            if (CKEDITOR.instances.postReplyField.getData() == "") {
                social.lbDialog.showOverlay("Please enter a message.", function () { }, true);
                return false;
            }
            formData = "body=" + escape(social.forums.inputFormatter(CKEDITOR.instances.postReplyField.getData())) + "&ftid=" + $("#ftid", el).val();
        }
        $("button", el).attr("disabled", "disabled");
        tempFunc = function () { $("button", el).removeAttr("disabled"); }
        setTimeout(tempFunc, 3000);

        //alert($(el).attr("action") + "?" + formData);
        //alert(social.ifLoggedIn());
        //alert(jCore.readCookie("cfAuth"));
        social.forums.globalForumRequest($(el).attr("action"), function (data) { if (data.Errors.length > 0) { social.lbDialog.showOverlay("Error occured\n" + data.Errors[0].Message, function () { }, true); } /* refresh */document.location = document.location.toString().split("?")[0].replace(/\#Page[0-9]*/, "") + "?pid=" + data.SavedPost.Id }, false, formData)

    },
    threadReply: function (postId, el) {
        $(".inlineReplyForm").remove();
        replyToThreadForm = [];
        replyToThreadForm.push('<form action="/CFAPI/ForumManagement/SaveForumTopicPost.ajax" class="inlineReplyForm addReplyForm forumForm clear" style="display: block;" onsubmit="social.forums.saveNewTopicPost(this);return false;">');
        replyToThreadForm.push('<input id="ftid" name="ppid" type="hidden" value="' + postId + '" />');
        replyToThreadForm.push('<label class="messageFormTitle" for="messageDetailReplyBox">');
        replyToThreadForm.push('ADD YOUR REPLY');
        replyToThreadForm.push('</label>');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<textarea id="postReplyField" name="body" class="messageDetailReplyBox replyBox" ></textarea>');
        replyToThreadForm.push('<button type="submit">SUBMIT</button>');
        replyToThreadForm.push('</form>');
        $(el).parent(".moderatorLinks").parent(".forumTopicUtilities").next(".forumTopicMainInfo").next(".forumTopicSignature").after(replyToThreadForm.join(""));
        delete replyToThread;
        social.forums.initEditor('postReplyField');
    },
    showPostReplyForm: function (el) {
        $(".submitAReplyButton").hide();
        $("#threadReplyForm").show();
        //$(el).parent().siblings('.addReplyForm').show();
        //$(el).parent().hide();
        social.forums.initEditor('messageDetailReplyBox');
        $("#threadReplyForm").autoScroll();
    },
    showThreadQuoteForm: function (el) {
        //$(".inlineReplyForm").remove();
        /*replyToThreadForm = [];
        replyToThreadForm.push('<form action="/CFAPI/ForumManagement/SaveForumTopicPost.ajax" class="inlineReplyForm addReplyForm forumForm clear" style="display: block;" onsubmit="social.forums.saveNewTopicPost(this);return false;">');
        replyToThreadForm.push('<input id="ftid" name="ppid" type="hidden" value="' + postId + '" />');
        replyToThreadForm.push('<label class="messageFormTitle" for="messageDetailReplyBox">');
        replyToThreadForm.push('ADD YOUR REPLY');
        replyToThreadForm.push('</label>');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<textarea id="postReplyField" name="body" class="messageDetailReplyBox replyBox" >' + social.forums.outputFormatter(el) + '</textarea>');
        replyToThreadForm.push('<button type="submit">SUBMIT</button>');
        replyToThreadForm.push('</form>');
        //$(el).parent(".moderatorLinks").before(replyToThreadForm.join(""));
        $(el).parent(".moderatorLinks").parent(".forumTopicUtilities").next(".forumTopicMainInfo").next(".forumTopicSignature").after(replyToThreadForm.join(""));
        $(".inlineReplyForm").autoScroll();
        delete replyToThread;*/
        //social.forums.initEditor('postReplyField');



        $("#threadReplyForm").show();
        //$(el).parent().siblings('.addReplyForm').show();
        //$(el).parent().hide();
        $("#messageDetailReplyBox").val(social.forums.outputFormatter(el));
        social.forums.initEditor('messageDetailReplyBox');
        $("#threadReplyForm").autoScroll();
    },
    inputFormatter: function (val) {
        boldTest = new RegExp(/\[B\](.*)\[\/B\]/gim);
        while (boldTest.test(val)) {
            val = val.replace(boldTest, "<strong>$1</strong>");
        }
        quoteTest = new RegExp(/\[QUOTE\=(.*)\](.*)\[\/QUOTE\]/gim);
        while (quoteTest.test(val)) {
            val = val.replace(quoteTest, "<blockquote><span class='quoteUsername'>$1</span>$2</blockquote>");
        }
        return val;
        //return val.replace(/(\[B\])\1(?=(\[\/B\)])(\[\/B\])\2/gi, "<strong>", "</strong>");
        //return val.replace(/\[B\](?=\[\/B\])/gi, "<strong>").replace(/\[\/B\]/gi, "</strong>").replace(/\[I\]/gi, "<em>").replace(/\[\/I\]/gi, "</em>").replace(/\[U\]/gi, "<u>").replace(/\[\/U\]/gi, "</u>").replace(/\[STRIKE\]/gi, "<strike>").replace(/\[\/STRIKE\]/gi, "</strike>");
    },
    postFormatter: function (val) {
        tubeLinkCheck = new RegExp(/\<a href="http\:\/\/www\.youtube\.com\/watch\?v=(\w{11})?/im);
        testVal = val;
        quoteTest = new RegExp(/(\<blockquote\>(.*)\<\/blockquote\>)/gim);
        while (quoteTest.test(testVal)) {
            testVal = testVal.replace(quoteTest, "");
        }

        while (tubeLinkCheck.test(testVal)) {
            tubeLinkCheck.lastIndex = 0;
            var linkVals = tubeLinkCheck.exec(testVal);

            if (linkVals != null)
                val = val + '<br/><object width="480" height="320"><param name="movie" value="http://www.youtube.com/v/' + linkVals[1] + '&h1==en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/' + linkVals[1] + '&h1==en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="320"></embed></object><br/>';

            testVal = testVal.replace(tubeLinkCheck, "REPLACED");

        }
        return val;
    },
    editTopicOutputFormatter: function (el) {
        val = $(el).parent(".forumTopicUserControls").parent(".forumTopicUtilities").next(".forumTopicHeadTitle").next(".forumTopicMainInfo").html();
        quoteTest = new RegExp(/(\<blockquote\>.*\<span class\="*quoteUsername"*\>(.*)\<\/span\>(.*)\<\/blockquote\>)/gim);
        //quoteTest = new RegExp(/(\<blockquote\>.*\<span\sclass\=quoteUsername)/gim);
        val = val.replace(/\<p\>\<\/p\>/gim, "");
        while (quoteTest.test(val)) {
            val = val.replace(quoteTest, "[QUOTE=$2]$3[/QUOTE]");
        }

        objectTest = new RegExp(/(\<object(.*)\>(.*)\<\/object\>)/gim);
        embedTest = new RegExp(/(\<embed\>(.*)\<\/embed\>)/gim);
        while (objectTest.test(val)) {
            val = val.replace(objectTest, "");
        }
        while (embedTest.test(val)) {
            val = val.replace(embedTest, "");
        }

        return val;
    },
    editOutputFormatter: function (el) {
        val = $(el).parent(".forumTopicUserControls").next(".forumTopicUtilities").next(".forumTopicMainInfo").html();
        quoteTest = new RegExp(/(\<blockquote\>.*\<span class\="*quoteUsername"*\>(.*)\<\/span\>(.*)\<\/blockquote\>)/gim);
        //quoteTest = new RegExp(/(\<blockquote\>.*\<span\sclass\=quoteUsername)/gim);
        val = val.replace(/\<p\>\<\/p\>/gim, "");
        while (quoteTest.test(val)) {
            val = val.replace(quoteTest, "[QUOTE=$2]$3[/QUOTE]");
        }

        objectTest = new RegExp(/(\<object(.*)\>(.*)\<\/object\>)/gim);
        embedTest = new RegExp(/(\<embed\>(.*)\<\/embed\>)/gim);
        while (objectTest.test(val)) {
            val = val.replace(objectTest, "");
        }
        while (embedTest.test(val)) {
            val = val.replace(embedTest, "");
        }

        return val;
    },
    outputFormatter: function (el) {
        //console.log(el);
        val = $(el).parent(".moderatorLinks").parent(".forumTopicUtilities").next(".forumTopicMainInfo").html();
        if (val == null)
            val = $(el).parent(".moderatorLinks").parent(".forumTopicUtilities").next(".forumTopicHeadTitle").next(".forumTopicMainInfo").html();

        uname = $(el).parent(".moderatorLinks").parent(".forumTopicUtilities").find(".fT_UsernameLink:first").html();
        quoteTest = new RegExp(/(\<blockquote\>(.*)\<\/blockquote\>)/gim);
        objectTest = new RegExp(/(\<object(.*)\>(.*)\<\/object\>)/gim);
        embedTest = new RegExp(/(\<embed(.*)\>(.*)\<\/embed\>)/gim);

        while (objectTest.test(val)) {
            val = val.replace(objectTest, "");
        }
        while (embedTest.test(val)) {
            val = val.replace(embedTest, "");
        }
        while (quoteTest.test(val)) {
            val = val.replace(quoteTest, "");
        }
        val = val.replace(/\<p\>/gi, "").replace(/\<\/p\>/gi, "");

        return "[QUOTE=" + uname + "]" + $.trim(val) + "[/QUOTE]"
    },
    quoteReply: function (postId, el) {
        $(".inlineReplyForm").remove();
        replyToThreadForm = [];
        replyToThreadForm.push('<form action="/CFAPI/ForumManagement/SaveForumTopicPost.ajax" class="inlineReplyForm addReplyForm forumForm clear" style="display: block;" onsubmit="social.forums.saveNewTopicPost(this);return false;">');
        replyToThreadForm.push('<input id="ftid" name="ppid" type="hidden" value="' + postId + '" />');
        replyToThreadForm.push('<label class="messageFormTitle" for="messageDetailReplyBox">');
        replyToThreadForm.push('ADD YOUR REPLY');
        replyToThreadForm.push('</label>');
        replyToThreadForm.push('<br/>');
        replyToThreadForm.push('<textarea id="postReplyField" name="body" class="messageDetailReplyBox replyBox" >' + social.forums.outputFormatter(el) + '</textarea>');
        replyToThreadForm.push('<button type="submit">SUBMIT</button>');
        replyToThreadForm.push('</form>');
        //$(el).parent(".moderatorLinks").before(replyToThreadForm.join(""));
        $(el).parent(".moderatorLinks").parent(".forumTopicUtilities").next(".forumTopicMainInfo").next(".forumTopicSignature").after(replyToThreadForm.join(""));
        $(".inlineReplyForm").autoScroll();
        delete replyToThread;

        social.forums.initEditor('postReplyField');
    },
    initEditor: function (id) {
        if (CKEDITOR.instances[id]) {
            CKEDITOR.remove(CKEDITOR.instances[id]);
            $("#cke_" + id).remove();
        }
        CKEDITOR.on('dialogDefinition', function (ev) {
            // Take the dialog name and its definition from the event data.
            var dialogName = ev.data.name;
            var dialogDefinition = ev.data.definition;

            // Check if the definition is from the dialog we're
            // interested on (the Link dialog).
            if (dialogName == 'link') {
                // FCKConfig.LinkDlgHideAdvanced = true
                dialogDefinition.removeContents('advanced');

                // FCKConfig.LinkDlgHideTarget = true
                dialogDefinition.removeContents('target');
            }
        });
        CKEDITOR.editorConfig = function (config) {
            config.removePlugins = pastetext, clipboard, contextmenu;
        };
        CKEDITOR.replace(id,
		{
		    height: "170",
		    width: "573",
		    startupFocus: true,
		    /*blockedKeystrokes: [
		    CKEDITOR.CTRL + 86,
		    CKEDITOR.CTRL + 45,
		    CKEDITOR.SHIFT + 45
		    ],*/
		    on:
            {
                instanceReady: function (ev) {
                    // Output paragraphs as <p>Text</p>.
                    this.dataProcessor.writer.setRules('p',
                        {
                            indent: false,
                            breakBeforeOpen: false,
                            breakAfterOpen: false,
                            breakBeforeClose: false,
                            breakAfterClose: false
                        }
                    );
                    this.dataProcessor.writer.setRules('br',
                        {
                            indent: false,
                            breakBeforeOpen: false,
                            breakAfterOpen: false,
                            breakBeforeClose: true,
                            breakAfterClose: false
                        }
                    );
                }
            },
		    resize_enabled: false,
		    toolbar: [['Bold', 'Italic', 'Underline', 'Strike', '-', 'Link', '-', 'Smiley', '-', 'SpellCheck']]
		});
    }

}
/* ---------------------------------------- /includes/jsbin/ask_rise.js ---------------------------------------- */
var cachedData = {};
var globalAskRiseRequest;
var globalAskRiseRequestTimer;
function initAskRiseModule() {
    $(".askRiseModule").each(function (i) {
        scope = this;
        activeForumOption = $("select.activeForum option:selected", scope);
        $(".askRiseNavText", scope).html(activeForumOption.html());
        requestAskRiseData(activeForumOption.val(), i);
        prevArrow = $(".askRiseNavPrev", scope);
        nextArrow = $(".askRiseNavNext", scope);

        prevArrow.bind("click", function () {
            askRiseForumPrev(i);
            return false;
        });
        nextArrow.bind("click", function () {
            askRiseForumNext(i);
            return false;
        });
        if (!social.ifLoggedIn()) {
            $(".askRiseSearch", scope).val("Please sign in to ask a question").attr("readonly", "readonly").css("font-size", "12px").width(175).bind("mouseup", function () { $(this).blur(); $("#dashLoginLink").trigger("click"); });
        } else {
            $(".askRiseSearch", scope).val("Ask a Question...").bind("keyup", function (e) {
                autoCompAskSearch(i, this, e);
            }).bind("blur", function () {
                closeAutoComp = function () { $(".askRiseAutoCompResults", scope).hide().html(""); };
                window.setTimeout(closeAutoComp, 500);
                if (this.value == "") this.value = "Ask a Question...";
            }).bind("focus", function () {
                if (this.value == "Ask a Question...") this.value = "";
            });
        }


    });
    $(".askRiseLatestModule").each(function (i) {
        scope = this;
        if (!social.ifLoggedIn()) {
            $(".askRiseSearchLatest", scope).val("Please sign in to ask a question").attr("disabled", "disabled");
        } else {
            $(".askRiseSearchLatest", scope).val("Ask a Question...").bind("keyup", function (e) {
                autoCompAskSearch(i, this, e, true);
            }).bind("blur", function () {
                closeAutoComp = function () { $(".askRiseAutoCompResults", scope).hide().html(""); };
                window.setTimeout(closeAutoComp, 500);
                if (this.value == "") this.value = "Ask a Question...";
            }).bind("focus", function () {
                if (this.value == "Ask a Question...") this.value = "";
            });
        }
    });

}
var okToSubmit = true;
function submitNewTopic(i, ifLinkIsToLanding) {
    if (okToSubmit == false) {
        return false;
    } else {
        okToSubmit = false;
        $.ajax({
            url: "/CFAPI/ForumManagement/SaveForumTopic.ajax",
            data: {
                fid: $("#askRiseOverlay .activeForum option:selected").val(),
                subject: $("#askRiseOverlay .askRiseOverlayQuestion").val()
            },
            dataType: "json",
            type: "post",
            cache: false,
            success: function (data) {
                var customMessage = returnCustomMessage(data.SavedForumTopic.Id);
                var moreLink = (typeof ifLinkIsToLanding == "undefined" || !ifLinkIsToLanding) ? $(".askRiseMoreLink", ".askRiseModule:eq(" + i + ")").attr("href") : "/community/forums/Ask-RISE-Forums.aspx";
                $(".askRiseSearch", ".askRiseModule:eq(" + i + ")").val("Ask a Question...");
                $(".askRiseSearchLatest", ".askRiseLatestModule:eq(" + i + ")").val("Ask a Question...");
                $("#askRiseOverlayBox").html("<h2 class='askRiseOverlayHeader'>Submit Your Question</h2><p>" + customMessage + " For more Ask ESPNHS, <a href='" + moreLink + "'>click here</a>.</p><a onclick='$(\"#askRiseOverlay\").remove();return false;' href='#' class='askRiseOverlayCancel'>Close</a>");
                okToSubmit = true;
                //document.location = data.SavedForumTopic.DeepLink;
            }
        });
    }
}
function returnCustomMessage(id) {
    var returnVal;
    $.ajax({
        url: "/Handlers/GetAskRiseResponseMessage.aspx",
        data: "tid=" + id,
        async: false,
        success: function (data) {
            returnVal =(typeof data == "undefined") ? "" : data;
        }
    });
    return returnVal;
}
function showAskRiseOverlay(i) {
    if ($(".askRiseSearch", scope).val() == "" || $(".askRiseSearch", scope).val() == "Ask a Question...") {
        return false;
    }
    var scope = $(".askRiseModule:eq(" + i + ")");
    overlaySource = [];
    overlaySource.push("<div style='height:" + $("body").height() + "px;width:" + $("body").width() + "px;' id='askRiseOverlay'>");
    overlaySource.push("<div id='askRiseOverlayBox'><h2 class='askRiseOverlayHeader'>Submit Your Question</h2>");
    overlaySource.push("<input type='text' value='"+$(".askRiseSearch", scope).val()+"' class='askRiseOverlayQuestion' />");
    overlaySource.push("<label>Choose sport:<br/><select class='activeForum' name='overlayActiveForum'>"+$(".activeForum", scope).html()+"</select></label>");
    overlaySource.push("<a class='askRiseOverlayPost' href='#' onclick='submitNewTopic("+i+", true);return false;'>Post</a>");
    overlaySource.push("<a class='askRiseOverlayCancel' href='#' onclick='$(\"#askRiseOverlay\").remove();return false;'>Cancel</a>");
    overlaySource.push("</div>");
    overlaySource.push("</div>");
    $("body").append(overlaySource.join("\n"));
    activeId = $(".activeForum option:selected", scope).val();
    $("#askRiseOverlay .activeForum option").each(function () {
        if ($(this).val() == activeId) {
            $(this).attr("selected", "selected");
        }
    });
}
function showAskRiseLatestOverlay(i) {
    var scope = $(".askRiseLatestModule:eq(" + i + ")");
    overlaySource = [];
    overlaySource.push("<div style='height:" + $("body").height() + "px;width:" + $("body").width() + "px;' id='askRiseOverlay'>");
    overlaySource.push("<div id='askRiseOverlayBox'><h2 class='askRiseOverlayHeader'>Submit Your Question</h2>");
    overlaySource.push("<input type='text' value='" + $(".askRiseSearchLatest", scope).val() + "' class='askRiseOverlayQuestion' />");
    overlaySource.push("<label>Choose sport:<br/><select class='activeForum' name='overlayActiveForum'>" + $(".activeForum", scope).html() + "</select></label>");
    overlaySource.push("<a class='askRiseOverlayPost' href='#' onclick='submitNewTopic(" + i + ");return false;'>Post</a>");
    overlaySource.push("<a class='askRiseOverlayCancel' href='#' onclick='$(\"#askRiseOverlay\").remove();return false;'>Cancel</a>");
    overlaySource.push("</div>");
    overlaySource.push("</div>");
    $("body").append(overlaySource.join("\n"));
    activeId = $(".activeForum option:selected", scope).val();
    $("#askRiseOverlay .activeForum option").each(function () {
        if ($(this).val() == activeId) {
            $(this).attr("selected", "selected");
        }
    });
}
function autoCompAskSearch(i, el, e, ifAskRiseLatest) {

    var scope = (ifAskRiseLatest) ? $(".askRiseLatestModule:eq(" + i + ")") : $(".askRiseModule:eq(" + i + ")");
    if (e.keyCode == 13) {

        if ($(".askRiseActive", scope).length > 0) {
            //document.location = $(".askRiseActive:first", scope).attr("href");
            $(".askRiseActive:first", scope).trigger("click");

        } else {
            if (ifAskRiseLatest) {
                showAskRiseLatestOverlay(i);
            } else {
                showAskRiseOverlay(i);
            }
            
            return false;
        }

    } else if (e.keyCode == 38 || e.keyCode == 40) {
        if (e.keyCode == 40) {
            if ($(".askRiseAutoCompResults a", scope).length>0) {
                if ($(".askRiseActive", scope).length <= 0) {
                    $(".askRiseAutoCompResults a:first", scope).addClass("askRiseActive");
                } else if ($(".askRiseAutoCompResults a:last", scope).hasClass("askRiseActive")) {
                    //$(".askRiseAutoCompResults a:last", scope).removeClass("askRiseActive");
                   // $(".askRiseAutoCompResults a:first", scope).addClass("askRiseActive");
                } else {
                    tempPointer = $(".askRiseActive", scope);
                    tempPointer.next("a").addClass("askRiseActive");
                    tempPointer.removeClass("askRiseActive");
                }
                
            }
        }
        if (e.keyCode == 38) {
            if ($(".askRiseAutoCompResults a", scope).length > 0) {
                if ($(".askRiseActive", scope).length <= 0) {
                    $(".askRiseAutoCompResults a:last", scope).addClass("askRiseActive");
                } else if ($(".askRiseAutoCompResults a:first", scope).hasClass("askRiseActive")) {
                    $(".askRiseAutoCompResults a:first", scope).removeClass("askRiseActive");
                    //$(".askRiseAutoCompResults a:last", scope).addClass("askRiseActive");
                } else {
                    tempPointer = $(".askRiseActive", scope);
                    tempPointer.prev("a").addClass("askRiseActive");
                    tempPointer.removeClass("askRiseActive");
                }

            }
        }
    } else {
        $(".askRiseActive", scope).removeClass("askRiseActive");
        if (el.value.length > 3) {
            //jCore.log(el.value);

            // start function pointer
            excecuteRequest = function () {
                if (globalAskRiseRequest && globalAskRiseRequest.abort)
                    globalAskRiseRequest.abort();
                globalAskRiseRequest = $.ajax({
                    url: "/Handlers/QueryAskRiseQuestions.aspx",
                    data: {
                        fid: $(".activeForum option:selected", scope).val(),
                        q: el.value,
                        pageSize: 6
                    },
                    dataType: "json",
                    type: "post",
                    success: function (data) {
                        jCore.log(data.Results.length);
                        jCore.log($(scope).find(".askRiseAutoCompResults").length);
                        if (data.Results.length > 0) {
                            answersSource = [];
                            for (var i = 0; i < data.Results.length; i++) {
                                answersSource.push("<a onclick='getMyLink(\"" + data.Results[i].Key + "\",this);' href='#'>" + data.Results[i].Value + "</a>");
                            }
                            moreLink = $(".askRiseMoreLink", scope).attr("href");
                            answersSource.push("<a href='" + moreLink + "'>View More <img src='/Media/backgrounds/category_module_more_arrow.gif'></a>");
                            if ($(".askRiseAutoCompResults", scope).length <= 0) {
                                //jCore.log("hi");
                                $(el).after("<div class='askRiseAutoCompResults'>" + answersSource.join("\n") + "</div>");
                                $(".askRiseAutoCompResults a", scope).live("keyup", function () {
                                    changeFocusedAnswer(i);
                                });
                            } else {
                                $(".askRiseAutoCompResults", scope).html(answersSource.join("\n")).show();
                            }
                        } else {
                            if ($(".askRiseAutoCompResults", scope).length <= 0) {
                                $(el).after("<div style='display:none;' class='askRiseAutoCompResults'></div>");
                            } else {
                                $(".askRiseAutoCompResults", scope).html("").hide();
                            }
                        }
                    }
                });
            }
            // end function pointer
            if (globalAskRiseRequest)
                window.clearTimeout(globalAskRiseRequest);
            globalAskRiseRequest = window.setTimeout(excecuteRequest, 400)
        } else {
            if ($(".askRiseAutoCompResults", scope).length > 0) {
                $(".askRiseAutoCompResults", scope).html("").hide();
            }
        }
    }
}
function getMyLink(topicId, el) {
    linkVal = getLinkFromTopicId(topicId);
    document.location = linkVal;
    return false;
}
function getLinkFromTopicId(topicId) {
    var returnVal;
    $.ajax({
        url: "/CFAPI/CoreManagement/GetSocialObjectInfo.ajax",
        async: false,
        data: {
            soid: topicId,
            sot: "ForumTopic",
            populateSocialObject: true
        },
        dataType: "json",
        type: "post",
        success: function (data) {
            returnVal = data.SocialObject.DeepLink;
        }
    });
    return returnVal;
}
function askRiseForumNext(i) {
    scope = $(".askRiseModule:eq(" + i + ")");
    activeForumOption = $("select.activeForum option:selected", scope);
    activeForumOption.removeAttr("selected");

    if ($("select.activeForum option:last", scope).html() == activeForumOption.html()) {
        $("select.activeForum option:first", scope).attr("selected", "selected");
        $(".askRiseNavText", scope).html($("select.activeForum option:first", scope).html());
        requestAskRiseData($("select.activeForum option:first", scope).val(),i);
    } else {
        $(activeForumOption).next("option").attr("selected", "selected");
        $(".askRiseNavText", scope).html($(activeForumOption).next("option").html());
        requestAskRiseData($(activeForumOption).next("option").val(),i);
    }
}
function askRiseForumPrev(i) {
    scope = $(".askRiseModule:eq(" + i + ")");

    activeForumOption = $("select.activeForum option:selected", scope);

    activeForumOption.removeAttr("selected");

    if ($("select.activeForum option:first", scope).html() == activeForumOption.html()) {
        $("select.activeForum option:last", scope).attr("selected", "selected");
        $(".askRiseNavText", scope).html($("select.activeForum option:last", scope).html());
        requestAskRiseData($("select.activeForum option:last", scope).val(),i);
    } else {
        $(activeForumOption).prev("option").attr("selected", "selected");
        $(".askRiseNavText", scope).html($(activeForumOption).prev("option").html());
        requestAskRiseData($(activeForumOption).prev("option").val(),i);
    }
}

function requestAskRiseData(fid, i) {
    if (!cachedData[fid]) {
        $.ajax({
            url: "/Handlers/GetAskRiseForumData.aspx?fid=" + fid,
            dataType: "json",
            cache: false,
            success: function (data) {
                buildAskRiseWithForumInfo(data, i);
                cachedData[fid] = data;
            }
        });
    } else {
        buildAskRiseWithForumInfo(cachedData[fid], i);
    }
    
}
function buildAskRiseWithForumInfo(data,i) {
    scope = $(".askRiseModule:eq(" + i + ")");
    var loggedInSource = "";
    var footerSource = "";

    if (social.ifLoggedIn()) {
        //loggedInSource = "<form action=\"#\" onsubmit=\"return replyToQuestion('" + data.PrimaryQuestionId + "', this);\" class=\"tellUsBox\"><a href=\"#\" class=\"askRiseAvatar\"><img height=\"37\" width=\"37\" src=\"" + social.entityInfo.Icon.Url + "\" alt=\"username\" /></a><div class=\"askRiseAnswerField\"><input type=\"text\" value=\"Tell us what you think...\" onfocus=\"if(this.value == 'Tell us what you think...')this.value='';\" onblur=\"if(this.value == '')this.value='Tell us what you think...';\" /></div><button type=\"submit\">Submit your answer</button></form>";
        loggedInSource = "<form action=\"#\" onsubmit=\"return replyToQuestion('" + data.PrimaryQuestionId + "', this);\" class=\"tellUsBox\"><div class=\"askRiseAnswerField\"><input type=\"text\" value=\"Tell us what you think...\" onfocus=\"if(this.value == 'Tell us what you think...')this.value='';\" onblur=\"if(this.value == '')this.value='Tell us what you think...';\" /></div><button type=\"submit\">Submit your answer</button></form>";
    } else {
        footerSource = "<p class=\"askRiseFooterText\"><a href=\"javascript:void(0);\" onclick=\"$('.colorboxMeDash:eq(1)').trigger('click');\">Sign In</a> and get involved! Ask and answer questions with our community of high school athletes and ESPN writers</p>";
    }
    if (!social.ifLoggedIn() && (!jCore.readCookie('cfAuth') && jCore.readCookie('cfGoRegPreRegistration'))) {
        footerSource = "";
    }
    
    $(".askRiseMainQuestion", scope).html(data.QuestionData1 + loggedInSource);
    $(".askRiseSecondaryQuestion:eq(0)", scope).html(data.QuestionData2);
    $(".askRiseSecondaryQuestion:eq(1)", scope).html(data.QuestionData3);
    $(".askRiseMoreLink", scope).attr("href", data.SeeMoreLink);
    if ($(".askRiseMore", scope).next(".askRiseFooterText").length > 0)
        $(".askRiseMore", scope).next(".askRiseFooterText").remove();
    $(".askRiseMore", scope).after(footerSource);
    var orange = location.href.indexOf("all-sports-girls") > 0 ? " orange" : "";
    if ($(".askNowButton", scope).length <= 0) {
        $(".askRiseBox", scope).prepend("<a href=\"#\" class=\"askNowButton" + orange + "\" onclick=\"askRiseButtonClick(this,'" + i + "'); return false;\">Ask Now</a>");
        $(".askRiseBox", scope).prepend($(".askRiseSearch", scope));
        if (!social.ifLoggedIn()) {
            $(".askNowButton", scope).css("background-image", "url(/Media/buttons/home_ask_signin_sprite.jpg)");
        }
    }

    if(social.entityInfo && social.ifLoggedIn() && ($(".askRiseAvatar", scope).length <=0))
        $(".askRiseBox", scope).prepend("<a href=\"#\" class=\"askRiseAvatar\"><img height=\"28\" width=\"28\" src=\"" + social.entityInfo.Icon.Url + "\" alt=\"username\" /></a>");
}
function askRiseButtonClick(el,i) {
    if (social.ifLoggedIn()) {
        if ($(el).val() != "Ask a Question...") {
            var scope = $(".askRiseModule:eq(" + i + ")");
            if ($(".askRiseActive", scope).length > 0) {
                $(".askRiseActive:first", scope).trigger("click");
            } else {
                showAskRiseOverlay(i);
            }
        }
    } else {
        $("#dashLoginLink").trigger("click");
    }
}
var okToReply = true;
function replyToQuestion(ftid, el) {
    if (okToReply == true) {
        okToReply = false;
        message = $("input:first", el).val();
        $.ajax({
            url: "/CFAPI/ForumManagement/SaveForumTopicPost.ajax?",
            dataType: "json",
            type: "post",
            data: {
                ftid: ftid,
                body: message
            },
            cache: false,
            success: function (data) {
                jCore.log(data);
                if (data.Errors.length <= 0)
                    document.location = data.SavedPost.DeepLink;

            }
        });
    }
    return false;
}

$(document).ready(function () {
    $(".askRiseTabLink").click(function (event) {
        event.preventDefault();
        //remove the old tabOn
        $(".askRiseTabLink").removeClass('tabOn');
        //set the new tabOn
        $(this).addClass('tabOn');
        //get the item to show
        targetshow = $(this).attr("href").replace('#', '');
        //hide the visible content
        $(".askRiseContant:visible").hide();
        //show the target content
        $("#" + targetshow).show();
    })
})
/* ---------------------------------------- /includes/jsbin/gallery.js ---------------------------------------- */
$(document).ready(function () {
    $(".galleryModule").each(function (i) {
        var newGallery = new galleryModule(i);
    });
});
 
function galleryModule(i) {
    this.mainContainer = $(".galleryModule:eq("+i+")");
    this.mainContainer.attr("id", "galleryModule" + i);
    this.galleryId = this.mainContainer.attr("title");
    this.mainContainer.attr("title","")
    this.feedUrl = "/handlers/getfeaturedgallery.aspx?id=" + this.galleryId;
    this.beautyArea = $(".galleryModule:eq("+i+") .mainGalleryBeautyArea");
    this.navArea = $(".galleryModule:eq(" + i + ") .mainGalleryNavArea");

    this.beautyArea.html("<a href='javascript:void(0);' style='display:block;' class='scrubRight'></a><a href='javascript:void(0);' class='scrubLeft'></a>");

    this.imageChangeCount = 0;
	this.adTile = 100; //Start at 100 to avoid confict with other ads on page

    this.data;
    this.currentImage;
    this.currentPage = 0;
    this.isOnTitleScreen = true;

    this.scrubLeft = $(".galleryModule:eq("+i+") .scrubLeft");
    this.scrubRight = $(".galleryModule:eq(" + i + ") .scrubRight");
    var self = this;
    $(this.scrubLeft).click(function () {
        self.scrubImage(this);
        return false;
    });
    $(this.scrubRight).click(function () {
        self.scrubImage(this);
        return false;
    });
    this.thumbsLeft = 0;

    self = this;
    $.ajax({
        url: this.feedUrl,
        cache: false,
        dataType: "json",
        async: false,
        success: function (data) {
            self.data = data;
        }
    });

    // BUILD OUT BEAUTY AREA
    this.beautyArea.append('<div class="galleryTitle">' + this.data.galleryInfo.title + '</div><div class="galleryBeautyImage"><img class="" src="' + this.data.galleryInfo.image + '" alt="" /></div><div class="imageCaptionArea"><div class="caption">' + this.data.galleryInfo.description + ' <a class="startGalleryLink" href="javascript:void(0);">View Gallery &raquo;</a></div></div>')

    this.startGalleryLink = $(".galleryModule:eq(" + i + ") .startGalleryLink");
    $(this.startGalleryLink).click(function () {
        self.changeImage(0);
        return false;
    });

    this.popupLink = $(".galleryModule:eq(" + i + ") .galleryPopupButton");
    if(this.popupLink.length > 0) {
        $(this.popupLink).click(function () {
            self.openPopup();
            return false;
        });
    }

    // BUILD OUT DOT NAV
    if (this.data.slides.length > 5) {
        dotNavSource = [];
        navWidth = (Math.floor(this.data.slides.length / 6) + 1) * 19;
        dotNavSource.push('<div style="width:' + navWidth + 'px;margin-left:-' + Math.floor(navWidth / 2) + 'px;" class="galleryNav">');
        for (f = 0; f <= (Math.floor(self.data.slides.length / 6)); f++) {
            dotNavSource.push('<a href="javascript:void(0);" class="galleryNavIndicator ' + ((f == 0) ? "galleryNavIndicatorActive" : "") + '">' + f + '</a>');
        }
        dotNavSource.push('</div>');
        self.navArea.append(dotNavSource.join('\n'));
        delete navWidth;
        delete dotNavSource;

        $(".galleryNavIndicator", self.mainContainer).bind("click", function () {
            self.changePage($(this).html());
        });
    }

    //build out thumbs
    tempThumbsSource = [];
    tempThumbsSource.push('<div class="thumbSlidesWrap">');
    tempThumbsSource.push('<div class="thumbSlidesInner" style="width:' + (self.data.slides.length + 1) * 95 + 'px;">');

    for (e = 0; e < this.data.slides.length; e++) {
        tempThumbsSource.push('<a href="javascript:void(0);" class="galleryThumb"><img src="' + self.data.slides[e].thumb + '" width="83" height="46" alt="' + encodeURI(self.data.slides[e].caption) + '" /></a>');
    }
    tempThumbsSource.push('</div>');
    tempThumbsSource.push('</div>');

    $(".galleryModule:eq(" + i + ") .mainGalleryNavArea").prepend(tempThumbsSource.join('\n'));
    delete tempThumbsSource;

    $(".galleryModule:eq(" + i + ") .mainGalleryNavArea .galleryThumb").each(function (e) {
        $(this).bind("click", function () {
            self.changeImage(e, this, self.counter);
        });
    });
}
galleryModule.prototype = {
    requestData: function (i) {
        self = this;

        tempSource = [];
        tempSource.push('<div class="galleryTitle">' + this.data.galleryInfo.title + '</div>');
        tempSource.push('<div class="galleryBeautyImage"><img class="" src="' + this.data.galleryInfo.image + '" alt="" /></div>');
        tempSource.push('<div class="imageCaptionArea"><div class="caption">' + this.data.galleryInfo.description + ' <a class="startGalleryLink" href="javascript:void(0);">View Gallery &raquo;</a></div></div>');
        this.beautyArea.append(tempSource.join('\n'));
        delete tempSource;

        /*$(".galleryPopupButton", self.navArea).bind("click", function () {
        self.openPopup();
        });*/
        //_self.buildCarousel();
        /*$(".galleryModule:eq(" + i + ") .startGalleryLink").bind("click", function () {
        console.log(self);
        });*/
    },
    changePage: function (pageNum) {
        _self = this;
        if (pageNum == _self.currentPage) {
            return;
        }
        _self.currentPage = pageNum;
        _self.thumbsLeft = 570 * pageNum;

        $(".galleryNavIndicatorActive", _self.navArea).removeClass("galleryNavIndicatorActive");
        $(".galleryNavIndicator:eq(" + pageNum + ")", _self.navArea).addClass("galleryNavIndicatorActive");
        $(".thumbSlidesInner", _self.navArea).animate({ "left": (_self.thumbsLeft * (-1)) }, "normal");
    },
    changeImage: function (imageNum, el) {
        if ($(".adCoverall", this.beautyArea).length <= 0) {
            _self = this;
            $(".galleryThumbActive", _self.navArea).removeClass("galleryThumbActive");
            $(".galleryThumb:eq(" + imageNum + ")", _self.navArea).addClass("galleryThumbActive");
            if (_self.isOnTitleScreen) {
                $(".galleryTitle", _self.beautyArea).fadeOut();
                _self.isOnTitleScreen = false;
            }
            if (typeof _self.currentImage == "undefined") {
                _self.scrubLeft.fadeIn();
                _self.scrubRight.fadeIn();
            }
            if (imageNum > 0) {
                _self.scrubLeft.removeClass("disabledScrub").html(imageNum - 1);
            } else {
                _self.scrubLeft.addClass("disabledScrub").html("");
            }
            if (imageNum < (_self.data.slides.length - 1)) {
                _self.scrubRight.removeClass("disabledScrub").html(imageNum + 1);
            } else {
                _self.scrubRight.addClass("disabledScrub").html("");
            }
            $(".galleryBeautyImage img", this.beautyArea).attr("src", _self.data.slides[imageNum].image);
            $(".imageCaptionArea .caption", this.beautyArea).html("<span class='slideNumber'>" + (imageNum + 1) + " of " + _self.data.slides.length + "</span>" + _self.data.slides[imageNum].caption + ((_self.data.slides[imageNum].copyright != "") ? "<span class='galleryCopyright'>(" + _self.data.slides[imageNum].copyright + ")</span>" : ""));
            _self.currentImage = imageNum;
        }
        if (this.imageChangeCount >= this.data.galleryInfo.numberOfSlidesBetweenAds) {
		
			_self = this;
			
            if ($(".adCoverall", this.beautyArea).length > 0) {
                $(".adCoverall", this.beautyArea).remove();
            }
			
			var dcAdOpen = '<div class="adCoverall"><a onclick="$(this).parent(\'.adCoverall\').remove();" href="javascript:void(0);" class="skipAdLink">SKIP AD</a><div class="adIframe">';
			
			this.beautyArea.append(dcAdOpen);
			
			$('<iframe width="300" height="250" scrolling="no"/>')
				// Append the iframe to the document. 
				.appendTo(".adIframe")
				// Write the DoubleClick Advertisement into the iframe. 
				.each(function () {
					var doc = this.contentWindow.document || 
						this.contentWindow.window.document || 
						this.contentDocument;
					// Open the iframe document
					if (!$.browser.msie && doc.open) doc.open();
					$(this).load(function() {
						$(this).contents().find('body').css({
							'margin': 0
						});
					});
					// Add DoubleClick ad
					doc.write('<scr'+'ipt type="text/javascript" src="http://ad.doubleclick.net/adj/' + _self.data.galleryInfo.sponsorAdZone + ';pos=' + _self.data.galleryInfo.sponsorAdType + ';' + _self.data.galleryInfo.sponsorAdPgType + _self.data.galleryInfo.sponsorAdPgn + _self.data.galleryInfo.sponsorAdSport + _self.data.galleryInfo.sponsorAdTarget + _self.data.galleryInfo.sponsorAdAuthor +'sz=300x250,1x1;'+ _self.data.galleryInfo.sponsorAdLanguage + 'tile='+ _self.adTile +';ord=' + ord + '?"></scr'+'ipt>');
					// Close the IFRAME document. 
					if (!$.browser.msie && doc.close) doc.close();
				});
			
            //this.beautyArea.append('<div class="adCoverall"><a onclick="$(this).parent(\'.adCoverall\').remove();" href="javascript:void(0);" class="skipAdLink">SKIP AD</a><div class="adIframe"><iframe marginheight="0" marginwidth="0" border="0"  frameborder="0" scrolling="no" style="overflow:hidden;" height="250" width="300" src="http://3ps.go.com/DynamicAd?srvc=sz&itype=' + _self.data.galleryInfo.sponsorAdType + '"></iframe></div></div>');
            this.imageChangeCount = 0;
			this.adTile++;
        } else {
            if ($(".adCoverall", this.beautyArea).length <= 0) {
                this.imageChangeCount++;
            }
        }

    },
    scrubImage: function (el) {
        _self = this;
        if (_self.isOnTitleScreen == true) {
            _self.changeImage(0);
        } else {
            newPage = parseFloat($(el).html());
            if (!$(el).hasClass("disabledScrub")) {
                _self.changePage(Math.floor(newPage / 6));
                _self.changeImage(newPage);
            }
        }
    },
    openPopup: function () {
        _self = this;
        newwindow = window.open('', 'espnPhotoGallery', 'height=485,width=583');
        var tmp = newwindow.document;
        tmp.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"><head><title>ESPN Photo Gallery</title>');
        tmp.write('<link rel="stylesheet" type="text/css" href="/includes/cssbin/espn.css" media="all" /><link rel="stylesheet" type="text/css" href="/includes/cssbin/gallery.css" media="all" />');
        tmp.write('</head><body class="removeGalleryBorders">');
        tmp.write('<div class="moduleWrap galleryModule clear" title="' + _self.galleryId + '"><div class="moduleContentOuter"><div class="moduleContentInner"><div class="mainGalleryWrap"><div class="mainGalleryBeautyArea"></div><div class="mainGalleryNavArea"><div class="galleryAd">');
        if (_self.data.galleryInfo.sponsorAdLink != "" && _self.data.galleryInfo.sponsorImage != "") {
            tmp.write('<a href="' + _self.data.galleryInfo.sponsorAdLink + '" ' + ((_self.data.galleryInfo.sponsorAdLinkTarget != "") ? "target='" + _self.data.galleryInfo.sponsorAdLinkTarget + "'" : "") + '>');
            tmp.write('<img alt="Advertisement" src="' + _self.data.galleryInfo.sponsorImage + '">');
            tmp.write('</a>');
        }
        tmp.write('</div></div></div></div></div></div>');
        //tmp.write('<p><a href="javascript:self.close()">close</a> the popup.</p>');
        tmp.write('<script type="text/javascript" src="/includes/jsbin/jquery.js"></script><script type="text/javascript" src="/includes/jsbin/gallery.js"></script></body></html>');
        tmp.close();
    }
};

/* ---------------------------------------- /includes/jsbin/sportVerticleFeed.js ---------------------------------------- */

$(".svFeedButton_blogs,.svFeedButton_pics,.svFeedButton_flicks,.svFeedButton_askRise").click(function () {

    showSVFeedMediaForm(this.className, this);
    $(".activeSVTab").removeClass("activeSVTab");
    $(this).addClass("activeSVTab");
    return false;
});

var currentSVFormType = "";
var currentSVFeedPage = 0;
function showSVFeedMediaForm(formType, el) {

    if ($(".svFeedAddFormBox").length <= 0) {
        $(".svFeedAddLinks").after("<div class='svFeedAddFormBoxShadow'></div><div class='svFeedAddFormBox'></div>");
    }


    if (currentSVFormType == formType) {
        closeAddFormBox();
    } else {
        $(".svFeedAddFormBox,.svFeedAddFormBoxShadow").show();
        currentSVFormType = formType;

        switch (formType) {
            case "svFeedButton_askRise":
                sv_showAskRiseForm($(el).attr("rel"));
                break;
            case "svFeedButton_flicks":
                sv_showVideoForm($(el).attr("rel"));
                break;
            case "svFeedButton_pics":
                sv_showPhotoForm($(el).attr("rel"));
                break;
            case "svFeedButton_blogs":
                sv_showBlogForm($(el).attr("rel"));
                break;
        }
        sizeBoxShadow();
    }
}
function submitNewAskRiseSVFeed(scope, id) {
    $.ajax({
        url: "/CFAPI/ForumManagement/SaveForumTopic.ajax",
        data: {
            fid: sportVertFeed_askRiseForumId,
            subject: $("#editBlogTitle", scope).val()
        },
        dataType: "json",
        type: "post",
        cache: false,
        async:false,
        success: function (data) {
            refreshRundown();
            return false;
        }
    });
    return false;
}
function sizeBoxShadow() {
    $(".svFeedAddFormBoxShadow").height($(".svFeedAddFormBox,").height()+22).width($(".svFeedAddFormBox,").width());
}
function sv_showAskRiseForm(sid) {
    // create source array
    askRiseArray = new Array();

    // start form
    askRiseArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return submitNewAskRiseSVFeed(this,\"" + sid + "\");' id='blogEditForm' action='#My Stuff/My Press'>");

    askRiseArray.push("<div class='editBlogItem clear'>");
    askRiseArray.push("	<label for='editBlogTitle'>Ask a Question</label><input type='text' name='editBlogTitle' id='editBlogTitle' value='' /><br />");
    askRiseArray.push("</div>");
    askRiseArray.push("<button type='reset' onclick='closeAddFormBox();'>CANCEL</button>");
    askRiseArray.push("<button type='submit'>POST</button>");
    // end form
    askRiseArray.push('</form>');

    $(".svFeedAddFormBox").html(askRiseArray.join(""));
}
function sv_showPhotoForm(id) {
    $(".svFeedAddFormBox").html('<iframe scrolling="no" allowtransparency="true" style="overflow:hidden;" frameBorder="0" style="border:0;" id="uploadIframe" height="435px" width="482px" src="/cfapi/PhotoUploader.aspx?maxFileInputs=1&suppressShareOptions=true&saveButtonText=Upload&pid=' + id + '"></iframe>');
}
function sv_showBlogForm() {
    // create source array
    addBlogsArray = new Array();

    // start form
    addBlogsArray.push("<form method='GET' class='profileSettingsForm clear' onsubmit='return social.account.saveBlog(this);' id='blogEditForm' action='#My Stuff/My Press'>");

    addBlogsArray.push("<div class='editBlogItem clear'>");
    addBlogsArray.push("	<label for='editBlogTitle'>Title</label><input type='text' name='editBlogTitle' id='editBlogTitle' value='' /><br />");
    addBlogsArray.push("	<label for='editBlogDesc'>Body</label><textarea name='editBlogDesc' id='editBlogDesc'></textarea><br />");
    addBlogsArray.push("</div>");
    addBlogsArray.push("<button type='reset' onclick='closeAddFormBox();'>CANCEL</button>");
    addBlogsArray.push("<button type='submit'>POST</button>");
    // end form
    addBlogsArray.push('</form>');

    $(".svFeedAddFormBox").html(addBlogsArray.join(""));

    if (CKEDITOR.instances['editBlogDesc']) {
        CKEDITOR.remove(CKEDITOR.instances['editBlogDesc']);
    }
    CKEDITOR.replace('editBlogDesc',
		{
		    toolbar: [['Source', '-', 'Bold', 'Italic', 'Underline', 'Strike', '-', 'Link', '-', 'Subscript', 'Superscript', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'Smiley']]
		});
		resizeTimeout = function () { sizeBoxShadow(); }
        window.setTimeout(resizeTimeout,500);
}
function sv_showVideoForm(id) {
    $(".svFeedAddFormBox").html('<iframe scrolling="no" allowtransparency="true" style="overflow:hidden;" frameBorder="0" style="border:0;" id="uploadIframe" height="435px" width="482px" src="/cfapi/VideoUploader.aspx?maxFileInputs=1&suppressShareOptions=true&saveButtonText=Upload&pid=' + id + '"></iframe>');
    // $(".svFeedAddFormBox").html('<iframe style="overflow:hidden;" frameBorder="0" style="border:0;" id="uploadIframe" height="260px" width="595px" src="/cfapi/VideoUploader.aspx"></iframe>');
}
//alert($(".svFeedMoreButton").length);
//if ($(".svFeedMoreButton").length == 0) {
    //$("svFeedListMain").insertAfter('<a class="svFeedMoreButton" href="#" onclick="loadAdditionalPage();return false;">MORE</a>');
//}
$(".svFeedTabs a").click(function () {
    $(".svFeedTabs li.active").removeClass("active");
    $(this).parent("li").addClass("active");
    currentSVFeedPage = 0;
    changeSVFeedTab(this);
    return false;
});
function loadAdditionalPage() {
    currentSVFeedPage++;
    changeSVFeedTab($(".svFeedTabs li.active a:first"));
}
function changeSVFeedTab(el) {
    closeAddFormBox();
    $.ajax({
        url: "/Handlers/QuerySportVerticalFeed.aspx?" + $(el).attr("href").split("?")[1] + "&showObjectInfo=true&page="+currentSVFeedPage,
        success: function (data) {
            if (currentSVFeedPage > 0) {
                $(".svFeedListMain").append(data);
            } else {
                $(".svFeedListMain").html(data);
            }
            social.favorites.initFavs();
        }
    });
}
function refreshRundown() {
    closeAddFormBox();
    $(".svFeedTabs a:eq(1)").trigger("click");
}
function closeAddFormBox() {
    $(".svFeedAddFormBox, .svFeedAddFormBoxShadow").hide();
    currentSVFormType = "";
    $(".activeSVTab").removeClass("activeSVTab");
}
function commentsToggle(el) {
    if (document.getElementById("comments")) {
        $("#comments").remove();
        $(el).html($(el).attr("title"));
    } else {
        $(el).prev(".socialBarSVReply").trigger("click");
    }
    return false;
}
function openSVFeedComments(el, id, type) {
    $(".svFeedCommentTrigger").each(function () {
        $(this).html($(this).attr("title"));
    });
    if(document.getElementById("comments"))
        $("#comments").remove();
    $(el).next(".svFeedCommentTrigger").html("-Hide Comments");
    $(el).parent(".svFeedSocialBar").after('<div title="{\'dsoid\':\'' + id + '\',\'dsot\':\'' + type + '\'}" id="comments" class="commentsContent"></div>');
    social.comments.initComments();
    return false;
}
function openShareEmail(url, title) {
    url = url.replace("#Blog/", "?Blog=");
    var shareUrl = (url.indexOf("http") == -1) ? "url=http://" + document.domain + escape(url.replace("../", "/")) + "&title=" + encodeURI(title) : "url=" + encodeURI(url.replace("../", "/")) + "&title=" + encodeURI(title);
    jCore.openWin("http://api.addthis.com/oexchange/0.8/forward/email/offer?username=espnrise&"+shareUrl, "EmailShare", "");
}
