function toggle(o) {
 if(o[0]) {
  for(i in o) {
   if(document.getElementById(o[i]).style.display=='none')
    document.getElementById(o[i]).style.display = '';
   else
    document.getElementById(o[i]).style.display = 'none';
  }
  return true;
 }
 if(document.getElementById(o).style.display=='none')
  document.getElementById(o).style.display = '';
 else
  document.getElementById(o).style.display = 'none';
}

/* ********************************
startof: global functions
******************************** */

var emptyFunction = function() {}
var falseFunction = function() {return false}
var trueFunction = function() {return true}
var d = document;

function isIE() {
	if(navigator.appName=='Microsoft Internet Explorer')
		return true;
	else
		return false;
}

function $(i) {
	return document.getElementById(i);
}

function $n(tagName, tagId) {
	if(typeof tagId != 'undefined') {
		var temp = document.createElement(tagName);
		temp.setAttribute('id', tagId);
		return temp;
	}
	else {
		return document.createElement(tagName);
	}
}

function $$() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

function $c(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;
}
	
/*Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
}*/
	
function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}
	
function _toggle(obj) {
	if(typeof obj != 'object')
		var el = document.getElementById(obj);
	else
		var el = obj;
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}

/* ********************************
endof: global functions
startof: networking library
******************************** */

Networking = function()
{
	return true;
}

Networking.prototype.www = function()
{
	return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
}

Networking.prototype.http_get = function(url, callback)
{
	url = url + "&timeStamp=" + new Date().getTime();
	request = this.www();
	request.open("GET", url, true);
	if(!callback)
		request.onreadystatechange = this.defaultCallback;
	else
		request.onreadystatechange = callback;
	request.send(null);
}

Networking.prototype.http_post = function(url, data, callback)
{
	url = url + "&timeStamp=" + new Date().getTime();
	request = this.www();
	request.open("POST", url, true);
	if(!callback)
		request.onreadystatechange = this.defaultCallback;
	else
		request.onreadystatechange = callback;
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(data.toJSONString());
}

Networking.prototype.defaultCallback = function()
{
	if(request.readyState==4)
	{
		if(request.status==200)
			eval(request.responseText);
		else
			alert("Debugging: statuscode was: "+request.status);
		request = new Object();
	}
	else
	{
		void(0);
	}
}

/*Networking.prototype.ia_read = function()
{
	if(request.readyState==3)
	{
		this.iaReadOutput[] = request.responseText;
	}
}*/

Net = new Networking();

/* ********************************
endof: networking library
startof: various jpg.ee specific stuff
******************************** */

function searchInputChanged(s) {
	if(s.value=='')
		closeSearchWindow();
	if(s.value.length<3)
		return;
	Net.http_get('ajax.php?search_query='+s.value, function(){if(request.status==200){$('swin3').innerHTML=request.responseText;}});
	$('swin1').style.display = '';
	$('swin2').style.display = '';
	$('swin3').style.display = '';
//	if($('swin3').innerHTML=='Palun oodake...')
//		$('swin3').innerHTML='';
}

function closeSearchWindow() {
	$('swin3').innerHTML = 'Palun oodake...';
	$('swin3').style.display = 'none';
	$('swin2').style.display = 'none';
	$('swin1').style.display = 'none';	
}

var _cid = 0;

window.usm = 0;
window.sat = 100;
window.contrast = 0;

function setPS() {
	if(arguments[0]==1)
		window.usm = arguments[1];
	if(arguments[0]==2)
		window.sat = arguments[1];
	if(arguments[0]==3)
		window.contrast = arguments[1];
	newsrc = $('ximage').src + '&usm=' +usm+ '&saturation=' +sat+ '&contrast=' +contrast;
	$('ximage').src = newsrc;
}

function acceptPS(id) {
	window.location = 'acceptPS.php?id=' +id+ '&usm=' +usm+ '&saturation=' +sat+ '&contrast=' +contrast;
}

function sIndexChanged(e) {
	if(e.selectedIndex==11) {
		$('additional').style.display = '';
	}
	else {
		$('additional').style.display = 'none';
	}
}
