function isVisible(div) {
	
	if(!(div = $(div))) {		
		return;
	}
	
	var check1, check2;
	
	if (document.defaultView && document.defaultView.getComputedStyle) {
    var css = document.defaultView.getComputedStyle(div, null);
    
    return css.getPropertyValue('display') != 'none';
  } else if (div.currentStyle) {  	
    return div.currentStyle['display'] != 'none';
  } else if(div.style.display != 'none') {		
		return true;
			
	}
  
  return false;
	
}

function showImgDesc(div, text) {

	if(!(div = $(div))) {
		alert('Could not find div');
		return;

	}

	updateElement(div, text);
	
	if(!div.positioned) {
		
		var flash = document.getElementsByTagName('object')[0].parentNode;
		
		div.style.position = 'absolute';
		//div.style.top = (flash.clientTop || flash.offsetTop) + 'px';
		//div.style.left = (flash.offsetHeight || flash.clientHeight) + 'px';		
		div.positioned = true;
		div.opacity = 0;
	}

	if(!isVisible(div)) {			
		show(div, true);
	}

}


function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element == 'string')
    element = document.getElementById(element) || ((element = document.getElementsByName(element)).length > 1?element:element[0]);
  return element;
}

function updateElement(element, html) {

	html = typeof html == 'undefined' ? '' : html.toString();
    $(element).innerHTML = html;
    return element;

}

function centerElement(element) {

	element = $(element);

	if(element)  {
	
		var deltaX =  window.pageXOffset
                || document.documentElement.scrollLeft
                || document.body.scrollLeft
                || 0;
    var deltaY =  window.pageYOffset
                || document.documentElement.scrollTop
                || document.body.scrollTop
                || 0;
		
		var x, y;
	
		if (window.innerHeight) // all except Explorer
		{
			x = window.innerWidth;
			y = window.innerHeight;
		}
		else if (document.documentElement && document.documentElement.clientHeight)
			// Explorer 6 Strict Mode
		{
			x = document.documentElement.clientWidth;
			y = document.documentElement.clientHeight;
		}
		else if (document.body) // other Explorers
		{
			x = document.body.clientWidth;
			y = document.body.clientHeight;
		}
	
		element.style.position = 'absolute';
		
		element.style.left = ((x - element.offsetWidth)/2) + 'px';
		element.style.top = ((y - element.offsetHeight)/2) + 'px';
		
	}

}

function getAjax() {
	
	var ajax = null;
	
	try {
		ajax = new XMLHttpRequest()
	} catch(e) {
	
		try {
				ajax = new ActiveXObject('Msxml2.XMLHTTP')
		} catch(e) {
				ajax = new ActiveXObject('Microsoft.XMLHTTP')
		}
			
	}
	
	return ajax;
	
}

function getDescription(img) {
	
	if(typeof imgDescriptions != 'undefined' && typeof imgDescriptions[img] != 'undefined') {		
		showImgDesc('_imgDescHolder', imgDescriptions[img]);
		return;
	} else if(typeof imgDescriptions == 'undefined') {
		imgDescriptions = [];	
	}
	
	var request;
	
	if(!(request = getAjax())) {
			alert('No Ajax')
			return;
	}
	
	request.onreadystatechange = function() {
	
		if( request.readyState != 4 ) { return; }
		
		var useResponse = request.responseText;		
		
    showImgDesc('_imgDescHolder', useResponse);
    
    imgDescriptions[img] = useResponse;
    
    request.onreadystatechange = function() {};
    request = null;
		
	}
	
	request.open( 'GET', 'pics.php?img='+img, true );
  request.send(null);
  
  return false;
	
}


function show (div, effect) {
	
	if(!(div = $(div))) {				
		return;
	}
	
	if(!isVisible(div)) {
		div.style.display = '';
	}
	
	if(effect) {
			
			var opacity = div.opacity || 0;
			
			opacity = parseFloat(opacity) + .2;
			
			div.opacity = 
			div.style.MozOpacity = 
			div.style.opacity = 
			div.style.KhtmlOpacity = opacity;
			div.style.filter = 'alpha(opacity:' + (opacity * 100) + ')';

			setTimeout('show("'+div.id+'", '+((opacity < 1)?'true':'false')+')', 50);
			
	} else {
	
		div.opacity = 0;
	
	}
	
}


function hide (div, effect) {
	
	if(!(div = $(div))) {		
		return;
	}
	
	if(effect) {
			
			var opacity = div.style.opacity || 1;
			
			opacity = parseFloat(opacity) - .2;
			
			div.style.MozOpacity = 
			div.style.opacity = 
			div.style.KhtmlOpacity = opacity;
			div.style.filter = 'alpha(opacity:' + (opacity * 100) + ')';
			
			if(div.style.display == 'none') {
				//div.style.display = '';
			}
			
			setTimeout('hide ("'+div.id+'", '+((opacity > 0)?'true':'false')+')', 50);
			
	} else {
	
		div.style.display = 'none';
	
	}
	
}

//same as in PHP
function setcookie (name, value, days_lifetime, path) {

	var cookie_string = name;

	cookie_string += "="+(value || "");

	if (days_lifetime) {
		var date = new Date();
		date.setTime(date.getTime()+(days_lifetime*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else {
		var expires = "";
	}

	cookie_string += expires+"; path="+(path || '/');

	document.cookie = cookie_string;


}

function getcookie(name){

	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}