var snw;
window.onload = function() {
	snw = document.getElementById('sub_nav_wrapper');
	snw.onmouseout = function(e) {
		if (!e) var e = window.event;
		var relTarg = e.relatedTarget || e.toElement;
		if (!BubbleUpTo(snw, relTarg)) {
			snw.style.display = 'none';
			snw.innerHTML = '';	
		}
	}
	navs = document.getElementById('nav_wrapper').getElementsByTagName('a');
	for(i=0; i<navs.length; i++) {
		if (navs[i] && navs[i].parentNode.id.length > 1) {
			navs[i].onmouseover = function(e) { ShowNav(GetTarget(e)); }
			navs[i].onmouseout = HideNav;
		}
	}
	document.getElementById('two_ch_btm').onmouseout = HideNav;
	
	//ImgHovers
	if (document.getElementById('mainRight')) {
		imgs = document.getElementById('mainRight').getElementsByTagName('img');
		for(c=0; c<imgs.length; c++) {
			if (imgs[c] && imgs[c].src.match(new RegExp('_thumb'))) { 
				imgs[c].onmouseover = PopUpImg;
			}
		}
	}
	
	if (document.getElementById('listing')) {
		imgs = document.getElementById('listing').getElementsByTagName('img');
		for(c=0; c<imgs.length; c++) {
			if (imgs[c] && imgs[c].src.match(new RegExp(''))) { 
				imgs[c].onmouseover = PopUpImg;
			}
		}
	}

}

function ShowNav(obj) {
	subnav = obj.parentNode.getElementsByTagName('ul');
	if (subnav[0]) {
		snw.innerHTML = subnav[0].innerHTML;
		snw.style.display = 'block';
		snw.className = 'place_' + subnav[0].parentNode.id;
	}
}

function HideNav(e) {
	if (!e) var e = window.event;
	var relTarg = e.relatedTarget || e.toElement;
	if (!BubbleUpTo(snw, relTarg)) {
		snw.style.display = 'none';
		snw.innerHTML = '';	
	}				
}

function BubbleUpTo(stopAt, obj) {
	for(c=0; c<50; c++) {
		if (obj == stopAt) {
			return true;
		} else if (!obj) {
			return false;
		} else {
			obj = obj.parentNode;
		}
	}
	return false;
}

//IMAGE POPUP CORE//
var image_width = 320;
var offsetfrommouse=[15,-300] //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset

function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function followmouse(e){
if (PopUp) {
	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];
	if (typeof e != "undefined"){
		xcoord+=e.pageX;
		ycoord+=e.pageY;
	}
	else if (typeof window.event !="undefined"){
		xcoord+=truebody().scrollLeft+event.clientX;
		ycoord+=truebody().scrollTop+event.clientY;
	}
	usex = xcoord - 500;
	PopUp.style.left=usex+"px";
	PopUp.style.top=ycoord+"px";
}
}

var PopUp;
function PopUpImg(e) {
	targ = GetTarget(e);
	
	targ.onmouseout = ClosePopUp;
	document.onmousemove = followmouse;
	
	if (!PopUp) {
		PopUp = document.createElement('div');
		PopUp.className = 'PopUp';
		document.body.appendChild(PopUp);
	}
	PopUp.style.display = 'block';	
	PopUp.innerHTML = "<img src=\"" + targ.src.replace(new RegExp('_thumb'), '') + "\">";
}
function ClosePopUp() {
	if (PopUp) {
		PopUp.style.display = 'none';
	}
}
//IMAGE POPUP CORE//

function GetTarget(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ) {
		if (targ.nodeType == 3) // defeat Safari bug
			targ = targ.parentNode;
	}
	return targ;
}

function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

clearNews = true;
function ClearNewsLetter(obj) {
	if (clearNews) {
		obj.value = '';
		clearNews = false;
	}
}