// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// counter.js
// Copyright (c) 2004-2010 ipHouse.  All rights reserved.

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// update counter

  function update_counter (field) {
    var name = field.name;
    var form_elem = field.form.elements;

    if (name == 'username') {
      field.value = field.value.replace(/[^a-zA-Z0-9_@.-]/g,'');
    } else if (name == 'counter') {
      field.value = field.value.replace(/ +/g,'_');
      field.value = field.value.replace(/[^a-zA-Z0-9_]/g,'');
    } else if (name == 'frgb') {
      field.value = field.value.replace(/[^a-fA-F0-9]/g,'');
    } else if (name == 'fr' || name == 'fg' || name == 'fb') {
      if (selv(field) == '') {
        form_elem['fr'].selectedIndex = 0;
        form_elem['fg'].selectedIndex = 0;
        form_elem['fb'].selectedIndex = 0;
      } else {
        if (form_elem['fr'].selectedIndex == 0) {
          form_elem['fr'].selectedIndex = 1;
        }
        if (form_elem['fg'].selectedIndex == 0) {
          form_elem['fg'].selectedIndex = 1;
        }
        if (form_elem['fb'].selectedIndex == 0) {
          form_elem['fb'].selectedIndex = 1;
        }
      }
      if (form_elem['fr'].selectedIndex > 0) {
        form_elem['frgb'].value = selv(form_elem['fr'])
                                + selv(form_elem['fg'])
                                + selv(form_elem['fb']);
      }
    }
    var domains = new Array('iphouse.com', 'iphouse.net',
                            'bitstream.net', 'goldengate.net', 'pro-ns.net');
    var valid = new RegExp('^.+@(' + domains.join('|') + ')$');
    var name;

    if (form_elem['username'].value != ''
      && form_elem['username'].value.match(valid)
      && form_elem['counter'].value != ''
    ) {
      name = form_elem['username'].value + '.' + form_elem['counter'].value;
    } else {
      name = 'iphouse';
    }
    var domain = 'iphouse.com'; // form_elem['domain'].value;
    var src = 'http://members.' + domain + '/cgi-bin/counter?df=' + name;

    if (selv(form_elem['dd']) != '') {
      src += '&amp;dd=' + selv(form_elem['dd']);
    }
    if (selv(form_elem['ft']) != '') {
      src += '&amp;ft=' + selv(form_elem['ft']);

      if (form_elem['frgb'].value != ''
        && form_elem['frgb'].value != '648BD8'
      ) {
        src += '&amp;frgb=' + form_elem['frgb'].value;
      }
    }
    if (selv(form_elem['md']) != '') {
      src += '&amp;md=' + selv(form_elem['md']);
    }
    if (selv(form_elem['pad']) != '') {
      src += '&amp;pad=' + selv(form_elem['pad']);
    }
    if (selv(form_elem['comma']) != '') {
      src += '&amp;comma=' + selv(form_elem['comma']);
    }
    if (selv(form_elem['degrees']) != '') {
      src += '&amp;degrees=' + selv(form_elem['degrees']);
    }
    if (name != 'iphouse') {
      form_elem['tag'].value = '<img src="' + src + '">';
    } else {
      form_elem['tag'].value = '';
    }
    src = src.replace(/&amp;/g,'&');
    document.getElementById('image').src = src + '&incr=0';

    return true;
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// select field

  function selv (sel) {
    return sel.options[sel.selectedIndex].value;
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
