function moveCarousel(dir, element, text)
{
    var carousel = document.getElementById(element);
    //var imgs = carousel.getElementsByTagName('ul').childNodes;
    var imgs = getElementsByClass('project',carousel,'li')
  
    var total = imgs.length;

    var width = $(imgs[0]).getWidth();

    var x = ($(element).getStyle('left') == null) ? '0px' : $(element).getStyle('left');

    x = String(x.substring(0, (x.length - 2)));

    if (dir == 'next') {
        var image = (x == 0) ? 2 : ((Math.abs(x) / width) + 2);
    } else if (dir == 'prev') {
        var image = (Math.abs(x) / width);
    } else {
        return false;
    }

    if (!$(imgs[image - 1])) {
        return false;
    }

    if (dir == 'next') {

        if (x > -(width * (total - 3))) {
            new Effect.Fade(element, { duration: 0.2, to: 0.5 });
            new Effect.MoveBy(element, 0, 0 , { x: -width, y: 0, delay: 0.2, duration: 0.2,  transition: Effect.Transitions.sinoidal});
            new Effect.Appear(element, { delay: 0.5, duration: 0.2, from: 0.5});
            //$(text).update($(imgs[image - 1]).readAttribute('title'));
            return true;
        }

    } else if (dir == 'prev') {

        if (x < 0) {
            new Effect.Fade(element, { duration: 0.2, to: 0.5 });
            new Effect.MoveBy(element, 0, 0 , { x: width, y: 0,  delay: 0.2, duration: 0.2,  transition: Effect.Transitions.sinoidal});
            new Effect.Appear(element, { delay: 0.5, duration: 0.2, from: 0.5});
            //$(text).update($(imgs[image - 1]).readAttribute('title'));
            return true;
        }

    } else {

        return false;

    }

    return false;
}


function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}
/* Work in progress */
function auto_carousel(element, delay){
/*
    var carousel = document.getElementById(element);
    var items = getElementsByClass('project',carousel,'li')
    var total = imgs.length;
    
    var x = ($(element).getStyle('left') == null) ? '0px' : $(element).getStyle('left');
    
    if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
*/
    setTimeout("moveCarousel('next', " + element + ", 'text')", delay);
}
   // start_slideshow(1, 4, 2000);
    
function start_slideshow(start_frame, end_frame, delay) {
    setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}
                        
function switch_slides(frame, start_frame, end_frame, delay) {
    return (function() {
        Effect.Fade('slideshow' + frame);
        if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
        setTimeout("Effect.Appear('slideshow" + frame + "');", 850);
        setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
    })
}
/*
window.onload = function (){
    auto_carousel('launchpad_ic_content', 200);
}*/
