// get element by id shortcut
var undefined; // undefined value to check against

function _id(object_id){
	return document.getElementById(object_id);
}

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

// reset field, but only once
function resetField(field,fontColor){
	if (!field.reset){
		field.value='';
		field.reset=true;
	}
	if(typeof(fontColor) != 'undefined'){
		field.style.color = fontColor;
	}
}


function popup(url, name, width, height, scrollbars, resize){
	var str = "height=" + height + ",innerHeight=" + height;
	str += ",width=" + width + ",innerWidth=" + width;
	if(window.screen){
		var ah = screen.availHeight - 30;
		var aw = screen.availWidth - 10;
		var xc = (aw - width) / 2;
		var yc = (ah - height) / 2;
		str += ",left=" + xc + ",screenX=" + xc;
		str += ",top=" + yc + ",screenY=" + yc;
		if(scrollbars)
			str += ",scrollbars=1";
		if(resize)
			str += ",resizable=1";
	}
	popupWindow = window.open(url, name, str);
	if (popupWindow.opener == null) popupWindow.opener = self;
}

function showToggle(id){
	if(document.getElementById(id).style.display == 'none'){
		show(id);
	}else{
		hide(id);
	}
}

function show(id){
	document.getElementById(id).style.display = '';
}

function hide(id){
	document.getElementById(id).style.display = 'none';
}

/* TODO: only works with gifs!! */
function _on(obj){
	if(!obj.src) return;
	var orgSrc = obj.src;
	if(orgSrc.substr(orgSrc.length-8,4) == "_off"){
		var newSrc = orgSrc.substr(0,orgSrc.length-8)+"_on.gif";
	}else{
		var newSrc = orgSrc.substr(0,orgSrc.length-4)+"_on.gif";
	}
	obj.src = newSrc;
}

function _off(obj){
	if(!obj.src) return;
	var orgSrc = obj.src;
	if(orgSrc.substr(orgSrc.length-7,3) == "_on"){
		var newSrc = orgSrc.substr(0,orgSrc.length-7)+"_off.gif";
	}else{
		var newSrc = orgSrc.substr(0,orgSrc.length-3)+"_off.gif";
	}
	obj.src = newSrc;
}


function imagePopup(arguments){
	popup('/imageserver.php?format=900x0&img='+arguments.id, '_blank', '930', '600',1,1);
}

function goto(url){document.location.href=url;}

function getScrollHeight(){
	var h = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
	return h ? h : 0;
}

function getScrollWidth(){
	var w = window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;
	return w ? w : 0;
}

function mainmenuOn(name){
	_id('mainmenu_'+name).className = 'menuitem_on';
	_id('menuimg_'+name).src = '/graphics/menu_'+name+'_on.png';
}

function mainmenuOff(name){
	_id('mainmenu_'+name).className = 'menuitem';
	_id('menuimg_'+name).src = '/graphics/menu_'+name+'_off.png';
}

function enlarge(img, download_res){
	if(download_res == undefined) download_res = 1200;
	var imgSrc = '/imageserver.php?format=840x0&img='+img;
	_id('enlarge_link').innerHTML = '<img src="'+imgSrc+'" width="840" id="img_enlarge" style="position:relative;z-index:10;" />';
	_id('download_link').href = '/imageserver.php?format='+download_res+'x0&img='+img;
	_id('div_image_enlarge').style.display='';
	_id('div_image_enlarge').style.top=getScrollHeight()+'px';
	//alert('test!');
}

function enlarge2(img, download_res){
	//if(download_res == undefined) download_res = 1200;
	var imgSrc = '/imageserver.php?format=840x0&img='+img;
	_id('enlarge_link').innerHTML = '<img src="'+imgSrc+'" width="840" id="img_enlarge" style="position:relative;z-index:10;" />';
	_id('download_link').href = '/download.php?type=image&file='+img+'.jpg';
	_id('div_image_enlarge').style.display='';
	_id('div_image_enlarge').style.top=getScrollHeight()+'px';
	//alert('test!');
}



function closeEnlarge(){
	_id('div_image_enlarge').style.display='none';
	_id('enlarge_link').innerHTML = ' ';
}


function grayOut(vis, options) {  
	var options = options || {};   
	var zindex = options.zindex || 20; 
	var opacity = options.opacity || 70;  
	var opaque = (opacity / 100);  
	var bgcolor = options.bgcolor || '#000000';  
	var dark=document.getElementById('darkenScreenObject');  
	if (!dark) {    
		var tbody = document.getElementsByTagName("body")[0];    
		var tnode = document.createElement('div');           
		// Create the layer.        
		tnode.style.position='absolute';                 
		// Position absolutely        
		tnode.style.top='0px';                           
		// In the top        
		tnode.style.left='0px';                          
		// Left corner of the page        
		tnode.style.overflow='hidden';                   
		// Try to avoid making scroll bars                    
		tnode.style.display='none';                     
		// Start out Hidden       
		tnode.id='darkenScreenObject';             
		// Name it so we can find it later  
		tbody.appendChild(tnode);            
		// Add it to the web page   
		dark=document.getElementById('darkenScreenObject'); 
		// Get the object. 
	}  
	if (vis) {   
		// Calculate the page width and height     
		if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {  
			var pageWidth = document.body.scrollWidth+'px';    
			var pageHeight = document.body.scrollHeight+'px';  
		} else if( document.body.offsetWidth ) {  
			var pageWidth = document.body.offsetWidth+'px';  
			var pageHeight = document.body.offsetHeight+'px';  
		} else {    
			var pageWidth='100%';  
			var pageHeight='100%'; 
		}       
		//set the shader to cover the entire page and make it visible.    
		dark.style.opacity=opaque;               
		dark.style.MozOpacity=opaque;         
		dark.style.filter='alpha(opacity='+opacity+')';  
		dark.style.zIndex=zindex;        
		dark.style.backgroundColor=bgcolor;   
		dark.style.width= pageWidth;  
		dark.style.height= pageHeight;
		dark.style.display='block';
	} else {
		dark.style.display='none';  
	}
}

/*
function appendDOMInput(form,name,value,type){
	document.forms[form].appendChild(mkDOMInput(name,value,type));
}

function submitForm(form, action){
	var domForm = document.forms[form];
	if(action){
		// input name action is already in form, overwrite
		if(domForm.action){
			domForm.action = action;
		}
		// create new input
		else{
			appendDOMInput(form,'action',action);
		}
	}
	domForm.submit();
}
*/
