var base_url=""; var base_static=""; /* * SimpleModal 1.2.3 - jQuery Plugin * http://www.ericmmartin.com/projects/simplemodal/ * Copyright (c) 2009 Eric Martin * Dual licensed under the MIT and GPL licenses * Revision: $Id: jquery.simplemodal.js 185 2009-02-09 21:51:12Z emartin24 $ */ eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(g($){m f=$.Q.1R&&1d($.Q.1B)==6&&E 11[\'2b\']!="1O",V=D,w=[];$.v=g(a,b){G $.v.12.1l(a,b)};$.v.H=g(){$.v.12.H()};$.1P.v=g(a){G $.v.12.1l(3,a)};$.v.1K={W:2a,1C:\'q-F\',1x:{},21:\'q-n\',20:{},1Z:{},u:2p,H:1p,1U:\'\',Z:\'q-H\',r:D,1h:L,1g:D,1f:D,1c:D};$.v.12={7:D,4:{},1l:g(a,b){8(3.4.j){G L}V=$.Q.1R&&!$.28;3.7=$.U({},$.v.1K,b);3.u=3.7.u;3.19=L;8(E a==\'1O\'){a=a 26 1A?a:$(a);8(a.16().16().24()>0){3.4.X=a.16();8(!3.7.1h){3.4.22=a.2x(1p)}}}o 8(E a==\'2w\'||E a==\'1t\'){a=$(\'<1s/>\').2t(a)}o{2s(\'2r 2q: 2o j 2l: \'+E a);G L}3.4.j=a.14(\'q-j\').C(3.7.1Z);a=D;3.1T();3.1S();8($.1o(3.7.1f)){3.7.1f.1n(3,[3.4])}G 3},1T:g(){w=3.1m();8(f){3.4.x=$(\'\').C($.U(3.7.2c,{1k:\'1j\',W:0,r:\'1i\',A:w[0],B:w[1],u:3.7.u,K:0,y:0})).M(\'z\')}3.4.F=$(\'<1s/>\').1N(\'1M\',3.7.1C).14(\'q-F\').C($.U(3.7.1x,{1k:\'1j\',W:3.7.W/1e,A:w[0],B:w[1],r:\'1i\',y:0,K:0,u:3.7.u+1})).M(\'z\');3.4.n=$(\'<1s/>\').1N(\'1M\',3.7.21).14(\'q-n\').C($.U(3.7.20,{1k:\'1j\',r:\'1i\',u:3.7.u+2})).1J(3.7.H?$(3.7.1U).14(3.7.Z):\'\').M(\'z\');3.1b();8(f||V){3.1a()}3.4.n.1J(3.4.j.1I())},1H:g(){m a=3;$(\'.\'+3.7.Z).1G(\'1L.q\',g(e){e.29();a.H()});$(11).1G(\'1F.q\',g(){w=a.1m();a.1b();8(f||V){a.1a()}o{a.4.x&&a.4.x.C({A:w[0],B:w[1]});a.4.F.C({A:w[0],B:w[1]})}})},1E:g(){$(\'.\'+3.7.Z).1D(\'1L.q\');$(11).1D(\'1F.q\')},1a:g(){m p=3.7.r;$.27([3.4.x||D,3.4.F,3.4.n],g(i,e){8(e){m a=\'k.z.18\',N=\'k.z.1W\',17=\'k.z.25\',T=\'k.z.1z\',S=\'k.z.1y\',1r=\'k.z.23\',1v=\'k.R.18\',1u=\'k.R.1W\',J=\'k.R.1z\',I=\'k.R.1y\',s=e[0].2v;s.r=\'2u\';8(i<2){s.10(\'A\');s.10(\'B\');s.Y(\'A\',\'\'+17+\' > \'+a+\' ? \'+17+\' : \'+a+\' + "l"\');s.Y(\'B\',\'\'+1r+\' > \'+N+\' ? \'+1r+\' : \'+N+\' + "l"\')}o{m b,13;8(p&&p.1Y==1Q){m c=p[0]?E p[0]==\'1t\'?p[0].1X():p[0].P(/l/,\'\'):e.C(\'K\').P(/l/,\'\');b=c.1V(\'%\')==-1?c+\' + (t = \'+I+\' ? \'+I+\' : \'+S+\') + "l"\':1d(c.P(/%/,\'\'))+\' * ((\'+1v+\' || \'+a+\') / 1e) + (t = \'+I+\' ? \'+I+\' : \'+S+\') + "l"\';8(p[1]){m d=E p[1]==\'1t\'?p[1].1X():p[1].P(/l/,\'\');13=d.1V(\'%\')==-1?d+\' + (t = \'+J+\' ? \'+J+\' : \'+T+\') + "l"\':1d(d.P(/%/,\'\'))+\' * ((\'+1u+\' || \'+N+\') / 1e) + (t = \'+J+\' ? \'+J+\' : \'+T+\') + "l"\'}}o{b=\'(\'+1v+\' || \'+a+\') / 2 - (3.2n / 2) + (t = \'+I+\' ? \'+I+\' : \'+S+\') + "l"\';13=\'(\'+1u+\' || \'+N+\') / 2 - (3.2m / 2) + (t = \'+J+\' ? \'+J+\' : \'+T+\') + "l"\'}s.10(\'K\');s.10(\'y\');s.Y(\'K\',b);s.Y(\'y\',13)}}})},1m:g(){m a=$(11);m h=$.Q.2k&&$.Q.1B>\'9.5\'&&$.1P.2j<=\'1.2.6\'?k.R[\'18\']:a.A();G[h,a.B()]},1b:g(){m a,y,1q=(w[0]/2)-((3.4.n.A()||3.4.j.A())/2),1w=(w[1]/2)-((3.4.n.B()||3.4.j.B())/2);8(3.7.r&&3.7.r.1Y==1Q){a=3.7.r[0]||1q;y=3.7.r[1]||1w}o{a=1q;y=1w}3.4.n.C({y:y,K:a})},1S:g(){3.4.x&&3.4.x.15();8($.1o(3.7.1g)){3.7.1g.1n(3,[3.4])}o{3.4.F.15();3.4.n.15();3.4.j.15()}3.1H()},H:g(){8(!3.4.j){G L}8($.1o(3.7.1c)&&!3.19){3.19=1p;3.7.1c.1n(3,[3.4])}o{8(3.4.X){8(3.7.1h){3.4.j.1I().M(3.4.X)}o{3.4.j.O();3.4.22.M(3.4.X)}}o{3.4.j.O()}3.4.n.O();3.4.F.O();3.4.x&&3.4.x.O();3.4={}}3.1E()}}})(1A);',62,158,'|||this|dialog|||opts|if||||||||function|||data|document|px|var|container|else||simplemodal|position|||zIndex|modal||iframe|left|body|height|width|css|null|typeof|overlay|return|close|st|sl|top|false|appendTo|bcw|remove|replace|browser|documentElement|bst|bsl|extend|ieQuirks|opacity|parentNode|setExpression|closeClass|removeExpression|window|impl|le|addClass|show|parent|bsh|clientHeight|occb|fixIE|setPosition|onClose|parseInt|100|onShow|onOpen|persist|fixed|none|display|init|getDimensions|apply|isFunction|true|hCenter|bsw|div|number|cw|ch|vCenter|overlayCss|scrollTop|scrollLeft|jQuery|version|overlayId|unbind|unbindEvents|resize|bind|bindEvents|hide|append|defaults|click|id|attr|object|fn|Array|msie|open|create|closeHTML|indexOf|clientWidth|toString|constructor|dataCss|containerCss|containerId|orig|scrollWidth|size|scrollHeight|instanceof|each|boxModel|preventDefault|50|XMLHttpRequest|iframeCss|Close|javascript|src|title|modalCloseImg|class|jquery|opera|type|offsetWidth|offsetHeight|Unsupported|1000|Error|SimpleModal|alert|html|absolute|style|string|clone'.split('|'),0,{})) var base_url="/"; var base_static="http://aws.mnmstatic.net/"; /* * SimpleModal 1.2.3 - jQuery Plugin * http://www.ericmmartin.com/projects/simplemodal/ * Copyright (c) 2009 Eric Martin * Dual licensed under the MIT and GPL licenses * Revision: $Id: jquery.simplemodal.js 185 2009-02-09 21:51:12Z emartin24 $ */ eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(g($){m f=$.Q.1R&&1d($.Q.1B)==6&&E 11[\'2b\']!="1O",V=D,w=[];$.v=g(a,b){G $.v.12.1l(a,b)};$.v.H=g(){$.v.12.H()};$.1P.v=g(a){G $.v.12.1l(3,a)};$.v.1K={W:2a,1C:\'q-F\',1x:{},21:\'q-n\',20:{},1Z:{},u:2p,H:1p,1U:\'\',Z:\'q-H\',r:D,1h:L,1g:D,1f:D,1c:D};$.v.12={7:D,4:{},1l:g(a,b){8(3.4.j){G L}V=$.Q.1R&&!$.28;3.7=$.U({},$.v.1K,b);3.u=3.7.u;3.19=L;8(E a==\'1O\'){a=a 26 1A?a:$(a);8(a.16().16().24()>0){3.4.X=a.16();8(!3.7.1h){3.4.22=a.2x(1p)}}}o 8(E a==\'2w\'||E a==\'1t\'){a=$(\'<1s/>\').2t(a)}o{2s(\'2r 2q: 2o j 2l: \'+E a);G L}3.4.j=a.14(\'q-j\').C(3.7.1Z);a=D;3.1T();3.1S();8($.1o(3.7.1f)){3.7.1f.1n(3,[3.4])}G 3},1T:g(){w=3.1m();8(f){3.4.x=$(\'\').C($.U(3.7.2c,{1k:\'1j\',W:0,r:\'1i\',A:w[0],B:w[1],u:3.7.u,K:0,y:0})).M(\'z\')}3.4.F=$(\'<1s/>\').1N(\'1M\',3.7.1C).14(\'q-F\').C($.U(3.7.1x,{1k:\'1j\',W:3.7.W/1e,A:w[0],B:w[1],r:\'1i\',y:0,K:0,u:3.7.u+1})).M(\'z\');3.4.n=$(\'<1s/>\').1N(\'1M\',3.7.21).14(\'q-n\').C($.U(3.7.20,{1k:\'1j\',r:\'1i\',u:3.7.u+2})).1J(3.7.H?$(3.7.1U).14(3.7.Z):\'\').M(\'z\');3.1b();8(f||V){3.1a()}3.4.n.1J(3.4.j.1I())},1H:g(){m a=3;$(\'.\'+3.7.Z).1G(\'1L.q\',g(e){e.29();a.H()});$(11).1G(\'1F.q\',g(){w=a.1m();a.1b();8(f||V){a.1a()}o{a.4.x&&a.4.x.C({A:w[0],B:w[1]});a.4.F.C({A:w[0],B:w[1]})}})},1E:g(){$(\'.\'+3.7.Z).1D(\'1L.q\');$(11).1D(\'1F.q\')},1a:g(){m p=3.7.r;$.27([3.4.x||D,3.4.F,3.4.n],g(i,e){8(e){m a=\'k.z.18\',N=\'k.z.1W\',17=\'k.z.25\',T=\'k.z.1z\',S=\'k.z.1y\',1r=\'k.z.23\',1v=\'k.R.18\',1u=\'k.R.1W\',J=\'k.R.1z\',I=\'k.R.1y\',s=e[0].2v;s.r=\'2u\';8(i<2){s.10(\'A\');s.10(\'B\');s.Y(\'A\',\'\'+17+\' > \'+a+\' ? \'+17+\' : \'+a+\' + "l"\');s.Y(\'B\',\'\'+1r+\' > \'+N+\' ? \'+1r+\' : \'+N+\' + "l"\')}o{m b,13;8(p&&p.1Y==1Q){m c=p[0]?E p[0]==\'1t\'?p[0].1X():p[0].P(/l/,\'\'):e.C(\'K\').P(/l/,\'\');b=c.1V(\'%\')==-1?c+\' + (t = \'+I+\' ? \'+I+\' : \'+S+\') + "l"\':1d(c.P(/%/,\'\'))+\' * ((\'+1v+\' || \'+a+\') / 1e) + (t = \'+I+\' ? \'+I+\' : \'+S+\') + "l"\';8(p[1]){m d=E p[1]==\'1t\'?p[1].1X():p[1].P(/l/,\'\');13=d.1V(\'%\')==-1?d+\' + (t = \'+J+\' ? \'+J+\' : \'+T+\') + "l"\':1d(d.P(/%/,\'\'))+\' * ((\'+1u+\' || \'+N+\') / 1e) + (t = \'+J+\' ? \'+J+\' : \'+T+\') + "l"\'}}o{b=\'(\'+1v+\' || \'+a+\') / 2 - (3.2n / 2) + (t = \'+I+\' ? \'+I+\' : \'+S+\') + "l"\';13=\'(\'+1u+\' || \'+N+\') / 2 - (3.2m / 2) + (t = \'+J+\' ? \'+J+\' : \'+T+\') + "l"\'}s.10(\'K\');s.10(\'y\');s.Y(\'K\',b);s.Y(\'y\',13)}}})},1m:g(){m a=$(11);m h=$.Q.2k&&$.Q.1B>\'9.5\'&&$.1P.2j<=\'1.2.6\'?k.R[\'18\']:a.A();G[h,a.B()]},1b:g(){m a,y,1q=(w[0]/2)-((3.4.n.A()||3.4.j.A())/2),1w=(w[1]/2)-((3.4.n.B()||3.4.j.B())/2);8(3.7.r&&3.7.r.1Y==1Q){a=3.7.r[0]||1q;y=3.7.r[1]||1w}o{a=1q;y=1w}3.4.n.C({y:y,K:a})},1S:g(){3.4.x&&3.4.x.15();8($.1o(3.7.1g)){3.7.1g.1n(3,[3.4])}o{3.4.F.15();3.4.n.15();3.4.j.15()}3.1H()},H:g(){8(!3.4.j){G L}8($.1o(3.7.1c)&&!3.19){3.19=1p;3.7.1c.1n(3,[3.4])}o{8(3.4.X){8(3.7.1h){3.4.j.1I().M(3.4.X)}o{3.4.j.O();3.4.22.M(3.4.X)}}o{3.4.j.O()}3.4.n.O();3.4.F.O();3.4.x&&3.4.x.O();3.4={}}3.1E()}}})(1A);',62,158,'|||this|dialog|||opts|if||||||||function|||data|document|px|var|container|else||simplemodal|position|||zIndex|modal||iframe|left|body|height|width|css|null|typeof|overlay|return|close|st|sl|top|false|appendTo|bcw|remove|replace|browser|documentElement|bst|bsl|extend|ieQuirks|opacity|parentNode|setExpression|closeClass|removeExpression|window|impl|le|addClass|show|parent|bsh|clientHeight|occb|fixIE|setPosition|onClose|parseInt|100|onShow|onOpen|persist|fixed|none|display|init|getDimensions|apply|isFunction|true|hCenter|bsw|div|number|cw|ch|vCenter|overlayCss|scrollTop|scrollLeft|jQuery|version|overlayId|unbind|unbindEvents|resize|bind|bindEvents|hide|append|defaults|click|id|attr|object|fn|Array|msie|open|create|closeHTML|indexOf|clientWidth|toString|constructor|dataCss|containerCss|containerId|orig|scrollWidth|size|scrollHeight|instanceof|each|boxModel|preventDefault|50|XMLHttpRequest|iframeCss|Close|javascript|src|title|modalCloseImg|class|jquery|opera|type|offsetWidth|offsetHeight|Unsupported|1000|Error|SimpleModal|alert|html|absolute|style|string|clone'.split('|'),0,{})) function menealo(user, id) { var url = base_url + "backend/menealo.php"; var content = "id=" + id + "&user=" + user + "&key=" + base_key + "&u=" + document.referrer; url = url + "?" + content; disable_vote_link(id, -1, "...", ''); $.getJSON(url, function(data) { parseLinkAnswer(id, data); } ); reportAjaxStats('vote', 'link'); } function menealo_comment(user, id, value) { var url = base_url + "backend/menealo_comment.php"; var content = "id=" + id + "&user=" + user + "&value=" + value + "&key=" + base_key; url = url + "?" + content; $.getJSON(url, function(data) { if (data.error) { alert("Error: "+data.error); return false; } else { $('#vc-'+id).html(data.votes+""); $('#vk-'+id).html(data.karma+""); if (data.image.length > 0) { $('#c-votes-'+id).html(''); } } } ); reportAjaxStats('vote', 'comment'); } function menealo_post(user, id, value) { var url = base_url + "backend/menealo_post.php"; var content = "id=" + id + "&user=" + user + "&value=" + value + "&key=" + base_key; url = url + "?" + content; $.getJSON(url, function(data) { if (data.error) { alert("Error: "+data.error); return false; } else { $('#vc-'+id).html(data.votes+""); $('#vk-'+id).html(data.karma+""); if (data.image.length > 0) { $('#c-votes-'+id).html(''); } } } ); reportAjaxStats('vote', 'post'); } function disable_vote_link(id, value, mess, background) { if (value < 0) span = ''; else span = ''; $('#a-va-' + id).html(span+mess+''); if (background.length > 0) $('#a-va-' + id).css('background', background); } function parseLinkAnswer (id, link) { $('#problem-' + id).hide(); if (link.error || id != link.id) { disable_vote_link(id, -1, "grr...", ''); alert("Error: "+link.error); return false; } votes = parseInt(link.votes)+parseInt(link.anonymous); if ($('#a-votes-' + link.id).html() != votes) { $('#a-votes-' + link.id).hide(); $('#a-votes-' + link.id).html(votes+""); $('#a-votes-' + link.id).fadeIn('slow'); } $('#a-neg-' + link.id).html(link.negatives+""); $('#a-usu-' + link.id).html(link.votes+""); $('#a-ano-' + link.id).html(link.anonymous+""); $('#a-karma-' + link.id).html(link.karma+""); disable_vote_link(link.id, link.value, link.vote_description, ''); return false; } function securePasswordCheck(field) { if (field.value.length > 5 && field.value.match("^(?=.{6,})(?=(.*[a-z].*))(?=(.*[A-Z0-9].*)).*$", "g")) { if (field.value.match("^(?=.{8,})(?=(.*[a-z].*))(?=(.*[A-Z].*))(?=(.*[0-9].*)).*$", "g")) { field.style.backgroundColor = "#8FFF00"; } else { field.style.backgroundColor = "#F2ED54"; } } else { field.style.backgroundColor = "#F56874"; } return false; } function checkEqualFields(field, against) { if(field.value == against.value) { field.style.backgroundColor = '#8FFF00'; } else { field.style.backgroundColor = "#F56874"; } return false; } function enablebutton (button, button2, target) { var string = target.value; if (button2 != null) { button2.disabled = false; } if (string.length > 0) { button.disabled = false; } else { button.disabled = true; } } function checkfield (type, form, field) { var url = base_url + 'backend/checkfield.php?type='+type+'&name=' + encodeURIComponent(field.value); $.get(url, function(html) { if (html == 'OK') { $('#'+type+'checkitvalue').html('"' + encodeURI(field.value) + '": ' + html + ''); form.submit.disabled = ''; } else { $('#'+type+'checkitvalue').html('"' + encodeURI(field.value) + '": ' + html + ''); form.submit.disabled = 'disabled'; } } ); return false; } function check_checkfield(fieldname, mess) { field = document.getElementById(fieldname); if (field && !field.checked) { alert(mess); // box is not checked return false; } } function report_problem(frm, user, id) { if (frm.ratings.value == 0) return; if (! confirm("confirme desea votar: «" + frm.ratings.options[frm.ratings.selectedIndex].text +"»") ) { frm.ratings.selectedIndex=0; return false; } var content = "id=" + id + "&user=" + user + '&value=' +frm.ratings.value + "&key=" + base_key + "&u=" + document.referrer; var url=base_url + "backend/problem.php?" + content; $.getJSON(url, function(data) { parseLinkAnswer(id, data); } ); reportAjaxStats('vote', 'link'); return false; } // Get voters by Beldar // Generalized for other uses (gallir at gmail dot com) function get_votes(program,type,container,page,id) { var url = base_url + 'backend/'+program+'?id='+id+'&p='+page+'&type='+type+"&key="+base_key; $('#'+container).load(url); reportAjaxStats('html', program); } // Modal functions // $.extend($.modal.defaults, { closeHTML: 'x', opacity: "50" }); function modal_from_ajax(url, title) { if (typeof(title) == "undefined") title = ' '; $.modal('
'+title+'
a carregar...
', {}); $.get(url, function(data){ // create a modal dialog with the data $('#modalContent').html(data); }); reportAjaxStats('modal', 'view'); } // This function report the ajax request to stats events if enabled in your account // http://code.google.com/intl/es/apis/analytics/docs/eventTrackerOverview.html function reportAjaxStats(category, action) { //if (pageTracker._trackEvent) { // pageTracker._trackEvent(category, action); //} } function bindTogglePlusMinus(img_id, link_id, container_id) { $(document).ready(function (){ $('#'+link_id).bind('click', function() { if ($('#'+img_id).attr("src") == plus){ $('#'+img_id).attr("src", minus); }else{ $('#'+img_id).attr("src", plus); } $('#'+container_id).slideToggle("fast"); return false; } ); }); } /*/ * JSOC - An object Cache framework for JavaScript * version 0.12.0 [beta] * http://dev.webframeworks.com/dist/JSOC-license.txt * version: 0.12.0 /*/ JSOC = function(){ var Cache = {}; return { "get":function(n){ var obj = {}, val = Cache[n]; obj[n] = val; if(val) return obj; }, "getMulti":function(l){ var a = []; for (var k in l) a.push(this.get(l[k])); return a; }, "getType":function(t){ var a = []; for (var o in Cache) if(typeof(Cache[o])==t.toLowerCase()){a.push(this.get(o))} return a; }, "set":function(n,v){ if(Cache[n]) delete(Cache[n]); Cache[n]=v; if (arguments[2]){ var ttl = arguments[2].ttl || null; if(ttl) var self = this, to = setTimeout(function(){self.remove(n)}, ttl); } return (Cache[n])?1:0; }, "add":function(n,v){ if(!Cache[n]){ Cache[n]=v; if (arguments[2]){ var ttl = arguments[2].ttl || null; if(ttl) var self = this, to = setTimeout(function(){self.remove(n)}, ttl); } return (Cache[n])?1:0; } }, "replace":function(n,v){ if(Cache[n]){ delete(Cache[n]); Cache[n]=v; if (arguments[2]){ var ttl = arguments[2].ttl || null; if(ttl) var self = this, to = setTimeout(function(){self.remove(n)}, ttl); } return (Cache[n])?1:0; } }, "remove":function(n){ delete(Cache[n]); return (!Cache[n])?1:0; }, "flush_all":function(){ for(var k in Cache) delete(Cache[k]); return 1; } } } /************************************** Tooltips functions ***************************************/ /** Stronglky modified, onky works with DOM2 compatible browsers. Ricardo Galli From http://ljouanneau.com/softs/javascript/tooltip.php */ if (typeof(JSOC) != "undefined") { // create the tooltip object function tooltip(){} // setup properties of tooltip object tooltip.id="tooltip"; tooltip.main=null; tooltip.offsetx = 10; tooltip.offsety = 10; tooltip.shoffsetx = 8; tooltip.shoffsety = 8; tooltip.x = 0; tooltip.y = 0; tooltip.tooltipText=null; tooltip.title_saved=''; tooltip.saveonmouseover=null; tooltip.timeout = null; tooltip.active = false; tooltip.cache = new JSOC(); tooltip.ie = (document.all)? true:false; // check if ie if(tooltip.ie) tooltip.ie5 = (navigator.userAgent.indexOf('MSIE 5')>0); else tooltip.ie5 = false; tooltip.dom2 = ((document.getElementById) && !(tooltip.ie5))? true:false; // check the W3C DOM level2 compliance. ie4, ie5, ns4 are not dom level2 compliance !! grrrr >:-( } /** * Open ToolTip. The title attribute of the htmlelement is the text of the tooltip * Call this method on the mouseover event on your htmlelement * ex :
*/ tooltip.show = function (event, text) { // we save text of title attribute to avoid the showing of tooltip generated by browser if (this.dom2 == false ) return false; if (this.tooltipText == null) { this.tooltipText = document.createElement("div"); this.tooltipText.setAttribute("id", "tooltip-text"); document.body.appendChild(this.tooltipText); } this.saveonmouseover=document.onmousemove; document.onmousemove = this.mouseMove; this.mouseMove(event); // This already moves the div to the right position this.setText(text); this.tooltipText.style.visibility ="visible"; this.active = true; return false; } tooltip.setText = function (text) { this.tooltipText.innerHTML=text; return false; } /** * hide tooltip * call this method on the mouseout event of the html element * ex :
*/ tooltip.hide = function (event) { if (this.dom2 == false) return false; document.onmousemove=this.saveonmouseover; this.saveonmouseover=null; if (this.tooltipText != null ) { this.tooltipText.style.visibility = "hidden"; this.tooltipText.innerHTML=''; } this.active = false; } // Moves the tooltip element tooltip.mouseMove = function (e) { // we don't use "this", but tooltip because this method is assign to an event of document // and so is dreferenced if (tooltip.ie) { tooltip.x = event.clientX; tooltip.y = event.clientY; } else { tooltip.x = e.pageX; tooltip.y = e.pageY; } tooltip.moveTo( tooltip.x +tooltip.offsetx , tooltip.y + tooltip.offsety); } // Move the tooltip element tooltip.moveTo = function (xL,yL) { if (this.ie) { xL += document.documentElement.scrollLeft; yL += document.documentElement.scrollTop; } if (this.tooltipText.clientWidth > 0 && document.documentElement.clientWidth > 0 && xL > document.documentElement.clientWidth * 0.55) { xL = xL - this.tooltipText.clientWidth - 2*this.offsetx; } this.tooltipText.style.left = xL +"px"; this.tooltipText.style.top = yL +"px"; xLS = xL + this.shoffsetx; yLS = yL + this.shoffsety; } // Show the content of a given comment tooltip.c_show = function (event, type, element, link, area) { // we save text of title attribute to avoid the showing of tooltip generated by browser if (this.dom2 == false ) return false; if (element == 0 && link > 0) { // It's a #0 from a comment this.ajax_delayed(event,'get_link.php?link='+link+'&area='+area); return; } if (type == 'id') { target = $('#c-'+element+'>:first'); author_target = $('#cauthor-'+element); if (target.length == 0 || author_target.length == 0) { this.ajax_delayed(event,'get_comment_tooltip.php',element+'&link='+link+'&area='+area); return; } text = ''+author_target.html()+'
'+target.html(); } else if (type == 'order') { this.ajax_delayed(event,'get_comment_tooltip.php',element+"&link="+link,area); return; } else { text = element; } return this.show(event, text); } tooltip.clear = function (event) { if (this.timeout != null) { clearTimeout(this.timeout); this.timeout = null; } this.hide(event); } tooltip.ajax_delayed = function (event, script, id, maxcache) { maxcache = maxcache || 600000; // 10 minutes in cache if (this.active) return false; if ((object = this.cache.get(script+id)) != undefined) { tooltip.show(event, object[script+id]); } else { this.show(event, "a carregar..."); this.timeout = setTimeout("tooltip.ajax_request('"+script+"', '"+id+"', "+maxcache+")", 100); } } tooltip.ajax_request = function(script, id, maxcache) { var url = base_url + 'backend/'+script+'?id='+id; tooltip.timeout = null; $.ajax({ url: url, dataType: "html", success: function(html) { tooltip.cache.set(script+id, html, {'ttl':maxcache}); tooltip.setText(html); } }); reportAjaxStats('tooltip', 'ajax'); } function comment_reply(id) { ref = '#' + id + ' '; textarea = $('#comment'); if (textarea.length == 0 ) return; var re = new RegExp(ref); var oldtext = textarea.val(); if (oldtext.match(re)) return; if (oldtext.length > 0 && oldtext.charAt(oldtext.length-1) != "\n") oldtext = oldtext + "\n"; textarea.val(oldtext + ref); textarea.get(0).focus(); } function post_load_form(id, container) { var url = base_url + 'backend/post_edit.php?id='+id+"&key="+base_key; $.get(url, function (html) { if (html.length > 0) { if (html.match(/^ERROR:/i)) { alert(html); } else { $('#'+container).html(html); } reportAjaxStats('html', 'post_edit'); } }); } function post_new() { post_load_form(0, 'addpost'); } function post_edit(id) { post_load_form(id, 'pcontainer-'+id); } function post_reply(id, user) { ref = '@' + user + ',' + id + ' '; textarea = $('#post'); if (textarea.length == 0) { post_new(); } post_add_form_text(ref, 1); } function post_add_form_text(text, tries) { if (! tries) tries = 1; textarea = $('#post'); if (tries < 20 && textarea.length == 0) { tries++; setTimeout('post_add_form_text("'+text+'", '+tries+')', 50); return false; } if (textarea.length == 0 ) return false; var re = new RegExp(text); var oldtext = textarea.val(); if (oldtext.match(re)) return false; if (oldtext.length > 0 && oldtext.charAt(oldtext.length-1) != ' ') oldtext = oldtext + ' '; textarea.val(oldtext + text); textarea.get(0).focus(); } // See http://www.shiningstar.net/articles/articles/javascript/dynamictextareacounter.asp?ID=AW function textCounter(field,cntfield,maxlimit) { if (field.value.length > maxlimit) // if too long...trim it! field.value = field.value.substring(0, maxlimit); // otherwise, update 'characters left' counter else cntfield.value = maxlimit - field.value.length; } /************************ Simple format functions **********************************/ /* Code from http://www.gamedev.net/community/forums/topic.asp?topic_id=400585 strongly improved by Juan Pedro López for http://meneame.net 2006/10/01, jotape @ http://jplopez.net */ function applyTag(id, tag) { obj = document.getElementById(id); if (obj) wrapText(obj, tag, tag); return false; } function wrapText(obj, tag) { if(typeof obj.selectionStart == 'number') { // Mozilla, Opera and any other true browser var start = obj.selectionStart; var end = obj.selectionEnd; if (start == end || end < start) return false; obj.value = obj.value.substring(0, start) + replaceText(obj.value.substring(start, end), tag) + obj.value.substring(end, obj.value.length); } else if(document.selection) { // Damn Explorer // Checking we are processing textarea value obj.focus(); var range = document.selection.createRange(); if(range.parentElement() != obj) return false; if (range.text == "") return false; if(typeof range.text == 'string') document.selection.createRange().text = replaceText(range.text, tag); } else obj.value += text; } function replaceText(text, tag) { return '<'+tag+'>'+text+''; } function comment_reply(id) { ref = '#' + id + ' '; textarea = $('#comment'); if (textarea.length == 0 ) return; var re = new RegExp(ref); var oldtext = textarea.val(); if (oldtext.match(re)) return; if (oldtext.length > 0 && oldtext.charAt(oldtext.length-1) != "\n") oldtext = oldtext + "\n"; textarea.val(oldtext + ref); textarea.get(0).focus(); } function post_load_form(id, container) { var url = base_url + 'backend/post_edit.php?id='+id+"&key="+base_key; $.get(url, function (html) { if (html.length > 0) { if (html.match(/^ERROR:/i)) { alert(html); } else { $('#'+container).html(html); } reportAjaxStats('html', 'post_edit'); } }); } function post_new() { post_load_form(0, 'addpost'); } function post_edit(id) { post_load_form(id, 'pcontainer-'+id); } function post_reply(id, user) { ref = '@' + user + ',' + id + ' '; textarea = $('#post'); if (textarea.length == 0) { post_new(); } post_add_form_text(ref, 1); } function post_add_form_text(text, tries) { if (! tries) tries = 1; textarea = $('#post'); if (tries < 20 && textarea.length == 0) { tries++; setTimeout('post_add_form_text("'+text+'", '+tries+')', 50); return false; } if (textarea.length == 0 ) return false; var re = new RegExp(text); var oldtext = textarea.val(); if (oldtext.match(re)) return false; if (oldtext.length > 0 && oldtext.charAt(oldtext.length-1) != ' ') oldtext = oldtext + ' '; textarea.val(oldtext + text); textarea.get(0).focus(); } // See http://www.shiningstar.net/articles/articles/javascript/dynamictextareacounter.asp?ID=AW function textCounter(field,cntfield,maxlimit) { if (field.value.length > maxlimit) // if too long...trim it! field.value = field.value.substring(0, maxlimit); // otherwise, update 'characters left' counter else cntfield.value = maxlimit - field.value.length; } /************************ Simple format functions **********************************/ /* Code from http://www.gamedev.net/community/forums/topic.asp?topic_id=400585 strongly improved by Juan Pedro López for http://meneame.net 2006/10/01, jotape @ http://jplopez.net */ function applyTag(id, tag) { obj = document.getElementById(id); if (obj) wrapText(obj, tag, tag); return false; } function wrapText(obj, tag) { if(typeof obj.selectionStart == 'number') { // Mozilla, Opera and any other true browser var start = obj.selectionStart; var end = obj.selectionEnd; if (start == end || end < start) return false; obj.value = obj.value.substring(0, start) + replaceText(obj.value.substring(start, end), tag) + obj.value.substring(end, obj.value.length); } else if(document.selection) { // Damn Explorer // Checking we are processing textarea value obj.focus(); var range = document.selection.createRange(); if(range.parentElement() != obj) return false; if (range.text == "") return false; if(typeof range.text == 'string') document.selection.createRange().text = replaceText(range.text, tag); } else obj.value += text; } function replaceText(text, tag) { return '<'+tag+'>'+text+''; }