function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name){
	if(document.cookie.length>0){
  		c_start=document.cookie.indexOf(c_name + "=")
  		if(c_start!=-1){ 
		    c_start=c_start + c_name.length+1 
		    c_end=document.cookie.indexOf(";",c_start)
		    if(c_end==-1) c_end=document.cookie.length
    			return unescape(document.cookie.substring(c_start,c_end))
    	} 
 	}
	return ""
}

function showElement(element){
	document.getElementById(element).style.display = '';
}

function hideElement(element){
	document.getElementById(element).style.display = 'none';
}

function setClass(element, newClassName){
	var object = document.getElementById(element);
	object.className = newClassName;
}

function getPosX( obj ) {
  var curleft = 0;
  if( obj ) {
    if( document.getElementById || document.all ) {
      while( obj.offsetParent ) {
        curleft += obj.offsetLeft;
        obj = obj.offsetParent;
      }
    } else
      if( document.layers )
        curleft += obj.x;
  }
  return curleft;
}

function getPosY( obj ) {
  var curtop = 0;
  if( obj ) {
    if( document.getElementById || document.all ) {
      while( obj.offsetParent ) {
        curtop += obj.offsetTop;
        obj = obj.offsetParent;
      }
    } else
      if( document.layers )
        curtop += obj.y;
  }
  return curtop;
}

function submitForm(element, confirmBox, question){
	if(confirmBox){
		var confirmation = confirm(question);
		if(confirmation){	
			document.getElementById(element).submit();
		}else{
			return false;
		}
	}else{
		document.getElementById(element).submit();
	}
}

function showTaskList(admin){
	showElement('taskList');
	if(admin)
		hideElement('userList');
	setClass('taskList', 'overLink');
}

function showUserListForm(){
	showElement('userList');
	hideElement('taskList');
	setClass('userList', 'overLink');
}

function hideUserForm(){
	var objUF = document.getElementById('userForm');
	var objU = document.getElementById('users');
	var objA = document.getElementById('userFormAction');
	objUF.style.height = "25px";
	objU.style.height = "405px";
	objA.innerHTML = "<img class=\"icon\" src=\"img/add.png\" alt=\"\" /> <a href=\"#\" onclick=\"showUserForm();\" title=\"Add new user\">Add new user</a>";	
}

function showUserForm(){
	var objUF = document.getElementById('userForm');
	var objU = document.getElementById('users');
	var objA = document.getElementById('userFormAction');
	objUF.style.height = "210px";
	objU.style.height = "220px";
	objA.innerHTML = "<a href=\"#\" onclick=\"hideUserForm();\" title=\"Hide this form\">Hide this form</a>";
}

function hideTaskForm(){
	var objUF = document.getElementById('taskForm');
	var objU = document.getElementById('tasksList');
	var objA = document.getElementById('taskFormAction');
	objUF.style.height = "25px";
	objU.style.height = "445px";
	objA.innerHTML = "<img class=\"icon\" src=\"img/task.png\" alt=\"\" /> <a href=\"#\" onclick=\"showTaskForm();\" title=\"Add new task\">Add new task</a>";	
}

function showTaskForm(){
	var objUF = document.getElementById('taskForm');
	var objU = document.getElementById('tasksList');
	var objA = document.getElementById('taskFormAction');
	objUF.style.height = "240px";
	objU.style.height = "230px";
	objA.innerHTML = "<a href=\"#\" onclick=\"hideTaskForm();\" title=\"Hide this form\">Hide this form</a>";
}

function rewriteTask(taskId){
	var fromDateStr = document.getElementById('hiddenTaskDateFrom_'+taskId).innerHTML;
	var fromDate = fromDateStr.substr(0,10);
	var fromTime = fromDateStr.substr(11,20);
	var toDateStr = document.getElementById('hiddenTaskDateTo_'+taskId).innerHTML;
	var toDate = toDateStr.substr(0,10);
	var toTime = toDateStr.substr(11,20);
	document.forms.addNewTaskForm.action.value = "editTask";
	document.forms.addNewTaskForm.editTaskId.value = taskId;
	document.forms.addNewTaskForm.editCreated.value =  document.getElementById('hiddenTaskCreated_'+taskId).innerHTML;
	document.forms.addNewTaskForm.editTitle.value = document.getElementById('hiddenTaskTitle_'+taskId).innerHTML;
	document.forms.addNewTaskForm.editDescription.value = document.getElementById('hiddenTaskDescription_'+taskId).innerHTML;
	document.forms.addNewTaskForm.editFromDate.value = fromDate;
	document.forms.addNewTaskForm.editFrom.value = fromTime;
	document.forms.addNewTaskForm.editToDate.value = toDate;
	document.forms.addNewTaskForm.editTo.value = toTime;
	if(document.getElementById('suid1')){
		var length = document.forms.addNewTaskForm.userId.length;
		for(var i = 0; i < length; i++){
			if(document.forms.addNewTaskForm.userId[i].value == document.getElementById('hiddenTaskUser_'+taskId).innerHTML)
				document.forms.addNewTaskForm.userId[i].selected = true
		}
	}
	document.forms.addNewTaskForm.editTo.value = toTime;
	showTaskForm();
}

function setTaskPosition(taskId, dayFrom, dayTo){
	var object = document.getElementById('task_'+taskId);
	var reference = document.getElementById('d_'+dayFrom);
	var top = getPosY(reference);
	var left = getPosX(reference);
	if(navigator.appName == "Microsoft Internet Explorer"){
		top += 10;
		left += 8;
	}
	var cookie = getCookie('energypa');
	var cookieString = new String(cookie);
	var positions = cookieString.split('--');
	var offsetString = '';
	var offsetPositions = new Array;
	var newPosition = 0;
	var newOffsetString = new String;
	for(var i = dayFrom - 1; i < dayTo; i++){
		offsetString = positions[i];
		offsetPositions = offsetString.split('::');
		newPosition = parseInt(offsetPositions[1]);
		newPosition++;
		newOffsetString = offsetPositions[0]+'::'+newPosition;
		positions[i] = newOffsetString;
	}	
	object.style.top=(top+(22*(newPosition-1)))+"px";
	object.style.left=(left)+"px";	
	
	var iterator = positions.length;
	var newCookieString = '';
	for(var i = 0; i < iterator; i++){
		newCookieString += positions[i]+"--";
	}
	setCookie('energypa', newCookieString, 1);
}

function setTaskWidth(taskId, counter){
	var object = document.getElementById('task_'+taskId);
	object.style.width=((counter*82)-4)+"px";
}

function rewriteDate(date, target, calendarId){
	document.getElementById(target).value = date;
	hideMiniCalendar(calendarId);
}

function showMiniCalendar(calendarId){
	var calendar = document.getElementById("miniCalendar_"+calendarId);
	var reference = document.getElementById("mini_"+calendarId+"_ref");
	var top = getPosY(reference);
	var left = getPosX(reference);
	calendar.style.top = (top+20)+"px";
	calendar.style.left = (left-200)+"px";
	calendar.style.display = "";
	if(document.getElementById('suid1'))
		document.getElementById('suid1').style.display = "none";
}

function hideMiniCalendar(calendarId){
	var calendar = document.getElementById("miniCalendar_"+calendarId);
	calendar.style.display = "none";
	if(document.getElementById('suid1'))
		document.getElementById('suid1').style.display = "";
}

function rewriteUser(uId){
	document.forms.addEditUserForm.userAction.value = "editUser";
	document.forms.addEditUserForm.userId.value = uId;
	document.forms.addEditUserForm.userLogin.value = document.getElementById('hiddenUserLogin_'+uId).innerHTML;
	document.forms.addEditUserForm.username.value = document.getElementById('hiddenUserName_'+uId).innerHTML;
	document.forms.addEditUserForm.userEmail.value = document.getElementById('hiddenUserEmail_'+uId).innerHTML;
	if(document.getElementById('hiddenUserAdmin_'+uId).innerHTML == 'yes'){
		document.forms.addEditUserForm.userAdmin.checked = true;
	}else{
		document.forms.addEditUserForm.userAdmin.checked = false;
	}
	document.forms.addEditUserForm.userLogin.disabled = true;
	showUserForm();
}

function clearUserForm() {
	document.forms.addEditUserForm.userAction.value = "addUser";
	document.forms.addEditUserForm.userId.value = 0;
	document.forms.addEditUserForm.userLogin.value = '';
	document.forms.addEditUserForm.username.value = '';
	document.forms.addEditUserForm.userEmail.value = '';
	document.forms.addEditUserForm.userLogin.disabled = false;
	document.forms.addEditUserForm.userAdmin.checked = false;
}

function clearForm(form){
	var obj = document.getElementById(form);
	obj.reset();
}

function showHint(reference, hintId){
	var offsetTop = getPosY(reference);
	var offsetLeft = getPosX(reference);
	var hint = document.getElementById(hintId);
	hint.style.left = offsetLeft+"px";
	hint.style.top = (offsetTop+20)+"px";
	hint.style.display = "";
}
function changeStyle(object){
	setClass('taskListLink', '');
	setClass('userListLink', '');
	setClass(object, document.getElementById(object).className == 'overLink' ? '' : 'overLink');
}