
var hps_curPg = 1;
var hps_pgs = 0;
var hps_wid = 515;
var hps_playin = true;

var isLeftSliding = false;

var initSlider = function () {
    var slider = document.getElementById("slider");
    var elements = slider.getElementsByTagName("li");
    
    if (elements) {
        hps_wid = elements[0].offsetWidth;
    }
    
    slider.style.left='-' + hps_wid + 'px';
    slider.style.width = (hps_wid * elements.length) + 'px';
    
    document.getElementById('controlp').style.width = hps_wid + 'px';
    
    hps_pgs = (elements.length - 2);
    
    setTimeout("playa()", 7000);
}

var leftSlide = function(ele, to, onComplete) {
    isLeftSliding = true;
    var theEle = document.getElementById(ele);
    var curPos = theEle.offsetLeft;
    var forward = false;
    
    if ( curPos > to ) {
        forward = true;
    }
  
    var beChange = Math.abs( curPos - to );
    var easeArray  = makeMovementArray(beChange,1.33,true);
    
    for (var i = 0; i < easeArray.length; i++) {
        if (forward) {
            curPos = curPos - easeArray[i];
        }
        else {
            curPos = curPos + easeArray[i];
        }
        setTimeout("document.getElementById('"+ele+"').style.left='"+curPos+"px'",i*33);
        k = i*33;
    }
    
    setTimeout("document.getElementById('"+ele+"').style.left='"+to+"px'",k);
    setTimeout("isLeftSliding=false",k);
  
    if (onComplete != "") { 
        setTimeout(onComplete,k); 
    }
}

var goPg = function(dir, uInt) {
    if (uInt) {
        hps_playin = false;
    }
    goPgN(hps_curPg + dir, uInt);
}


var goPgN = function(pg, uInt) {
    if (uInt) {
        hps_playin = false;
    }
    if (!isLeftSliding) {
        hps_curPg = pg; 
        goPx = hps_curPg * hps_wid * -1; 
        leftSlide('slider',goPx,"chkPg()");
    }
}


var chkPg = function() { 
    var slider = document.getElementById('slider');
    if (hps_curPg > hps_pgs) { 
        slider.style.left = "-" + hps_wid + "px";
        hps_curPg = 1; 
    } 
    else if (hps_curPg < 1 ) { 
        slider.style.left = (hps_pgs*hps_wid*-1)+"px";
        hps_curPg = hps_pgs; 
    } 
    setPgImg(hps_curPg);
}


var setPgImg = function(pg) {
    var d = getElementsByClassName('li','pgdot');
    for (var i=0; i<d.length; i++) {
        if (i == (pg-1)) {
            d[i].style.backgroundPosition = (hps_overBxBl) ? "-28px -14px" : "-28px 0px";
            if ( !(d[i].className.indexOf("sel") > -1) ) {
                d[i].className = 'pgdot sel';
            }
        }
        else {
            d[i].style.backgroundPosition = (hps_overBxBl) ? "-42px -14px" : "-42px 0px";
            if ( d[i].className.indexOf("sel") > -1 ) {
                d[i].className = 'pgdot';
            }
        }
    }
}



var playa = function() {
    if (hps_playin) {
        goPg(1,false);
        setTimeout("playa()",7000);
    }
}
var hps_overBxBl = false;

var overBox = function() {
    hps_overBxBl = true;
    cssmodify('backgroundPosition','-42px -14px','li','pgdot');
    cssmodify('backgroundPosition','-28px -14px','li','pgdot sel');
    if(document.getElementById('leftar'))    document.getElementById('leftar').style.backgroundPosition = '0px -14px';
    if(document.getElementById('rightar'))   document.getElementById('rightar').style.backgroundPosition = '-14px -14px';
}

var offBox = function() {
    hps_overBxBl = false;
    cssmodify('backgroundPosition','-42px 0px','li','pgdot');
    cssmodify('backgroundPosition','-28px 0px','li','pgdot sel');
    if(document.getElementById('leftar'))    document.getElementById('leftar').style.backgroundPosition = '0px 0px';
    if(document.getElementById('rightar'))   document.getElementById('rightar').style.backgroundPosition = '-14px 0px';
}


function getElementsByClassName(element, classNameIs){
    var validElements = [];
    var allElements = document.getElementsByTagName(element);
    var z = 0;
    
    for (x = 0; x < allElements.length; x++) {
        if (allElements[x].className.indexOf(classNameIs) > -1) {
            validElements[z] = allElements[x];
            z++;
        }
    }
    return validElements;
}
      

function cssmodify(cssstyle,cssproperty,element,classNameIs){
    var validElements = getElementsByClassName(element,classNameIs);
    for (z = 0; z < validElements.length; z++) {
        validElements[z].style[cssstyle] = cssproperty;
    }
} 

           
function makeMovementArray(lft,pct,onlyEvens) {
    var updnAr = new Array();
    var noJumps = 15;
    var start = 0;
    
    if (onlyEvens) 
        start++;
    var nxt = start;
    var lftOvr = ( lft % 2 );
    lft = parseInt((parseInt(lft) / 2) - 1);
    var nextInt = start;
    updnAr[0] = start;
    var done = false;
    var k = 1;
            
    while (!done) {
        nxt = nxt * pct;
        nextInt = parseInt(nxt);
        if (onlyEvens) {
            if ( ( nextInt % 2) == 1 ) {
                nextInt++;
            }
        }
        
        if (nextInt < lft) {
            updnAr[k] = nextInt;
        }
        else {
            if (lft < updnAr[k-1] ) {
                updnAr[k-1] = updnAr[k-1] + lft;
            }
            else {
                updnAr[k] = lft;
            }
            done = true; 
        }
        
        lft = lft - nextInt;
        k++;
    }
    
    var g = updnAr.length;
    for (var w=(updnAr.length-1); w > -1; w--) {
        updnAr[g] = updnAr[w];
        if (lftOvr == 1) { 
            updnAr[w] = updnAr[w] + 1;
            lftOvr = 0;
        }
        g++;
    }
    return updnAr;
}