
function initSections() {
    aHeights = getSizes();
    pageHeight = aHeights[1];

    BackougroundPositionTop = (1200-pageHeight)/2;
    document.getElementById('body').style.backgroundPosition = 'center -'+BackougroundPositionTop+'px';
    document.getElementById('body').style.backgroundImage = 'url(images/bg.jpg)';

    elm = getElementsByClass('section');
    for(var i = 0; i < elm.length; i++) {
        elm[i].style.height = pageHeight+'px';
        if (i == elm.length-1) {
            elm[i].style.marginBottom = BackougroundPositionTop+'px';
        }
        elm[i].style.top = (1200*i)+'px';
        elm[i].style.visibility = 'visible';
    }
}

function showPortfolio(section) {
    elm = getElementsByClass('box-portfolio');
    for(var i = 0; i < elm.length; i++) {
        elm[i].style.display = 'none';
    }
    document.getElementById('box-portfolio-'+section).style.display = 'block';
}

function getSizes() {
    if (window.innerHeight && window.scrollMaxY) {
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }

    var windowWidth, windowHeight;
    if (self.innerHeight) { // all except Explorer
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }

    // for small pages with total height less then height of the viewport
    if (yScroll < windowHeight){
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }

    // for small pages with total width less then width of the viewport
    if (xScroll < windowWidth){
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }

    aSizes = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
    return aSizes;
}

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;
}



