// Copyright 2010 Transmogrifier E-Solutions
// n.b. these functions are from Autodev

/**
* Detect IE
**/
var is_msie = false;
if (navigator.userAgent.match ('MSIE') !== null) is_msie = true;


///
/// Functions to make IE play nice with DOM hacking
///

/**
* Create an element
**/
function create_element (tag_name, attribs) {
  
  var element = null;
  
  tag_name = String (tag_name);
  tag_name = tag_name.toLowerCase ();
  
  // IE is broken with many elements but its non-W3C methods seem to work
  if (is_msie) {
    var tag_text;
    tag_text = '<' + tag_name;
    for (var key in attribs) {
      tag_text += ' ' + String (key) + '="' + String (attribs[key]) + '"';
    }
    tag_text += '>';
    element = document.createElement (tag_text);
  } else {
    element = document.createElement (tag_name);
    for (var key in attribs) {
      element.setAttribute (String (key), String (attribs[key]));
    }
  }
  return element;
  
}

/**
* Create a select list
**/
function create_select (attribs, options, selected_key) {
  var select_node = create_element ('select', attribs);
  
  var i = 0;
  
  for (var key in options) {
    select_node.options[i++] = new Option (options[key], String (key));
    if (key == selected_key) {
      select_node.value = selected_key;
    }
  }
  return select_node;
}

