function ssGo(id, index) {
  if (!ss['ss_' + id].processing) {
    if (index > ss['ss_' + id].data.length || index < 1 || ss['ss_' + id].cur == index)
      return;
    ss['ss_' + id].processing = false;
    var nt = Ext.get('ss_nav_' + id + '_controls_throbber');
    nt.show(true);
    var n = Ext.get('ss_nav_' + id);
    var ni = Ext.get('ss_nav_' + id + '_images');
    var i = Ext.get('ss_nav_' + id + '_' + ss['ss_' + id].cur);
    if (i)
      i.setStyle('background-color', 'transparent');
    i = Ext.get('ss_nav_' + id + '_' + index);
    i.setStyle('background-color', '#333');
    var offsets = i.getOffsetsTo(ni);
    var niLast = Ext.get('ss_nav_' + id + '_' + ss['ss_' + id].data.length);
    var niWidth = niLast.getOffsetsTo(ni)[0] + ni.getWidth(true);
    var newX = offsets[0] - Math.floor(n.getWidth(true) / 2) + Math.floor(i.getWidth(true) / 2);
    if (newX < 0)
      newX = 0;
    if (newX > (niWidth - n.getWidth(true)))
      newX = niWidth - n.getWidth(true);
    if (n.isScrollable()) {
      n.scrollTo('left',
                 newX,
                 true);
    }

    var i1 = Ext.get('ss_image_' + id + '_1');
    i = Ext.get('ss_image_' + id);
    // show throbber
    var temp = new Image();
    temp.onload = function(){
      i1.setOpacity(0.0, true);
      window.setTimeout(function(){
        i1.dom.src = temp.src;
        i1.setOpacity(1.0, true);
        i1.center(i);
        window.setTimeout(function(){
          ss['ss_' + id].processing = false;
          nt.hide(true);}, 500);
      }, 500);
    };
    temp.src = '/media/' + id + '/ss1/' + ss['ss_' + id].data[index-1];

    ss['ss_' + id].cur = parseInt(index);
  }
}
function ssNext(id) {
  ssGo(id, ss['ss_' + id].cur + 1);
}
function ssPrev(id) {
  ssGo(id, ss['ss_' + id].cur - 1);
}
function initSs(id) {
  var ni = Ext.get('ss_nav_' + id + '_images');
  ni.insertHtml('beforeEnd', '<img class="ss_nav_padder" style="border-width: 0; padding: 0" alt="" src="/ui/spacer.png" />');
  for (var i=1; i<=ss['ss_' + id].data.length; i++) {
    ni.insertHtml('beforeEnd', '<a href="#" onclick="ssGo(\'' + id + '\', ' + i + '); this.blur(); return false"><img id="ss_nav_' + id + '_' + i + '" src="/media/' + id + '/ss1/tn/' + ss['ss_' + id].data[i-1] + '" /></a>');
  }
  ni.insertHtml('beforeEnd', '<img class="ss_nav_padder" style="border-width: 0; padding: 0" alt="" src="/ui/spacer.png" />');
  var i = Ext.get('ss_image_' + id);
  i.setStyle('height', ss['ss_' + id].max_height + 'px');
  var nc = Ext.get('ss_nav_' + id + '_controls');
  nc.setStyle('top', ss['ss_' + id].max_height + 'px');
  ssGo(id, 1);
}
var ss = new Array();

Ext.onReady(function(){
  var n2 = Ext.get('nav_top_nav_2');
  var n3 = Ext.get('nav_top_nav_3');
  var n4 = Ext.get('nav_top_nav_4');
  var s2 = Ext.get('s2');
  var s3 = Ext.get('s3');
  var s4 = Ext.get('s4');
  s2.enableDisplayMode('block');
  s3.enableDisplayMode('block');
  s4.enableDisplayMode('block');
  n2.on('mouseover', function(e){
    if (!Ext.get('s2').isDisplayed() || !e.within(Ext.get('nav_top_nav_2'), true))
    Ext.get('s2').show(true);
  });
  n2.on('mouseout', function(e){
    if (!e.within(Ext.get('nav_top_nav_2'), true))
    Ext.get('s2').hide(true);
  });
  n3.on('mouseover', function(e){
    if (!Ext.get('s3').isDisplayed() || !e.within(Ext.get('nav_top_nav_3'), true))
    Ext.get('s3').show(true);
  });
  n3.on('mouseout', function(e){
    if (!e.within(Ext.get('nav_top_nav_3'), true))
    Ext.get('s3').hide(true);
  });
  n4.on('mouseover', function(e){
    if (!Ext.get('s4').isDisplayed() || !e.within(Ext.get('nav_top_nav_4'), true))
    Ext.get('s4').show(true);
  });
  n4.on('mouseout', function(e){
    if (!e.within(Ext.get('nav_top_nav_4'), true))
    Ext.get('s4').hide(true);
  });
  Ext.get('nav_top_nav').show(true);
});

function toggleEmailto(i, t, p) {
  var e = Ext.get(i);
  e.enableDisplayMode('block');
  if (!e.isDisplayed()) {
    e.show(true);
    if (p) {
      document.forms['emailto'].elements['p'].value = p;
      var ep = Ext.get('post_footer_' + p);
      e.alignTo(ep, 't-b');
    }
  }
  else if (p && p != document.forms['emailto'].elements['p'].value) {
    document.forms['emailto'].elements['p'].value = p;
    var ep = Ext.get('post_footer_' + p);
    e.alignTo(ep, 't-b');
  }
  else
    e.hide(true);
  if (t.blur)
    t.blur();
}
function togglePcp(i, t) {
  var e = Ext.get(i);
  e.enableDisplayMode('block');
  if (!e.isDisplayed())
    e.show(true);
  else
    e.hide(true);
  if (t.blur)
    t.blur();
}

function prePc(f, id) {
  f.elements['a'].value = f.elements['n'].value.length + f.elements['d'].value.length + f.elements['u'].value.length + eval(f.elements['q'].value)+7;
  var p = Ext.get('post_' + id + '_comment_status');
  p.enableDisplayMode('block');
  Ext.get('post_' + id + '_comment_status_bar').dom.innerHTML = '';
  if (!p.isDisplayed())
    p.show(true);
  var pb = new Ext.ProgressBar({
    renderTo: 'post_' + id + '_comment_status_bar'
  });
  Ext.fly('post_' + id + '_comment_status_text').update('Submitting...');
  pb.wait({
    interval: 100,
    increment: 100
  });
  f.elements['s'].disabled = true;
  eval("function myCB(options, success, response) {\
      Ext.fly('post_" + id + "_comment_status_text').update('Done');\
      Ext.get('post_" + id + "_comment_status').hide(true);\
      options.form.elements['s'].disabled = false;\
      if (success && response.responseText == 'OK') {\
        options.form.reset();\
        Ext.Msg.show({\
          cls: 'msg_box',\
          title: 'Add Comment',\
          msg: 'Your comment was added successfully but may take a few minutes to appear.',\
          buttons: Ext.Msg.OK,\
          animEl: 'post_" + id + "_comment',\
          icon: Ext.MessageBox.INFO\
        });\
      }\
      else {\
        Ext.Msg.show({\
          cls: 'msg_box',\
          title: 'Add Comment',\
          msg: 'There was a problem adding your comment. Try again later or email us.',\
          buttons: Ext.Msg.OK,\
          animEl: 'post_" + id + "_comment',\
          icon: Ext.MessageBox.ERROR\
        });\
      }\
    }");
  Ext.Ajax.request({
    method: 'POST',
    form: f,
    callback: myCB
  });
  return false;
}


function doContact(f) {
  f.elements['s'].value = 'Sending...';
  f.elements['s'].disabled = true;
  eval("function myCB(options, success, response) {\
      f.elements['s'].value = 'Send';\
      options.form.elements['s'].disabled = false;\
      if (success && response.responseText == 'OK') {\
        options.form.reset();\
        Ext.Msg.show({\
          cls: 'msg_box',\
          title: 'Contact',\
          msg: 'Your message was sent successfully.',\
          buttons: Ext.Msg.OK,\
          animEl: 'contact',\
          icon: Ext.MessageBox.INFO\
        });\
      }\
      else {\
        Ext.Msg.show({\
          cls: 'msg_box',\
          title: 'Contact',\
          msg: 'There was a problem sending your message. Try again later or email us.',\
          buttons: Ext.Msg.OK,\
          animEl: 'contact',\
          icon: Ext.MessageBox.ERROR\
        });\
      }\
    }");
  Ext.Ajax.request({
    method: 'POST',
    form: f,
    callback: myCB
  });
  return false;
}


function doEmailto(f) {
  f.elements['s'].value = 'Sending...';
  f.elements['s'].disabled = true;
  eval("function myCB(options, success, response) {\
      f.elements['s'].value = 'Send';\
      options.form.elements['s'].disabled = false;\
      if (success && response.responseText == 'OK') {\
        options.form.reset();\
        Ext.Msg.show({\
          cls: 'msg_box',\
          title: 'Email Link',\
          msg: 'The link was sent successfully.',\
          buttons: Ext.Msg.OK,\
          animEl: 'emailto',\
          icon: Ext.MessageBox.INFO\
        });\
      }\
      else {\
        Ext.Msg.show({\
          cls: 'msg_box',\
          title: 'Email Link',\
          msg: 'There was a problem sending the link. Check the email address, try again later, or copy the link.',\
          buttons: Ext.Msg.OK,\
          animEl: 'emailto',\
          icon: Ext.MessageBox.ERROR\
        });\
      }\
    }");
  Ext.Ajax.request({
    method: 'POST',
    form: f,
    callback: myCB
  });
  return false;
}

var encN=1;
function decodeTxt(s){
var s1=unescape(s.substr(0,s.length-1));
var t='';
for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));
return unescape(t);
}
function encodeTxt(s){
s=escape(s);
var ta=new Array();
for(i=0;i<s.length;i++)ta[i]=s.charCodeAt(i)+encN;
return ""+escape(eval("String.fromCharCode("+ta+")"))+encN;
}
function wF(s){
document.write(decodeTxt(s));
}
