

window.addEvent('domready', function() {

  // Setup the help icons:
  $$('a[class$=help_icon]').each(function(el,idx) {
    el.onclick = function() {
      if( this.parentNode.id + "" == "" )
        this.parentNode.id = "ID." + Math.random();
      var me = $(this.parentNode.id);
      
      this.parentNode.getElements('div[class$=help_content]').each(function(help) {
        help.style.display = help.style.display == "" ? "none" : help.style.display;
        help.style.display = help.style.display == "none" ? "block" : "none";
      });
      return false;
    };
  });
  
  $$('input[class$=url]').each(function(el,idx) {
    el.onfocus = function() {
      this.select();
    };
  });
  
  $('generator').onsubmit = validate_form;
  $('code').onfocus = function() { this.select(); };
  
  setTimeout(function() {
    var r = new MooRainbow('bg_color_picker', {
      startColor: [255,255,255],
      wheel:      true,
      onChange:   function(color) {
        $('bg_color').value = color.hex.toUpperCase();
        $('bg_color').style.backgroundColor = color.hex.toUpperCase();
      },
      onComplete: function(color) {
        $('bg_color').value = color.hex.toUpperCase();
        $('bg_color').style.backgroundColor = color.hex.toUpperCase();
      },
      imgPath: '/images/'
    });
  }, 200);
  
  setTimeout(function() {
    var r2 = new MooRainbow2('border_color_picker', {
      startColor: [0,0,0],
      wheel:      true,
      onChange:   function(color) {
        $('border_color').value = color.hex.toUpperCase();
        $('border_color').style.backgroundColor = color.hex.toUpperCase();
      },
      onComplete: function(color) {
        $('border_color').value = color.hex.toUpperCase();
        $('border_color').style.backgroundColor = color.hex.toUpperCase();
      },
      imgPath: '/images/'
    });
  }, 250);
  
  
//  showPreview();
});

function validate_form()
{
  var form = this;
  
  if( form.cbid.value.trim() == "" )
  {
    alert("ClickBank ID is Required");
    form.cbid.focus();
    return false;
  }// end if()
  
  if( form.cbid.value.trim().length < 5 || form.cbid.value.trim().length > 10 )
  {
    alert("ClickBank ID must be between 5 and 10 characters.");
    form.cbid.focus();
    return false;
  }// end if()
    
  showPreview();
  
  // Finally:
  return false;
}// end validate_form()


function showPreview()
{
  var form = $('generator');
  
  var type = form.search_type.options[ form.search_type.selectedIndex ].value;
  
  var code = $('code_template_' + type).value.toString();
  var size;
  for( var i = 0; i < form.size.length; i++ )
    if( form.size[i].checked )
      size = form.size[i].value.split("x");
  
  code = code.replace("%width%", size[0]);
  code = code.replace("%height%", size[1]);
  code = code.replace(/%tagLineHeight%/g, Math.min( (size[1] * 0.25 ), 24) );
  code = code.replace("%borderColor%", form.border_color.value.trim());
  code = code.replace("%borderWidth%", form.border_width.value.trim());
  code = code.replace("%backgroundColor%", form.bg_color.value.trim());
  var labelDisplay = size[0] <= 301 ? "block" : "inline";
  code = code.replace("%labelDisplay%", labelDisplay);
  var wrap = size[0] <= 160 ? "wrap" : "nowrap";
  var textWidth = size[0] <= 301 ? "50%" : "80px";
  code = code.replace("%textWidth%", textWidth);
  code = code.replace("%wrap%", wrap);
  code = code.replace("%nickname%", form.cbid.value.trim());
  code = code.replace("%tid%", form.tid.value.trim());
  $('code').value = code;
    
  $('preview_iframe').style.width = ( parseInt(size[0]) + 10 ) + "px";
  $('preview_iframe').style.height = ( parseInt(size[1]) + 10 ) + "px";
  $('submitter_form').code.value = code;
  $('submitter_form').submit();
}// end showPreview()


