(function($){$.fn.pir=function(options){return $(this).hide().each(function(){$.pir(this,options);}).show();};$.pir=function(elem,options){var $e=$(elem),meta=($.metadata)?$(elem).metadata():{},o=$.extend({size:$e.css("font-size"),color:$e.css("color"),casing:$e.css("text-transform"),text:$e.text().split("'").join("&#039;")},$.pir.options,meta,options),e=encodeURIComponent;$e.html("");$.each(o.wrap?o.text.split(" "):[o.text],function(){if($.trim(this)!=""){var $img=$("<img alt='"+this.replace("'","&rsquo;")+"' src='"+o.php+"?text="+e(this)+"&font="+e(o.font)+"&size="+e(o.size)+"&color="+e(o.color)+"'>").css({"vertical-align":"bottom"});$e.append($img);$e.append(" ");}});if(o.prettyPrint){$("img",$e).addClass("pir-prettyprint-image");$("<span>"+o.text+"</span>").addClass("pir-prettyprint-text").appendTo($e);$("<style type='text/css' media='print'></style>").text(".pir-prettyprint-image { display: none; }").appendTo("head");$("<style type='text/css' media='screen'></style>").text(".pir-prettyprint-text { display: none; }").appendTo("head");};return $e;};$.pir.options={php:"http://www-01.evenserver.com/p/gd.fcgi/",font:"denmark.ttf",wrap:false,prettyPrint:false};$.pir.version="0.1";$(function(){$(".pir").pir();});})(jQuery);


function runpir() {
  return true;
}





function svxRunga() {
  try {
    var pageTracker = _gat._getTracker("UA-574944-17");
    pageTracker._setCookiePath("/blog/");
    
    pageTracker._setDetectFlash(false)
    pageTracker._setClientInfo(false)
    pageTracker._setAllowHash(false)
    pageTracker._trackPageview();
  } catch(err) {}
}
function svx_runga() {
  svxRunga();
}


function mtHide(id) { $('#'+id).hide; }
function mtShow(id) { $('#'+id).show; }

function mtAttachEvent(eventName,func) {
    var onEventName = 'on' + eventName;
    var old = window[onEventName];
    if( typeof old != 'function' )
        window[onEventName] = func;
    else {
        window[onEventName] = function( evt ) {
            old( evt );
            return func( evt );
        };
    }
}

function mtFireEvent(eventName,param) {
    var fn = window['on' + eventName];
    if (typeof fn == 'function') return fn(param);
    return;
}

function mtRelativeDate(ts, fds) {
    var now = new Date();
    var ref = ts;
    var delta = Math.floor((now.getTime() - ref.getTime()) / 1000);

    var str;
    if (delta < 60) {
        str = 'moments ago';
    } else if (delta <= 86400) {
        // less than 1 day
        var hours = Math.floor(delta / 3600);
        var min = Math.floor((delta % 3600) / 60);
        if (hours == 1)
            str = '1 hour ago';
        else if (hours > 1)
            str = '2 hours ago'.replace(/2/, hours);
        else if (min == 1)
            str = '1 minute ago';
        else
            str = '2 minutes ago'.replace(/2/, min);
    } else if (delta <= 604800) {
        // less than 1 week
        var days = Math.floor(delta / 86400);
        var hours = Math.floor((delta % 86400) / 3600);
        if (days == 1)
            str = '1 day ago';
        else if (days > 1)
            str = '2 days ago'.replace(/2/, days);
        else if (hours == 1)
            str = '1 hour ago';
        else
            str = '2 hours ago'.replace(/2/, hours);
    }
    return str ? str : fds;
}


function mtCommentFormOnFocus() {
    mtShowCaptcha();
}


var is_preview;
var user;
function mtSetUser(u) {
    if (u) {
        // persist this
        user = u;
        mtSaveUser();
        // sync up user greeting
        mtFireEvent('usersignin');
    }
}

function mtEscapeJS(s) {
    s = s.replace(/'/g, "&apos;");
    return s;
}

function mtUnescapeJS(s) {
    s = s.replace(/&apos;/g, "'");
    return s;
}

function mtBakeUserCookie(u) {
    var str = "";
    if (u.name) str += "name:'" + mtEscapeJS(u.name) + "';";
    if (u.url) str += "url:'" + mtEscapeJS(u.url) + "';";
    if (u.email) str += "email:'" + mtEscapeJS(u.email) + "';";
    if (u.is_authenticated) str += "is_authenticated:'1';";
    if (u.profile) str += "profile:'" + mtEscapeJS(u.profile) + "';";
    if (u.userpic) str += "userpic:'" + mtEscapeJS(u.userpic) + "';";
    if (u.sid) str += "sid:'" + mtEscapeJS(u.sid) + "';";
    str += "is_trusted:'" + (u.is_trusted ? "1" : "0") + "';";
    str += "is_author:'" + (u.is_author ? "1" : "0") + "';";
    str += "is_banned:'" + (u.is_banned ? "1" : "0") + "';";
    str += "can_post:'" + (u.can_post ? "1" : "0") + "';";
    str += "can_comment:'" + (u.can_comment ? "1" : "0") + "';";
    str = str.replace(/;$/, '');
    return str;
}

function mtUnbakeUserCookie(s) {
    if (!s) return;

    var u = {};
    var m;
    while (m = s.match(/^((name|url|email|is_authenticated|profile|userpic|sid|is_trusted|is_author|is_banned|can_post|can_comment):'([^']+?)';?)/)) {
        s = s.substring(m[1].length);
        if (m[2].match(/^(is|can)_/)) // boolean fields
            u[m[2]] = m[3] == '1' ? true : false;
        else
            u[m[2]] = mtUnescapeJS(m[3]);
    }
    if (u.is_authenticated) {
        u.is_anonymous = false;
    } else {
        u.is_anonymous = true;
        u.can_post = false;
        u.is_author = false;
        u.is_banned = false;
        u.is_trusted = false;
    }
    return u;
}

function mtGetUser() {
  if (!user) {
      var cookie = mtGetCookie(mtCookieName);
      if (!cookie) return;
      user = mtUnbakeUserCookie(cookie);
      if (! user) {
          user = {};
          user.is_anonymous = true;
          user.can_post = false;
          user.is_author = false;
          user.is_banned = false;
          user.is_trusted = false;
      }
  }
  return user;
}


// The cookie name to use for storing the blog-side comment session cookie.
var mtCookieName = "mt_blog_user";
var mtCookieDomain = ".2008-presidential-election.info";
var mtCookiePath = "/";
var mtCookieTimeout = 14400;



function mtEditLink() {
    var u = mtGetUser();
    if (! u) return;
    if (! entry_id) return;
    if (! u.is_author) return;
    var link = ' <span class="separator">|</span> <a href="http://www.savonix.com/blog/cgi-bin/movabletype/mt.cgi?__mode=view&amp;_type=entry&amp;id=' + entry_id + '&amp;blog_id=' + svx_blog_id + '">Edit</a>';
    $('.asset-meta',$('.asset-header')).append(link);
}


var mtCaptchaVisible = false;
function mtShowCaptcha() {
    var u = mtGetUser();
    if ( u && u.is_authenticated ) return;
    if (mtCaptchaVisible) return;
    var div = document.getElementById('comments-open-captcha');
    if (div) {
        div.innerHTML = '<div class="label"><label for="captcha_code">Captcha:</label></div><div class="field"><input type="hidden" name="token" value="uUtWX1EHaG8J95M8kjRVTP7f7Lzw0dNKLxwGhPT8" /><img src="/blog/cgi-bin/movabletype/mt-comments.cgi/captcha/206/uUtWX1EHaG8J95M8kjRVTP7f7Lzw0dNKLxwGhPT8" width="150" height="35" /><br /><input name="captcha_code" id="captcha_code" value="" autocomplete="off" /><p>Type the characters you see in the picture above.</p></div>';
        mtCaptchaVisible = true;
    }
}

var mtFetchedUser = false;

function mtFetchUser(cb) {
    if (!cb) cb = 'mtSetUser';
    if ( ( cb == 'mtSetUser' ) && mtGetUser() ) {
        var url = document.URL;
        url = url.replace(/#.+$/, '');
        url += '#comments-open';
        location.href = url;
    } else {
        // we aren't using AJAX for this, since we may have to request
        // from a different domain. JSONP to the rescue.
        mtFetchedUser = true;
        var script = document.createElement('script');
        var ts = new Date().getTime();
        script.src = 'http://www.2008-presidential-election.info/blog/cgi-bin/movabletype/mt-comments.cgi?__mode=session_js&blog_id=206&jsonp=' + cb + '&ts=' + ts;
        (document.getElementsByTagName('head'))[0].appendChild(script);
    }
}



function mtRememberMeOnClick(b) {
    if (!b.checked)
        mtClearUser(b.form);
    return true;
}



var mtRequestSubmitted = false;
function mtCommentOnSubmit(f) {
    if (!mtRequestSubmitted) {
        mtRequestSubmitted = true;

        if (f.armor)
            f.armor.value = '04288e7632b0adbee569dbec58ec1f282989da05';
        if (f.bakecookie && f.bakecookie.checked)
            mtSaveUser(f);

        // disable submit buttons
        if (f.preview_button) f.preview_button.disabled = true;
        if (f.post) f.post.disabled = true;

        var u = mtGetUser();
        if ( !is_preview && ( u && u.is_authenticated ) ) {
            // validate session; then submit
            mtFetchedUser = false;
            mtFetchUser('mtCommentSessionVerify');
            return false;
        }

        return true;
    }
    return false;
}

function mtCommentSessionVerify(app_user) {
    var u = mtGetUser();
    var f = document['comments_form'];
    if ( u && app_user && app_user.sid && ( u.sid == app_user.sid ) ) {
        f.submit();
    } else {
        alert('Your session has expired. Please sign in again to comment.');
        mtClearUser();
        mtFireEvent('usersignin');

    }
}

function mtUserOnLoad() {
    var u = mtGetUser();

    // if the user is authenticated, hide the 'anonymous' fields
    // and any captcha input if already shown
    if ($('#comments-form').length > 0) {
        if ( u && u.is_authenticated ) {
            $('#comments-form').show();
            $('#comments-open-data').hide();
            if (mtCaptchaVisible) {
              $('#comments-open-data').hide();
            }
        }

        // if we're previewing a comment, make sure the captcha
        // field is visible
        if (is_preview)
            mtShowCaptcha();
        else
            mtShowGreeting();

        // populate anonymous comment fields if user is cookied as anonymous
        var cf = document['comments_form'];
        if (cf) {
            if (u && u.is_anonymous) {
                if (u.email) cf.email.value = u.email;
                if (u.name) cf.author.value = u.name;
                if (u.url) cf.url.value = u.url;
                if (cf.bakecookie)
                    cf.bakecookie.checked = u.name || u.email;
            } else {
                if (u && u.sid && cf.sid)
                    cf.sid.value = u.sid;
            }
            if (cf.post.disabled)
                cf.post.disabled = false;
            if (cf.preview_button.disabled)
                cf.preview_button.disabled = false;
            mtRequestSubmitted = false;
        }
    }
    if ( u && u.is_authenticated ) {
      mtEditLink();
    }
}




function mtEntryOnLoad() {
  $('#trackbacks-info').hide();
  mtHide('comments-open');
  mtFireEvent('usersignin');
}

function mtEntryOnUnload() {
  if (mtRequestSubmitted) {
      var cf = document['comments_form'];
      if (cf) {
          if (cf.post && cf.post.disabled)
              cf.post.disabled = false;
          if (cf.preview_button && cf.preview_button.disabled)
              cf.preview_button.disabled = false;
      }
      mtRequestSubmitted = false;
  }
  return true;
}

mtAttachEvent('usersignin', mtUserOnLoad);



function mtSignIn() {
    var doc_url = document.URL;
    doc_url = doc_url.replace(/#.+/, '');
    var url = 'http://www.2008-presidential-election.info/blog/cgi-bin/movabletype/mt-comments.cgi?__mode=login&blog_id=206';
    if (is_preview) {
        if ( document['comments_form'] ) {
            var entry_id = document['comments_form'].entry_id.value;
            url += '&entry_id=' + entry_id;
        } else {
            url += '&return_url=http%3A%2F%2Fwww.2008-presidential-election.info%2Fblog%2F';
        }
    } else {
        url += '&return_url=' + encodeURIComponent(doc_url);
    }
    mtClearUser();
    location.href = url;
}

function mtSignInOnClick(sign_in_element) {
    var el;
    if (sign_in_element) {
        // display throbber
        el = document.getElementById(sign_in_element);
        if (!el)  // legacy MT 4.x element id
            el = document.getElementById('comment-form-external-auth');
    }
    if (el)
        el.innerHTML = 'Signing in... <span class="status-indicator">&nbsp;</span>';

    mtClearUser(); // clear any 'anonymous' user cookie to allow sign in
    mtFetchUser('mtSetUserOrLogin');
    return false;
}

function mtSetUserOrLogin(u) {
    if (u && u.is_authenticated) {
        mtSetUser(u);
    } else {
        // user really isn't logged in; so let's do this!
        mtSignIn();
    }
}


function mtSignOut(entry_id) {
    mtClearUser();
    var doc_url = document.URL;
    doc_url = doc_url.replace(/#.+/, '');
    var url = 'http://www.2008-presidential-election.info/blog/cgi-bin/movabletype/mt-comments.cgi?__mode=handle_sign_in&static=0&logout=1';
    if (is_preview) {
        if ( document['comments_form'] ) {
            var entry_id = document['comments_form'].entry_id.value;
            url += '&entry_id=' + entry_id;
        } else {
            url += '&return_url=http%3A%2F%2Fwww.2008-presidential-election.info%2Fblog%2F';
        }
    } else {
        url += '&return_url=' + encodeURIComponent(doc_url);
    }
    location.href = url;
}


function mtSignOutOnClick() {
    mtSignOut();
    return false;
}



function mtShowGreeting() {

    mtShowCaptcha();

}



function mtReplyCommentOnClick(parent_id, author) {
    mtShow('comment-form-reply');

    var checkbox = document.getElementById('comment-reply');
    var label = document.getElementById('comment-reply-label');
    var text = document.getElementById('comment-text');

    // Populate label with new values
    var reply_text = 'Replying to \<a href=\"#comment-__PARENT__\" onclick=\"location.href=this.href; return false\"\>comment from __AUTHOR__\<\/a\>';
    reply_text = reply_text.replace(/__PARENT__/, parent_id);
    reply_text = reply_text.replace(/__AUTHOR__/, author);
    label.innerHTML = reply_text;

    checkbox.value = parent_id; 
    checkbox.checked = true;
    try {
        // text field may be hidden
        text.focus();
    } catch(e) {
    }

    mtSetCommentParentID();
}


function mtSetCommentParentID() {
    var checkbox = document.getElementById('comment-reply');
    var parent_id_field = document.getElementById('comment-parent-id');
    if (!checkbox || !parent_id_field) return;

    var pid = 0;
    if (checkbox.checked == true)
        pid = checkbox.value;
    parent_id_field.value = pid;
}


function mtSaveUser(f) {
    // We can't reliably store the user cookie during a preview.
    if (is_preview) return;

    var u = mtGetUser();

    if (f && (!u || u.is_anonymous)) {
        if ( !u ) {
            u = {};
            u.is_authenticated = false;
            u.can_comment = true;
            u.is_author = false;
            u.is_banned = false;
            u.is_anonymous = true;
            u.is_trusted = false;
        }
        if (f.author != undefined) u.name = f.author.value;
        if (f.email != undefined) u.email = f.email.value;
        if (f.url != undefined) u.url = f.url.value;
    }

    if (!u) return;

    var cache_period = mtCookieTimeout * 1000;

    // cache anonymous user info for a long period if the
    // user has requested to be remembered
    if (u.is_anonymous && f && f.bakecookie && f.bakecookie.checked)
        cache_period = 365 * 24 * 60 * 60 * 1000;

    var now = new Date();
    mtFixDate(now);
    now.setTime(now.getTime() + cache_period);

    var cmtcookie = mtBakeUserCookie(u);
    mtSetCookie(mtCookieName, cmtcookie, now, mtCookiePath, mtCookieDomain,
        location.protocol == 'https:');
}


function mtClearUser() {
    user = null;
    mtDeleteCookie(mtCookieName, mtCookiePath, mtCookieDomain,
        location.protocol == 'https:');
}


function mtSetCookie(name, value, expires, path, domain, secure) {
    if (domain && domain.match(/^\.?localhost$/))
        domain = null;
    var curCookie = name + "=" + escape(value) +
        (expires ? "; expires=" + expires.toGMTString() : "") +
        (path ? "; path=" + path : "") +
        (domain ? "; domain=" + domain : "") +
        (secure ? "; secure" : "");
    document.cookie = curCookie;
}


function mtGetCookie(name) {
    var prefix = name + '=';
    var c = document.cookie;
    var cookieStartIndex = c.indexOf(prefix);
    if (cookieStartIndex == -1)
        return '';
    var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
    if (cookieEndIndex == -1)
        cookieEndIndex = c.length;
    return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}


function mtDeleteCookie(name, path, domain, secure) {
    if (mtGetCookie(name)) {
        if (domain && domain.match(/^\.?localhost$/))
            domain = null;
        document.cookie = name + "=" +
            (path ? "; path=" + path : "") +
            (domain ? "; domain=" + domain : "") +
            (secure ? "; secure" : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function mtFixDate(date) {
    var skew = (new Date(0)).getTime();
    if (skew > 0)
        date.setTime(date.getTime() - skew);
}


function mtGetXmlHttp() {
    if ( !window.XMLHttpRequest ) {
        window.XMLHttpRequest = function() {
            var types = [
                "Microsoft.XMLHTTP",
                "MSXML2.XMLHTTP.5.0",
                "MSXML2.XMLHTTP.4.0",
                "MSXML2.XMLHTTP.3.0",
                "MSXML2.XMLHTTP"
            ];

            for ( var i = 0; i < types.length; i++ ) {
                try {
                    return new ActiveXObject( types[ i ] );
                } catch( e ) {}
            }

            return undefined;
        };
    }
    if ( window.XMLHttpRequest )
        return new XMLHttpRequest();
}

function mtInit() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;
    if ( window._timer ) clearInterval(window._timer);
    if ( window.onload && ( window.onload !== window.mtInit ) ) {
        window.onload();
        window.onload = function() {};
    }
}





function vote4page(canurl,divselect) {
  $.ajax({
     type: 'POST',
     url: '/dyn/ruby/pagepop.fcgi',
     data: 'url='+canurl,
     success: function(msg){
        $(divselect).text(msg);
     }
  });
}
function pagevotes(canurl,divselect) {
  var cd = new Date();
  var epoch = cd.getUTCMilliseconds();
  $.ajax({
     type: 'GET',
     url: '/dyn/ruby/pagepop.fcgi',
     data: 'ts='+epoch,
     success: function(msg){
        $(divselect).text(msg);
     }
  });
}

function svx_loadcss(csshref) {
  $('<link>', {
    'rel':  'stylesheet',
    'type': 'text/css',
    'href': csshref
  }).appendTo('head');
}

function svx_showsnib(svx_divsel,svn_togico) {
  svx_divsel.slideDown('slow');
  svn_togico.html('&#8855;');
}
function svx_hidesnib(svx_divsel,svn_togico) {
  svx_divsel.slideUp('slow');
  svn_togico.html('&#8853;');
}



$('document').ready(function() {
  mtInit();

  var svx_pg_title = $("#page-title",$('#alpha-inner')).text();

  if($('#svx_catarcct',$('.widget-archive-category')).length > 0) {
    var svx_divsel = $('#svx_catarcct',$('.widget-archive-category'));
    var svn_togico = $('h3 span',$('.widget-archive-category'));
    $('h3',$('.widget-archive-category')).css('cursor','pointer').one('click',function() {
      $.get('/blog/d/html/category_index.html', function(data) {
        svx_divsel.append(data);
        svx_showsnib(svx_divsel,svn_togico);
      });
    });
    $('h3',$('.widget-archive-category')).toggle(
      function() {
        svx_showsnib(svx_divsel,svn_togico);
      },
      function() {
        svx_hidesnib(svx_divsel,svn_togico);
      }
    );
  }


  var svx_cdns = 'http://www-01.evenserver.com/s/';

  if($('.thickbox').length > 0) {
    $.getScript(svx_cdns+'js/jquery/plugins/thickbox-compressed.js', function() {
      svx_loadcss(svx_cdns+'css/thickbox.min.css');
    });
  }

  if($('pre').length > 0) {
    $.getScript(svx_cdns+'pkgs/shjs-0.6/sh_main.min.js', function() {
      $('<link>', {
        'rel':  'stylesheet',
        'type': 'text/css',
        'href': svx_cdns+'pkgs/shjs-0.6/css/sh_vim-dark.min.css'
      }).appendTo('head');
      sh_highlightDocument('/s/pkgs/shjs-0.6/lang/', '.min.js');
    });
  }

  if($('.svx-jcorner').length > 0) {
    $.getScript(svx_cdns+'js/jquery/plugins/jquery.corner.min.js', function() {
      $('.svx-jcorner').corner().show();
    });
  }

  if(typeof(entry_id) !== 'undefined') {

    if($('a', $('.svx_neighbor_pg')).length > 0) {
      $.getScript('/s/pkgs/tipsy/js/jquery.tipsy.min.js', function() {
        svx_loadcss('/s/pkgs/tipsy/src/stylesheets/tipsy.css');
        $('a', $('.svx_neighbor_pg')).tipsy({gravity: 's'});
      });
    }

    if($('#comments-form',$('#alpha-inner')).length==0) {
      $.get('/s/html/comment_form.html', function(data) {
        $('#comments-open',$('#alpha-inner')).html(data);
        $('<input />', {
          'type': 'hidden',
          'name': 'entry_id',
          'val': entry_id
        }).appendTo('#comments-form');

        mtEntryOnLoad();
        $(window).unload(function() { mtEntryOnUnload(); });
      });
    }

    
  }

});
