var miliseconds = 1000;
var flipat = 5;
var pause = 0;
var counter = 0;
var saItemCount = 0;
var saItemCurrent = 0;
var t;

var saResetCounter = function() {
    counter = 0;
    //console.log("reset counter");
};
var incrementcounter = function() {
    if (pause != 1) {
        counter = counter + 1;
        //console.log("counter = " + counter);
    } else {
        //console.log("paused");
    }
    if (counter >= flipat) {
       saItemNxt();
    }
    t = setTimeout("incrementcounter()", miliseconds);
};
var saItemSel = function(g) {
   //console.log("select "+g);
    if (g <= saItemCount) {
        saClearAll();
        saItemCurrent = g;
        $('saItem' + g).set('class', 'selected');
        $('saNavItem' + g).set('class', 'selected');
    } else {    
    //console.log("fail select g:"+g); saNavClear();
    }
};
var saItemPrv = function(goto) {
   //console.log("current item " + saItemCurrent); 
    if (saItemCurrent > 0) {
       var tmp=saItemCurrent-1;
       saItemSel(tmp);
        //console.log("prev");
    } else {
       saItemSel(saItemCount);
        //console.log("prev wrap");
    }
};
var saItemNxt = function() {
   //console.log("current item " + saItemCurrent); 
    if (saItemCurrent < saItemCount) {
       var tmp=(saItemCurrent+1);
       saItemSel(tmp);
        //console.log("next");
    } else {
       saItemSel(0);
        //console.log("next wrap");
    }
};
var saItemsClear = function() {
    if (saItemCount > 0) {
        $('saItems').getElements('div').each(function(el, i) {
            if (el.get('class') == 'saItem' || el.get('class') == 'selected') {
                el.set('class', 'deselected');
            }
        });
    }
};
var saNavClear = function() {
    if (saItemCount > 0) {
        $('saNav').getElements('span').each(
        function(el, i) {
            el.set('class', 'deselected');
        }
        );
    }
};
var saClearAll = function() {
    saItemsClear();
    saNavClear();
    saResetCounter();
};

var buildDL = function() {
   //try { console.log('init console... done'); } catch(e) { console = { log: function() {} } }
    var matches = [];
    var matched = 0;
    var tmp = 0;

    $('saItems').getElements('div').each(
    function(el, i) {
        if (el.get('class') == 'saItem') {
            el.set('id', 'saItem' + matched);
         //console.log('div.saItem found, naming "saItem' + matched+"\"");

            var newNavItem = new Element('span', {
                'class': 'saNavItem',
                'html': '<a href=\'#\'><strong>' + (matched+1) + '</strong></a>',
                'id': 'saNavItem' + (matched),
                'rel': (matched)
            });

            newNavItem.addEvent('click',
            function() {
                saClearAll();
                tmp = parseInt(newNavItem.get('rel'), 10);
            //console.log("tmp = " + tmp);
                saItemSel(tmp);
            
            });
            newNavItem.addEvent('mouseenter',
            function() {
                pause = 1;
            });
            newNavItem.addEvent('mouseleave',
            function() {
                pause = 0;
            });
            matches.include(newNavItem);
        matched += 1;

        }
        saItemCount = (matched-1);

    }
    );

   // Create or Hide Navigation, 
    if (matched > 1) {
        matches.each(function(el) {
            el.inject('saNavNxt', 'before');
            //   el.inject('saNavItems');
        });

        $('saNavPrv').addEvent('click',
        function() {
            saItemPrv();
        });

        $('saNavNxt').addEvent('click',
        function() {
            saItemNxt();
        });

        $('saNav').set('opacity', 0.8);

        $('saItems').addEvent('mouseenter',
        function() {
            pause = 1;
        });
        $('saItems').addEvent('mouseleave',
        function() {
            pause = 0;
        });
      saItemSel(0);
        incrementcounter();
    } else {
        $('saNav').set('opacity', 0);

    }

    if (matched > 0) {
        //$('saItem0').set('class', 'selected');
        //$('saNavItem0').set('class', 'selected');
    }

};

try {
   if ($defined($('saItems'))) {
      buildDL();
   }
} catch(e) {}
