// Cache nav rollover images
if (document.images) {
  iC001 = new Image();  iC001.src="/img/nav/home_o.gif";
  iC002 = new Image();  iC002.src="/img/nav/firm_o.gif";
  iC003 = new Image();  iC003.src="/img/nav/projects_o.gif";
  iC004 = new Image();  iC004.src="/img/nav/commercial_o.gif";
  iC005 = new Image();  iC005.src="/img/nav/residential_o.gif";
  iC006 = new Image();  iC006.src="/img/nav/educational_o.gif";
  iC007 = new Image();  iC007.src="/img/nav/governmental_o.gif";
  iC008 = new Image();  iC008.src="/img/nav/nonprofit_o.gif";
  iC009 = new Image();  iC009.src="/img/nav/services_o.gif";
  iC010 = new Image();  iC010.src="/img/nav/clients_o.gif";
  iC011 = new Image();  iC011.src="/img/nav/contact_o.gif";
  iC012 = new Image();  iC012.src="/img/nav/commercial_s_o.gif";
  iC013 = new Image();  iC013.src="/img/nav/residential_s_o.gif";
  iC014 = new Image();  iC014.src="/img/nav/educational_s_o.gif";
  iC015 = new Image();  iC015.src="/img/nav/governmental_s_o.gif";
  iC016 = new Image();  iC016.src="/img/nav/nonprofit_s_o.gif";
}

var rolloverDone = false;
var sampleSrc = "";

function addEvent (obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent) {
        return obj.attachEvent("on" + evType, fn);
    } else {
        return false;
    }
}

function enableRollOver() {
    // Check roll over state to stop Opera from updating multiple times
    if (rolloverDone) {
        return;
    }
    rolloverDone = true;

    // Sore image source for 'Projects' nav item
    var projItem = document.getElementById('nav_proj');
    if (projItem.realSrc === undefined) {
        var imgSrc= projItem.src;
    } else {
        var imgSrc = projItem.realSrc;
    }
    projItem.holdSrc = imgSrc;

    // Get all images on page
    var imgList = document.getElementsByTagName("IMG");
    for (var i=0; i < imgList.length; i++) {
        // Check for rollover class
        if (imgList[i].className.match(new RegExp("rollover", "i"))) {
            if (imgList[i].realSrc === undefined) {
                var imgSrc= imgList[i].src;
            } else {
                var imgSrc = imgList[i].realSrc;
            }
            // Store image source
            imgList[i].holdSrc = imgSrc;
            // Add event handlers
            imgList[i].onmouseover = function() { imageSwap(this,'o'); }
            imgList[i].onmouseout  = function() { imageSwap(this,''); }
            //imgList[i].onmousedown = function() { imageSwap(this,'d'); }
            //imgList[i].onmouseup = function() { imageSwap(this,'o'); }
        }

        // Check for rollover class related to 'Projects' nav item
        if (imgList[i].className.match(new RegExp("rollproj", "i"))) {
            if (imgList[i].realSrc === undefined) {
                var imgSrc= imgList[i].src;
            } else {
                var imgSrc = imgList[i].realSrc;
            }
            // Store image source
            imgList[i].holdSrc = imgSrc;
            // Add event handlers
            imgList[i].onmouseover = function() { imageSwap(this,'o'); projSwap('o'); }
            imgList[i].onmouseout  = function() { imageSwap(this,''); projSwap(''); }
        }
    }
}

function imageSwap(item, state) {
    // Get image source
    var imgSrc = item.holdSrc;

    // Check whether '/' exists.
    if (imgSrc.lastIndexOf('/') !=-1) {
        // Get position data to extract name
        firstpos = imgSrc.lastIndexOf('/')+1;
        lastpos = imgSrc.length;
        imgPath = imgSrc.substring(0, firstpos-1);
        imgFullName = imgSrc.substring(firstpos, lastpos);

        // Strip extension
        tmpSplit = imgFullName.split('.');
        imgBase = tmpSplit[0];
        imgExt = tmpSplit[1];

        // Build new image name
        switch(state) {
            case 'o': {
                newBase = imgBase + "_o";
                break;
            }
            case 'd': {
                newBase = imgBase + "_d";
                break;
            }
            default: {
                newBase = imgBase;
                break;
            }
        }

        // Build new source path
        newSrc = imgPath + "/" + newBase + "." + imgExt;

        // Show new image
        item.src= newSrc;
    }
}

function projSwap(state) {
    var projItem = document.getElementById('nav_proj');
    imageSwap(projItem, state);
}

function showSample(imgSrc) {
    // Store current img
    sampleSrc = document.getElementById('samplelarge').src;
    // Swap image
    document.getElementById('samplelarge').src = imgSrc;
}

function returnSample() {
    document.getElementById('samplelarge').src = sampleSrc;
}

//------------------------------------------

addEvent(window, 'load', enableRollOver);
