/*
 * 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-no-disponible.html?'+Math.random(),
        'data'    : obj,
        'dataType': 'script',
        'type'    : 'POST',
        'success' : function(data){}
    });
    PopUpError('Upss...video no disponible','<p>Lo lamentamos pero este video ya no se encuentra disponible.</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':'Información requerida.',
                   'mail':'Email inválido.',
                   'date':'Fecha invalida.'
                 };
    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='/mi-cuenta/salir.html'>Salir</a></li>";
      _divLoginHtml += ' <li><a href="/mi-cuenta/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>¿Cantas? ¿Tienes una banda? ¡Genial! Enlaza tus video de tí o tu banda a iSeeng.</span>';
      _divBannerTopHtml += ' <span class="btn"><a href="javascript:AddVideos();">Agrega un 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>Deja tu comentario</h2>';
      _divAddCommentHtml += '<form action="/ax/agregar-comentario.html" method="post" id="frmAddComment">';
      _divAddCommentHtml += ' <fieldset>';
      _divAddCommentHtml += ' <ol>';
      _divAddCommentHtml += '  <li><label><strong>Comentario *</strong> <textarea name="comment" class="v_required"></textarea></label></li>';
      _divAddCommentHtml += ' </ol>';
      _divAddCommentHtml += ' <div class="btns">';
      _divAddCommentHtml += '   <span class="btn"><button type="submit">Enviar</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/cerrar-sesion.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>Enviando…</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>Inténtalo más tarde</h2>';
   html += '<p>No es posible procesar tu solicitud en este momento.</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>Crear cuenta</h2>';
//   html += '<p></p>';
   html += '<form action="/ax/crear-cuenta.html" method="post" id="frmCreateAccount">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Tu 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>Contraseña *</strong> <input type="password" name="pass" value="" class="v_required" /></label></li>';
   html += '  <li><label><strong>Confirma contraseña *</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">Crear cuenta</button></span>';
   html += '   <a href="javascript:PopUpActive.Close();LogIn();">Accede a tu cuenta</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>Cuenta creada correctamente</h2>';
      html += '<p>Tu cuenta ha sido creada correctamente. Ya eres parte de la comunidad iSeeng.com! <span class="btn btnClose"><a href="javascript:;" onclick="PopUpActive.Close();">Cerrar</a></span></p>';
  PopUpActive.Close();
  var popUp = new PopUp(html,"PopUpActive.AddClass('small');",'slow',false,'.close',400);
}function RecoveryPass(){
   var html = '';
   html += '<h2>Recuperar contraseña</h2>';
   html += '<p>Ingresa tu e-mail registrado y te enviaremos la nueva contraseña.</p>';
   html += '<form action="/ax/recuperar-contrasena.html" method="post" id="frmRecoveryPass">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Tu 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">Enviar</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>Nueva contraseña enviada</h2>';
   html += '<p>Verifica tu casilla de correo. Hemos enviado una nueva contraseña a <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>Accede a tu cuenta</h2>';
  // html += '<p>Accede a tu cuenta - Etiam et commodo ipsum. Donec vitae sapien leo, sit amet vulputate risus.</p>';
   html += '<form action="/ax/login.html" method="post" id="frmLogIn">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Tu email *</strong> <input type="text" name="email" value="" class="v_required v_mail" /></label></li>';
   html += '  <li><label><strong>Contraseña *</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">Ingresar</button></span>';
   html += '   <a href="javascript:RecoveryPass();">¿Olvidaste tu contraseña?</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>Agrega tu video (Paso 1 de 2)</h2>';
   html += '<p>Ingresa el usuario de YouTube al que pertenecen los videos que desees agregar.</p>';
   html += '<form action="/ax/agregar-videos-paso1.html" method="post" id="frmAddVideos1">';
   html += ' <fieldset>';
   html += ' <ol>';
   html += '  <li><label><strong>Usuario de YouTube *</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">Siguiente</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>Agrega tu video (Paso 2 de 2)</h2>";
      html += "<p>Selecciona los videos que quieras agregar.</p>";
      html += "<form action='/ax/agregar-videos-paso-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">Agregar</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>Crear cuenta</h2>';
  html += '<p>Para agregar videos deber crear tu cuenta.</p>';
  html += '<form action="/ax/agregar-videos-paso-3.html" method="post" id="frmAddVideosStep3">';
  html += ' <fieldset>';
  html += ' <input type="hidden" name="codes" value="'+codes+'" />';
  html += ' <ol>';
  html += '  <li><label><strong>Tu 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>Contraseña *</strong> <input type="password" name="pass" value="" class="v_required" /></label></li>';
  html += '  <li><label><strong>Confirma contraseña *</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">Crear cuenta</button></span>';
 // html += '   <a href="javascript:PopUpActive.Close();LogIn();">Accede a tu cuenta</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>Videos agregados</h2>';
   html += '<p>Tus videos han sido agregados a iSeeng.com! <span class="btn btnClose"><a href="javascript:;" onclick="PopUpActive.Close();">Cerrar</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 rechazado por 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>(Este video ya está agregado)</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>(Restringído desde YouTube. No es posible agregarlo.). <a href="javascript:AddVideosStatus();">Leer más</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)'>Página anterior</a></li>"+html;
  // Pagina siguiente
  if(currentPage<totPage)
    html += "<li class='page'><a href='javascript:ChangePage(1)'>Página siguiente</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/agregar-videos-paso1.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>Video restringido</h2>        <p>Algunos videos de YouTube pueden no cumplir con ciertas condiciones necesarias para que los podamos publicar con seguridad en iSeeng. Estas causas puede ser alguna de las siguientes:</p>      	<ul>      	<li>El video no está disponible para algunas regiones.</li>      	<li>El video no está ni estará disponible para reproducción fuera del sitio de YouTube o a través de algunos dispositivos.</li>      	<li>El propietario del video ha restringido el acceso.</li>      	<li>El vídeo infringe derechos de autor.</li>      	<li>El vídeo incluye contenido inadecuado.</li>      	<li>El vídeo es una copia de otro vídeo subido a YouTube.</li>      	<li>El vídeo infringe las condiciones de uso.</li>      	<li>La cuenta asociada al vídeo se ha suspendido.</li>      	<li>El vídeo supera la duración máxima permitida (10 minutos).</li>      	<li>El propietario de contenido ha bloqueado el vídeo.</li>      	<li>El formato del archivo de vídeo subido no es válido.</li>      	<li>No se admite el códec que utiliza el vídeo.</li>      	<li>El archivo subido está vacío.</li>      	<li>El archivo subido es demasiado pequeño.</li>      	</ul>      	<p>Algunos de estos problemas pueden ser corregidos desde al cuenta de YouTube. Verifica tu video en YouTube o selecciona otro para añadir a iSeeng.</p>      	<p>¡Gracias y lamentamos el inconveniente!</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>Videos de {nick}</h2>";
     // html += "<p>Videos de - Etiam et commodo ipsum. Donec vitae sapien leo, sit amet vulputate risus.</p>";
      html += "<form action='/ax/obtener-videos-por-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">Siguiente</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">Agregado el: '+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)'>Página anterior</a></li>"+html;
  // Pagina siguiente
  if(currentPage<totPage)
    html += "<li class='page'><a href='javascript:ChangePageViewUser(1)'>Página siguiente</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>No se encontraron videos</h2>";
      html += "<p>Este usuario no tiene videos participando.</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>Videos top</h2>";
      html += "<form action='/ax/obtener-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">Agregado el: '+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,'Selecciona al menos un contacto.');
      }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>Avisale a tus amigos de {serviceName} (Paso 1 de 3)</h2>';
_htmlTellFriends[1]+= '<p>Ingresa usuario/e-mail y contraseña de tu cuenta en {serviceName}.</p>';
_htmlTellFriends[1]+= '<p><strong>Importante: Esta información es utilizada únicamente con el fin de recuperar los contactos. No almacenamos, publicamos ni distribuimos estos datos de ninguna forma.</strong></p>';
_htmlTellFriends[1]+= '<form id="tellFriendsForm" action="/ax/avisarle-amigos/paso-01.html" method="post">';
_htmlTellFriends[1]+= '<fieldset>';
_htmlTellFriends[1]+= '<ol>';
_htmlTellFriends[1]+= '<li><label for="loginEmail"><strong>Tu email</strong> <input class="text" id="loginEmail" name="email" type="text" value="" /></label></li>';
_htmlTellFriends[1]+= '<li><label for="loginPass"><strong>Contraseña de {serviceName}</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">Siguiente</button></span>';
_htmlTellFriends[1]+= '  <a class="close">Cancelar</a>';
_htmlTellFriends[1]+= '</div>';
_htmlTellFriends[1]+= '</fieldset>';
_htmlTellFriends[1]+= '</form>';
_htmlTellFriends[1]+= '<script type="text/javascript">FormTellFriends();</script>';

// Pantalla 2
_htmlTellFriends[2] = '<h2>Avisale a tus amigos de {serviceName} (Paso 2 de 3)</h2>';
_htmlTellFriends[2]+= '<p>Selecciona a quienes les quieras avisar. <span id="selector"><a href="javascript:;" onclick="SelectAll();return false;" title="Seleccionar todos los contactos.">Todos</a> | <a href="javascript:;" onclick="DeselectAll();return false;" title="Deseleccionar todos.">Ninguno</a></span></p>';
_htmlTellFriends[2]+= '<form id="selectFriendsForm" action="/ax/avisarle-amigos/paso-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">Siguiente</button></span><a class="close">Cancelar</a></div>';
_htmlTellFriends[2]+= '</fieldset>';
_htmlTellFriends[2]+= '</form>';

// Pantalla 3
_htmlTellFriends[3] = '<h2>Avisale a tus amigos de {serviceName} (3 de 3)</h2>';
_htmlTellFriends[3]+= '<p>Agrega tu mensaje… ¡Cuéntales por qué deben participar!</p>';
_htmlTellFriends[3]+= '<form id="personalMessageForm" action="/ax/avisarle-amigos/paso-03.html" method="post">';
_htmlTellFriends[3]+= '<fieldset>';
_htmlTellFriends[3]+= '<ol>';
_htmlTellFriends[3]+= ' <li><label for="message"><strong>Tu mensaje</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">Siguiente</button></span><a class="close">Cancelar</a></div>';
_htmlTellFriends[3]+= '</fieldset>';
_htmlTellFriends[3]+= '</form>';


_htmlTellFriends[4] = '<h2>¡Gracias! Tu mensaje fue enviado.</h2>';
_htmlTellFriends[4]+= '<p>¡Tus amigos podrán ahora ser parte de la comunidad <strong>iSeeng</strong>!</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  = 'Sin completar';
  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 = 'Editar información';
                          }else{
                              text  = 'Cancelar';
                              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: '/mi-cuenta/cambiar-imagen.html',
		name: 'image',
        data: {},
        onSubmit: function(file, extension) {
                    if (! (extension && /^(jpg|jpeg|JPEG|jpg)$/.test(extension))){
                       alert('Tipo de archivo no permitido. (*.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'     : '/mi-cuenta/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>Editar video</h2>';
   html += '<form action="/mi-cuenta/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">Agregado el: '+EditVideo.added+'</em>';
   html += '  </div';
   html += ' <ol>';
   html += '  <li><label><strong>Título de la canción *</strong> <input type="text" name="title" value="'+EditVideo.title+'" class="v_required" /></label></li>';
   html += '  <li><label><strong>Categoría *</strong> <select name="idCateg" class="v_required"><option value="0">- - -</option><option value="3">Canci&oacute;n original</option><option value="1">Cover</option><option value="2">Karaoke</option></select></select></label></li>';
   html += '  <li><label><strong>Estilo *</strong> <select name="idStyle" class="v_required"><option value="0">- - -</option><option value="2">Blues</option><option value="3">Chilled</option><option value="5">Country &amp; Folk</option><option value="7">Disce y Electr&oacute;nica</option><option value="6">Estilo libre</option><option value="8">Funk &amp; Soul</option><option value="9">Hard Rock &amp; Metal</option><option value="10">Jazz</option><option value="11">Latina</option><option value="4">Opera y cl&aacute;sico</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><option value="1">Rock Alternativo</option></select></label></li>';
   html += '  <li><label><strong>Idioma *</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>Intérprete</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">Guardar cambios</button></span>';
   html += ' </div>';
   html += ' </fieldset>';
   html += ' <div class="round">';
   html += '  <div class="content">';
   html += '    <p><em>Cuanto más completa sea la información de tus videos, más fácil será encontrarlos en 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'     : '/mi-cuenta/eliminar-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'     : '/mi-cuenta/restaurar-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'     : '/mi-cuenta/deshabilitar-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'     : '/mi-cuenta/re-enviar-mail-activar-cuenta.html?'+Math.random(),
         'data'    : obj,
         'dataType': 'script',
         'type'    : 'POST',
         'success' : function(data){
                       try{
                         var text = 'Hemos enviado un email con un enlace para activar tu cuenta a: <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>Invita a votar por tu video</h2>';
  html += '<p>Invita a tus amigos a votar este video.</p>';
  html += '<form action="/mi-cuenta/invitar-a-votar.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">Agregar otro</a> <label><strong>Email de tu amigo *</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">Enviar</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">Quitar</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();">Ver más comentarios</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/mas-comentarios.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);         
}
