/*
 * jQuery JavaScript Library v1.3.1
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-01-21 20:42:16 -0500 (Wed, 21 Jan 2009)
 * Revision: 6158
 */
(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.makeArray(E))},selector:"",jquery:"1.3.1",size:function(){return this.length},get:function(E){return E===g?o.makeArray(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,find:function(E){if(this.length===1&&!/,/.test(E)){var G=this.pushStack([],"find",E);G.length=0;o.find(E,this[0],G);return G}else{var F=o.map(this,function(H){return o.find(E,H)});return this.pushStack(/[^+>] [^+>]/.test(E)?o.unique(F):F,"find",E)}},clone:function(F){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.cloneNode(true),H=document.createElement("div");H.appendChild(I);return o.clean([H.innerHTML])[0]}else{return this.cloneNode(true)}});var G=E.find("*").andSelf().each(function(){if(this[h]!==g){this[h]=null}});if(F===true){this.find("*").andSelf().each(function(I){if(this.nodeType==3){return}var H=o.data(this,"events");for(var K in H){for(var J in H[K]){o.event.add(G[I],K,H[K][J],H[K][J].data)}}})}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 F=o.expr.match.POS.test(E)?o(E):null;return this.map(function(){var G=this;while(G&&G.ownerDocument){if(F?F.index(G)>-1:o(G).is(E)){return G}G=G.parentNode}})},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: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(K,N,M){if(this[0]){var J=(this[0].ownerDocument||this[0]).createDocumentFragment(),G=o.clean(K,(this[0].ownerDocument||this[0]),J),I=J.firstChild,E=this.length>1?J.cloneNode(true):J;if(I){for(var H=0,F=this.length;H<F;H++){M.call(L(this[H],I),H>0?E.cloneNode(true):J)}}if(G){o.each(G,z)}}return this;function L(O,P){return N&&o.nodeName(O,"table")&&o.nodeName(P,"tr")?(O.getElementsByTagName("tbody")[0]||O.appendChild(O.ownerDocument.createElement("tbody"))):O}}};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){G=o.trim(G);if(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(G,E,I){if(E=="width"||E=="height"){var K,F={position:"absolute",visibility:"hidden",display:"block"},J=E=="width"?["Left","Right"]:["Top","Bottom"];function H(){K=E=="width"?G.offsetWidth:G.offsetHeight;var M=0,L=0;o.each(J,function(){M+=parseFloat(o.curCSS(G,"padding"+this,true))||0;L+=parseFloat(o.curCSS(G,"border"+this+"Width",true))||0});K-=Math.round(M+L)}if(o(G).is(":visible")){H()}else{o.swap(G,F,H)}return Math.max(0,K)}return o.curCSS(G,E,I)},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,R){if(typeof R==="number"){R+=""}if(!R){return}if(typeof R==="string"){R=R.replace(/(<(\w+)[^>]*?)\/>/g,function(T,U,S){return S.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?T:U+"></"+S+">"});var O=o.trim(R).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]+R+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var N=!O.indexOf("<table")&&O.indexOf("<tbody")<0?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&O.indexOf("<tbody")<0?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(R)){L.insertBefore(K.createTextNode(R.match(/^\s*/)[0]),L.firstChild)}R=o.makeArray(L.childNodes)}if(R.nodeType){G.push(R)}else{G=o.merge(G,R)}});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(){var G=arguments;return this.each(function(){for(var H=0,I=G.length;H<I;H++){o(G[H])[F](this)}})}});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).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 Q=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,K=0,G=Object.prototype.toString;var F=function(X,T,aa,ab){aa=aa||[];T=T||document;if(T.nodeType!==1&&T.nodeType!==9){return[]}if(!X||typeof X!=="string"){return aa}var Y=[],V,ae,ah,S,ac,U,W=true;Q.lastIndex=0;while((V=Q.exec(X))!==null){Y.push(V[1]);if(V[2]){U=RegExp.rightContext;break}}if(Y.length>1&&L.exec(X)){if(Y.length===2&&H.relative[Y[0]]){ae=I(Y[0]+Y[1],T)}else{ae=H.relative[Y[0]]?[T]:F(Y.shift(),T);while(Y.length){X=Y.shift();if(H.relative[X]){X+=Y.shift()}ae=I(X,ae)}}}else{var ad=ab?{expr:Y.pop(),set:E(ab)}:F.find(Y.pop(),Y.length===1&&T.parentNode?T.parentNode:T,P(T));ae=F.filter(ad.expr,ad.set);if(Y.length>0){ah=E(ae)}else{W=false}while(Y.length){var ag=Y.pop(),af=ag;if(!H.relative[ag]){ag=""}else{af=Y.pop()}if(af==null){af=T}H.relative[ag](ah,af,P(T))}}if(!ah){ah=ae}if(!ah){throw"Syntax error, unrecognized expression: "+(ag||X)}if(G.call(ah)==="[object Array]"){if(!W){aa.push.apply(aa,ah)}else{if(T.nodeType===1){for(var Z=0;ah[Z]!=null;Z++){if(ah[Z]&&(ah[Z]===true||ah[Z].nodeType===1&&J(T,ah[Z]))){aa.push(ae[Z])}}}else{for(var Z=0;ah[Z]!=null;Z++){if(ah[Z]&&ah[Z].nodeType===1){aa.push(ae[Z])}}}}}else{E(ah,aa)}if(U){F(U,T,aa,ab)}return aa};F.matches=function(S,T){return F(S,null,null,T)};F.find=function(Z,S,aa){var Y,W;if(!Z){return[]}for(var V=0,U=H.order.length;V<U;V++){var X=H.order[V],W;if((W=H.match[X].exec(Z))){var T=RegExp.leftContext;if(T.substr(T.length-1)!=="\\"){W[1]=(W[1]||"").replace(/\\/g,"");Y=H.find[X](W,S,aa);if(Y!=null){Z=Z.replace(H.match[X],"");break}}}}if(!Y){Y=S.getElementsByTagName("*")}return{set:Y,expr:Z}};F.filter=function(ab,aa,ae,V){var U=ab,ag=[],Y=aa,X,S;while(ab&&aa.length){for(var Z in H.filter){if((X=H.match[Z].exec(ab))!=null){var T=H.filter[Z],af,ad;S=false;if(Y==ag){ag=[]}if(H.preFilter[Z]){X=H.preFilter[Z](X,Y,ae,ag,V);if(!X){S=af=true}else{if(X===true){continue}}}if(X){for(var W=0;(ad=Y[W])!=null;W++){if(ad){af=T(ad,X,W,Y);var ac=V^!!af;if(ae&&af!=null){if(ac){S=true}else{Y[W]=false}}else{if(ac){ag.push(ad);S=true}}}}}if(af!==g){if(!ae){Y=ag}ab=ab.replace(H.match[Z],"");if(!S){return[]}break}}}ab=ab.replace(/\s*,\s*/,"");if(ab==U){if(S==null){throw"Syntax error, unrecognized expression: "+ab}else{break}}U=ab}return Y};var H=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(S){return S.getAttribute("href")}},relative:{"+":function(W,T){for(var U=0,S=W.length;U<S;U++){var V=W[U];if(V){var X=V.previousSibling;while(X&&X.nodeType!==1){X=X.previousSibling}W[U]=typeof T==="string"?X||false:X===T}}if(typeof T==="string"){F.filter(T,W,true)}},">":function(X,T,Y){if(typeof T==="string"&&!/\W/.test(T)){T=Y?T:T.toUpperCase();for(var U=0,S=X.length;U<S;U++){var W=X[U];if(W){var V=W.parentNode;X[U]=V.nodeName===T?V:false}}}else{for(var U=0,S=X.length;U<S;U++){var W=X[U];if(W){X[U]=typeof T==="string"?W.parentNode:W.parentNode===T}}if(typeof T==="string"){F.filter(T,X,true)}}},"":function(V,T,X){var U="done"+(K++),S=R;if(!T.match(/\W/)){var W=T=X?T:T.toUpperCase();S=O}S("parentNode",T,U,V,W,X)},"~":function(V,T,X){var U="done"+(K++),S=R;if(typeof T==="string"&&!T.match(/\W/)){var W=T=X?T:T.toUpperCase();S=O}S("previousSibling",T,U,V,W,X)}},find:{ID:function(T,U,V){if(typeof U.getElementById!=="undefined"&&!V){var S=U.getElementById(T[1]);return S?[S]:[]}},NAME:function(S,T,U){if(typeof T.getElementsByName!=="undefined"&&!U){return T.getElementsByName(S[1])}},TAG:function(S,T){return T.getElementsByTagName(S[1])}},preFilter:{CLASS:function(V,T,U,S,Y){V=" "+V[1].replace(/\\/g,"")+" ";var X;for(var W=0;(X=T[W])!=null;W++){if(X){if(Y^(" "+X.className+" ").indexOf(V)>=0){if(!U){S.push(X)}}else{if(U){T[W]=false}}}}return false},ID:function(S){return S[1].replace(/\\/g,"")},TAG:function(T,S){for(var U=0;S[U]===false;U++){}return S[U]&&P(S[U])?T[1]:T[1].toUpperCase()},CHILD:function(S){if(S[1]=="nth"){var T=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(S[2]=="even"&&"2n"||S[2]=="odd"&&"2n+1"||!/\D/.test(S[2])&&"0n+"+S[2]||S[2]);S[2]=(T[1]+(T[2]||1))-0;S[3]=T[3]-0}S[0]="done"+(K++);return S},ATTR:function(T){var S=T[1].replace(/\\/g,"");if(H.attrMap[S]){T[1]=H.attrMap[S]}if(T[2]==="~="){T[4]=" "+T[4]+" "}return T},PSEUDO:function(W,T,U,S,X){if(W[1]==="not"){if(W[3].match(Q).length>1){W[3]=F(W[3],null,null,T)}else{var V=F.filter(W[3],T,U,true^X);if(!U){S.push.apply(S,V)}return false}}else{if(H.match.POS.test(W[0])){return true}}return W},POS:function(S){S.unshift(true);return S}},filters:{enabled:function(S){return S.disabled===false&&S.type!=="hidden"},disabled:function(S){return S.disabled===true},checked:function(S){return S.checked===true},selected:function(S){S.parentNode.selectedIndex;return S.selected===true},parent:function(S){return !!S.firstChild},empty:function(S){return !S.firstChild},has:function(U,T,S){return !!F(S[3],U).length},header:function(S){return/h\d/i.test(S.nodeName)},text:function(S){return"text"===S.type},radio:function(S){return"radio"===S.type},checkbox:function(S){return"checkbox"===S.type},file:function(S){return"file"===S.type},password:function(S){return"password"===S.type},submit:function(S){return"submit"===S.type},image:function(S){return"image"===S.type},reset:function(S){return"reset"===S.type},button:function(S){return"button"===S.type||S.nodeName.toUpperCase()==="BUTTON"},input:function(S){return/input|select|textarea|button/i.test(S.nodeName)}},setFilters:{first:function(T,S){return S===0},last:function(U,T,S,V){return T===V.length-1},even:function(T,S){return S%2===0},odd:function(T,S){return S%2===1},lt:function(U,T,S){return T<S[3]-0},gt:function(U,T,S){return T>S[3]-0},nth:function(U,T,S){return S[3]-0==T},eq:function(U,T,S){return S[3]-0==T}},filter:{CHILD:function(S,V){var Y=V[1],Z=S.parentNode;var X=V[0];if(Z&&(!Z[X]||!S.nodeIndex)){var W=1;for(var T=Z.firstChild;T;T=T.nextSibling){if(T.nodeType==1){T.nodeIndex=W++}}Z[X]=W-1}if(Y=="first"){return S.nodeIndex==1}else{if(Y=="last"){return S.nodeIndex==Z[X]}else{if(Y=="only"){return Z[X]==1}else{if(Y=="nth"){var ab=false,U=V[2],aa=V[3];if(U==1&&aa==0){return true}if(U==0){if(S.nodeIndex==aa){ab=true}}else{if((S.nodeIndex-aa)%U==0&&(S.nodeIndex-aa)/U>=0){ab=true}}return ab}}}}},PSEUDO:function(Y,U,V,Z){var T=U[1],W=H.filters[T];if(W){return W(Y,V,U,Z)}else{if(T==="contains"){return(Y.textContent||Y.innerText||"").indexOf(U[3])>=0}else{if(T==="not"){var X=U[3];for(var V=0,S=X.length;V<S;V++){if(X[V]===Y){return false}}return true}}}},ID:function(T,S){return T.nodeType===1&&T.getAttribute("id")===S},TAG:function(T,S){return(S==="*"&&T.nodeType===1)||T.nodeName===S},CLASS:function(T,S){return S.test(T.className)},ATTR:function(W,U){var S=H.attrHandle[U[1]]?H.attrHandle[U[1]](W):W[U[1]]||W.getAttribute(U[1]),X=S+"",V=U[2],T=U[4];return S==null?V==="!=":V==="="?X===T:V==="*="?X.indexOf(T)>=0:V==="~="?(" "+X+" ").indexOf(T)>=0:!U[4]?S:V==="!="?X!=T:V==="^="?X.indexOf(T)===0:V==="$="?X.substr(X.length-T.length)===T:V==="|="?X===T||X.substr(0,T.length+1)===T+"-":false},POS:function(W,T,U,X){var S=T[2],V=H.setFilters[S];if(V){return V(W,U,T,X)}}}};var L=H.match.POS;for(var N in H.match){H.match[N]=RegExp(H.match[N].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(T,S){T=Array.prototype.slice.call(T);if(S){S.push.apply(S,T);return S}return T};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(M){E=function(W,V){var T=V||[];if(G.call(W)==="[object Array]"){Array.prototype.push.apply(T,W)}else{if(typeof W.length==="number"){for(var U=0,S=W.length;U<S;U++){T.push(W[U])}}else{for(var U=0;W[U];U++){T.push(W[U])}}}return T}}(function(){var T=document.createElement("form"),U="script"+(new Date).getTime();T.innerHTML="<input name='"+U+"'/>";var S=document.documentElement;S.insertBefore(T,S.firstChild);if(!!document.getElementById(U)){H.find.ID=function(W,X,Y){if(typeof X.getElementById!=="undefined"&&!Y){var V=X.getElementById(W[1]);return V?V.id===W[1]||typeof V.getAttributeNode!=="undefined"&&V.getAttributeNode("id").nodeValue===W[1]?[V]:g:[]}};H.filter.ID=function(X,V){var W=typeof X.getAttributeNode!=="undefined"&&X.getAttributeNode("id");return X.nodeType===1&&W&&W.nodeValue===V}}S.removeChild(T)})();(function(){var S=document.createElement("div");S.appendChild(document.createComment(""));if(S.getElementsByTagName("*").length>0){H.find.TAG=function(T,X){var W=X.getElementsByTagName(T[1]);if(T[1]==="*"){var V=[];for(var U=0;W[U];U++){if(W[U].nodeType===1){V.push(W[U])}}W=V}return W}}S.innerHTML="<a href='#'></a>";if(S.firstChild&&S.firstChild.getAttribute("href")!=="#"){H.attrHandle.href=function(T){return T.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var S=F,T=document.createElement("div");T.innerHTML="<p class='TEST'></p>";if(T.querySelectorAll&&T.querySelectorAll(".TEST").length===0){return}F=function(X,W,U,V){W=W||document;if(!V&&W.nodeType===9&&!P(W)){try{return E(W.querySelectorAll(X),U)}catch(Y){}}return S(X,W,U,V)};F.find=S.find;F.filter=S.filter;F.selectors=S.selectors;F.matches=S.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){H.order.splice(1,0,"CLASS");H.find.CLASS=function(S,T){return T.getElementsByClassName(S[1])}}function O(T,Z,Y,ac,aa,ab){for(var W=0,U=ac.length;W<U;W++){var S=ac[W];if(S){S=S[T];var X=false;while(S&&S.nodeType){var V=S[Y];if(V){X=ac[V];break}if(S.nodeType===1&&!ab){S[Y]=W}if(S.nodeName===Z){X=S;break}S=S[T]}ac[W]=X}}}function R(T,Y,X,ab,Z,aa){for(var V=0,U=ab.length;V<U;V++){var S=ab[V];if(S){S=S[T];var W=false;while(S&&S.nodeType){if(S[X]){W=ab[S[X]];break}if(S.nodeType===1){if(!aa){S[X]=V}if(typeof Y!=="string"){if(S===Y){W=true;break}}else{if(F.filter(Y,[S]).length>0){W=S;break}}}S=S[T]}ab[V]=W}}}var J=document.compareDocumentPosition?function(T,S){return T.compareDocumentPosition(S)&16}:function(T,S){return T!==S&&(T.contains?T.contains(S):true)};var P=function(S){return S.nodeType===9&&S.documentElement.nodeName!=="HTML"||!!S.ownerDocument&&P(S.ownerDocument)};var I=function(S,Z){var V=[],W="",X,U=Z.nodeType?[Z]:Z;while((X=H.match.PSEUDO.exec(S))){W+=X[0];S=S.replace(H.match.PSEUDO,"")}S=H.relative[S]?S+"*":S;for(var Y=0,T=U.length;Y<T;Y++){F(S,U[Y],V)}return F.filter(W,V)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(S){return"hidden"===S.type||o.css(S,"display")==="none"||o.css(S,"visibility")==="hidden"};F.selectors.filters.visible=function(S){return"hidden"!==S.type&&o.css(S,"display")!=="none"&&o.css(S,"visibility")!=="hidden"};F.selectors.filters.animated=function(S){return o.grep(o.timers,function(T){return S===T.elem}).length};o.multiFilter=function(U,S,T){if(T){U=":not("+U+")"}return F.matches(U,S)};o.dir=function(U,T){var S=[],V=U[T];while(V&&V!=document){if(V.nodeType==1){S.push(V)}V=V[T]}return S};o.nth=function(W,S,U,V){S=S||1;var T=0;for(;W;W=W[U]){if(W.nodeType==1&&++T==S){break}}return W};o.sibling=function(U,T){var S=[];for(;U;U=U.nextSibling){if(U.nodeType==1&&U!=T){S.push(U)}}return S};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);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})}}});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){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&&typeof l.frameElement==="undefined"){(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="1px";L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L)})})();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/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();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}this[H].style.display=o.data(this[H],"olddisplay",K)}}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"))}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)==1){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)}},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(H,F){var E=H?"Left":"Top",G=H?"Right":"Bottom";o.fn["inner"+F]=function(){return this[F.toLowerCase()]()+j(this,"padding"+E)+j(this,"padding"+G)};o.fn["outer"+F]=function(J){return this["inner"+F]()+j(this,"border"+E+"Width")+j(this,"border"+G+"Width")+(J?j(this,"margin"+E)+j(this,"margin"+G):0)};var I=F.toLowerCase();o.fn[I]=function(J){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+F]||document.body["client"+F]:this[0]==document?Math.max(document.documentElement["client"+F],document.body["scroll"+F],document.documentElement["scroll"+F],document.body["offset"+F],document.documentElement["offset"+F]):J===g?(this.length?o.css(this[0],I):null):this.css(I,typeof J==="string"?J:J+"px")}})})();/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();/*
Constructs a YouTubeLoader object which uses ExternalInterface to interact with javascript
within the "youTubeLoader.js" file to create an ActionScript 3 Wrapper for the YouTube
chromeless player and API.

@author Matthew Richmond <matthew@choppingblock.com>
@version 1.0
@history 2008-10-07

@Copyright 2008 Matthew Richmond <matthew@choppingblock.com>
* 
* This file is part of Sawdust, a collection of useful frameworks
* managed by the folks at The Chopping Block, Inc.
* 
* Sawdust is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* 
* Sawdust is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Lesser General Public License for more details.
* 
* You should have received a copy of the GNU Lesser General Public License
* along with Sawdust.  If not, see <http://www.gnu.org/licenses/>.
*/

//------------------------------------
// MAIN VARIABLES
//------------------------------------

var SWFID; // Must be set to id of swf or nothing will work.
var obj = new Object;


function loadVideoIseeng(idVideo) {
    try{
        obj.loadVideoJS(idVideo);
    }
    catch(err)
    {
        location.replace('/index.html?v='+idVideo);
    }
}

//------------------------------------
// UTILITY METHODS
//------------------------------------

function checkObj () {
    // alert("youTubeLoader.js : checkObj");
    if (SWFID) {
        createObj();
        return true;
    } else{
        return false;
    }
}

function createObj () {
    // alert("youTubeLoader.js : createObj");
    obj = document.getElementById(SWFID);
}

//------------------------------------
// SPECIAL YOUTUBE EVENT METHODS
//------------------------------------

function onYouTubePlayerReady(playerId) {
	
    if (checkObj()) {
        obj.addEventListener("onStateChange", "onytplayerStateChange");
        obj.addEventListener("onError", "ShowError");
    }
	
    // PLEASE NOTE: For the purpose of this demo:
    // This calls a secondary method located in the index.html file allowing the html display to update.
    // You will most likely not need this, it's gross, remove this when you implement this code.
    secondaryOnYouTubePlayerReady(playerId);
}


function ShowError(e)
{
    var obj = {
        'e':e,
        'idVideo':LogicaComentarios.IdVideo
        };
	
    // Envio datos
    $.ajax({
        'url'     : '/ax/video-unavailable.html?'+Math.random(),
        'data'    : obj,
        'dataType': 'script',
        'type'    : 'POST',
        'success' : function(data){}
    });
    PopUpError('Opss...video not available','<p>Sorry but this video is no longer available.</p>');
}

function onytplayerStateChange(newState) {
    //alert("Player's new state: " + newState);
    obj.playerStateUpdateHandler(newState);

    // PLEASE NOTE: For the purpose of this demo:
    // This calls a secondary method located in the index.html file allowing the html display to update.
    // You will most likely not need this, it's gross, remove this when you implement this code.
    secondaryOnytplayerStateChange(newState)
}



//------------------------------------
// YOUTUBE METHODS
//------------------------------------

function loadVideoById(id, startSeconds) {
    // alert("youTubeLoader.js : loadVideoById");
    if (checkObj()) {
        obj.loadVideoById(id,startSeconds);
    }
}

function cueNewVideo(id, startSeconds) {
    // alert("youTubeLoader.js : loadVideoById");
    if (checkObj()) {
        obj.cueVideoById(id, startSeconds);
    }
}

function clearVideo() {
    // alert("youTubeLoader.js : clearVideo");
    if (checkObj()) {
        obj.clearVideo();
    }
}

function setSize(w, h) {
    // alert("youTubeLoader.js : setSize");
    if (checkObj()) {
        obj.setSize(w, h);
    }
}

function play() {
    // alert("youTubeLoader.js : play");
    if (checkObj()) {
        obj.playVideo();
    }
}

function pause() {
    // alert("youTubeLoader.js : pause");
    if (checkObj()) {
        obj.pauseVideo();
    }
}

function stop() {
    // alert("youTubeLoader.js : stop");
    if (checkObj()) {
        obj.stopVideo();
    }
}

function seekTo(seconds) {
    // alert("youTubeLoader.js : seekTo");
    if (checkObj()) {
        obj.seekTo(seconds, true);
    }
}

function getPlayerState() {
    // alert("youTubeLoader.js : getPlayerState");
    if (checkObj()) {
        return obj.getPlayerState();
    }
}

function getBytesLoaded() {
    // alert("youTubeLoader.js : getBytesLoaded");
    if (checkObj()) {
        return obj.getVideoBytesLoaded();
    }
}

function getBytesTotal() {
    // alert("youTubeLoader.js : getBytesTotal");
    if (checkObj()) {
        return obj.getVideoBytesTotal();
    }
}

function getCurrentTime() {
    // alert("youTubeLoader.js : getCurrentTime");
    if (checkObj()) {
        return obj.getCurrentTime();
    }
}

function getDuration() {
    // alert("youTubeLoader.js : getDuration");
    if (checkObj()) {
        return obj.getDuration();
    }
}

function getStartBytes() {
    // alert("youTubeLoader.js : getStartBytes");
    if (checkObj()) {
        return obj.getVideoStartBytes();
    }
}

function setVolume(newVolume) {
    // alert("youTubeLoader.js : setVolume");
    if (checkObj()) {
        obj.setVolume(newVolume);
    }
}

function getVolume() {
    // alert("youTubeLoader.js : setVolume");
    if (checkObj()) {
        return obj.getVolume();
    }
}

function mute() {
    // alert("youTubeLoader.js : mute");
    if (checkObj()) {
        obj.mute();
    }
}

function unMute() {
    // alert("youTubeLoader.js : unMute");
    if (checkObj()) {
        obj.unMute();
    }
}

function getEmbedCode() {
    // alert("youTubeLoader.js : getEmbedCode");
    if (checkObj()) {
        return obj.getVideoEmbedCode();
    }
}

function getVideoUrl() {
    // alert("youTubeLoader.js : getVideoUrl");
    if (checkObj()) {
        return obj.getVideoUrl();
    }
}
var PopUpTopLevel = 1000;
var PopUpActive = null;
var PopUpList   = new Array();

function PopUp(content,jsCode,speed,clickOutside,elementsClose,width,height){

  PopUpActive = this;

  // Velocidad efecto 'open'
  this._speed = speed ? speed : "normal" ;
  // Cerrar popup al clickear afuera
  this._clickOutside = clickOutside ? true : false ;
  // Selector/es de elemento/s con click cierran popup
  this.elementsClose = (!elementsClose || elementsClose=='') ? null : elementsClose ;

  // Defino html de los elementos del
  this._divPopUp      = $('<div class="popup"></div>');
  this._divContent    = $('<div class="popup-content"></div>');
  this._divBackground = $('<div class="popup-background"></div>');

  // Agrego los elemento al popUp
  this._divContent.appendTo(this._divPopUp);
  this._divBackground.appendTo(this._divPopUp);

  // agrego id al popup
  this._divPopUp.attr('id','popup_'+(++PopUpTopLevel));

  // Guardo en ellisatdo de popup la referencia a este
  PopUpList[PopUpTopLevel] = this;

  // Guardo referencia del Objeto
  var self = this;

  // Determina si el navegador es IE6
  this.isIE6      = function(){ if($.browser.msie&&parseInt($.browser.version)<7)return true;return false;}
  this._posY      = function(){ var d=$(document),popUpHeight=self._divContent.height(),windowHeight=$(window).height(),y=0;if(popUpHeight<windowHeight)y=(windowHeight-popUpHeight)/4;y+=d.scrollTop();return parseInt(y);}
  this._posX      = function(){ var d=$(document),popUpWidth=self._divContent.width(),windowWidth=$(window).width(),x=0;if(popUpWidth<windowWidth)x=(windowWidth-popUpWidth)/2;return parseInt(x);}
  this._ABack     = function(){ var d=$(document);self._divBackground.width(d.width());self._divBackground.height(d.height());}
  this._PosAdjust = function(){ var d=$(document);self._divContent.css('top' ,self._posY()+'px');self._divContent.css('left',self._posX()+'px');self._ABack();}
  this.PopupClose = function(){ self._divPopUp.fadeOut('fast',function(){$(this).remove();});if(self.isIE6())$('select').css('visibility','visible');self.SelectPopUpActive();return false;}
  this.SelectPopUpActive = function(){--PopUpTopLevel;PopUpActive=PopUpList[PopUpTopLevel]; }
  this.AddClass   = function(clase){this._divPopUp.addClass(clase);}
  this.Close      = this.PopupClose;
  
  // Oculto
  if(self.isIE6()){$('select').css('visibility','hidden');this._divContent.css('visibility','visible');}

  var cssObj;
  cssObj = { 'position':'absolute','width':'100%','height':'100%','margin':'0','padding':'0','top':'0','left':'0','z-index':PopUpTopLevel}
  this._divPopUp.css(cssObj);

  // Aplicar estilos del fondo.

  cssObj = {'visibility':'hidden','position':'absolute','width':'100%','height':'100%','margin':'0','padding':'0','top':'0','left':'0','z-index':'1'}
  this._divBackground.css(cssObj);
  if(self.isIE6())
    this._divBackground.css({'visibility':'visible'});

  // Aplicar estilos del contenedor.
  cssObj = {'position':'absolute','display':'none','top':'0','left':'0','z-index':'2'}
  this._divContent.css(cssObj);

  // Asignar el alto y ancho del contenedor, si están definidos correctamente.
  if(!isNaN(width)) this._divContent.width(width);
  if(!isNaN(height))this._divContent.height(height);

  // Agrego el popup al body
  this._divPopUp.prependTo($('body'));

  // Insertar el contenido del popup.
  this._divContent.html('<div class="container"><span class="close"></span><div class="content">'+content+'</div><div class="pusher"></div></div>');

  // Ajusto posicion del popup y tamaño del fondo
  this._PosAdjust();
  $(window).resize(self._PosAdjust);

  var alfa = Math.floor(7-(PopUpTopLevel-1000))/10;
  alfa = (alfa<0.1)?0.1:alfa;

  // Oculto fondo
  this._divBackground.fadeTo(10,alfa,function(){self._divBackground.css({'visibility':'visible'});setTimeout(function(){self._divContent.fadeIn(this._speed);},250);});

  // Si se indica la opción de cerrar al hacer clic fuera del popup, asiganar la acción al fondo.
  if(this._clickOutside==true) self._divBackground.click(self.PopupClose);

  // Si se indica un elemento para cerrar el popup, asignar la acción al mismo.
  if(elementsClose!=null&&elementsClose!='') $(elementsClose,self._divContent).click(self.PopupClose);

  // Ejecutar la JS que se paso como parametro.
  if(jsCode!=undefined && jsCode!='' ) try{ eval(jsCode)}catch(e){};
}function FormValidate(form,scroller){
    var _msjs = {
                   'required':'Required information.',
                   'mail':'Invalid email.',
                   'date':'Invalid date.'
                 };
    var _errClass   = 'err';
    var _tagMsj     = 'strong';
    var _dateFormat = 'yyyy-mm-dd';
    // Cuenta cantidad errores
    var _err = 0;
    // Validar mail
    var _isMail        = function(str) {var filter=/^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/;return(filter.test(str));}
    var _validMails    = function(fields){var f;for(var i in fields){f=fields[i];if(f.val()!=''&&!_isMail(f.val())){_err++;_ShowErr(f,_msjs.mail);}else if(f.val()!=''&&!f.hasClass('v_required')){_ClearErr(f);}}}
    var _isDate        = function(str){var format=_dateFormat;var result=false,fD='(0?[1-9]|([1-2][0-9])|(3[0-1]))',fM='((0?[1-9])|(1[0-2]))',fY='[0-9]{4}';var regExp=format.replace('dd',fD);regExp = regExp.replace('mm',fM);regExp = regExp.replace('yyyy',fY);var filter = new RegExp('^'+regExp+'$');result = filter.test(str);if(result){var sep=format.replace(/[ a-z]/g,'');sep=sep.substring(0,1);var arrF = format.split(sep);var arrD = str.split(sep);var dd,mm,yyyy;for(var i=0;i<arrF.length;i++){switch(arrF[i]){case 'dd':dd = parseInt(arrD[i]);break;case 'mm':mm = parseInt(arrD[i]); break;case 'yyyy':yyyy = parseInt(arrD[i]);break;}}result=_ckeckDate(mm,dd,yyyy);}return result;}
    var _ckeckDate     = function(mm,dd,yyyy){switch(mm){case 4:case 6:case 9:case 11:if(dd==31)return false;break;case 2:if(29<dd||(dd==29&&!_Bisiesto(yyyy)))return false;break;}return true;}
    var _Bisiesto      = function (year){return(((year%4==0)&&(year%100!=0))||(year%400==0))?1:0;}
    var _validDate     = function(fields){var f;for(var i in fields){f=fields[i];if(f.val()!=''&&!_isDate(f.val())){_err++;_ShowErr(f,_msjs.date);}else if(f.val()!=''&&!f.hasClass('v_required')){_ClearErr(f);}}}
    var _validRequired = function(fields){var f;for(var i in fields){f=fields[i];if(f.val()==''||f.val()==0){_err++;_ShowErr(f,_msjs.required);}else{_ClearErr(f);}}}
    var _ShowErr       = function(elem,msj){var fC = elem.parent();fC.addClass(_errClass);$(_tagMsj+'.'+_errClass,fC).remove();var mC = $('<'+_tagMsj+' class="'+_errClass+'"></'+_tagMsj+'>');mC.hide();mC.html(msj);mC.appendTo(fC).fadeIn('slow').css({'display':'block'});}
    var _ClearErr      = function(elem){var fC = elem.parent();fC.removeClass(_errClass);$(_tagMsj+'.'+_errClass,fC).remove();}
    var _validar       = function(clase){
                           var fields = new Array();
                           var i = 0;
                           $('.'+clase,form).each(function(){
                             fields[i++] = $(this);
                           });
                           switch(clase){
                               case 'v_mail':
                                    _validMails(fields);
                                    break;
                               case 'v_date':
                                    _validDate(fields);
                                    break;
                               case 'v_required':
                                    _validRequired(fields);
                                    break;
                           }
                        }
    //  Valido
    this.Validate = function(){
                            _err = 0;
                            _validar('v_required');
                            _validar('v_mail');
                            _validar('v_date');

                            if(_err==0){
                              return true;
                            }else{
                              var self = this;
                              scroller = scroller==undefined?true:scroller;
                              if(!scroller)return false;
                              /*Si no valido posisiono la pagina en el primer campo que fallo*/
                              var al=$('.'+_errClass,self.form).eq(0).position();var d=$(document);var sE=parseInt(al.top);var sD=d.scrollTop();var wH=$(window).height();sE-=30;
                              if(sE<=sD){var timerInter = setInterval(function(){sD = Math.floor((sD+sE)/2);d.scrollTop(sD);if(sD<=sE)clearInterval(timerInter);},100);}else if((sD+wH)<=sE){var timerInter=setInterval(function(){sD=Math.ceil((sD+sE)/2);d.scrollTop(sD);if(sE<=sD)clearInterval(timerInter);},100);}
                              return false;
                            }
                    }
    }var SessionUser = null;

// Maneja session
function Session(_user){
  this.IdUsuario = _user.idUsuario;

  // Header
  var _divLogin = null;
  var _divLoginHtml  = '<ul>'
      _divLoginHtml += " <li class='right'><a href='/my-account/logout.html'>Logout</a></li>";
      _divLoginHtml += ' <li><a href="/my-account/index.html"><img src="'+_user.imgSrc+'" alt="img" /> <span class="mask"></span><span class="nick">'+_user.nick+'</span></a></li>';
      _divLoginHtml += '</ul>';
  var _ToggleHeader = function(){
                        var aux = _divLoginHtml;
                        _divLogin = $('div#divLogin');
                        _divLoginHtml = _divLogin.html();
                        _divLogin.html(aux);
                      }

  // Banner Top
  var _divBannerTop = null;
  var _divBannerTopID    = 'bannerAddVideos';
  var _divBannerTopHtml  = '';
      _divBannerTopHtml += '<p>';
      _divBannerTopHtml += ' <span>Do you sing? Got a band? Cool! Link your videos to iSeeng.</span>';
      _divBannerTopHtml += ' <span class="btn"><a href="javascript:AddVideos();">Add a Video</a></span>';
      _divBannerTopHtml += '</p>';
  var _ToggleBannerTop  = function(){
                             var aux          = _divBannerTopHtml,
                                 id           = _divBannerTopID;
                            _divBannerTop     = $('div.bannerTop');
                            _divBannerTopHtml = _divBannerTop.html();
                            _divBannerTopID   = _divBannerTop.attr('id');
                            _divBannerTop.html(aux);
                            _divBannerTop.attr('id',id);
                          }

  // Comentarios
  var _divAddComment = null;
  var _divAddCommentHtml  = '';
      _divAddCommentHtml += '<div class="content form">';
      _divAddCommentHtml += '<h2>Add your comment</h2>';
      _divAddCommentHtml += '<form action="/ax/add-comment.html" method="post" id="frmAddComment">';
      _divAddCommentHtml += ' <fieldset>';
      _divAddCommentHtml += ' <ol>';
      _divAddCommentHtml += '  <li><label><strong>Comment *</strong> <textarea name="comment" class="v_required"></textarea></label></li>';
      _divAddCommentHtml += ' </ol>';
      _divAddCommentHtml += ' <div class="btns">';
      _divAddCommentHtml += '   <span class="btn"><button type="submit">Send</button></span>';
      _divAddCommentHtml += ' </div>';
      _divAddCommentHtml += ' </fieldset>';
      _divAddCommentHtml += '</form>';
      _divAddCommentHtml += '</div>';
      _divAddCommentHtml += '<script type="text/javascript">AddComment_ActiveForm();$("div#comments-block textarea").focus(function(){$(this).height(118);}); </script>';
  var _ToggleAddComment  = function(){
                             var aux           = _divAddCommentHtml;
                            _divAddComment     = $('div#addComment');
                            _divAddCommentHtml = _divAddComment.html();
                            _divAddComment.html(aux);
                          }

  // Cerrar la sesion
  this.Close = function(){
                     $.ajax({
                           'url'     : '/ax/close-session.html'+'?'+Math.random(),
                           'dataType': 'script',
                           'type'    : 'POST',
                           'success' : function(data) {
                                              _ToggleHeader();
                                              _ToggleBannerTop();
                                              _ToggleAddComment();
                                              SessionUser = null;
                                       }
                     });
                }



  // Cambios el html del head
  _ToggleHeader();
  // Cambio el banner top
  _ToggleBannerTop();
  // Habilito form agregar comentarios
  _ToggleAddComment();

}







function ShowButtonLoading(cont){
   $('span.btn',cont).append('<span>Sending…</span>').addClass('loading');
}
function HideButtonLoading(cont){
   $('span.btn',cont).removeClass('loading').find('span').remove();
}
function RefreshPage()
{
  location.reload();
}

// Maneja las respuestas del servidor
function ResuelveRespuesta(form,err_count,arr_msj){
  // Elimino cualquier mensaje de error previo
  $('strong.err' , form).remove();
  $('.err'       , form).removeClass('err');

  // Saco clase loading del boton
  HideButtonLoading(form);

  // Si no se produjeron errores
  if(err_count==0){
    if(arr_msj['msj']!=undefined)
       ShowMsj(form,arr_msj['msj'],'ok');
  }else{
    var fieldParent,msj,strong;
    // Recorro todos los mensajes
    for (var name in arr_msj){

      if(name=='msj'){
         ShowMsj(form,arr_msj['msj'],'err');
      }

      fieldParent = $('[name='+name+']',form).parent();
      msj   = arr_msj[name];

      fieldParent.addClass('err');
      fieldParent.append('<strong class="err"></strong>');
      var strong = $('strong.err',fieldParent);
      strong.css({'overflow':'hidden','display':'none'});
     // strong.slideUp('fast');
      strong.html(msj);
      strong.slideDown('normal');
    }
  }
}


function ShowMsj(form,text,clase){
  $('#msj',form).remove();
  if(clase==undefined) clase = 'error';

  var divMsj = $('<div id="msj"></div>')
  divMsj.css({'display':'none'})
        .prependTo(form)
        .addClass(clase)
        .html(text);

  divMsj.slideDown('slow');
}

function HideMsj(form){
   var div = $('#msj',form);
   if(div.html()!='')
     div.slideUp('fast',function(){ div.html('');div.removeAttr('class'); });
}


// Esta funcion se lanza desde un catch
function FatalError(form){
   var html = '';
   html += '<h2>Try again lately</h2>';
   html += '<p>Unable to process your request at this time</p>';
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');",'slow',true,'.close',400);
   if(form!=undefined)
   HideButtonLoading(form);
}

function PopUpError(title,body)
{
   var html = '';
   html += '<h2>'+title+'</h2>';
   html += body;
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');",'slow',true,'.close',400);
}



function CreateAccount(){
   var html = '';
   html += '<h2>Create Account</h2>';
//   html += '<p></p>';
   html += '<form action="/ax/create-account.html" method="post" id="frmCreateAccount">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Your email *</strong> <input type="text" name="email" value="" class="v_required v_mail" /></label></li>';
   html += '  <li><label><strong>Nick *</strong> <input type="text" name="nick" value="" class="v_required" /></label></li>';
   html += '  <li><label><strong>Password *</strong> <input type="password" name="pass" value="" class="v_required" /></label></li>';
   html += '  <li><label><strong>Confirm password *</strong> <input type="password" name="rePass" value="" class="v_required" /></label></li>';
   html += ' </ol>';
   html += ' <div class="btns">';
   html += '   <span class="btn"><button type="submit">Create account</button></span>';
   html += '   <a href="javascript:PopUpActive.Close();LogIn();">Login to your account</a>';
   html += ' </div>';
   html += ' </fieldset>';
   html += '</form>';
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');CreateAccount_ActiveForm();",'slow',false,'.close',400);
}



function CreateAccount_ActiveForm(){
 $('#frmCreateAccount').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form,false);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
       obj = {
                'email'  : $('input[name=email]' ,form).val(),
                'nick'   : $('input[name=nick]'  ,form).val(),
                'pass'   : $('input[name=pass]'  ,form).val(),
                'rePass' : $('input[name=rePass]',form).val()
             }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else
                           CreateAccount_ok();
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}





function CreateAccount_ok(){
  var html  = '';
      html += '<h2>Account successfully created</h2>';
      html += '<p>Your account is ready. Now your are iSeeng.com member. Go ahead!. <span class="btn btnClose"><a href="javascript:;" onclick="PopUpActive.Close();">Close</a></span></p>';
  PopUpActive.Close();
  var popUp = new PopUp(html,"PopUpActive.AddClass('small');",'slow',false,'.close',400);
}function RecoveryPass(){
   var html = '';
   html += '<h2>Retrieve password</h2>';
   html += '<p>Enter your registered email and we will send a new password.</p>';
   html += '<form action="/ax/recovery-pass.html" method="post" id="frmRecoveryPass">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Your email *</strong> <input type="text" name="email" value="" class="v_required v_mail" /></label></li>';
   html += ' </ol>';
   html += ' <div class="btns">';
   html += '   <span class="btn"><button type="submit">Send</button></span>';
   html += ' </div>';
   html += ' </fieldset>';
   html += '</form>';
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');RecoveryPass_ActiveForm();",'slow',false,'.close',400);
}

function RecoveryPass_ActiveForm(){
 $('#frmRecoveryPass').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url   = form.attr('action'),
       email = $('input[name=email]',form).val(),
       obj = {
               'email'  : email
             }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                       try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else
                           RecoveryPass_ok(email);
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}


function RecoveryPass_ok(mail){
   var html = '';
   html += '<h2>New password sent</h2>';
   html += '<p>Check your email account. We have sent the new password to <strong>{email}</strong>.</p>';
   html = html.replace(/{email}/g,mail);

   PopUpActive.Close(); // Cierro popup  recovery-pass
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');",'slow',false,'.close',400);

   // Cargo en textbox mail
   $('.popup input[name=email]').val(mail);

}function LogIn(){
   var html = '';
   html += '<h2>Login</h2>';
  // html += '<p>Duis pulvinar quam nec diam dictum pulvinar. Etiam odio ante, itudin consesed adipisci. Nam in</p>';
   html += '<form action="/ax/login.html" method="post" id="frmLogIn">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Your email *</strong> <input type="text" name="email" value="" class="v_required v_mail" /></label></li>';
   html += '  <li><label><strong>Password *</strong> <input type="password" name="pass" value="" class="v_required" /></label></li>';
   html += ' </ol>';
   html += ' <div class="btns">';
   html += '   <span class="btn"><button type="submit">Enter</button></span>';
   html += '   <a href="javascript:RecoveryPass();">Forgot your password?</a>';
   html += ' </div>';
   html += ' </fieldset>';
   html += '</form>';
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');LogIn_ActiveForm();",'slow',false,'.close',400);
}


function LogIn_ActiveForm(){
 $('#frmLogIn').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form,false);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
   obj = {
            'email'  : $('input[name=email]' ,form).val(),
            'pass'   : $('input[name=pass]'  ,form).val()
         }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                       try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else
                           LogIn_ok();
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}

function LogIn_ok(){
  PopUpActive.Close();
}
var varsPopupAddVideo = new Array();
    varsPopupAddVideo['page']       = 1;
    varsPopupAddVideo['ytUser']     = '';
    varsPopupAddVideo['maxPerPage'] = 0;
    varsPopupAddVideo['totUploads'] = 0;
    varsPopupAddVideo['videos']     = new Array();


function AddVideos(user){
   user = (user!=undefined)?user:'';
   var html = '';
   html += '<h2>Add Your Video (Step 1 of 2)</h2>';
   html += '<p>Enter the YouTube username for the videos you wish to add.</p>';
   html += '<form action="/ax/add-videos-step-1.html" method="post" id="frmAddVideos1">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>YouTube User *</strong> <input type="text" name="ytUser" value="'+user+'" class="v_required" /></label></li>';
   html += ' </ol>';
   html += ' <div class="btns">';
   html += '   <span class="btn"><button type="submit">Next</button></span>';
   html += ' </div>';
   html += ' </fieldset>';
   html += '</form>';
   var popUp = new PopUp(html,"PopUpActive.AddClass('small');AddVideos_ActiveForm()",'slow',false,'.close',400);
}


function AddVideos_ActiveForm(){
 $('#frmAddVideos1').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
       obj = {
                'ytUser' : $('input[name=ytUser]' ,form).val()
             };
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else{
                           // Oculto mensaje loading
                           HideButtonLoading(form);
                           if(page==1){
                             varsPopupAddVideo['page']       = 1;
                             varsPopupAddVideo['ytUser']     = '';
                             varsPopupAddVideo['maxPerPage'] = 0;
                             varsPopupAddVideo['totUploads'] = 0;
                             varsPopupAddVideo['videos']     = new Array();;
                           }
                           varsPopupAddVideo['page']         = page;
                           varsPopupAddVideo['ytUser']       = obj.ytUser;
                           varsPopupAddVideo['maxPerPage']   = maxPerPage;
                           varsPopupAddVideo['totUploads']   = totUploads;
                           varsPopupAddVideo['videos'][page] = videos;
                           AddVideosStep2();
                         }
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });

  if($('#frmAddVideos1 input[name=ytUser]').val()!=''){
   $('#frmAddVideos1').trigger('submit');
  }
}



//  Listo videos
function AddVideosStep2(){
  var html = '';
      html += "<h2>Add Your Video (Step 2 of 2)</h2>";
      html += "<p>Select the videos you wish to add.</p>";
      html += "<form action='/ax/add-videos-step-2.html' method='post' id='frmAddVideos2'>";
      html += "<fieldset>";
      html += "  <ul class='popup-list'>";
      html += "   <li></li>";
      html += "  </ul>";
      html += "  <p class='pager'><strong>1</strong> / 25</p>";
      html += "  <p class='detail'>";
  //  html += "    <span class='selected'>Videos seleccionados: <strong>0</strong></span>";
      html += "    <span class='total'>Total videos: <strong>0</strong></span>";
      html += "  </p>";
      html += ' <div class="btns">';
      html += '   <span class="btn"><button type="submit">Add</button></span>';
      html += ' </div>';
      html += "</fieldset>";
      html += "</form>";
  PopUpActive.Close();
  var popUp = new PopUp(html,'ShowListVideos();AddVideos2_ActiveForm();','slow',false,'.close',526);
}

function AddVideos2_ActiveForm(){
 $('#frmAddVideos2').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form);
   if(!frmVal.Validate())
     return false;

   // Si no esta logueado voy al paso para crear la cuenta
   if(SessionUser==null){
      AddVideosStep3(GetCodesVideosSelected());
      return false;
   }

   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
       obj = { 'codes' : GetCodesVideosSelected() };
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                       try{
                         if(0<err_count){
                           ResuelveRespuesta(form,err_count,msjs);
                         }else{
                           AddVideos_ok();
                         }
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}



// Crear cuenta
function AddVideosStep3(codes){
  PopUpActive.Close();
  var html = '';
  html += '<h2>Create account</h2>';
  html += '<p>Create your account in order to ulpoad your video</p>';
  html += '<form action="/ax/add-videos-step-3.html" method="post" id="frmAddVideosStep3">';
  html += ' <fieldset>';
  html += ' <input type="hidden" name="codes" value="'+codes+'" />';
  html += ' <ol>';
  html += '  <li><label><strong>Your email *</strong> <input type="text" name="email" value="" class="v_required v_mail" /></label></li>';
  html += '  <li><label><strong>Nick *</strong> <input type="text" name="nick" value="" class="v_required" /></label></li>';
  html += '  <li><label><strong>Password *</strong> <input type="password" name="pass" value="" class="v_required" /></label></li>';
  html += '  <li><label><strong>Confirm password *</strong> <input type="password" name="rePass" value="" class="v_required" /></label></li>';
  html += ' </ol>';
  html += ' <div class="btns">';
  html += '   <span class="btn"><button type="submit">Create account</button></span>';
 // html += '   <a href="javascript:PopUpActive.Close();LogIn();">Login to your account</a>';
  html += ' </div>';
  html += ' </fieldset>';
  html += '</form>';
  var popUp = new PopUp(html,"PopUpActive.AddClass('small');AddVideosStep3_ActiveForm();",'slow',false,'.close',400);
}

// Crearcuenta activar form
function AddVideosStep3_ActiveForm(){
 $('#frmAddVideosStep3').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
       obj = {
                'email'  : $('input[name=email]' ,form).val(),
                'nick'   : $('input[name=nick]'  ,form).val(),
                'pass'   : $('input[name=pass]'  ,form).val(),
                'rePass' : $('input[name=rePass]',form).val(),
                'codes'  : $('input[name=codes]' ,form).val()
             }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else
                           AddVideos_ok();
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}


function AddVideos_ok(){
   var html = '';
   html += '<h2>Added videos</h2>';
   html += '<p>Your videos has been added to iseeng.com! <span class="btn btnClose"><a href="javascript:;" onclick="PopUpActive.Close();">Close</a></span></p>';
   PopUpActive.Close();
   var popUp = new PopUp(html,"if(isAdmin)$('.popup .close,.popup .btnClose').click(RefreshPage);PopUpActive.AddClass('small');",'slow',false,'.close',400);
}


function ShowListVideos(){
  var html = '',
      img  = '';
  var ul = $('#frmAddVideos2 ul.popup-list');
      ul.addClass('loading');
      ul.html('');
  // Recupero la pagina seteada actualmente
  var currentPage = varsPopupAddVideo['page'];
  // Recupero los videos para la pagina que se debe mostrar
  var videos = varsPopupAddVideo['videos'][currentPage];
  // Creo los li's
  for(var code in videos){
     img = '<span class="img"><span class="mask no-play"></span><img src="http://i2.ytimg.com/vi/'+code+'/default.jpg" alt="img" width="50" ></span>';
     if(videos[code].enabled==0) // video bloqueados por iseeng
       html += '<li class="disabled"><label><input type="checkbox" disabled="disabled" checked="checked" class="checkbox" value="'+code+'" /> '+img+videos[code].title+' <em>(Video rejected by iSeeng.com)</em></label></li>';
     else if(videos[code].added==1) // video que ya estan agregados
       html += '<li class="disabled"><label><input type="checkbox" disabled="disabled" checked="checked" class="checkbox" value="'+code+'" /> '+img+videos[code].title+' <em>(This video is already added)</em></label></li>';
     else if(videos[code].state!='') // video tiene alguna restriccion
       html += '<li class="disabled restricted"><label><input type="checkbox" disabled="disabled"  class="checkbox" value="'+code+'" /> '+img+videos[code].title+' <em>(This video is restricted in some way and cannot be added). <a href="javascript:AddVideosStatus();">Read more</a>.</em></label></li>';
     else if(videos[code].selected==1) // video que ya estan seleccionados
       html += '<li class="enabled"><label class="selected"><input type="checkbox" class="checkbox" checked="checked" value="'+code+'" /> '+img+videos[code].title+'</label></li>';
     else
       html += '<li class="enabled"><label><input type="checkbox" class="checkbox" value="'+code+'" /> '+img+videos[code].title+'</label></li>';
  }
  // Caculo paginado
  var totUploads = varsPopupAddVideo['totUploads'];
  var maxPerPage = varsPopupAddVideo['maxPerPage'];
  var totPage    = Math.ceil(totUploads/maxPerPage);

  // Mustro detalle
  $('p.detail span.total strong').html(totUploads);
  $('p.pager').html(currentPage+' / '+totPage);

  // Agrego link pagina anterior
  if(1<currentPage)
    html = "<li class='page'><a href='javascript:ChangePage(-1)'>Previous page</a></li>"+html;
  // Pagina siguiente
  if(currentPage<totPage)
    html += "<li class='page'><a href='javascript:ChangePage(1)'>Next page</a></li>";
  // quito fondo con cargador
  ul.removeClass('loading');
  // Cargo li's en el ul
  ul.html(html);
  // Mando al principio
  ul.scrollTop(0);
  // Activo la seleccion de video
  $('li.enabled',ul).click(function(){
    var input = $('input',this);
    var code  = input.val();
    if(!input.attr('disabled')){
      if(input.attr('checked')){
         videos[code].selected=1;
      }else{
         videos[code].selected=0;
      }
    }
  });
  // Resaltar videeos seleccionados
 // SelectHighlightList();
}

function ChangePage(op){
  // Pagina actual
  var currentPage = varsPopupAddVideo['page'];
  var page = currentPage+op;

  if(varsPopupAddVideo['videos'][page]!=undefined){
    varsPopupAddVideo['page'] = page;
    ShowListVideos();
  }else{
    $('#frmAddVideos2 ul').addClass('loading');
    $('#frmAddVideos2 li').fadeTo('slow',0.2);
    AddVideosLoadVideos(page);
  }
}

function AddVideosLoadVideos(page){
      var ytUser = varsPopupAddVideo['ytUser'];
      var form = $('form#frmAddVideos1'); // la url es la del otro form(paso1)
      var url = '/ax/add-videos-step-1.html';
      $('form#frmAddVideos2 ul').addClass('loading');
      $.ajax({
         'url': url+'?'+Math.random(),
         'data': {'ytUser':ytUser,'page':page},
         'dataType': 'script',
         'type': 'POST',
         'success': function(data){
                      // data trae dos variable err_count y msj
                      if(err_count){
                        ResuelveRespuesta(form,err_count,msjs);
                      }else{
                        varsPopupAddVideo['page']         = page;
                        varsPopupAddVideo['maxPerPage']   = maxPerPage;
                        varsPopupAddVideo['totUploads']   = totUploads;
                        varsPopupAddVideo['videos'][page] = videos;
                        ShowListVideos();
                      }
                    }
      });
}


//  Listo videos
function AddVideosStatus(){
  var html = "<h2>Restricted Video</h2>        <p>Some YouTube videos may not meet certain conditions that allow us to incorporate them into our database. Some of these technical reasons may be:</p>    	<ul>    	<li>The video is not available for some regions.</li>    	<li>The video is not and will not be available to play outside of the YouTube website or within certain devices.</li>    	<li>The video owner has restricted access to the video.</li>    	<li>The video commits a copyright infringement.</li>    	<li>The video contains inappropriate content.</li>    	<li>The video is a duplicate of another uploaded video.</li>    	<li>The video commits a terms of use violate.</li>    	<li>The account associated with the video has been suspended.</li>    	<li>The video exceeds the maximum duration of 10 minutes.</li>    	<li>The video has been blocked by the content owner.</li>    	<li>The uploaded video is in an invalid file format.</li>    	<li>The video uses an unsupported codec.</li>    	<li>The uploaded file is empty.</li>    	<li>The uploaded file is too small.</li>    	</ul>    	<p>Some of these problems may be corrected by the user from within the YouTube account. Please verify or select a different video to add to iSeeng.</p>    	<p>Thank you and sorry for the inconveniences!</p>";
  var popUp = new PopUp(html,'','slow',false,'.close',526);
}

// obtiene todos los codigos de los video que fueron seleccionados, separados por ':'
function GetCodesVideosSelected(){
   var codes = '';
   videos = varsPopupAddVideo['videos'];
   for(var i=1;i<videos.length;i++)
     for(var code in videos[i]){
       if(videos[i][code].selected==1)
          codes += code+':';
     }
   return codes;
}﻿var varsPopupViewUserVideos = new Array();
    varsPopupViewUserVideos['page']       = 1;
    varsPopupViewUserVideos['idUsuario']  = 0;
    varsPopupViewUserVideos['maxPerPage'] = 0;
    varsPopupViewUserVideos['totUploads'] = 0;
    varsPopupViewUserVideos['videos']     = new Array();

function ResetVarsPopupViewUserVideos(idUsuario){
  varsPopupViewUserVideos['page']       = 1;
  varsPopupViewUserVideos['idUsuario']  = idUsuario;
  varsPopupViewUserVideos['maxPerPage'] = 0;
  varsPopupViewUserVideos['totUploads'] = 0;
  varsPopupViewUserVideos['videos']     = new Array();
}

function ViewUserVideos(idUsuario,name){
  // Reset variables
  ResetVarsPopupViewUserVideos(idUsuario);
  var html = '';
      html += "<h2>{nick}´s videos</h2>";
     // html += "<p>Videos de -Duis pulvinar quam nec diam dictum pulvinar. Etiam odio ante, itudin consesed adipisci. Nam in</p>";
      html += "<form action='/ax/get-videos-by-id-usuario.html' method='post' id='frmViewVideosUser'>";
      html += "<fieldset>";
      html += "  <ul class='popup-list loading'>";
      html += "   <li></li>";
      html += "  </ul>";
      html += "  <p class='pager'><strong>-</strong> / -</p>";
      html += "  <p class='detail'>";
      html += "    <span class='total'>Total videos: <strong>-</strong></span>";
      html += "  </p>";
  //  html += ' <div class="btns">';
  //  html += '   <span class="btn"><button type="submit">Next</button></span>';
  //  html += ' </div>';
      html += "</fieldset>";
      html += "</form";
      html = html.replace(/{nick}/g,name);

  var popUp = new PopUp(html,'GetVideosByIdUsuario();','slow',false,'.close',526);
}

function GetVideosByIdUsuario(idUsuario,page){
   var form = $('#frmViewVideosUser');
   var idUsuario = varsPopupViewUserVideos['idUsuario'];
   var page      = varsPopupViewUserVideos['page'];
   var ul = $('ul.popup-list',form);
   ul.addClass('loading');
   $.ajax({
         'url'     : form.attr('action')+'?'+Math.random(),
         'data'    : {'idUsuario':idUsuario,'page':page},
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         // Oculto mensaje loading
                         ul.removeClass('loading');
                         if(totUploads==0){
                           UserEmptyListVideos();
                         }else{
                           varsPopupViewUserVideos['page']         = page;
                           varsPopupViewUserVideos['maxPerPage']   = maxPerPage;
                           varsPopupViewUserVideos['totUploads']   = totUploads;
                           varsPopupViewUserVideos['videos'][page] = videos;
                           ShowVideosByUser();
                         }
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
}

function ShowVideosByUser(){
  var html = '',
      img  = '';
  var ul = $('#frmViewVideosUser ul.popup-list');
      ul.html('');
  // Recupero la pagina seteada actualmente
  var currentPage = varsPopupViewUserVideos['page'];
  // Recupero los videos para la pagina que se debe mostrar
  var videos = varsPopupViewUserVideos['videos'][currentPage];
  // Creo los li's
  for(var code in videos){
     img = '<span class="img"><span class="mask"></span><img src="'+videos[code].imgSrc+'" alt="img" width="50" ></span>';
     html += '<li><label><a href="javascript:PopUpActive.Close();LoadVideoById('+videos[code].idVideo+');">'+img+videos[code].title+'</a>';
     html += '<em class="date">Added: '+videos[code].added+'</em>';
     html += '</label></li>';
  }
  // Caculo paginado
  var totUploads = varsPopupViewUserVideos['totUploads'];
  var maxPerPage = varsPopupViewUserVideos['maxPerPage'];
  var totPage    = Math.ceil(totUploads/maxPerPage);

  // Mustro detalle
  $('p.detail span.total strong').html(totUploads);
  $('p.pager').html(currentPage+' / '+totPage);

  // Agrego link pagina anterior
  if(1<currentPage)
    html = "<li class='page'><a href='javascript:ChangePageViewUser(-1)'>Previous page</a></li>"+html;
  // Pagina siguiente
  if(currentPage<totPage)
    html += "<li class='page'><a href='javascript:ChangePageViewUser(1)'>Next page</a></li>";
  // quito fondo con cargador
  ul.removeClass('loading');
  // Cargo li's en el ul
  ul.html(html);
  // Mando al principio
  ul.scrollTop(0);
  // Activo la seleccion de video
  $('li.enabled',ul).click(function(){ });
  // Resaltar videeos seleccionados
 // SelectHighlightList();
}



function ChangePageViewUser(op){
  // Pagina actual
  var currentPage = varsPopupViewUserVideos['page'];
  var page = currentPage+op;
  varsPopupViewUserVideos['page'] = page;

  if(varsPopupViewUserVideos['videos'][page]!=undefined){
    ShowVideosByUser();
  }else{
    $('#frmViewVideosUser ul li').fadeTo('slow',0.2);
    GetVideosByIdUsuario();
  }
}

function UserEmptyListVideos(){
  var html = '';
      html += "<h2>Videos not found</h2>";
      html += "<p>The user has not added videos in iSeeng.com</p>";
      html = html.replace(/{nick}/g,name);
      PopUpActive.Close();
      var popUp = new PopUp(html,'PopUpActive.AddClass("small");','slow',false,'.close',400);
}


function ViewTopVideos(){
  var html = '';
      html += "<h2>Top Videos</h2>";
      html += "<form action='/ax/get-top-videos.html' method='post' id='frmViewTopVideos'>";
      html += "<fieldset>";
      html += "  <ul class='popup-list loading'>";
      html += "   <li></li>";
      html += "  </ul>";
      html += "</fieldset>";
      html += "</form";
  var popUp = new PopUp(html,'GetTopVideos();','slow',false,'.close',526);
}

function GetTopVideos(){
   var form = $('#frmViewTopVideos');
   var ul = $('ul.popup-list',form);
   ul.addClass('loading');
   $.ajax({
         'url'     : form.attr('action')+'?'+Math.random(),
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         // Oculto mensaje loading
                         ul.removeClass('loading');
                         ShowTopVideos(videos);
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
}

function ShowTopVideos(videos){
  var html = '',
      img  = '';
  var ul = $('#frmViewTopVideos ul.popup-list');
      ul.html('');
  var i=1;
  // Creo los li's
  for(var code in videos){
     img = '<span class="img"><span class="mask"><span class="ord"></span></span><img src="'+videos[code].imgSrc+'" alt="img" width="50" ></span>';
     html += '<li class="top'+(i++)+'"><label><a href="javascript:PopUpActive.Close();LoadVideoById('+videos[code].idVideo+');">'+img+videos[code].title+'</a>';
     html += '<em class="date">Added: '+videos[code].added+'</em>';
     html += '</label></li>';
  }

  // quito fondo con cargador
  ul.removeClass('loading');
  // Cargo li's en el ul
  ul.html(html);
  // Mando al principio
  ul.scrollTop(0);
}


function PopupTellFriends(service){
   var html = HtmlTellFriends(1,service);
   var popUp = new PopUp(html,'','slow',false,'.close',520);
}

var tellFriendService;

// Carga el html correspondinte al pop tellfriends agregandole que servicio se solicito
function HtmlTellFriends(step,service){
  var NAME,ID,html='';

  // Verifico en que paso esto para cargar la variable con el html que corresponde
  switch(step){
      case 1:
          tellFriendService = service;
          TrackerPasoAPaso('/tell-friends/paso1');
          html = _htmlTellFriends[1];
          break;
      case 2:
          TrackerPasoAPaso('/tell-friends/paso2');
          html = _htmlTellFriends[2];
          break;
      case 3:
          TrackerPasoAPaso('/tell-friends/paso3');
          html = _htmlTellFriends[3];
          break;
      case 4:
          TrackerPasoAPaso('/tell-friends/paso4?'+tellFriendService);
          html = _htmlTellFriends[4];
          break;
  }

  // Seleciono el servicio que corresponde
  switch(service){ 
      case 'facebook':
          NAME = 'Facebook';
          ID   = 'facebook';
          break;
      case 'myspace':
          NAME = 'MySpace';
          ID   = 'myspace';
          break;
      case 'hotmail':
          NAME = 'Live/Hotmail';
          ID   = 'hotmail';
          break;
      case 'gmail':
          NAME = 'Google';
          ID   = 'gmail';
          break;
      case 'hi5':
          NAME = 'Hi5';
          ID   = 'hi5';
          break;
      case 'yahoo':
          NAME = 'Yahoo';
          ID   = 'yahoo';
          break;
      default:
          if(step==1)   return false;
          break;

  }
  // Agrego al html el nombre del servicio seleccionado
  html = html.replace(/{serviceName}/g, NAME);
  html = html.replace(/{idService}/, ID);
  return html;
}


function FormTellFriends(){
   $('#tellFriendsForm').submit(function(){
      var form = $(this);
      var emailField = $('input#loginEmail',this);
      var passField  = $('input#loginPass' ,this);
      var idService  = $('input#idService' ,this).val();
      var url = $(this).attr('action');
      HideMsj(form);
      ShowButtonLoading(form);
      $.ajax({
         'url': url +'?'+Math.random(),
         'data': {'email': emailField.val(),'pass':passField.val(),'idService':idService},
         'dataType': 'script',
         'type': 'POST',
         'success': function(data) {
                  		// data trae dos variable err_count y msj + friends = array()
   	               	if(err_count){
	                     	ResuelveRespuesta(form,err_count,msjs);
                  		}else{
                  		   PopUpActive.Close();
	   							var popUp = new PopUp(HtmlTellFriends(2,idService),"InitTellFriendStep2(friends,'"+idService+"');",'slow',false,'.close',520);
                  		}
         				}
      });
      return false; // evita submit
   });
}

// Carga los contactios recuperados en el ol
function InitTellFriendStep2(friends,idService){
    FormTellFriends02(idService);
    var ol = $('ol#friendSelect');
    ol.html('');
    var li = '';
    for(var email in friends){
       li = '<li><label><input type="checkbox" class="checkbox" value="'+email+'" /> '+friends[email]+'</label></li>';
       ol.append(li);
    }
    //SelectHighlightList();
}

function FormTellFriends02(idService){
   $('#selectFriendsForm').submit(function(){
      var form = $(this);
      var selectedContacts = ValuesSelectedCheckBox(form);
      if(selectedContacts==''){
        ShowMsj(form,'Please select at least one contact.');
      }else{
        ShowButtonLoading(form);
        HideMsj(form);
        var url = $(this).attr('action');
        $.ajax({
          'url': url +'?'+Math.random(),
          'data': {'selectedContacts': selectedContacts },
          'dataType': 'script',
          'type': 'POST',
          'success': function(data){
                  // data trae dos variable err_count y msj
                  if(err_count){
                     ResuelveRespuesta(form,err_count,msjs);
                  }else{
                  	PopUpActive.Close();
                     var popUp = new PopUp(HtmlTellFriends(3,idService),'InitTellFriendStep3();','slow',false,'.close',520);
                  }
          }
        });
      }
      return false; // evita submit
   });
}

// Conctatena los id de los contactos seleccionados en un string separadospor -
function ValuesSelectedCheckBox(form){
  var str = '';
  // Recoro todos los chechbox para ver cuales estan marcados
  $('input[type=checkbox]',form).each(function(){
     var input = $(this);
     if(input.attr('checked')){
       if(str=='')
         str = input.val();
       else
         str += '-'+input.val();
     }
  });
  return str;
}


function SelectAll(){
  $('#friendSelect input').attr('checked','checked');
  $('#friendSelect label').addClass('selected');
}
function DeselectAll(){
  $('#friendSelect input').removeAttr('checked');
  $('#friendSelect label').removeClass('selected');
}



// Carga los contactios recuperados en el ol
function InitTellFriendStep3(){
    FormTellFriends03();
}

function FormTellFriends03(){
   $('#personalMessageForm').submit(function(){
      var form = $(this);
      ShowButtonLoading(form);
      var message = $('textarea#message',form).val();
      var url = $(this).attr('action');
      $.ajax({
         'url': url +'?'+Math.random(),
         'data': {'message': message },
         'dataType': 'script',
         'type': 'POST',
         'success': function(data) {
                  // data trae dos variable err_count y msj
                  if(err_count){
                     ResuelveRespuesta(form,err_count,msjs);
                  }else{
                  	PopUpActive.Close();
                     var popUp = new PopUp(HtmlTellFriends(4),'PopUpActive.AddClass("small");','slow',true,'.close',400)
                  }
          }
      });
      return false; // evita submit
   });
}




var _htmlTellFriends = new Array();

// Pantalla 1
_htmlTellFriends[1] = '<h2>Tell Friends From {serviceName} (Step 1 of 3)</h2>';
_htmlTellFriends[1]+= '<p>Enter your email and password to your {serviceName} account.</p>';
_htmlTellFriends[1]+= '<p><strong>Note: This is used with the sole purpose of retreiving your contacts. We do not store, distribute or publish this information in any way.</strong></p>';
_htmlTellFriends[1]+= '<form id="tellFriendsForm" action="/ax/tell-friends/step-01.html" method="post">';
_htmlTellFriends[1]+= '<fieldset>';
_htmlTellFriends[1]+= '<ol>';
_htmlTellFriends[1]+= '<li><label for="loginEmail"><strong>Your email</strong> <input class="text" id="loginEmail" name="email" type="text" value="" /></label></li>';
_htmlTellFriends[1]+= '<li><label for="loginPass"><strong>Your {serviceName} Password</strong> <input class="text" id="loginPass" name="pass" type="password" value="" /></label>';
_htmlTellFriends[1]+= '<input name="service" id="idService" type="hidden" class="hidden" value="{idService}" />';
_htmlTellFriends[1]+= '</li>';
_htmlTellFriends[1]+= '</ol>';
_htmlTellFriends[1]+= '<div class="btns">';
_htmlTellFriends[1]+= '  <span class="btn"><button type="submit">Next</button></span>';
_htmlTellFriends[1]+= '  <a class="close">Cancel</a>';
_htmlTellFriends[1]+= '</div>';
_htmlTellFriends[1]+= '</fieldset>';
_htmlTellFriends[1]+= '</form>';
_htmlTellFriends[1]+= '<script type="text/javascript">FormTellFriends();</script>';

// Pantalla 2
_htmlTellFriends[2] = '<h2>Tell Friends From {serviceName} (Step 2 of 3)</h2>';
_htmlTellFriends[2]+= '<p>Select the friends you wish to contact. <span id="selector"><a href="javascript:;" onclick="SelectAll();return false;" title="Select all contacts.">All</a> | <a href="javascript:;" onclick="DeselectAll();return false;" title="Deselect all contacts.">None</a></span></p>';
_htmlTellFriends[2]+= '<form id="selectFriendsForm" action="/ax/tell-friends/step-02.html" method="post">';
_htmlTellFriends[2]+= '<fieldset>';
_htmlTellFriends[2]+= '<ol class="popup-list" id="friendSelect">';
_htmlTellFriends[2]+= '</ol>';
_htmlTellFriends[2]+= '<div class="btns"><span class="btn"><button type="submit">Next</button></span><a class="close">Cancel</a></div>';
_htmlTellFriends[2]+= '</fieldset>';
_htmlTellFriends[2]+= '</form>';

// Pantalla 3
_htmlTellFriends[3] = '<h2>Tell Friends From {serviceName} (3 of 3)</h2>';
_htmlTellFriends[3]+= '<p>Add a personal message… Tell them why they should participate!</p>';
_htmlTellFriends[3]+= '<form id="personalMessageForm" action="/ax/tell-friends/step-03.html" method="post">';
_htmlTellFriends[3]+= '<fieldset>';
_htmlTellFriends[3]+= '<ol>';
_htmlTellFriends[3]+= ' <li><label for="message"><strong>Your Message</strong><textarea id="message" name="message" rows="3"></textarea></label></li>';
_htmlTellFriends[3]+= '</ol>';
_htmlTellFriends[3]+= '<div class="btns"><span class="btn"><button type="submit">Next</button></span><a class="close">Cancel</a></div>';
_htmlTellFriends[3]+= '</fieldset>';
_htmlTellFriends[3]+= '</form>';


_htmlTellFriends[4] = '<h2>Thanks! Your message has been sent.</h2>';
_htmlTellFriends[4]+= '<p>Your friends can now become part of the <strong>iSeeng</strong> community!</p>';
//_htmlTellFriends[4]+= '<div class="btns"><span class="btn"><button type="button" onclick="javascript:popupClose()" id="okButton">Ok</button></span></div>';


































/*

function LogIn_ActiveForm(){
 $('#frmLogIn').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form,false);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
   obj = {
            'email'  : $('input[name=email]' ,form).val(),
            'pass'   : $('input[name=pass]'  ,form).val()
         }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                       try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else
                           LogIn_ok();
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}

function LogIn_ok(){
  PopUpActive.Close();
}*/
function AdminForm(_form){

  var _dflText  = 'No data';
  var _btn      = $('h3 span',_form);
  var _disabled = true;
  var _htmlBkp  = '';
  var self = this;

  var _disabledEnabled = function(){
                           if(_disabled)
                             $('input,button',_form).attr('disabled','disabled');
                           else{
                             $('input,button',_form).removeAttr('disabled');
                             $('li.chgPass input[type=password]',_form).attr('disabled','disabled');
                           }
                           _chgButtonEdit();
                         }

  var _defaultText = function(){
                        $('em.label',_form).each(function(){
                          var field = $(this);
                          if(field.html()==''||field.html()=='00.00.00'){
                            field.html(_dflText);
                            field.parents('li').addClass('empty');
                          }
                        })
                     }
   var _chgButtonEdit = function(){
                          var text,title;
                          if(_disabled){
                              text  = '';
                              title = 'Edit information';
                          }else{
                              text  = 'Cancel';
                              title = text;
                          }
                          _btn.html(text).attr('title',title);
                        }


  /*  Change Password */
  var _chgPassDiv,_chgPassBtn ;
  var _enabledDisabelChgPass = function(enabled){
                                    if(enabled){
                                      $('input[type=password]',_chgPassDiv).val('').removeAttr('disabled').addClass('v_required').css({'background':'#fff'});;
                                    }else{
                                      $('input[type=password]',_chgPassDiv).val('').attr('disabled','disabled').removeClass('v_required').css({'background':'#f0f0f0'});
                                      $('strong.err',_chgPassDiv).remove();
                                      $('.err',_chgPassDiv).removeClass('err');
                                    }
                               }

  var _initChgPass = function(){
                       _chgPassDiv = $('.chgPass',_form);
                       _chgPassBtn = $('input[type=checkbox]',_chgPassDiv);
                       _enabledDisabelChgPass(false);
                       _chgPassBtn.removeAttr('checked'); 
                       _chgPassBtn.click(function(){_enabledDisabelChgPass($(this).attr('checked'));});
                     }



  // Deshabilito form
  _disabledEnabled();
  _defaultText();

  // Activa y desactiva el form
  this.Toggle = function(save){
                  if(_disabled){
                    _htmlBkp = $('form',_form).html();
                    _initChgPass();
                    _disabled = false;
                    _form.removeClass('disabled');
                  }else{
                    if(save==undefined){
                      $('form',_form).html(_htmlBkp);
                      RefreshImg($('img#userAvatar'));
                    }
                    _disabled = true;
                    _form.addClass('disabled');
                  }
                  _disabledEnabled();
                }

   var _FixDate = function(date){
                     var p=date.split('-');
                     var dateF = p[2]+'/'+p[1]+'/'+p[0];
                     return dateF;
                  }

   this.Save = function(objSent){
                  $('li',_form).each(function(){
                     var emLabel = $('em.label',this);
                     var field   = $('input',this);
                     var value   = field.val();
                     if(value==undefined){
                       field = $('select',this);
                       value   = field.val();
                     }

                     if(value!=''&&field.attr('name')=='birthDate')
                       value = _FixDate(value);
                     if(value==''){
                       value=_dflText;
                       if(!$(this).hasClass('img'))
                         $(this).addClass('empty');
                     }else{
                       $(this).removeClass('empty');
                     }
                     $(this).removeClass('err')
                     $('.err',this).remove();
                     emLabel.text(value);

                  });
                  // Modifico porcentaje datos completos
                  if(_form.attr('id')=='Admin_PersonalData'){
                    // Actualizo nick
                    UpdateLoginNick(objSent.nick);
                    // Actualizo porcentaje info completa
                    var totField      = $('li',_form).length-1;
                    var totEmptyField = $('li.empty',_form).length;
                    InitPorcentaje( parseInt(100*((totField-totEmptyField)/totField) ));
                    // Cambio imagen que se muestra en form disabled
                    ShowImgSelected(objSent.useAvatar);
                  }
                  // Cierro o abro from
                  this.Toggle(true);
               }

  //  Accion en el lapiz
  _btn.click(function(){self.Toggle()});
}

function ShowImgSelected(useAvatar)
{
  $('li.img label.selected').removeClass('selected');
  if(useAvatar==1) $('li.img label.avatar').addClass('selected');
  else             $('li.img label.local').addClass('selected');
  // Actualizo la imagen de login
  RefreshImg($('#divLogin img'),$('label.selected img').attr('src'));
}

function UploadFile(){
	var button = $('a#btnChgImagen');
    var divCont = $('li.img .btns');
	$.ajax_upload(button,{
		action: '/my-account/change-image.html',
		name: 'image',
        data: {},
        onSubmit: function(file, extension) {
                    if (! (extension && /^(jpg|jpeg|JPEG|jpg)$/.test(extension))){
                       alert('File type not allowed. (*.jpg)');
                       return false;
                    }
                    divCont.addClass('sending');
                  },
        onComplete: function(file, response) {divCont.removeClass('sending');UpdateImgsShowed(); }
	});
}




function UpdateLoginNick(nick)
{
  $('#divLogin span.nick').html(nick);
}

function UpdateImgsShowed()
{
  RefreshImg($('img#userAvatar'));
  RefreshImg($('#divLogin img'));
}

function RefreshImg(img,imgSrc)
{
  if(imgSrc==undefined)
    var imgSrc = img.attr('src');
  img.removeAttr('src');
  img.attr('src',imgSrc+'?r='+Math.random());
}


$(document).ready(function()
{
  $('#btnReSendMailActivation').click(ReSendMailActivation);
  $('.block.adminVideoList li.video .actions .edit').click(GetDataVideo);
  $('.block.adminVideoList li.video .actions .disabled').click(DisableVideo);
  $('.block.adminVideoList li.video .actions .restaure').click(RestaureVideo);
  $('.block.adminVideoList li.video .actions .remove').click(RemoveVideo);
});

var EditVideo;
function GetDataVideo()
{
  var idVideo = parseInt($(this).html());
   $.ajax({
         'url'     : '/my-account/get-video.html?'+Math.random(),
         'data'    : {'idVideo':idVideo},
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         EditVideo = video;
                         EditVideo_ShowForm();
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
}

function EditVideo_ShowForm()
{
   var html = '';
   html += '<h2>Edit video</h2>';
   html += '<form action="/my-account/save-video-data.html" method="post" id="frmEditVideo">';
   html += ' <fieldset>';
   html += '  <div class="videoData">';
   html += '    <span class="img"><span class="mask"></span><img src="'+EditVideo.imgSrc+'" alt="img" width="50" ></span>';
   html += '    <h3>'+EditVideo.ytTitle+'</h3>';
// html += '    <em class="date">Added: '+EditVideo.added+'</em>';
   html += '  </div';
   html += ' <ol>';
   html += '  <li><label><strong>Title of this song *</strong> <input type="text" name="title" value="'+EditVideo.title+'" class="v_required" /></label></li>';
   html += '  <li><label><strong>Category *</strong> <select name="idCateg" class="v_required"><option value="0">- - -</option><option value="1">Cover</option><option value="2">Karaoke</option><option value="3">Original song</option></select></select></label></li>';
   html += '  <li><label><strong>Style *</strong> <select name="idStyle" class="v_required"><option value="0">- - -</option><option value="1">Alternative Rock</option><option value="2">Blues</option><option value="3">Chilled</option><option value="5">Country &amp; Folk</option><option value="7">Dance and Electronica</option><option value="6">Freestyle</option><option value="8">Funk &amp; Soul</option><option value="9">Hard Rock &amp; Metal</option><option value="10">Jazz</option><option value="11">Latin</option><option value="4">Opera and Classical</option><option value="16">Other</option><option value="13">Pop</option><option value="12">Rap &amp; Hip Hop</option><option value="14">Reggae</option><option value="15">Rock</option></select></label></li>';
   html += '  <li><label><strong>Language *</strong> <select name="lang" class="v_required"><option value="0">- - -</option><option value="es">Espa&ntilde;ol</option><option value="en">English</option></select></label></li>';
//   html += '  <li><label><strong>Interpreter</strong> <select name="interpret"></select></label></li>';
   html += ' </ol>';
   html += ' <div class="btns">';
   html += ' <input type="hidden" class="hidden" name="idVideo" value="'+EditVideo.idVideo+'" />';
   html += '   <span class="btn"><button type="submit">Save changes</button></span>';
   html += ' </div>';
   html += ' </fieldset>';
   html += ' <div class="round">';
   html += '  <div class="content">';
   html += '    <p><em>The more complete information from your videos, the easier to find in iSeeng.</em></p>';
   html += '  </div>';
   html += ' </div>';
   html += '</form>';
   var popUp = new PopUp(html,"InitFormEditVideoDefaultValues();EditVideoData_ActiveForm();",'slow',false,'.close',526);
}





function InitFormEditVideoDefaultValues()
{
  // Categoria actual
  $('.popup select[name=idCateg] option[value='+EditVideo.idCateg+']').attr('selected','selected');
  // Estilo actual
  $('.popup select[name=idStyle] option[value='+EditVideo.idStyle+']').attr('selected','selected');
  // Lang actual
  $('.popup select[name=lang] option[value='+EditVideo.lang+']').attr('selected','selected');
}



// Activa form para enviar datos
function EditVideoData_ActiveForm()
{
 $('#frmEditVideo').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form,false);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
       obj = new Object();
   $('select,input,textarea',form).each(function(){
     var name = $(this).attr('name');
     var value = $(this).val();
     obj[name] = value;
   });
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else{
                           UpdateHtmlLiVideo(obj);
                           PopUpActive.Close();
                         }
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}

function UpdateHtmlLiVideo(video)
{
  var li = $('li#idVideo_'+video.idVideo);
  $('h4',li).html(video.title);
}


function RemoveVideo()
{
   var li = $(this).parents('li');
   var obj = {'idVideo':parseInt($(this).html())};
   // Envio datos
   $.ajax({
         'url'     : '/my-account/remove-video.html?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data){try{if(0==err_count){li.fadeOut('normal',function(){RemoveVideoFromList(li);});}}catch(err){}}
   });
}

function RestaureVideo()
{
   var li = $(this).parents('li');
   var obj = {'idVideo':parseInt($(this).html())};
   // Envio datos
   $.ajax({
         'url'     : '/my-account/restaure-video.html?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data){try{if(0==err_count){li.fadeOut('normal',function(){RemoveVideoFromList(li);UpdateTotEnabledVideos(1);});}}catch(err){}}
   });
}


function DisableVideo()
{
   var li = $(this).parents('li');
   // obtengo id del video
   var obj = {'idVideo':parseInt($(this).html())};
   // Envio datos
   $.ajax({
         'url'     : '/my-account/disable-video.html?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data){try{if(0==err_count){li.fadeOut('normal',function(){RemoveVideoFromList(li);UpdateTotEnabledVideos(-1);UpdateTotDisaabledVideos(1);});}}catch(err){}}
   });
}

function RemoveVideoFromList(li)
{
  var ol = li.parent();
  li.remove();
  if(ol.find('li').length==0)
    RefreshPage();
}
function UpdateTotEnabledVideos(num)
{
  // Restar numero videos disponibles
  var strongCount = $('.videosPart p strong');
  var tot = parseInt(strongCount.html());
  strongCount.html(tot+num);
}
function UpdateTotDisaabledVideos(num)
{
  // Incremento numero videos en papelera
  var strongCount = $('#totDisabled strong');
  var tot = parseInt(strongCount.html());
  strongCount.html(tot+num);
}


function ReSendMailActivation()
{
   var btn = $(this);
   var div = btn.parent().parent();

   ShowButtonLoading(div);
   // obtengo id del video
   var obj = {};
   // Envio datos
   $.ajax({
         'url'     : '/my-account/re-send-mail-active-account.html?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data){
                       try{
                         var text = 'An email with an account confirmation link has been sent to: <strong>{email}</strong>';
                         if(mail!=undefined)
                           text = text.replace(/{email}/,mail);
                         div.fadeOut('normal',function(){div.html('<p>'+text+'</p>').fadeIn('fast');});
                       }catch(err){
                         HideButtonLoading(div);
                       }
                     }
   });
}function InviteVote(idVideo){

  var li = $('#idVideo_'+idVideo);
  var title  = $('h4',li).html();
  var imgSrc = $('img',li).attr('src');

  var html = '';
  html += '<h2>Invite to vote for your video</h2>';
  html += '<p>Invite your friends to vote this video.</p>';
  html += '<form action="/my-account/invite-vote.html" method="post" id="frmInviteVote">';
  html += ' <fieldset>';
  html += '  <div class="videoData">';
  html += '    <span class="img"><span class="mask"></span><img src="'+imgSrc+'" alt="img" width="50" ></span>';
  html += '    <h3>'+title+'</h3>';
  html += '  </div';
  html += ' <ol>';
  html += '  <li class="addMore"><a href="javascript:;" id="btnAddNewField">Add another otro</a> <label><strong>Your friend´s email *</strong> <input type="text" name="email" value="" class="v_required v_mail" /></label></li>';
  html += ' </ol>';
  html += ' <div class="btns">';
  html += '   <span class="btn"><button type="submit">Send</button></span>';
  html += ' </div>';
  html += ' <input type="hidden" class="hidden" name="idVideo" value="'+idVideo+'" />';
  html += ' </fieldset>';
  html += '</form>';
  var popUp = new PopUp(html,"InviteVote_ActiveForm();",'slow',false,'.close',526);
}

var totFieldAdded=0;
function AddMailField(li,email)
{

  if(13<=totFieldAdded)
  {
    $('#btnAddNewField').hide();
  }
  else
  {
    totFieldAdded++;
    var newLi=$('<li><label><a href="javascript:;" class="quitar">Remove</a> <input type="text" name="email" value="'+email+'" class="v_required v_mail" /></label></li>');
    $('a',newLi).click(RemoveMailField);
    li.before(newLi);
    $('input',li).val('');
    PopUpActive._ABack();
  }

}


function RemoveMailField()
{
  $(this).parents('li').remove();
  totFieldAdded--;
  if(totFieldAdded<13)
    $('#btnAddNewField').show();
}


function InviteVote_ActiveForm(){
  $('#btnAddNewField').click(function(){
        var li = $(this).parents('li');
        var email = $('input',li).val();
        AddMailField(li,email);
  });



 $('#frmInviteVote').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form,false);
   if(!frmVal.Validate())
   {
     PopUpActive._ABack();
     return false;
   }

   var emailList='';
   $('ol li input',form).each(function(){
     emailList+=$(this).val()+';';
   });

   // Muestro mensaje loading
   ShowButtonLoading(form);
   // Cargo los datos
   var url = form.attr('action'),
   obj = {
            'emails'  : emailList,
            'idVideo' : $('input[name=idVideo]',form).val()
         }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                       try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else
                           InviteVote_ok();
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}

function InviteVote_ok(){
  PopUpActive.Close();
}function Active_FormPersonalData(){
  $('#frmPersonalData').submit(function(){
     var form = $(this);

     // Cargo fecha
     var birthDate = '',
         aaaa = parseInt($('select[name=aaaa]',form).val()),
         mm   = parseInt($('select[name=mm]',form).val()),
         dd   = parseInt($('select[name=dd]',form).val());

     if((aaaa+mm+dd)!=0){
       mm = mm<10?'0'+mm:mm;
       dd = dd<10?'0'+dd:dd;
       birthDate = aaaa+'-'+mm+'-'+dd;
     }else{
       birthDate ='';
     }

     // Guardo fecha en el input
     $('input[name=birthDate]',form).val(birthDate);

     // Verifico si esta chequeado avatar
     var useAvatar = 0
     $('input[name=avatar]').each(function(){
       if($(this).attr('checked'))
         useAvatar = $(this).val();
     });

     var frmVal = new FormValidate(form);
     if(!frmVal.Validate())
       return false;

     // Muestro mensaje loading
     ShowButtonLoading(form);

     var obj = {
                'nick'      : $('input[name=nick]',form).val(),
                'firstName' : $('input[name=firstName]',form).val(),
                'lastName'  : $('input[name=lastName]',form).val(),
                'gender'    : $('select[name=gender]',form).val(),
                'birthDate' : birthDate,
                'useAvatar' : useAvatar
               };

     var url = form.attr('action');
     // Envio datos
     $.ajax({
           'url'     : url+'?'+Math.random(),
           'data'    : obj,
           'dataType': 'script',
           'type'    : 'POST',
           'success' : function(data) {
                         try{
                           HideButtonLoading(form);
                           if(0<err_count){
                             ResuelveRespuesta(form,err_count,msjs);
                           }else{
                             Admin_FormPersonalData.Save(obj);
                           }
                         }catch(err){
                           FatalError(form);
                         }
                       }
     });

    // Evito submit
    return false;
  });
}function Active_FormAccessData(){
  $('#frmAccessData').submit(function(){
     var form = $(this);

     var frmVal = new FormValidate(form);
     if(!frmVal.Validate())
       return false;

     // Muestro mensaje loading
     ShowButtonLoading(form);

     var obj = {
                'email'     : $('input[name=email]',form).val(),
                'newPass'   : $('input[name=newPass]',form).val(),
                'reNewPass' : $('input[name=reNewPass]',form).val()
               };


     var url = form.attr('action');
     // Envio datos
     $.ajax({
           'url'     : url+'?'+Math.random(),
           'data'    : obj,
           'dataType': 'script',
           'type'    : 'POST',
           'success' : function(data) {
                         try{
                           HideButtonLoading(form);
                           if(0<err_count){
                             ResuelveRespuesta(form,err_count,msjs);
                           }else{
                             Admin_FormAccessData.Save();
                           }
                         }catch(err){
                           FatalError(form);
                         }
                       }
     });

    // Evito submit
    return false;
  });
}// Copyright (c) 2008 Andris Valums, http://valums.com
// Licensed under the MIT license (http://valums.com/mit-license/)
(function(C){if(!C){return }C.ajax_upload=function(E,D){E=C(E);if(E.size()!=1){console.error("You passed ",E.size()," elements to ajax_upload at once");return false}return new A(E,D)};var B=function(){var D=0;return function(){return D++}}();var A=function(E,D){this.button=E;this.wrapper=null;this.form=null;this.input=null;this.iframe=null;this.disabled=false;this.submitting=false;this.settings={action:"upload.php",name:"userfile",data:{},onSubmit:function(F,G){},onComplete:function(G,F){},onSuccess:function(F){},onError:function(G,F){}};C.extend(this.settings,D);this.create_wrapper();this.create_input();if(jQuery.browser.msie){this.make_parent_opaque()}this.create_iframe()};A.prototype={set_data:function(D){this.settings.data=D},disable:function(){this.disabled=true;if(!this.submitting){this.input.attr("disabled",true)}},enable:function(){this.disabled=false;this.input.attr("disabled",false)},create_wrapper:function(){var E=this.button,F;F=this.wrapper=C("<div></div>").insertAfter(E).append(E);setTimeout(function(){F.css({position:"relative",display:"block",overflow:"hidden",height:E.outerHeight(true),width:E.outerWidth(true)})},1);var D=this;F.mousemove(function(G){if(!D.input){return }D.input.css({top:G.pageY-F.offset().top-5+"px",left:G.pageX-F.offset().left-170+"px"})})},create_input:function(){var D=this;this.input=C('<input type="file" />').attr("name",this.settings.name).css({position:"absolute",margin:0,padding:0,width:"220px",heigth:"10px",opacity:0}).change(function(){if(C(this).val()==""){return }D.submitting=true;D.submit();D.submitting=false}).appendTo(this.wrapper).hover(function(){D.button.addClass("hover")},function(){D.button.removeClass("hover")});if(this.disabled){this.input.attr("disabled",true)}},create_iframe:function(){var D="iframe_au"+B();this.iframe=C('<iframe name="'+D+'"></iframe>').css("display","none").appendTo("body")},submit:function(){var D=this,G=this.settings;var E=this.file_from_path(this.input.val());if(G.onSubmit.call(this,E,this.get_ext(E))===false){if(D.disabled){this.input.attr("disabled",true)}return }this.create_form();this.input.appendTo(this.form);this.form.submit();this.input.remove();this.input=null;this.form.remove();this.form=null;this.submitting=false;this.create_input();var F=this.iframe;F.load(function(){var H=F.contents().find("body").html();G.onComplete.call(D,E,H);if(H=="success"){G.onSuccess.call(D,E)}else{G.onError.call(D,E,H)}setTimeout(function(){F.remove()},1)});this.create_iframe()},create_form:function(){this.form=C('<form method="post" enctype="multipart/form-data"></form>').appendTo("body").attr({action:this.settings.action,target:this.iframe.attr("name")});for(var D in this.settings.data){C('<input type="hidden" />').appendTo(this.form).attr({name:D,value:this.settings.data[D]})}},file_from_path:function(E){var D=E.lastIndexOf("\\");if(D!==-1){return E.slice(D+1)}return E},get_ext:function(E){var D=E.lastIndexOf(".");if(D!==-1){return E.slice(D+1)}return""},make_parent_opaque:function(){this.button.add(this.button.parents()).each(function(){var D=C(this).css("backgroundColor");var E=C(this).css("backgroundImage");if(D!="transparent"||E!="none"){C(this).css("opacity",1);return false}})}}})(jQuery);var LogicaComentarios;
function LogicaComentarios(_IdVideo,_LastIdComment,showMore){
  this.IdVideo       = _IdVideo;
  this.LastIdComment = _LastIdComment;
  this.Comments      = new Array();

  // Obtengo elementos html
  var _divComments = $('div#comments-block .comments');
  var aViewMore   = $('<a class="viewMore" href="javascript:LogicaComentarios.ShowMore();">View more comments</a>');

   _divComments.after(aViewMore);


  // Guardo referencia
  var self = this;

  // Habilita o deshabilta el boton show more
  this.ShowMoreEnabled = function(enabled){
                             if(enabled)
                               aViewMore.show();
                             else
                               aViewMore.hide();
                         }
  // Determino si muestro o el boton
  self.ShowMoreEnabled(showMore);

  // Agrega nuevo comentario
  this.ShowNewComment = function(C){
                           $("div#comments-block textarea").height(58);
                           var divItem  = $('<div class="item"></div>');
                           var html = '';
                               html += '<h3><a href="javascript:ViewUserVideos('+C.U.idUsuario+',\''+C.U.nick+'\');"><img src="'+C.U.imgSrc+'" alt="imagen" /><span class="mask"></span> '+C.U.nick+'</a></h3>';
                               html += '<em class="date">'+C.date+'</em>';
                               html += '<p>'+C.text+'</p>';
                           divItem.css({'display':'none'});
                           divItem.html(html);
                          _divComments.prepend(divItem);
                           divItem.fadeIn('slow');
                        }


  // Carga mas comentarios desde el server
  this.ShowMore = function(){
                     var url = '/ax/more-comments.html';
                     var obj = {
                                 'idVideo'       : self.IdVideo,
                                 'lastIdComment' : self.LastIdComment
                               };
                     // Envio datos
                     $.ajax({
                           'url'     : url+'?'+Math.random(),
                           'data'    : obj,
                           'dataType': 'script',
                           'type'    : 'POST',
                           'success' : function(data) {
                                        try{
                                           ShowLoadComments(arr);
                                         }catch(err){
                                           FatalError();
                                         }
                                       }
                     });

                  }

  // Cargo los comentarios en la pagina
  var ShowLoadComments = function(arr){
                            var C;
                            for(var i in arr){
                              C = arr[i];
                               var divItem  = $('<div class="item"></div>');
                               var html = '';
                                   html += '<h3><a href="javascript:ViewUserVideos('+C.U.idUsuario+',\''+C.U.nick+'\');"><img src="'+C.U.imgSrc+'" alt="imagen" /> <span class="mask"></span>'+C.U.nick+'</a></h3>';
                                   html += '<em class="date">'+C.date+'</em>';
                                   html += '<p>'+C.text+'</p>';

                               divItem.css({'display':'none'});
                               divItem.html(html);
                              _divComments.append(divItem);
                               divItem.fadeIn('normal');
                            }
                         }

   this.NewVideo = function(idVideo){
                     if(this.IdVideo==idVideo)
                       return false;
                     this.IdVideo       = idVideo;
                     this.LastIdComment = 0;
                     this.Comments      = new Array();
                    _divComments.hide().html('').show();
                    self.ShowMoreEnabled(false);
                    this.ShowMore();
                   }
}



function AddComment_ActiveForm(){
 $('#frmAddComment').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form);
   if(!frmVal.Validate())
     return false;
   // Muestro mensaje loading
   ShowButtonLoading(form);

   // Cargo los datos
   var url = form.attr('action'),
       obj = {
                'idVideo' : LogicaComentarios.IdVideo,
                'text'    : $('textarea[name=comment]',form).val()
             }
   // Envio datos
   $.ajax({
         'url'     : url+'?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data) {
                      try{
                         if(0<err_count)
                           ResuelveRespuesta(form,err_count,msjs);
                         else{
                           HideButtonLoading(form);
                           $('textarea[name=comment]',form).val('');
                         }
                       }catch(err){
                         FatalError(form);
                       }
                     }
   });
   // Evita submit
   return false;
  });
}$(document).ready(function(){
  InitForms();
  InitAdminForms();
  InitPorcentaje();
  $('a[rel=external]').attr('target','_blank');
});
// indica si estoy en la seccion de administracion
var isAdmin = false;
// CUando se abandona la pagina frena el streaming
window.onbeforeunload = function(){stop();};
// Google analitycs
function TrackerPasoAPaso(page){try { pageTracker._trackPageview(page);} catch(err) {}; }
// Carga video
function LoadVideoById(idVideo){
 // stop();
  loadVideoIseeng(idVideo);
  ShowVideoData(idVideo);
}
function ShowVideoData(idVideo){
  LogicaComentarios.NewVideo(idVideo);
}

function InitForms(){
  $('form#frmContacto,form#frmLogInAdmin').submit(function(){
   var form = $(this);
   var frmVal = new FormValidate(form);
   if(!frmVal.Validate())
     return false;
  });
}


var Admin_FormPersonalData,Admin_FormAccessData;
function InitAdminForms(){
  Admin_FormPersonalData = new AdminForm($('#Admin_PersonalData'));
  Admin_FormAccessData   = new AdminForm($('#Admin_AccessData'));
  Active_FormPersonalData();
  Active_FormAccessData();
}

function InitPorcentaje(tot)
{
  var div = $('div.porcentaje');
  var barra = $('span.bar',div);
  if(tot!=undefined)
  {
    $('strong',div).html(tot);
  }else{
    var tot = parseInt( $('strong',div).html() );
  }
  var w = Math.round(1.08*tot);
  barra.animate({'width':w+'px'},1500);         
}
