/* Creation d'un element */
function JSDOM_create_element (HTML_id, HTML_class, type) {
  var e = document.createElement(type);
  if (HTML_id) e.id = HTML_id;
  if (HTML_class) e.className = HTML_class;
  
  return e;
}
function JSDOM_insert_element (HTML_id, HTML_class, type, parent_node, node_before) {
  var node = JSDOM_create_element(HTML_id, HTML_class, type);
  return JSDOM_insert_node(node, parent_node, node_before);
}

/* Creation d'un div */
function JSDOM_create_div (HTML_id, HTML_class) {
  var div = document.createElement('div');
  if (HTML_id) div.id = HTML_id;
  if (HTML_class) div.className = HTML_class;
  
  return div;
}
function JSDOM_insert_div (HTML_id, HTML_class, parent_node, node_before) {
  var node = JSDOM_create_div(HTML_id, HTML_class);
  return JSDOM_insert_node(node, parent_node, node_before);
}


/* Creation d'une image */
function JSDOM_create_img (HTML_id, HTML_class, HTML_src, HTML_title) {
  var img = document.createElement('img');
  if (HTML_id) img.id = HTML_id;
  if (HTML_class) img.className = HTML_class;
  img.src = HTML_src;
  img.title = HTML_title;
  
  return img;
}
function JSDOM_insert_img (HTML_id, HTML_class, HTML_src, HTML_title, parent_node, node_before) {
  var node = JSDOM_create_img(HTML_id, HTML_class, HTML_src, HTML_title);
  return JSDOM_insert_node(node, parent_node, node_before);
}


/* Creation d'un texte dans une balise au choix */
function JSDOM_create_text (HTML_balise, HTML_id, HTML_class, texte) {
  var balise = document.createElement(HTML_balise);
  if (HTML_id) balise.id = HTML_id;
  if (HTML_class) balise.className = HTML_class;
  
  
  var texte_sp = texte.split("\n");
  for (var i = 0; i<texte_sp.length; i++) {
    if (i > 0) balise.appendChild(document.createElement('br'));
    balise.appendChild(document.createTextNode(texte_sp[i]));
  }
  
  return balise;
}
function JSDOM_insert_text (HTML_balise, HTML_id, HTML_class, texte, parent_node, node_before) {
  var node = JSDOM_create_text(HTML_balise, HTML_id, HTML_class, texte);
  return JSDOM_insert_node(node, parent_node, node_before);
}





function JSDOM_insert_node (node, parent_node, node_before) {
  if (node_before) {
    parent_node.insertBefore(node, node_before);
  } else {
    parent_node.appendChild(node);
  }
  
  return node;
}
