(document.layers) ? layerobject=true : layerobject=false;
(document.all) ? allobject = true: allobject = false;
(document.getElementById) ? dom = true : dom = false;
opera=navigator.userAgent.toLowerCase().indexOf('opera')!=-1;
var hires = false;

function getElement(layerName,parentLayer) {
	if (allobject) return document.all[layerName];
	if (dom) return document.getElementById(layerName);
	if (layerobject) {
		parentLayer = (parentLayer)? parentLayer : self;
		layerCollection = parentLayer.document.layers;
		if (layerCollection[layerName])
			return layerCollection[layerName];
			for(i=0; i < layerCollection.length;)
				return(getElement(layerName, layerCollection[i++]));
	}
}

function hide(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.visibility = 'hide';
	else
		theLayer.style.visibility = 'hidden';
}

function show(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.visibility = 'show';
	else
		theLayer.style.visibility = 'visible';
}

function conceal(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.display = 'none';
	else
		theLayer.style.display = 'none';
}

function display(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.display = 'inline';
	else
		theLayer.style.display = 'inline';
}

function setX(layerName, x) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		theLayer.left=x;
	} else if (opera) {
		theLayer.style.pixelLeft=x;
	} else {
		theLayer.style.left=x+"px";
	}
}

function getX(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		return parseInt(theLayer.left);
	} else if (opera) {
		return parseInt(theLayer.style.pixelLeft);
	} else {
		return parseInt(theLayer.style.left);
	}
}

function getHeight(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		return parseInt(theLayer.height);
	} else if (opera) {
		return parseInt(theLayer.style.pixelHeight);
	} else {
		return parseInt(theLayer.style.height);
	}
}

function setY(layerName, y) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.top=y;
	else if (opera)
		theLayer.style.pixelTop=y;
	else
		theLayer.style.top=y+"px";
}

function getY(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		return parseInt(theLayer.top);
	else if (opera)
		return parseInt(theLayer.style.pixelTop);
	else
		return parseInt(theLayer.style.top);
}

function setZ(layerName, zIndex) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.zIndex = zIndex;
	else
		theLayer.style.zIndex = zIndex;
}

function setHeight(layerName, height) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.clip.height = height;
	else if (opera)
		theLayer.style.pixelHeight = height;
	else
		theLayer.style.height = height+"px";
}

function setWidth(layerName, width) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.clip.width = width;
	else if (opera)
		theLayer.style.pixelWidth = width;
	else
		theLayer.style.width = width+"px";
}

function setClip(layerName, top, right, bottom, left) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		theLayer.clip.top = top;
		theLayer.clip.right = right;
		theLayer.clip.bottom = bottom;
		theLayer.clip.left = left;
	} else {
		theLayer.style.clip = "rect("+top+"px "+right+"px "+" "+bottom+"px "+left+"px )";
	}
}

function setContents(layerName, content) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		theLayer.document.write(content);
		theLayer.document.close();
		return;
	}
	if (theLayer.innerHTML)
		theLayer.innerHTML = content;
}

function addClass(layerName, className) {    
    var theLayer = getElement(layerName);
    if (!hasClass(layerName, className)) {        
        if (theLayer.className) theLayer.className += " " + className;        
        else theLayer.className = className;    
    }
}

function removeClass(layerName, className) {    
    var theLayer = getElement(layerName);
    var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");    
    theLayer.className = theLayer.className.replace(regexp, "$2");
}

function hasClass(layerName, className) {
    var theLayer = getElement(layerName);
    var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
    return regexp.test(theLayer.className);
}

function setMainSize() {
    if (window.innerHeight) {
        if (window.innerHeight > 830) {
            hires = true;
        }
    } else {
        if (document.body.clientHeight > 830) {
            hires = true;
        }
    }

    if (hires) {
        removeClass('maindiv','maindivfr_small');
        addClass('maindiv','maindivfr_large');
    } else {
        removeClass('maindiv','maindivfr_large');
        addClass('maindiv','maindivfr_small');
    }
    show('maindiv');
}

function showFeatureImages() {
    if (window.innerHeight) {
        if (window.innerHeight > 830) {
            hires = true;
        }
    } else {
        if (document.body.clientHeight > 830) {
            hires = true;
        }
    }

    if (hires) {
        removeClass('maindiv','maindivfr_small');
        removeClass('latestupdate','latestupdate_small');
        addClass('maindiv','maindivfr_large');
        addClass('latestupdate','latestupdate_large');       
    } else {
        removeClass('maindiv','maindivfr_large');
        removeClass('latestupdate','latestupdate_large');
        addClass('maindiv','maindivfr_small');
        addClass('latestupdate','latestupdate_small');       
    }
    show('maindiv');

	for (var i=1;i<5;i++) {
		if (getElement('featureimage'+i).width > 80 && getElement('featureimage'+i).width >= getElement('featureimage'+i).height + 30) { 
			getElement('featureimage'+i).width = 80; 
		} else if (getElement('featureimage'+i).height > 50 && getElement('featureimage'+i).height >= getElement('featureimage'+i).width - 30) { 
			getElement('featureimage'+i).height = 50; 
		}   
		show('featureimage'+i);
		if (hires) display('tech'+i);
	}
}

function startchat() {
	if (layerobject) {
		var curdisplay = getElement('chatframe').display;
	} else {
		var curdisplay = getElement('chatframe').style.display;
	}
	if (curdisplay == 'inline') {
		endchat();
	} else {
		getElement('chatframe').src = 'chatstart.aspx';
		if (window.innerWidth) {
			height = window.innerHeight;
			width = window.innerWidth;
		} else {
			height = document.body.clientHeight;
			width = document.body.clientWidth;
		}
		setX('chatframe',(width - 354) / 2);
		setY('chatframe',(height - 254) / 2);
		display('chatframe');
	}
}

function endchat() {
	conceal('chatframe');
	getElement('chatframe').src = '';
}

document.write('<iframe id="chatframe" frameborder="0" style="position:absolute; z-index:101; border:none; width:354px; height:254px; display:none;" src="">&nbsp;</iframe>');
