var goal = {
  rules: {
    '.colour-swatch' : function(details) {
      details.onclick = function() {
        
        selected = document.getElementsByClassName('colour-swatch-selected');
        if (selected.length == 1) selected[0].className = 'colour-swatch';
        
        details.className = 'colour-swatch-selected';
        bits = details.id.split('-');
        $('colour-variety-' + bits[1]).value = bits[2];
        $('colour-variety-' + bits[1]).onclick();
        return false;
      }
    }
  }
}
Behaviour.register(goal.rules);

var cal;

function toggleTwisty(twisty, target)
{
  twisty.innerHTML = (target.style.display == 'none') ? '&#9660;' : '&#9658;';
  new Effect[Element.visible(target) ? 'BlindUp' : 'BlindDown'](target, { duration:0.5, fps:50, queue:'end' });
}

function load_div(div, url)
{
  new Ajax.Updater(div, url, { method: 'get', evalScripts:true});
}

function submit_form(div, url, form)
{
  var serializedForm = Form.serialize(form);
  new Ajax.Updater(div, url, {asynchronous:true, parameters:serializedForm, evalScripts:true});
}

function bulkUpdate(obj, value)
{
  var fields = document.getElementsByClassName(obj);
  for (var i=0; i<fields.length; i++)
  {
    fields[i].value = value;
  }
}

function sanitiseNameForUrl(text)
{
	return text.replace(/[^a-zA-Z 0-9]+/g,'').replace(/[ ]+/g, '-').toLowerCase();
}

var do_reloadProductList;
var selectItemCallback;

function activateWYSIWYG(textarea)
{
  var oFCKeditor = new FCKeditor(textarea);
  oFCKeditor.Value = $F(textarea);
  oFCKeditor.ReplaceTextarea();
}

function deactivateWYSIWYG(textarea)
{
  var oFCKeditor = FCKeditorAPI.GetInstance(textarea);
  xhtml = oFCKeditor.GetXHTML();
  
  $(textarea + '___Frame').parentNode.removeChild($(textarea + '___Frame'));
  $(textarea).style.display = 'block';
  
  $(textarea).value = xhtml;
}

function select_variety(selector, target, div)
{
  var serializedForm = Form.serialize(selector.form);
  new Ajax.Updater(div, target, {asynchronous:true, parameters:serializedForm, evalScripts:true});
}


function batchTickbox(group_class, selector)
{
  boxes = document.getElementsByClassName(group_class);
  for (var i=0; i<boxes.length; i++)
    boxes[i].checked = selector.checked;
}
function toggleSelects(vis)
{
  $A(document.getElementsByTagName('select')).each(function(select) {
    Element[vis](select);
  });
}

function bookmark()
{
    var title="Trampled Underfoot"
    var url="http://www.trampledunderfoot.com"
    if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if( window.opera && window.print )
    { var mbm = document.createElement('a');
    mbm.setAttribute('rel','sidebar');
    mbm.setAttribute('href',url);
    mbm.setAttribute('title',title);
    mbm.click(); }
    else if( document.all ) window.external.AddFavorite( url, title);
  }
  
function formTargetChooser(form, action)
{
  $(form).action = action;
  $(form).submit();
}

