/*
 * $Id: lib.js,v 1.24 2009-08-12 14:27:05 corey Exp $
 */

/*
 * Tab Menu
 * <div id='tabmenu'>
 * <ul>
 *   <li><a class='tab1sel' href='javascript:tabmenu(1,5)'>Officers</a></li>
 *   <li><a class='tab2nsel' href='javascript:tabmenu(2,5)'>Directors</a></li>
 *   <li><a class='tab3nsel' href='javascript:tabmenu(3,5)'>Others</a></li>
 *   <li><a class='tab4nsel' href='javascript:tabmenu(4,5)'>Connections</a></li>
 *   <li><a class='tab5nsel' href='javascript:tabmenu(5,5)'>Releases</a></li>
 * </ul>
 * </div>
 *
 */
function tabmenu(tabmenuID,maxitems) {
  var element = 'tabmenu' + tabmenuID;
  var i;
  var oldHTML = $('tabmenu').innerHTML;
  var newHTML = oldHTML.replace(/tab([1-9])sel/g, 'tab$1nsel');
  for(i=1; i<=maxitems; i++) {
    var element = 'tabmenu' + i;
    if ( tabmenuID == i ) {
      $(element).style.display = 'block';
      var old_sel = 'tab' + i + 'nsel';
      var new_sel = 'tab' + i + 'sel';
      selHTML = newHTML.replace(old_sel, new_sel);
      $('tabmenu').innerHTML = selHTML;
    }
    else {
      $(element).style.display = 'none';
    }
  }
}

function contactus() {
  document.write('<blockquote>You can <a href=/login>login</a> (free) to access all of our tools.<br>For more information, send e-mail to ');
  document.write('<');
  document.write('a h');
  document.write('re');
  document.write('f=');
  document.write('mai');
  document.write('lto:inf');
  document.write('o@i');
  document.write('mplu.c');
  document.write('om>in');
  document.write('fo@i');
  document.write('mplu.c');
  document.write('om<');
  document.write('/a>');
  document.write(', or give us a call at<br>');
  document.write('1-310-882-6498 x220.</blockquote>');
}

function ShowRadius() {
  var zip=$('zip').value;
  if ( zip.length == 5 ) {
    $('radius').style.display = 'inline';
  }
  else {
    $('radius').style.display = 'none';
  }
  return false;
}

function CompPeep() {
  if ( $('cp').value == 'P' ) {
    $('peoplefilters').style.display = 'block';
  }
  else {
    $('peoplefilters').style.display = 'none';
  }
  return false;
}

function CustomNPSInit() {
  ShowRadius();
  return false;
}

function CustomSearchInit() {
  CompPeep();
  ShowRadius();
  return false;
}

function showhidesic(){
  if ( $('sic').style.display == "block" ) {
    $('sic').style.display = "none";
  }
  else {
    $('sic').style.display = "block";
  }
}

function jumper(form) {
  /*
   * Remove any non-alpha characters, and replace spaces
   * with underscores.
   */
  var search_string = form.elements[0].value;
  search_string = search_string.replace(/[^0-9A-Za-z\- ]+/g, "");
  search_string = search_string.replace(/(\s+)/g, "_");
  form.action= '/search/' + search_string;
  form.elements[0].value = '';
  form.elements[0].disabled = true;
  form.submit();
  return false;
}

function social_jumper(form) {
  /*
   * Remove any non-alpha characters, and replace spaces
   * with underscores.
   */
  var search_string = form.elements[0].value;
  search_string = search_string.replace(/[^0-9A-Za-z\_\- ]+/g, "");
  search_string = search_string.replace(/(\s+)/g, "_");
  form.action= '/t/' + search_string;
  form.elements[0].value = '';
  form.elements[0].disabled = true;
  form.submit();
  return false;
}

function contractor_zip_state(form) {
  var zip = form.elements[0].value;
  var start_url = form.elements[1].value;
  var state = form.elements[2].value;
  if ( zip != '' ) {
    form.action= start_url + '/z/' + zip;
  }
  else if ( state != '' ) {
    form.action= start_url + '/st/' + state;
  }
  form.submit();
  return false;
}

function contractor_socio(form) {
  var dest = form.elements[0].value;
  form.action = dest;
  form.submit();
}

function nh_zip_state(form) {
  contractor_zip_state(form);
  return false;
}

/* Banter Stuff */

function banter_vote(snipid, the_vote) {
  var myAjax = new Ajax.Request(
    '/banter_vote?snipid=' + snipid + '&vote=' + the_vote, {
    method: 'get',
    onSuccess: function(transport) {
      update_banter_snippet(snipid, 0);
    }
    });
}

function banter_abuse(snipid,abuse_type) {
  /*
   * abuse_type: 1=snippet, 2=comment
   */
  var myAjax = new Ajax.Request(
    '/banter_abuse?id=' + snipid + '&abuse_type=' + abuse_type, {
    method: 'get'
    });
  alert("Thank you for reporting abuse.");
}

function banter_comment(snipid) {
  var cmt_area = 'mycomment' + snipid;
  $(cmt_area).innerHTML = "<br><form action='javascript:banter_make_comment(" + snipid + ")'><textarea type=text id=comment rows=5 cols=50></textarea><br><input type=submit value='Comment'><input type=button value='Cancel' onclick=\"javascript:banter_generic_cancel('mycomment" + snipid + "')\"></form>";
  $('comment').focus();
}

function banter_make_comment(snipid) {
  var cmt_area = 'mycomment' + snipid;
  var the_comment = $('comment').value;
  $(cmt_area).innerHTML = the_comment;
  var myAjax = new Ajax.Request(
    '/banter_comment', {
    method: 'post',
    postBody: 'snipid=' + snipid + '&comment=' + encodeURIComponent(the_comment),
    onSuccess: function(transport) {
      update_banter_snippet(snipid, 1);
    }
    });
}

function banter_tag(snipid) {
  var tag_form = 'banter_tag_form' + snipid;
  $(tag_form).innerHTML = " <form action='javascript:banter_tag_enter(" + snipid + ")'><input type=text id=banter_new_tag size=40><input type=submit value='Add'><input type=button value='Cancel' onclick=\"javascript:banter_generic_cancel('banter_tag_form" + snipid + "')\"></form>";
  $('banter_new_tag').focus();
}

function banter_tag_enter(snipid) {
  var tag_form = 'banter_tag_form' + snipid;
  var the_tag = $('banter_new_tag').value;
  var myAjax = new Ajax.Request(
    '/banter_tag?snipid=' + snipid + '&tag=' + encodeURIComponent(the_tag), {
    method: 'get',
    onSuccess: function(transport) {
      update_banter_snippet(snipid, 0);
    }
    });
}

function banter_ignore(snipid) {
  var myAjax = new Ajax.Request(
    '/banter_ignore?snipid=' + snipid, {
    method: 'get',
    onSuccess: function(transport) {
      update_banter_snippet(snipid, 0);
    }
    });
}

function banter_edit(snipid) {
  var tag_enclosure = 'banter_edit' + snipid;
  var myAjax = new Ajax.Request(
    '/banter_edit', {
    method: 'post',
    postBody: 'show=1&snipid=' + snipid,
    onSuccess: function(transport) {
      $(tag_enclosure).innerHTML = transport.responseText;
      $('banter_edit_title'+snipid).focus();
    }
    });
}

function banter_save_edit(snipid) {
  var new_title = $('banter_edit_title' + snipid).value;
  var new_description = $('banter_edit_description' + snipid).value;
  var myAjax = new Ajax.Request(
    '/banter_edit', {
    method: 'post',
    postBody: 'show=0&snipid=' + snipid + '&title=' + encodeURIComponent(new_title) + '&description=' + encodeURIComponent(new_description),
    onSuccess: function(transport) {
      update_banter_snippet(snipid, 0);
    }
    });
}

function banter_related_search(snipid) {
    var related_enclosure = 'banter_related_form' + snipid;
    var myAjax = new Ajax.Request(
      '/banter_search?snipid=' + snipid + '&s=' + encodeURIComponent($('banter_search_string').value), {
      method: 'get',
      onSuccess: function(transport) {
        $(related_enclosure).innerHTML = "<form action='javascript:banter_related_search("+snipid+")'>Search for Related URLs: <input type=text id=banter_search_string size=40><input type=submit value='Search'><input type=button value='Cancel' onclick=\"javascript:banter_generic_cancel('banter_related_form" + snipid + "')\"></form>" + transport.responseText;
      }
      });
}

function banter_related(snipid) {
  var related_enclosure = 'banter_related_form' + snipid;
  $(related_enclosure).innerHTML = "<form action='javascript:banter_related_search("+snipid+")'>Search for Related URLs: <input type=text id=banter_search_string size=40><input type=submit value='Search'><input type=button value='Cancel' onclick=\"javascript:banter_generic_cancel('banter_related_form" + snipid + "')\"></form>";
  $('banter_search_string').focus();
}

function banter_generic_cancel(enclosure) {
  $(enclosure).innerHTML = '';
}

function banter_related_enter(snipid, url, title, search_string) {
  var myAjax = new Ajax.Request(
    '/banter_related?snipid=' + snipid + '&title=' + encodeURIComponent(title) + '&url=' + encodeURIComponent(url) + '&s=' + encodeURIComponent(search_string), {
    method: 'get',
    onSuccess: function(transport) {
      update_banter_snippet(snipid);
    }
    });
}

function banter_related_del(snipid, url) {
  var myAjax = new Ajax.Request(
    '/banter_related?delid=' + snipid + '&url=' + encodeURIComponent(url), {
    method: 'get',
    onSuccess: function(transport) {
      update_banter_snippet(snipid);
    }
    });
}

function update_banter_snippet(snipid, force_comments) {
  var show_comments = $('banter_show_comments').innerHTML;
  var show_teaser = $('banter_show_teaser').innerHTML;
  if ( force_comments == 1 ) {
    show_comments = 1;
  }
  var myAjax = new Ajax.Request(
    '/banter_snippet?snipid=' + snipid + '&comments=' + show_comments + '&teaser=' + show_teaser, {
      method: 'get',
      onSuccess: function(transport) {
        $('banter_snippet'+snipid).innerHTML = transport.responseText;
      }
    });
}

function banter_recent() {
  var url = location.href;
  var myAjax = new Ajax.Request(
    '/banter_recent?url=' + encodeURIComponent(url), {
      method: 'get',
      onSuccess: function(transport) {
        $('banter_recent').innerHTML = transport.responseText;
      }
    });
}

function banter_doc_save(did, doc_name) {
  var myAjax = new Ajax.Request(
    '/banter_doc', {
    method: 'post',
    postBody: 'update=1&did=' + did + '&html=' + encodeURIComponent($('banter_html'+did).value) + "&name=" + encodeURIComponent(doc_name),
    onSuccess: function(transport) {
      $('banter_doc_ctrl'+did).innerHTML = $('banter_html'+did).value;
      if ( did == 0 ) {
        location.reload();
      }
    }
    });
}

function banter_doc_delete(did) {
  var myAjax = new Ajax.Request(
    '/banter_doc?del=1&did=' + did, {
      method: 'get',
      onSuccess: function(transport) {
        $('banter_doc_ctrl'+did).innerHTML = "";
	location.reload();
      }
    });
}

function banter_doc_cancel(did) {
  var myAjax = new Ajax.Request(
    '/banter_doc?display=1&did=' + did, {
      method: 'get',
      onSuccess: function(transport) {
        $('banter_doc_ctrl'+did).innerHTML = transport.responseText;
      }
    });
}

function banter_doc(did, doc_name) {
  var myAjax = new Ajax.Request(
    '/banter_doc?edit=1&did=' + did + "&name=" + encodeURIComponent(doc_name), {
      method: 'get',
      onSuccess: function(transport) {
        $('banter_doc_ctrl'+did).innerHTML = transport.responseText;
        $('banter_html'+did).focus();
      }
    });
}

function banter_doc_move(did, direction, doc_name) {
  var myAjax = new Ajax.Request(
    '/banter_doc?move=1&did=' + did + "&dir=" + direction + "&name=" + encodeURIComponent(doc_name), {
      method: 'get',
      onSuccess: function(transport) {
	location.reload();
      }
    });
}
