var sideMenuInterval;
/* Sidemenu */
function toggleSideMenu( forceClose )
	{
	if( parseInt(document.getElementById('divSidemenu').style.left) >= 0 || forceClose == 1 )
		{
		clearInterval(sideMenuInterval);
		sideMenuInterval = setInterval("closeSideMenu(-200)", 1);
		//document.getElementById('divSidemenu').style.left = '-257px';
		//document.getElementById('divMain').style.left = '40px';
		}
	else
		{
		clearInterval(sideMenuInterval);
		sideMenuInterval = setInterval("openSideMenu(0)", 1);
		//document.getElementById('divSidemenu').style.left = '0px';
		//document.getElementById('divMain').style.left = '295px';
		}
	}

function closeSideMenu( targetX )
	{
	if( parseInt(document.getElementById('divSidemenu').style.left) > targetX )
		{
		mainPosX = parseInt(document.getElementById('divMain').style.left);
		mainPosX = mainPosX - 20;
		document.getElementById('divMain').style.left = mainPosX + 'px';

		sidePosX = parseInt(document.getElementById('divSidemenu').style.left);
		sidePosX = sidePosX - 20;
		document.getElementById('divSidemenu').style.left = sidePosX + 'px';
		}
	else
		clearInterval(sideMenuInterval);
	}

function openSideMenu( targetX )
	{
	if( parseInt(document.getElementById('divSidemenu').style.left) < targetX )
		{
		mainPosX = parseInt(document.getElementById('divMain').style.left);
		mainPosX = mainPosX + 20;
		document.getElementById('divMain').style.left = mainPosX + 'px';

		sidePosX = parseInt(document.getElementById('divSidemenu').style.left);
		sidePosX = sidePosX + 20;
		document.getElementById('divSidemenu').style.left = sidePosX + 'px';
		}
	else
		clearInterval(sideMenuInterval);
	}


/* Page loading */
function pageLoaded()
	{
	viewLayer("divLoading", 0, 0, 0, 0);
	viewLayer("divBodyCont", 1, 0, 0, 0);
	}


/* Open popup window */
function newPopup( url, name, width, height, directories, location, menubar, scrollbars, status, toolbar, resizable )
	{
	var features =
	'width='        + width +
	',height='      + height +
	',directories=' + directories +
	',location='    + location +
	',menubar='     + menubar +
	',scrollbars='  + scrollbars +
	',status='      + status +
	',toolbar='     + toolbar +
	',resizable='   + resizable;

	window.open( url, name, features );
	}


/* Print document */
function documentPrint()
	{
	if( window.print )
		window.print();
	}


/* Create new image */
function newImage( arg )
	{
	if( document.images )
		{
		rslt = new Image();
		rslt.src = arg;
		return rslt;
		}
	}


/* Change image */
function changeImages()
	{
	if (document.images)
		{
		for( var i=0; i<changeImages.arguments.length; i+=2 )
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}


/* Submit user list form */
function submitUserList( action, message, target, backlink )
	{
	var myForm = document.frmUserList;

	if( typeof document.frmUserList != "undefined" )
		{
		if( anyUsersChecked() && message )
			submit = confirm(message);
		else if( anyUsersChecked() && !message )
			submit = 1;
		else
			submit = 0;
		
		if( submit )
			{
			if( !target )
				target = "main";
			myForm.elements['cmd'].value = action;
  		myForm.elements['back'].value = backlink;		
			myForm.target = target;
			myForm.submit();
			}
		else if( !anyUsersChecked() )
			alert(noUsersSelected);
		}
	}


/* Check if any users are selected */
function anyUsersChecked()
	{
	var checked = false;

	for( i = 1; i <= document.frmUserList.usersChecked.value; i++ )
		{
		if( eval("document.frmUserList.usersChecked" + i + ".checked == true") )
			checked = true;
		}
	return checked;
	}


/* Submit object list form */
function submitObjectList( action, message, target, backlink )
	{
	var myForm = document.frmObjectList;

	if( typeof document.frmObjectList != "undefined" )
		{
		if( anyObjectsChecked() && message )
			submit = confirm(message);
		else if( anyObjectsChecked() && !message )
			submit = 1;
		else
			submit = 0;
			
		if( submit )
			{
			if( !target )
				target = "main";
			myForm.elements['cmd'].value = action;
			myForm.elements['back'].value = backlink;			
			myForm.target = target;
			myForm.submit();
			}
		else if( !anyObjectsChecked() )
			alert(noObjectsSelected);
		}
	}


/* Check if any objects are selected */
function anyObjectsChecked()
	{
	var checked = false;

	for( i = 1; i <= document.frmObjectList.objectsChecked.value; i++ )
		{
		if( eval("document.frmObjectList.objectsChecked" + i + ".checked == true") )
 			checked = true;
 		}
	return checked;
	}


/* Select/unselect all checkboxes of a form */
var checkflag = false;
function selectAll( form, field )
	{
	var myForm = document.getElementById(form);
	var myField = document.getElementById(field);

	if( typeof myForm != 'undefined' )
		{
		if( checkflag == true )
			{
			for( i = 1; i <= myField.value; i++ )
				eval("document." + form + "." + field + i + ".checked = false");
			checkflag = false;
			}
		else
			{
			for( i = 1; i <= myField.value; i++ )
				eval("document." + form + "." + field + i + ".checked = true");
			checkflag = true;
			}
		}
	}


/* Save object */
function saveObjectData()
	{
	var myForm = document.frmEditObject;

	if( typeof document.frmEditObject != "undefined" )
		myForm.submit();
	}


/* Delete object */
function deleteObject( id )
	{
	if( id )
		{
		if( confirm(confirmDeleteObject) )
			self.location.href="?cmd=delete_object&id=" + id;
		}
	}


/* Delete assignment */
function deleteAssignment( id )
	{
	if( id )
		{
		if( confirm(confirmDeleteAssignment) )
			self.location.href="?cmd=assignment_diary_delete&id=" + id;
		}
	}
	
/* Delete news item */
function deleteNews( id )
	{
	if( id )
		{
		if( confirm(confirmDeleteNews) )
			self.location.href="?cmd=news&action=delete&id=" + id;
		}
	}

/* Delete file */
function deleteFile( object_id, file_id )
	{
	if( object_id && file_id )
		{
		if( confirm(confirmDeleteFile) )
			self.location.href="?cmd=delete_file&object_id=" + object_id + "&file_id=" + file_id;
		}
	}

/* Clear field */
function clearField( myField )
	{
	myField.value = "";
	}


/* LAYER POPUPS */
var gotlayers = 0;
var IE4 = (document.all && !document.getElementById) ? true : false;
var NS4 = (document.layers) ? true : false;
var IE5 = (document.all && document.getElementById) ? true : false;
var N6  = (document.getElementById && !document.all) ? true : false;

/* Init mouse move */			
function initMouse()
	{
	if( NS4 || N6 )
		document.captureEvents(Event.MOUSEMOVE)
	document.onmousemove = handleMouseMove;
	}

/* Capture mouse move */
function handleMouseMove( evt )
	{
	document.body
	mouseX = NS4 || N6 ? evt.pageX : window.event.clientX;
	mouseY = NS4 || N6 ? evt.pageY : window.event.clientY;
	}

/* View layer */			
function viewLayer( layer, value, doMove, topOffset, rightOffset )
	{
	if( gotlayers )
		{
		if( doMove )
			moveLayer(layer, topOffset, rightOffset);
		if( NS4 )
			{
			if( value==0 )
				document.layers[layer].visibility = "hide";
			else
				document.layers[layer].visibility = "show";
			}
		if( IE4 )
			{
			if( value==0 )
				document.all[layer].style.visibility = "hidden";
			else
				document.all[layer].style.visibility = "visible";
			}
		if( IE5 || N6 )
			{
			if( value==0 )
				document.getElementById(layer).style.visibility = "hidden";
			else
				document.getElementById(layer).style.visibility = "visible";
			}
		}
	}
	
/* Move layer */		
function moveLayer( layer, topOffset, rightOffset )
	{
	if( NS4 )
		{
		document.layers[layer].top = mouseY + topOffset + "px";
		document.layers[layer].left = mouseX + rightOffset + "px";
		}
	if( IE4 )
		{
		document.all[layer].style.top = mouseY + document.body.scrollTop + topOffset + "px";
		document.all[layer].style.left = mouseX + rightOffset + "px";
		}
	if( IE5 )
		{
		document.getElementById(layer).style.top = mouseY + document.documentElement.scrollTop + document.body.scrollTop + topOffset + "px";
		document.getElementById(layer).style.left = mouseX + rightOffset + "px";
		}
	if( N6 )
		{
		document.getElementById(layer).style.top = mouseY + topOffset + "px";
		document.getElementById(layer).style.left = mouseX + rightOffset + "px";
		}
	}


/* Character limiter */
function taLimit()
	{
	var taObj = event.srcElement;
	if( taObj.value.length == taObj.maxLength*1 )
		return false;
	}

/* Character counter */
function taCount( visCnt )
	{
	var taObj = event.srcElement;
	if( taObj.value.length > taObj.maxLength*1 )
		taObj.value = taObj.value.substring(0,taObj.maxLength*1);
	if( visCnt )
		visCnt.innerText = taObj.maxLength-taObj.value.length;
	}

/* Field colors */
var colorOk = "#f5f5f5";
var colorHover = "#f5f5f5";
var colorError = "#ffe5e5";

/* Set field backcolor (Ok) */
function setColorOk( field )
	{
	if( field.style )
		field.style.backgroundColor = colorOk;
	}

/* Set field backcolor (Hover) */
function setColorHover( field )
	{
	if( field.style )
		field.style.backgroundColor = colorHover;
	}

/* Set field backcolor (Error) */
function setColorError( field )
	{
	if( field.style )
		field.style.backgroundColor = colorError;
	}

/* Error handler */
function errorHandler()
	{
	return 0;
	}

window.onerror = errorHandler;
