var interval = setInterval('watchWindow()', 200);
function watchWindow(){
	var wlocation = window.location.hash.toString();
	if(wlocation != clocation){
		var loca = window.location.toString();
		var qstring = loca.match(/#(.+)/);
		if(qstring != null)
			var qstrings = qstring[1].split('&');
		if(qstring != null){
			for(var i=0; i<qstrings.length;i++){
				tmp = qstrings[i].split('=');
				if(tmp[0]=='v')
					v = tmp[1];
				else{
					ext = tmp[0];
					val = tmp[1];
				}
			}
		}
		clocation = wlocation;
		loadBody(v, ext, val);
	}
}
function selectArea(obj){
    if (document.selection) document.selection.empty();
    else if (window.getSelection) window.getSelection().removeAllRanges();
    if (document.selection) {
        var range = document.body.createTextRange();
        range.moveToElementText(obj);
        range.select();
    }
    else if (window.getSelection) {
        var range = document.createRange();
        range.selectNode(obj);
        window.getSelection().addRange(range);
    }

}
function implode(glue, pieces){
	return ((pieces instanceof Array) ? pieces.join(glue) : pieces);
}
function resizeFrame(f) {
	f = document.getElementById(f);
	f.style.height = f.contentWindow.document.body.scrollHeight + "px";
}
function search(obj){
	if(obj.value.length>2){
		loadBody('search', 'q', obj.value);
	}
}
function clearSearch(){
	document.getElementById('q').value = 'Search';
}
function loadBody(page, extr, valu){
	var connect = Post();
	var extra = '';
	photoID = undefined;
	if(extr != undefined && valu != undefined){
		extra = '&'+extr+'='+valu;
	}
	connect[0].onreadystatechange = function(){
		if(connect[0].readyState == 4){
			document.getElementById('body').innerHTML = connect[0].responseText;
			if(page == ''){
				location = '#';
			}else{
				location = '#v='+page+extra;
			}
			clocation = window.location.hash.toString();
			if(clocation=='#' || clocation=='#v=index'){
				
			}
			setModifiers(page, extr, valu);
			var lc = document.getElementById('lftcontent').clientHeight;
			var wh = (window.innerHeight - 100 - 82)+ lc;
			document.getElementById("contentBox").style.minHeight = wh+'px';
		}
	};
	if(allowLoadBody){
		ext = extr;
		val = valu;
		var va = '';
		var date = new Date();
		pageStartTime = date.getTime();
		clearInterval(pageLTimer);
		pageLTimer = setInterval('timeElapsed()', 100);
		connect[0].open("POST", '/?a=body&v='+page+extra, true);
		connect[0].setRequestHeader("Content-Type", connect[1]);
		connect[0].send(va);
	}
	allowLoadBody = true;
}
function bodyInfo(){
	var bod = document.getElementsByTagName('body')[0];
	var html = document.getElementsByTagName('html')[0];
	clearInterval(pageLTimer);
	var lbox = document.getElementById('longLoad');
	lbox.style.display = 'none';
	bod.style.overflowX = 'hidden';
	html.style.overflowX = 'hidden';
}
function timeElapsed(){
	var cdate = new Date();
	var ctime = cdate.getTime().toString();
	var seconds = parseInt((parseInt(ctime) - parseInt(pageStartTime)) / 1000);
	var bod = document.getElementsByTagName('body')[0];
	var html = document.getElementsByTagName('html')[0];
	if(seconds > 0.5){
		var lbox = document.getElementById('longLoad');
		lbox.setAttribute('style', 'opacity:.5;filter=50;');
		lbox.style.width = window.innerWidth+'px';
		bod.style.overflowX = 'hidden';
		html.style.overflowX = 'hidden';
		lbox.style.height = bod.scrollHeight+'px';
		lbox.style.display = 'block';
		lbox.style.backgroundColor = '#ffffff';
		lbox.style.zIndex = '10000';
		lbox.style.position = 'absolute';
		lbox.style.top = '0';
	}
}



function setModifiers(page,ext, val){
	var extra = '';
	if(ext != undefined && val != undefined){
		extra = '&'+ext+'='+val;
	}
	var connect = Post();
	connect[0].onreadystatechange = function(){
		if(connect[0].readyState == 4){
			eval(connect[0].responseText);
			if(tab != undefined){
				var elements = document.getElementById('nav').getElementsByTagName('span');
				for(var i=0;i<elements.length;i++){
					elements[i].removeAttribute('class');
					if(elements[i].getAttribute('id')==tab+'Tab'){
						elements[i].setAttribute('class', 'sel');
					}
				}
			}
		}
	};
	var va = '';
	connect[0].open("POST", '/?a=modifiers&v='+page+extra, true);
	connect[0].setRequestHeader("Content-Type", connect[1]);
	connect[0].send(va);
}

function Post(){
	var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
	var ajaxRequest;
	try{
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				return false;
			}
		}
	}
	return Array(ajaxRequest,contentType);
}
