function selectRange(element, start, end) {
  element.focus();
  
  if(window.ie) {
    var range = element.createTextRange();
    range.collapse(true);
    range.moveStart('character', start);
    range.moveEnd('character', end - start);
    range.select();
  }
  
  element.setSelectionRange(start, end);
}

var BetaID = {
  hash: null,
  icons: null,
  
  update: function(select, key) {
    select = $(select);
    
    var current = select.options[select.selectedIndex].value;
    var provider = select.options[select.selectedIndex].getAttribute('rel');
    
    $('nickname').value = '';
    $('fill-icon').src = BetaID.icons + 'ico_' + provider + '.gif';
    $('fill-schema').innerHTML = current.replace(key, '<span id="fill-nickname">' + key + '</span>');

  },
  
  fill: function(span) {
    span = $(span);
    span.innerHTML = this.value;
    
    var select = $('select-domain');
    $('openid_url').value = select.options[select.selectedIndex].value.replace('USUARIO', this.value);
  },
  
  create: function() {
    $('url').value = 'www.betaid.org';
    $('openid-form').submit();
    
    return false;
  },
 
  check: function() {
    var has_openid = Cookie.read('wordpress_openid');
    
    if(has_openid != undefined && has_openid != null && has_openid != '') {
      $('login-box').setStyle('display', 'none');
    }
    
  },
  
  reset: function() {
    Cookie.write('wordpress_openid', '', {path: '/'});
    
    $('comment-box').setStyle('display', 'none');
    $('login-box').setStyle('display', 'block');
    
    return false;
  },
  
  preview: function(check, container) {
    check     = $(check);
    container = $(container);
    
    if(check.get('checked')) {
      container.set('html', this.get('value'));
    }
  },
  
  when: function(trigger, element, callback, args) {
    element = $(element);
    
    if(element) {
      element.addEvent(trigger, callback.bind(element, args));
    }
  }
  
  
  
};
