﻿function createElement(el, attrs) {
   var newEl = document.createElement(el);

   attrs = attrs || {};
   if (attrs.className) {
      YAHOO.util.Dom.addClass(newEl, attrs.className);
   }

   if (attrs.parent) {
      attrs.parent.appendChild(newEl);
   }

   if (attrs.id) {
      newEl.setAttribute("id", attrs.id);
   }

   if (attrs.content) {
      if (attrs.content.nodeName) {
         newEl.appendChild(attrs.content);
      } else {
         newEl.innerHTML = attrs.content;
      }
   }

   return newEl;
}

function addPlayButton(aCarousel) {
   var newButton = createElement("span",
         { className: aCarousel.CLASSES.BUTTON + " yui-carousel-play" });
   // XXX: for IE 6.x
   YAHOO.util.Dom.setStyle(newButton, "visibility", "visible");
   var btn = YAHOO.util.Dom.generateId();
   newButton.innerHTML = "<input type=\"button\" " +
         "id=\"" + btn + "\" " +
         "value=\"Play\" " +
         "name=\"Play\">";

   var navContainer = YAHOO.util.Dom.getElementsByClassName(
         aCarousel.CLASSES.NAVIGATION, "div",
         aCarousel.get("element"));
   navContainer = navContainer[0];
   navContainer.appendChild(newButton);
   btn = YAHOO.util.Dom.get(btn);
   aCarousel._navBtns.play = [btn];
   YAHOO.util.Event.on(newButton, "click", function(){play(aCarousel)}, null);
}

function addPauseButton(aCarousel) {
   var newButton = createElement("span",
         { className: aCarousel.CLASSES.BUTTON + " yui-carousel-pause" });
   // XXX: for IE 6.x
   YAHOO.util.Dom.setStyle(newButton, "visibility", "visible");
   var btn = YAHOO.util.Dom.generateId();
   newButton.innerHTML = "<input type=\"button\" " +
         "id=\"" + btn + "\" " +
         "value=\"Pause\" " +
         "name=\"Pause\">";

   var navContainer = YAHOO.util.Dom.getElementsByClassName(
         aCarousel.CLASSES.NAVIGATION, "div",
         aCarousel.get("element"));
   navContainer = navContainer[0];
   navContainer.appendChild(newButton);
   btn = YAHOO.util.Dom.get(btn);
   aCarousel._navBtns.pause = [btn];
   YAHOO.util.Event.on(newButton, "click", function(){pause(aCarousel)}, null);
}

function pause(aCarousel) {
   aCarousel.stopAutoPlay();
   aCarousel.focus();
}

function play(aCarousel) {
   aCarousel.set("autoPlay", 5000);
   aCarousel.startAutoPlay();
   aCarousel.focus();
}
