// DEVELOPERADMIN

if('undefined' == typeof DeveloperAdmin) DeveloperAdmin = new Object();

// DEVELOPERADMIN.RELOAD

function finebrain_developeradmin_reload(loadaction) {
	
	url = document.actpath;
	query ="&action=DeveloperAdmin.reload";

	if (loadaction)
	  	query += "&loadaction=" + loadaction;	

	redirect(url, query);	
}
DeveloperAdmin.reload = finebrain_developeradmin_reload;


// USERADMIN

if('undefined' == typeof UserAdmin) UserAdmin = new Object();

// USERADMIN.SEARCH

function finebrain_useradmin_search() {
	var form=document.forms['UserAdmin'];
	form.action.value='UserAdmin.search';
	form.submit();
}
UserAdmin.search = finebrain_useradmin_search;

//USERADMIN.CREATE

function finebrain_useradmin_create(url,loadaction) {
	var form =  document.forms['User'];
	if (loadaction) form.loadaction.value = loadaction;
	form.action.value="UserAdmin.create";
	form.submit();
}
UserAdmin.create = finebrain_useradmin_create;

// USERADMIN.CHECK

function finebrain_useradmin_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=UserAdmin.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);	
}
UserAdmin.check = finebrain_useradmin_check;

// USERADMIN.EDIT

function finebrain_useradmin_edit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=UserAdmin.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);	
}
UserAdmin.edit = finebrain_useradmin_edit;

// USERADMIN.FORM

function finebrain_useradmin_form(url, loadaction, returnpath) {
	if ( !url ) url = document.actpath;
	query ="&action=UserAdmin.form";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);	
}
UserAdmin.form = finebrain_useradmin_form;

// USERADMIN.UPDATE

function finebrain_useradmin_update(url,loadaction,performaction)
{
	var form = document.forms['User'];
	if (loadaction) form.loadaction.value = loadaction;
   	if (performaction) form.performaction.value = performaction;
	form.action.value="UserAdmin.update";
	form.submit();
}
UserAdmin.update = finebrain_useradmin_update;

// USERADMIN.SELECT

function finebrain_useradmin_select(url, loadaction) {
	var form = document.forms['UserAdmin'];

	if (loadaction) form.loadaction.value = loadaction;

	// collect the selected categories
	form["categories/Categories"].value = postselect("interest");

	form.action.value = "UserAdmin.select";
	form.submit();
}
UserAdmin.select = finebrain_useradmin_select;


// USERADMIN.ATTACHMENT

function finebrain_useradmin_attachment(url,loadaction)
{
var form=document.forms['User'];
if (loadaction) form.loadaction.value = loadaction;
form.action.value='UserAdmin.attachment';
form.submit();
}
UserAdmin.attachment = finebrain_useradmin_attachment;

// USERADMIN.UPLOADATTACHMENT

function finebrain_useradmin_uploadattachment(url,loadaction) {
	var form;
	var pos = 0;
	while (pos < document.forms.length) {
		form = document.forms[pos++];
		if (form["F/File"]) break;
	}
  	if (loadaction) form.loadaction.value=loadaction;
	form.action.value='UserAdmin.uploadattachment';
	form.submit();
}

if('undefined' == typeof UserAdmin.uploadattachment) UserAdmin.uploadattachment = finebrain_useradmin_uploadattachment;


// USERADMIN.SUBNODEDELETE

function finebrain_useradmin_subnodedelete(url, performaction) {
	if( !url ) url = document.actpath;
	query = "&action=UserAdmin.subnodedelete";
	if (performaction)
		query += "&performaction=" + performaction;
	redirect(url, query);
  }
UserAdmin.subnodedelete = finebrain_useradmin_subnodedelete;


// USERADMIN.CANCEL

function finebrain_useradmin_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=UserAdmin.cancel");
}
UserAdmin.cancel = finebrain_useradmin_cancel;

// USERADMIN.SAVE

function finebrain_useradmin_save(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=UserAdmin.save");
}
UserAdmin.save = finebrain_useradmin_save;

// USERADMIN.PUBLISH

function finebrain_useradmin_publish(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=UserAdmin.publish");
}
UserAdmin.publish = finebrain_useradmin_publish;


// USERADMIN.GROUPEDIT

function finebrain_useradmin_groupedit(url,returnpath) {
	if(!url) url = document.actpath;
	query ="&action=UserAdmin.groupedit";
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);	
}
UserAdmin.groupedit = finebrain_useradmin_groupedit;

// USERADMIN.GROUPUPDATE

function finebrain_useradmin_groupupdate(location)
{
	var form=document.forms['UserAdminGroup'];
	if (form["Groups/GroupsList"])
		form["Groups/Groups"].value=checkboxSelectToString(form, "Groups/GroupsList", "Role");
	form.action.value = "UserAdmin.groupupdate";
	if (location)
		form.Location.value = location;
	form.submit();
}
UserAdmin.groupupdate = finebrain_useradmin_groupupdate;


// USERADMIN.GROUPSAVE

function finebrain_useradmin_groupsave()
{
	var form=document.forms['UserAdminGroup'];
	if (form["Groups/GroupsList"])
		form["Groups/Groups"].value=checkboxSelectToString(form, "Groups/GroupsList", "Role");
	
	form.submit();
}
UserAdmin.groupsave = finebrain_useradmin_groupsave;


// USERADMIN.GROUPPUBLISH

function finebrain_useradmin_grouppublish()
{
	var form=document.forms['UserAdminGroup'];
	if (form["Groups/GroupsList"])
		form["Groups/Groups"].value=checkboxSelectToString(form, "Groups/GroupsList", "Role");
	form.action.value = "UserAdmin.grouppublish";
	form.submit();
}
UserAdmin.grouppublish = finebrain_useradmin_grouppublish;

// USERADMIN.ACTIVATE

function finebrain_useradmin_activate(user) {
	var form=document.forms['UserList'];
	if(!form) { 
		alert("Javascript Error: HTML Form 'UserList' not found"); 
		return;
	}
	form.action.value = "UserAdmin.activate";
	if (! user)
		form.UserList.value = checkboxToString(form, "UserId");
	else 
		form.UserList.value = user;	
	form.submit();
}
UserAdmin.activate = finebrain_useradmin_activate;

// USERADMIN.DEACTIVATE

function finebrain_useradmin_deactivate() {
	var form=document.forms['UserList']; 
	if(!form) { 
		alert("Javascript Error: HTML Form 'UserList' not found");
		return;
	}
	form.action.value = "UserAdmin.deactivate";
	form.UserList.value = checkboxToString(form, "UserId");
	form.submit();
}
UserAdmin.deactivate = finebrain_useradmin_deactivate;

// USERADMIN.REMOVE

function finebrain_useradmin_remove() {
	var form=document.forms['UserList'];
	if(!form) { 
		alert("Javascript Error: HTML Form 'UserList' not found"); 
		return; 
	}
	form.action.value = "UserAdmin.remove";
	form.UserList.value = checkboxToString(form, "UserId");
	form.submit();
}
UserAdmin.remove = finebrain_useradmin_remove;


// USER

if ('undefined' == typeof User) User = new Object();

// USER.LOGIN

/**
 * Defines a method that gets registered to <code>User</code> object.
 * <p>
 * Submits form having action value 'User.login'.
 * </p>
 */
function finebrain_user_login() {
	var pos = 0;
	while (pos < document.forms.length) {
		if (document.forms[pos].action.value == 'User.login') {
			document.forms[pos].submit();
			return;
		}
		pos++;
	}
	alert('form not found!');
}
User.login = finebrain_user_login;

// USER.PUBLICLOGIN

function finebrain_user_publiclogin() {
  redirectPrint(document.langpath, "&action=User.login&Username=public&Password=public");
}
User.publiclogin = finebrain_user_publiclogin;

// USER.FORGOTPASSWORD

function finebrain_user_forgotpassword() {
	
	var form = document.forms['User'];
	form.action.value = 'User.forgotpassword';

	form.submit();
}
User.forgotpassword = finebrain_user_forgotpassword;

// USER.USERJOINSUBMIT

function finebrain_user_join_submit() {
  document.forms['User'].action.value = 'User.joinSubmit';
  document.forms['User'].submit();
}
if ('undefined' == typeof User.joinSubmit)
	User.joinSubmit = finebrain_user_join_submit;

// USER.LOGOUT

function finebrain_user_logout() {
  redirect("", "&action=User.logout");
}
User.logout = finebrain_user_logout;

// USER.FORM

function finebrain_user_form(url,loadaction,returnpath) {
	if ( !url ) url = document.actpath;
	query ="&action=User.form";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
if ('undefined' == typeof User.form)
	User.form = finebrain_user_form;

// USER.EDIT

function finebrain_user_edit(url, loadaction, returnpath, firstlogin) {
	if(!url) url = document.actpath;
	query ="&action=User.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	if (firstlogin) 
		query += "&Firstlogin=" + firstlogin;
	

	redirect(url, query);
}
User.edit = finebrain_user_edit;


// USER.CHECK

function finebrain_user_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=User.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
User.check = finebrain_user_check;

// USER.UPDATE

function finebrain_user_update(url,loadaction,performaction)
{
	var form = document.forms['User'];
   	if (loadaction) form.loadaction.value = loadaction;
   	if (performaction) form.performaction.value = performaction;
 	form.action.value="User.update";
	form.submit();
}
if ('undefined' == typeof User.update)
	User.update = finebrain_user_update;

// USER.ATTACHMENT

function finebrain_user_attachment(url,loadaction,performaction) {
	var form=document.forms['User'];
	if (loadaction) form.loadaction.value = loadaction;
	if (performaction) form.performaction.value = performaction;
	form.action.value='User.attachment';
	form.submit();
}
User.attachment = finebrain_user_attachment;

// USER.UPLOADATTACHMENT

function finebrain_user_uploadattachment(url,loadaction) {
	var form;
	var pos = 0;
	while (pos < document.forms.length) {
		form = document.forms[pos];
		if (form["F/File"]) break;
	}
  	if (loadaction) form.loadaction.value=loadaction;
  	form.action.value = 'User.uploadattachment';
  	form.submit();
}
if ('undefined' == typeof User.uploadattachment) User.uploadattachment = finebrain_user_uploadattachment;

// USER.SELECT

function finebrain_user_select(url, loadaction) {
	var form = document.forms['User'];

	if (loadaction) form.loadaction.value = loadaction;

	// collect the selected categories
	form["categories/Categories"].value = postselect();

	form.action.value = "User.select";
	form.submit();
}
User.select = finebrain_user_select;

//USER.LOGINSELECT

function finebrain_user_loginselect(url, loadaction) {
	var form = document.forms['User'];

	if (loadaction) form.loadaction.value = loadaction;

	// collect the selected categories
	form["categories/Categories"].value = postselect();
	
	form.Firstlogin.value="true";

	form.action.value = "User.loginselect";
	form.submit();
}
User.loginselect = finebrain_user_loginselect;

// USER.SUBNODEDELETE

function finebrain_user_subnodedelete(url, performaction, loadaction) {
	form = document.forms["User"]
	form.action = url;

	if (form["categories/Categories"]) form["categories/Categories"].value=postselect();

	form.fbAction.value = "User.subnodedelete";
	if (performaction)
		form.performaction.value = performaction;
		
	if (loadaction)
		form.loadaction.value = loadaction;

	form.submit();		
  }
if ('undefined' == typeof User.subnodedelete)  
	User.subnodedelete = finebrain_user_subnodedelete;


// USER.SAVESELECT

function finebrain_user_saveselect(url, loadaction) {
	var form = document.forms['User'];

	if (loadaction) form.loadaction.value = loadaction;

	// collect the selected categories
	form["categories/Categories"].value = postselect();

	form.action.value = "User.saveselect";
	form.submit();
}
User.saveselect = finebrain_user_saveselect;


// USER.CANCEL

function finebrain_user_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=User.cancel");
}
User.cancel = finebrain_user_cancel;

// USER.SAVE

function finebrain_user_save(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=User.save");
}
if ('undefined' == typeof User.save)
	User.save = finebrain_user_save;


//USER.CHANGEPASSWORD

function finebrain_user_changepassword(url) {
	redirect(url, "&action=User.changepassword", "Password");
}
User.changepassword = finebrain_user_changepassword;

//USER.UPDATEPASSWORD

function finebrain_user_updatepassword(url) {
	document.forms['Password'].submit();
}
User.updatepassword = finebrain_user_updatepassword;


// INFO

if('undefined' == typeof Info) Info = new Object();

// INFO.FORM

function finebrain_info_form(categid) {
  var url = document.actpath; 
  var query = "&action=Info.form" + "&returnpath=" + document.uri;
  if(categid) query += "&Categories=" + categid;
  redirect(url, query);
}
Info.form = finebrain_info_form;

// INFO.EDIT

function finebrain_info_edit(url, loadaction, returnpath, performaction) {
	if(!url) url = document.actpath;
	query ="&action=Info.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	if (performaction)
		query += "&performaction=" + performaction;

	redirect(url, query);
}
Info.edit = finebrain_info_edit;


// INFO.CREATE

function finebrain_info_create() {
  var form = document.forms['Info'];

  // get the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value='Info.create';
  form.submit();
}
Info.create = finebrain_info_create;

// INFO.UPDATE

function finebrain_info_update(url,loadaction) {
  var form = document.forms['Info'];

  if (loadaction) form.loadaction.value=loadaction;

  // collect the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value = "Info.update";
  form.submit();
}
Info.update = finebrain_info_update;

// INFO.SELECT

function finebrain_info_select(url, loadaction) {
  var form = document.forms['Info'];

  if (loadaction) form.loadaction.value = loadaction;

  // collect the selected categories
  form["Categories/Categories"].value = postselect();

  form.action.value = "Info.select";

  form.submit();
}
Info.select = finebrain_info_select;

// INFO.ATTACHMENT

function finebrain_info_attachment(url,loadaction) {
  var form = document.forms['Attachments'];
  if (loadaction) form.loadaction.value = loadaction;
  form.action.value = 'Info.attachment';
  form.submit();
}
Info.attachment = finebrain_info_attachment;

// INFO.UPLOADATTACHMENT

function finebrain_info_uploadattachment(url, loadaction) {
  var form=document.forms['Info'];
  if (loadaction) form.loadaction.value=loadaction;
  form.action.value = 'Info.uploadattachment';
  if (form["Groups/Groups"])
    form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");

  form.submit();
}
Info.uploadattachment = finebrain_info_uploadattachment;

// INFO.CHECK

function finebrain_info_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Info.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Info.check = finebrain_info_check;

// INFO.SAVENOTIFY

function finebrain_info_savenotify(url)
  {
  var form = document.forms['Info'];

  // get the Recipients
  form["R/Recipients"].value=checkboxToString(form, "R/RecipientsList");
  form.action.value='Info.savenotify';
  form.submit();
  }
Info.savenotify = finebrain_info_savenotify;


// INFO.CANCEL

function finebrain_info_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Info.cancel");
  }
Info.cancel = finebrain_info_cancel;

// INFO.SAVE

function finebrain_info_save(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=Info.save");
}
Info.save = finebrain_info_save;


// INFO.SUBMIT

function finebrain_info_submit(url) {
  document.forms['Info'].submit();
}
Info.submit = finebrain_info_submit;

// INFO.APPROVE

function finebrain_info_approve(url) {
  if( !url ) url = document.actpath;
  redirect(url, "&action=Info.approve");
}
Info.approve = finebrain_info_approve;

// INFO.PUBLISH

function finebrain_info_publish(url) {
  if ( !url ) url = document.actpath;
  var form = document.forms['Info'];
  var query = "&action=Info.publish";
  if ( form.SendNotification.checked ) query += "&SendNotification=true";
  redirect(url, query);
}
Info.publish = finebrain_info_publish;

// INFO.DEACTIVATE

function finebrain_info_deactivate(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Info.deactivate";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Info.deactivate = finebrain_info_deactivate;

// INFO.REMOVE

function finebrain_info_remove(url, loadaction, returnpath) {
  	if ( !confirm(messages.deleteinfowarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=Info.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Info.remove = finebrain_info_remove;


// INFOCOMMENT

if ( 'undefined' == typeof InfoComment ) InfoComment = new Object();

// INFOCOMMENT.FORM

function finebrain_infocomment_form(url, queryStr, returnpath) {
	var query = "&action=InfoComment.form";
	if (queryStr)
	query=query + "&" + queryStr;
	if (returnpath)
		query=query + "&returnpath=" + returnpath;
	redirect(url, query);
}
InfoComment.form = finebrain_infocomment_form;

// INFOCOMMENT.EDIT

function finebrain_infocomment_edit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=InfoComment.edit";
	if (loadaction)
		query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
InfoComment.edit = finebrain_infocomment_edit;


// INFOCOMMENT.CREATE

function finebrain_infocomment_create() {
	document.forms['InfoComment'].action.value = 'InfoComment.create';
	document.forms['InfoComment'].submit();
}
InfoComment.create = finebrain_infocomment_create;

// INFOCOMMENT.UPDATE

function finebrain_infocomment_update(url, loadaction) {
	if (loadaction)
		document.forms['InfoComment'].loadaction.value = loadaction;
	document.forms['InfoComment'].action.value = 'InfoCommennt.update';
	document.forms['InfoComment'].submit();
}
InfoComment.update = finebrain_infocomment_update;

// INFOCOMMENT.ATTACHMENT

function finebrain_infocomment_attachment(url, loadaction) {
	var form = document.forms['Attachments'];
	if (loadaction) form.loadaction.value = loadaction;
	form.action.value = 'InfoComment.attachment';
	form.submit();
}
InfoComment.attachment = finebrain_infocomment_attachment;

// INFOCOMMENT.UPLOADATTACHMENT

function finebrain_infocomment_uploadattachment(url, loadaction) {
	var form = document.forms['InfoComment'];
	if (loadaction) form.loadaction.value=loadaction;
	form.action.value = 'InfoComment.uploadattachment';
	form.submit();
}
InfoComment.uploadattachment = finebrain_infocomment_uploadattachment;

// INFOCOMMENT.CHECK

function finebrain_infocomment_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=InfoComment.check";
	if (loadaction)
		query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
InfoComment.check = finebrain_infocomment_check;

// INFOCOMMENT.CANCEL

function finebrain_infocomment_cancel(url) {
	if ( !url ) url = document.actpath;
	redirect(url, "&action=InfoComment.cancel");
}
InfoComment.cancel = finebrain_infocomment_cancel;

// INFOCOMMENT.SAVE

function finebrain_infocomment_save(url) {
	document.forms['InfoComment'].action.value = 'InfoComment.save';
	document.forms['InfoComment'].submit();
}
if ( 'undefined' == typeof InfoComment.save ) InfoComment.save = finebrain_infocomment_save;

// INFOCOMMENT.SUBMIT

function finebrain_infocomment_submit(url) {
	document.forms['InfoComment'].action.value = 'InfoComment.submit';
	document.forms['InfoComment'].submit();
}
if ( 'undefined' == typeof InfoComment.submit ) InfoComment.submit = finebrain_infocomment_submit;

// INFOCOMMENT.PUBLISH

function finebrain_infocomment_publish(url) {
	var form = document.forms['InfoComment'];
	if (form) {
		document.forms['InfoComment'].action.value = 'InfoComment.publish';
		document.forms['InfoComment'].submit();
	} else 
		redirect(url, "&action=InfoComment.publish");
}
InfoComment.publish = finebrain_infocomment_publish;

// INFOCOMMENT.REMOVE

function finebrain_infocomment_remove(url, loadaction, returnpath) {
	if ( !confirm(messages.deletecommentwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=InfoComment.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
InfoComment.remove = finebrain_infocomment_remove;

// INFOCOMMENT.AGREE

function finebrain_infocomment_agree(url,loadaction) {
	if( !url ) url = document.actpath;
	if (loadaction)
		redirect(url, "&action=InfoComment.check&loadaction=" + loadaction, "infocomment");
	else 
		redirect(url, "&action=InfoComment.agree"); 	
}
InfoComment.agree = finebrain_infocomment_agree;

// QUESTION

if('undefined' == typeof Question) Question = new Object();

// QUESTION.FORM

function finebrain_question_form(categid) {
	url = document.actpath;
	var query = "&action=Question.form" + "&returnpath=" + document.uri;
	if ( categid ) query += "&Categories=" + categid;
	redirect(url, query);
}
Question.form = finebrain_question_form;

// QUESTION.EDIT

function finebrain_question_edit(url, loadaction, returnpath, performAction) {
	if(!url) url = document.actpath;
	query ="&action=Question.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	if (performAction)
		query += "&performaction=" + performAction;

	redirect(url, query);
}
if('undefined' == typeof Question.edit)
	Question.edit = finebrain_question_edit;


// QUESTION.CREATE

function finebrain_question_create() {
  var form = document.forms['Question'];

  // get the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value='Question.create';
  form.submit();
}
Question.create = finebrain_question_create;

// QUESTION.UPDATE

function finebrain_question_update(url,loadaction) {
  var form = document.forms['Question'];

  if (loadaction) form.loadaction.value=loadaction;

  // collect the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value = "Question.update";
  form.submit();
}
if('undefined' == typeof Question.update)
	Question.update = finebrain_question_update;

// QUESTION.SIMILAR

function finebrain_question_similar(url,loadaction)
{

	var form=document.forms['Question'];
		
	if (form.Groups) {
		// collect the groups
		form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
	}
	
	form.action.value = "Question.similar";
		
    if (loadaction) form.loadaction.value=loadaction;
    
	form.submit();
}
Question.similar = finebrain_question_similar;

// QUESTION.SELECT

function finebrain_question_select(url, loadaction) {
	loadNotification();
  var form = document.forms['Question'];

  if (loadaction) form.loadaction.value = loadaction;

  // collect the selected categories
  form["Categories/Categories"].value = postselect();

  form.action.value = "Question.select";
  form.submit();
}
Question.select = finebrain_question_select;

// QUESTION.ATTACHMENT

function finebrain_question_attachment(url,loadaction) {
  var form = document.forms['Attachments'];
  if (loadaction) form.loadaction.value = loadaction;
  form.action.value = 'Question.attachment';
  form.submit();
}
Question.attachment = finebrain_question_attachment;

// QUESTION.UPLOADATTACHMENT

function finebrain_question_uploadattachment(url, loadaction) {
  var form=document.forms['Question'];
  if (loadaction) form.loadaction.value=loadaction;
  form.action.value = 'Question.uploadattachment';
  
  if (form["Groups/Groups"])
    form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  
  form.submit();
}
if('undefined' == typeof Question.uploadattachment)
	Question.uploadattachment = finebrain_question_uploadattachment;

// QUESTION.CHECK

function finebrain_question_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Question.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Question.check = finebrain_question_check;

// QUESTION.SAVENOTIFY

function finebrain_question_savenotify(url)
  {
  var form = document.forms['Question'];

  // get the Recipients
  form["R/Recipients"].value=checkboxToString(form, "R/RecipientsList");
  if(form["R/Recipients"].value=="") { alert(messages.selectonerecipient); return; }
  form.action.value='Question.savenotify';
  form.submit();
  }
Question.savenotify = finebrain_question_savenotify;


// QUESTION.CANCEL

function finebrain_question_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Question.cancel");
  }
Question.cancel = finebrain_question_cancel;

// QUESTION.SAVE

function finebrain_question_save(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=Question.save");
}
if('undefined' == typeof Question.save)
	Question.save = finebrain_question_save;

// QUESTION.SUBMIT

function finebrain_question_submit(url) {
  if( !url ) url = document.actpath;
  redirect(url, "&action=Question.submit");
}
if('undefined' == typeof Question.submit) Question.submit = finebrain_question_submit;

// QUESTION.APPROVE

function finebrain_question_approve(url) {
  if( !url ) url = document.actpath;
  redirect(url, "&action=Question.approve");
}
Question.approve = finebrain_question_approve;

// QUESTION.PUBLISH

function finebrain_question_publish(url, loadaction, returnpath) {
  	if ( !url ) url = document.actpath;
  	
  	var form = document.forms['Info'];
  	
  	var query = "&action=Question.publish";
	
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

  	if (form && form.SendNotification.checked ) query += "&SendNotification=true";
  
  	redirect(url, query);
}
if('undefined' == typeof Question.publish) 
	Question.publish = finebrain_question_publish;

// QUESTION.DEACTIVATE

function finebrain_question_deactivate(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Question.deactivate";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Question.deactivate = finebrain_question_deactivate;

// QUESTION.REMOVE

function finebrain_question_remove(url, loadaction, returnpath) {
  if ( !confirm(messages.deletequestionwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=Question.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Question.remove = finebrain_question_remove;

// MAIL

if('undefined' == typeof Mail) Mail = new Object();


// MAIL.GROUPFORM

function finebrain_mail_groupform(categid) {
	var url = document.actpath + "/"; 
	var query = "&action=Mail.groupform" + "&returnpath=" + document.uri;
	
	if(categid) query += "&Categories/Categories=" + categid;
 
	redirect(url, query);
}
Mail.groupform = finebrain_mail_groupform;

// MAIL.FORM

function finebrain_mail_form(categid, recipient) {
	var form = document.forms['ObjectListForm'];
	
	url = document.actpath;
	
	var query = "&action=Mail.form" + "&returnpath=" + document.uri;
	
	if(categid) query += "&Categories=" + categid;

	if (!recipient && form) {

		var recipient = checkboxToString(form, "Object");
	  	if (recipient == '') {
  			alert(messages.alert_no_recipients);
		  	return;
		  }		  
		query += "&R/Recipients=" + recipient
	}
  
	if (recipient)
		query += "&R/Recipients=" + recipient;
  
	redirect(url, query);
}
Mail.form = finebrain_mail_form;

// MAIL.EDIT

function finebrain_mail_edit(url, loadaction, returnpath, performaction) {
	if(!url) url = document.actpath;
	query ="&action=Mail.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	if (performaction)
		query += "&performaction=" + performaction;

	redirect(url, query);
}
Mail.edit = finebrain_mail_edit;

// MAIL.SELECTEDIT

function finebrain_mail_selectedit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Mail.selectedit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Mail.selectedit = finebrain_mail_selectedit;

// MAIL.SELECT

function finebrain_mail_select(url,loadaction) {
  var form = document.forms['Mail'];

  if (loadaction) form.loadaction.value=loadaction;
    
  if (form["Categories/Categories"])
  	  form["Categories/Categories"].value = postselect();

  form.action.value = "Mail.select";
  form.submit();
}
Mail.select = finebrain_mail_select;



// MAIL.UPDATE

function finebrain_mail_update(url,loadaction) {
  var form = document.forms['Mail'];

  if (loadaction) form.loadaction.value=loadaction;
  
  if (form["options/Options"])
		form["options/Options"].value=checkboxToString(form, "options/OptionsList");
  
  if (form["Categories/Categories"])
  	  form["Categories/Categories"].value = postselect();

  form.action.value = "Mail.update";
  form.submit();
}
Mail.update = finebrain_mail_update;

// MAIL.GROUPUPDATE

function finebrain_mail_groupupdate(url,loadaction) {
  var form = document.forms['Mail'];

  if (loadaction) form.loadaction.value=loadaction;

  
  	// collect the selected users
	form["R/Recipients"].value = postselect();
  	
  	form["Groups/Groups"].value = postselectGroups();
		 
  form.action.value = "Mail.groupupdate";
  form.submit();
}
Mail.groupupdate = finebrain_mail_groupupdate;


// MAIL.SIMILAR

function finebrain_mail_similar(url,loadaction)
{

	var form=document.forms['Mail'];
		
	if (form.StartDate) {
		collectDate(form, 'StartDate');
		collectDate(form, 'EndDate');
	}

	if (form.Groups) {
		// collect the groups
		form.Groups.value=checkboxToString(form, "GroupsList");
	}
	
	form.action.value = "Mail.similar";
		
    if (loadaction) form.loadaction.value=loadaction;
    
	form.submit();
}
Mail.similar = finebrain_mail_similar;

// MAIL.UPLOADATTACHMENT

function finebrain_mail_uploadattachment(url, loadaction) {
  	var form = document.forms['Mail'];

  	if (loadaction) form.loadaction.value=loadaction;

	if (form["options/Options"])
		form["options/Options"].value=checkboxToString(form, "options/OptionsList");
 
 	if (form["Categories/Categories"])
		form["Categories/Categories"].value = postselect();

  	form.action.value = "Mail.uploadattachment";
  	form.submit();
}
if('undefined' == typeof Mail.uploadattachment)
	Mail.uploadattachment = finebrain_mail_uploadattachment;

// MAIL.CHECK

function finebrain_mail_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Mail.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Mail.check = finebrain_mail_check;

// MAIL.SAVENOTIFY

function finebrain_mail_savenotify(url)
  {
  var form = document.forms['Mail'];

  // get the Recipients
  form["R/Recipients"].value=checkboxToString(form, "R/RecipientsList");
  if(form["R/Recipients"].value=="") { alert(messages.selectonerecipient); return; }
  form.action.value='Mail.savenotify';
  form.submit();
  }
Mail.savenotify = finebrain_mail_savenotify;


// MAIL.CANCEL

function finebrain_mail_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Mail.cancel");
  }
Mail.cancel = finebrain_mail_cancel;

// MAIL.SAVE

function finebrain_mail_save(url) {
	var form = document.forms['Mail'];

	if (form["options/Options"])
		form["options/Options"].value=checkboxToString(form, "options/OptionsList");
 
 	if (form["Categories/Categories"])
		form["Categories/Categories"].value = postselect();

	form.action.value = "Mail.save";
	form.submit();
}
Mail.save = finebrain_mail_save;

// MAIL.SUBMIT

function finebrain_mail_submit(url) {
	var form = document.forms['Mail'];

	if (form["options/Options"])
		form["options/Options"].value=checkboxToString(form, "options/OptionsList");
 
 	if (form["Categories/Categories"])
		form["Categories/Categories"].value = postselect();

	form.action.value = "Mail.submit";
	form.submit();
}
if('undefined' == typeof Mail.submit) Mail.submit = finebrain_mail_submit;

// MAIL.APPROVE

function finebrain_mail_approve(url) {
	var form = document.forms['Mail'];

	if (form["options/Options"])
		form["options/Options"].value=checkboxToString(form, "options/OptionsList");
 
 	if (form["Categories/Categories"])
		form["Categories/Categories"].value = postselect();

	form.action.value = "Mail.approve";
	form.submit();
}
Mail.approve = finebrain_mail_approve;

// MAIL.PUBLISH

function finebrain_mail_publish(url, loadaction, returnpath) {
	var form = document.forms['Mail'];
	
	if (form["options/Options"])
		form["options/Options"].value=checkboxToString(form, "options/OptionsList");
 
 	if (form["Categories/Categories"])
		form["Categories/Categories"].value = postselect();

  	form.action.value = "Mail.publish";
  	form.submit();
}
Mail.publish = finebrain_mail_publish;

// MAIL.DEACTIVATE

function finebrain_mail_deactivate(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Mail.deactivate";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Mail.deactivate = finebrain_mail_deactivate;

// MAIL.REMOVE

function finebrain_mail_remove(url, loadaction, returnpath) {
  if ( !confirm(messages.deletemailwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=Mail.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Mail.remove = finebrain_mail_remove;


// ANSWER

if('undefined' == typeof Answer) Answer = new Object();

// ANSWER.FORM

function finebrain_answer_form(url, queryStr, returnpath) {
  var query = "&action=Answer.form";
  if (queryStr)
  	query=query + "&" + queryStr;
  if (returnpath)
   	query=query + "&returnpath=" + returnpath;
  redirect(url, query);
}
Answer.form = finebrain_answer_form;

// ANSWER.EDIT

function finebrain_answer_edit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Answer.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Answer.edit = finebrain_answer_edit;


// ANSWER.CREATE

function finebrain_answer_create() {
  document.forms['Answer'].action.value = 'Answer.create';
  document.forms['Answer'].submit();
}
Answer.create = finebrain_answer_create;

// ANSWER.UPDATE

function finebrain_answer_update(url, loadaction) {
	if (loadaction)
	  document.forms['Answer'].loadaction.value = loadaction;
	document.forms['Answer'].action.value = 'Answer.update';
	document.forms['Answer'].submit();
}
Answer.update = finebrain_answer_update;

// ANSWER.ATTACHMENT

function finebrain_answer_attachment(url, loadaction) {
  var form = document.forms['Attachments'];
  if (loadaction) form.loadaction.value = loadaction;
  form.action.value = 'Answer.attachment';
  form.submit();
}
Answer.attachment = finebrain_answer_attachment;

// ANSWER.UPLOADATTACHMENT

function finebrain_answer_uploadattachment(url, loadaction) {
  var form = document.forms['Answer'];
  if (loadaction) form.loadaction.value=loadaction;
  form.action.value = 'Answer.uploadattachment';
  form.submit();
}
Answer.uploadattachment = finebrain_answer_uploadattachment;

// ANSWER.CHECK

function finebrain_answer_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Answer.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Answer.check = finebrain_answer_check;

// ANSWER.CANCEL

function finebrain_answer_cancel(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=Answer.cancel");
}
Answer.cancel = finebrain_answer_cancel;

// ANSWER.SAVE

function finebrain_answer_save(url) {
	document.forms['Answer'].action.value = 'Answer.save';
	document.forms['Answer'].submit();
}
if ( 'undefined' == typeof Answer.save ) Answer.save = finebrain_answer_save;

// ANSWER.SUBMIT

function finebrain_answer_submit(url) {
	document.forms['Answer'].action.value = 'Answer.submit';
	document.forms['Answer'].submit();
}
if ( 'undefined' == typeof Answer.submit ) Answer.submit = finebrain_answer_submit;

// ANSWER.PUBLISH

function finebrain_answer_publish(url) {
	var form = document.forms['Answer'];
	if (form) {
		document.forms['Answer'].action.value = 'Answer.publish';
		document.forms['Answer'].submit();
	} else 
		redirect(url, "&action=Answer.publish");
}
Answer.publish = finebrain_answer_publish;

// ANSWER.DEACTIVATE

function finebrain_answer_deactivate(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Answer.deactivate";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Answer.deactivate = finebrain_answer_deactivate;



// ANSWER.REMOVE

function finebrain_answer_remove(url,loadaction,returnpath) {
	if(!confirm(messages.deleteanswerwarning)) return;
  	if(!url) url = document.actpath;
	query ="&action=Answer.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
Answer.remove = finebrain_answer_remove;

// ANSWER.AGREE

function finebrain_answer_agree(url,loadaction) {
	if(!url) url = document.actpath;
	
  	if ( !confirm(messages.answeragree) ) return;
	if (loadaction)
		redirect(url, "&action=Answer.check&loadaction=" + loadaction, "answer");
	else 
		redirect(url, "&action=Answer.agree"); 	
}
Answer.agree = finebrain_answer_agree;

// ANSWER.DISAGREE

function finebrain_answer_disagree(url,loadaction) {
	if(!url) url = document.actpath;
	
  	if ( !confirm(messages.answerdisagree) ) return;
	if (loadaction)
		redirect(url, "&action=Answer.check&loadaction=" + loadaction, "answer");
	else 
		redirect(url, "&action=Answer.disagree"); 	
}
Answer.disagree = finebrain_answer_disagree;


// MAILANSWER

if ( 'undefined' == typeof MailAnswer ) MailAnswer = new Object();

// MAILANSWER.FORM

function finebrain_mailanswer_form(url, queryStr, returnpath) {
	var query = "&action=MailAnswer.form";
	if (queryStr)
	query=query + "&" + queryStr;
	if (returnpath)
		query=query + "&returnpath=" + returnpath;
	redirect(url, query);
}
MailAnswer.form = finebrain_mailanswer_form;

// MAILANSWER.EDIT

function finebrain_mailanswer_edit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=MailAnswer.edit";
	if (loadaction)
		query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
MailAnswer.edit = finebrain_mailanswer_edit;

// MAILANSWER.CREATE

function finebrain_mailanswer_create() {
	document.forms['MailAnswer'].action.value = 'MailAnswer.create';
	document.forms['MailAnswer'].submit();
}
MailAnswer.create = finebrain_mailanswer_create;

// MAILANSWER.UPDATE

function finebrain_mailanswer_update(url, loadaction) {
	if (loadaction)
		document.forms['MailAnswer'].loadaction.value = loadaction;
	document.forms['MailAnswer'].action.value = 'MailAnswer.update';
	document.forms['MailAnswer'].submit();
}
MailAnswer.update = finebrain_mailanswer_update;

// MAILANSWER.ATTACHMENT

function finebrain_mailanswer_attachment(url, loadaction) {
	var form = document.forms['Attachments'];
	if (loadaction) form.loadaction.value = loadaction;
	form.action.value = 'MailAnswer.attachment';
	form.submit();
}
MailAnswer.attachment = finebrain_mailanswer_attachment;

// MAILANSWER.UPLOADATTACHMENT

function finebrain_mailanswer_uploadattachment(url, loadaction) {
	var form = document.forms['MailAnswer'];
	if (loadaction) form.loadaction.value=loadaction;
	form.action.value = 'MailAnswer.uploadattachment';
	form.submit();
}
MailAnswer.uploadattachment = finebrain_mailanswer_uploadattachment;

// MAILANSWER.CHECK

function finebrain_mailanswer_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=MailAnswer.check";
	if (loadaction)
		query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
MailAnswer.check = finebrain_mailanswer_check;

// MAILANSWER.CANCEL

function finebrain_mailanswer_cancel(url) {
	if ( !url ) url = document.actpath;
	redirect(url, "&action=MailAnswer.cancel");
}
MailAnswer.cancel = finebrain_mailanswer_cancel;

// MAILANSWER.SAVE

function finebrain_mailanswer_save(url) {
	document.forms['MailAnswer'].action.value = 'MailAnswer.save';
	document.forms['MailAnswer'].submit();
}
if ( 'undefined' == typeof MailAnswer.save ) MailAnswer.save = finebrain_mailanswer_save;

// MAILANSWER.SUBMIT

function finebrain_mailanswer_submit(url) {
	document.forms['MailAnswer'].action.value = 'MailAnswer.submit';
	document.forms['MailAnswer'].submit();
}
if ( 'undefined' == typeof MailAnswer.submit ) MailAnswer.submit = finebrain_mailanswer_submit;

// MAILANSWER.PUBLISH

function finebrain_mailanswer_publish(url) {
	var form = document.forms['MailAnswer'];
	if (form) {
		document.forms['MailAnswer'].action.value = 'MailAnswer.publish';
		document.forms['MailAnswer'].submit();
	} else 
		redirect(url, "&action=MailAnswer.publish");
	
}
MailAnswer.publish = finebrain_mailanswer_publish;

// MAILANSWER.REMOVE

function finebrain_mailanswer_remove(url, loadaction, returnpath) {
	if ( !confirm(messages.deleteanswerwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=MailAnswer.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
MailAnswer.remove = finebrain_mailanswer_remove;

// MAILANSWER.AGREE

function finebrain_mailanswer_agree(url,loadaction) {
	if( !url ) url = document.actpath;
	if (loadaction)
		redirect(url, "&action=MailAnswer.check&loadaction=" + loadaction, "mailanswer");
	else 
		redirect(url, "&action=MailAnswer.agree"); 	
}
MailAnswer.agree = finebrain_mailanswer_agree;


// SURVEY

if('undefined' == typeof Survey) Survey = new Object();

// SURVEY.FORM

function finebrain_survey_form(categid) {
	var url = document.actpath;
	var query = "&action=Survey.form" + "&returnpath=" + document.uri;
	if ( categid ) query += "&Categories=" + categid;
	redirect(url, query);
}
Survey.form = finebrain_survey_form;

// SURVEY.EDIT

function finebrain_survey_edit(url, loadaction, returnpath, performaction) {
	if(!url) url = document.actpath;
	query ="&action=Survey.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	if (performaction)
		query += "&performaction=" + performaction;

	redirect(url, query);
}
Survey.edit = finebrain_survey_edit;


// SURVEY.CREATE

function finebrain_survey_create() {
  var form = document.forms['Survey'];


  // get the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value='Survey.create';
  form.submit();
}
Survey.create = finebrain_survey_create;

// SURVEY.UPDATE

function finebrain_survey_update(url,loadaction) {
var form = document.forms['Survey'];

if (loadaction) form.loadaction.value=loadaction;

// collect the groups
form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
form.action.value = "Survey.update";
form.submit();
}
Survey.update = finebrain_survey_update;

// SURVEY.SELECT

function finebrain_survey_select(url, loadaction) {

	loadNotification();
	var form = document.forms['Survey'];

if (loadaction) form.loadaction.value = loadaction;

// collect the selected categories
form["Categories/Categories"].value = postselect();

form.action.value = "Survey.select";
form.submit();
}
Survey.select = finebrain_survey_select;

// SURVEY.ATTACHMENT

function finebrain_survey_attachment(url,loadaction) {
var form = document.forms['Survey'];
if (loadaction) form.loadaction.value = loadaction;
form.action.value = 'Survey.attachment';
form.submit();
}
Survey.attachment = finebrain_survey_attachment;

// SURVEY.UPLOADATTACHMENT

function finebrain_survey_uploadattachment(url, loadaction) {
	var form=document.forms['Survey'];
	if (loadaction) form.loadaction.value=loadaction;
	form.action.value = 'Survey.uploadattachment';
	form.submit();
}
Survey.uploadattachment = finebrain_survey_uploadattachment;

// SURVEY.PREPARE

function finebrain_survey_prepare(url, type) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.prepare";
	if (type)
		query += "&Type=" + type;
	redirect(url, query);
  }
Survey.prepare = finebrain_survey_prepare;

// SURVEY.QUESTIONPREPARE

function finebrain_survey_questionprepare(url) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.questionprepare";
	redirect(url, query);
  }
Survey.questionprepare = finebrain_survey_questionprepare;

// SURVEY.QUESTIONUPDATE

function finebrain_survey_questionupdate(url, loadaction) {
	var form = document.forms['Question'];

	if (loadaction) form.loadaction.value=loadaction;
	
	delimiter = ",";
	if (document.Question.delimiter != undefined && document.Question.delimiter.value != '')
		delimiter = document.Question.delimiter.value;
	
	var option = form["Options/Options"]
	if (option) {
		options = option.value.split(/\n/);
		option.value = "";
		sep = "";
		for (var t in options) { 
			option.value = option.value + sep + options[t];
			sep = delimiter;
		}
	}

	form.submit();
  }
Survey.questionupdate = finebrain_survey_questionupdate;

// SURVEY.QUESTIONDELETE

function finebrain_survey_questiondelete(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.questiondelete";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
Survey.questiondelete = finebrain_survey_questiondelete;

// SURVEY.QUESTIONUP

function finebrain_survey_questionup(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.questionup";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
Survey.questionup = finebrain_survey_questionup;

// SURVEY.QUESTIONDOWN

function finebrain_survey_questiondown(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.questiondown";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
Survey.questiondown = finebrain_survey_questiondown;


// SURVEY.QUESTIONCANCEL

function finebrain_survey_questioncancel(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.questioncancel";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
Survey.questioncancel = finebrain_survey_questioncancel;

// SURVEY.QUESTIONREDIRECT

function finebrain_survey_questionredirect(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.questionredirect";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
Survey.questionredirect = finebrain_survey_questionredirect;

// SURVEY.SAVENOTIFY

function finebrain_survey_savenotify(url)
  {
  var form = document.forms['Survey'];

  // get the Recipients
  form["R/Recipients"].value=checkboxToString(form, "R/RecipientsList");
  if(form["R/Recipients"].value=="") { alert(messages.selectonerecipient); return; }
  form.action.value='Survey.savenotify';
  form.submit();
  }
Survey.savenotify = finebrain_survey_savenotify;

// SURVEY.CHECK

function finebrain_survey_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Survey.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Survey.check = finebrain_survey_check;

// SURVEY.CANCEL

function finebrain_survey_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Survey.cancel");
  }
Survey.cancel = finebrain_survey_cancel;


// SURVEY.SAVE

function finebrain_survey_save(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Survey.save");
  }
Survey.save = finebrain_survey_save;

// SURVEY.SUBMIT

function finebrain_survey_submit(url) {
document.forms['Survey'].submit();
}
Survey.submit = finebrain_survey_submit;

// SURVEY.APPROVE

function finebrain_survey_approve(url) {
  if( !url ) url = document.actpath;
  redirect(url, "&action=Survey.approve");
}
Survey.approve = finebrain_survey_approve;

// SURVEY.PUBLISH

function finebrain_survey_publish(url) {

	if ( !url ) url = document.actpath;
	var form = document.forms['Survey'];
	var query = "&action=Survey.publish";
	if ( form.SendNotification.checked ) query += "&SendNotification=true";
	redirect(url, query);
}
Survey.publish = finebrain_survey_publish;

// SURVEY.RESULTPUBLISH

function finebrain_survey_resultpublish(url) {

	if ( !confirm(messages.publishresultwarning) ) return;
	if ( !url ) url = document.actpath;
	var query = "&action=Survey.resultpublish";

	redirect(url, query);
}
Survey.resultpublish = finebrain_survey_resultpublish;

// SURVEY.DEACTIVATE

function finebrain_survey_deactivate(url, loadaction, returnpath, performaction) {
	if(!url) url = document.actpath;
	query ="&action=Survey.deactivate";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	if (performaction)
		query += "&performaction=" + performaction;

	redirect(url, query);
}
Survey.deactivate = finebrain_survey_deactivate;

// SURVEY.REMOVE

function finebrain_survey_remove(url, loadaction, returnpath) {
  if ( !confirm(messages.deletequestionwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=Survey.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Survey.remove = finebrain_survey_remove;

// SURVEY.ANSWERFORM

function finebrain_survey_answerform(url,loadaction,returnpath) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.answerform";
	
	if (returnpath)
		query += "&returnpath=" + returnpath;

	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	
	redirect(url, query);
  }
Survey.answerform = finebrain_survey_answerform;

// SURVEY.ANSWER

function finebrain_rating_answer(url,loadaction,performaction) {
	var form = document.forms['Survey'];
	if (loadaction) form.loadaction.value = loadaction;
	if (performaction) form.performaction.value = performaction;
	
	form.action.value = 'Survey.answer';
	
	local_survey_answer(url);
	
}
Survey.answer = finebrain_rating_answer;

// SURVEY.RESULT

function finebrain_survey_result(url,loadaction,returnpath) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.result";

	if (returnpath)
		query += "&returnpath=" + returnpath;

	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	
	redirect(url, query);
	
}
Survey.result = finebrain_survey_result;



// SURVEY.RESULTEDIT

function finebrain_survey_resultedit(url,loadaction,returnpath) {
	if( !url ) url = document.actpath;
	query = "&action=Survey.resultedit";

	if (returnpath)
		query += "&returnpath=" + returnpath;

	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	
	redirect(url, query);
	
}
Survey.resultedit = finebrain_survey_resultedit;

// PUBLICATION

if('undefined' == typeof Publication) Publication = new Object();

// PUBLICATION.FORM

function finebrain_publication_form(categid) {
	var url = document.actpath;
	var query = "&action=Publication.form" + "&returnpath=" + document.uri;
	if ( categid ) query += "&Categories=" + categid;
	redirect(url, query);
}
Publication.form = finebrain_publication_form;

// PUBLICATION.EDIT

function finebrain_publication_edit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Publication.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Publication.edit = finebrain_publication_edit;


// PUBLICATION.CREATE

function finebrain_publication_create() {
  var form = document.forms['Publication'];

   // collect the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value='Publication.create';
  form.submit();
}
Publication.create = finebrain_publication_create;

// PUBLICATION.UPDATE

function finebrain_publication_update(url,loadaction) {
  var form = document.forms['Publication'];

  if (loadaction) form.loadaction.value=loadaction;

   // collect the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.action.value = "Publication.update";
  form.submit();
}
Publication.update = finebrain_publication_update;

// PUBLICATION.ANNOTAE

function finebrain_publication_annotate(url,loadaction) {
  var form = document.forms['Publication'];

  if (loadaction) form.loadaction.value=loadaction;
  form.action.value = "Publication.annotate";
  form.submit();
}
Publication.annotate = finebrain_publication_annotate;


// PUBLICATION.SUBNODEDELETE

function finebrain_publication_subnodedelete(url) {

	redirect(url, "&action=Publication.authordelete");
	
}
Publication.subnodedelete = finebrain_publication_subnodedelete;


// PUBLICATION.AUTHOREDITNODE

function finebrain_publication_authoreditnode(author, loadaction) {
  	var form = document.forms['Publication'];

	form.ObjectId.value = author;
	form.RelationListNode.value='AuthorList';

  	if (loadaction) form.loadaction.value=loadaction;

  	form.action.value = "Publication.authoreditnode";
  	form.submit();
}
Publication.authoreditnode = finebrain_publication_authoreditnode;

// PUBLICATION.AUTHORIDENTIFY

function finebrain_publication_authoridentify() {
	alert("Not implemented yet:\nHere you could identify the given author\nwith a registered platform user.");
}
Publication.authoridentify = finebrain_publication_authoridentify;

// PUBLICATION.AUTHORDELETE

function finebrain_publication_authordelete(author, loadaction) {
        var form = document.forms['Publication'];

        form.DeleteList.value = author;
        form.RelationListNode.value='AuthorList';

        if (loadaction) form.loadaction.value=loadaction;

        form.action.value = "Publication.authordelete";
        form.submit();
}
Publication.authordelete = finebrain_publication_authordelete;

// PUBLICATION.SELECT

function finebrain_publication_select(url, loadaction) {
  var form = document.forms['Publication'];

  if (loadaction) form.loadaction.value = loadaction;

  // collect the selected categories
  form["Categories/Categories"].value = postselect();

  form.action.value = "Publication.select";

  form.submit();
}
Publication.select = finebrain_publication_select;

// PUBLICATION.ATTACHMENT

function finebrain_publication_attachment(url,loadaction) {
  var form = document.forms['Attachments'];
  if (loadaction) form.loadaction.value = loadaction;
  form.action.value = 'Publication.attachment';
  form.submit();
}
Publication.attachment = finebrain_publication_attachment;

// PUBLICATION.UPLOADATTACHMENT

function finebrain_publication_uploadattachment(url, loadaction) {
  var form=document.forms['Publication'];
  if (loadaction) form.loadaction.value=loadaction;
  form.action.value = 'Publication.uploadattachment';
  form.submit();
}
Publication.uploadattachment = finebrain_publication_uploadattachment;

// PUBLICATION.CHECK

function finebrain_publication_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Publication.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Publication.check = finebrain_publication_check;

// PUBLICATION.SAVENOTIFY

function finebrain_publication_savenotify(url) {
  var form = document.forms['Publication'];

  // get the Recipients
  form["R/Recipients"].value=checkboxToString(form, "R/RecipientsList");
  form.action.value='Publication.savenotify';
  form.submit();
}
Publication.savenotify = finebrain_publication_savenotify;


// PUBLICATION.CANCEL

function finebrain_publication_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Publication.cancel");
  }
Publication.cancel = finebrain_publication_cancel;

// PUBLICATION.SAVE

function finebrain_publication_save(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=Publication.save");
}
Publication.save = finebrain_publication_save;


// PUBLICATION.SUBMIT

function finebrain_publication_submit(url) {
  document.forms['Publication'].submit();
}
Publication.submit = finebrain_publication_submit;

// PUBLICATION.APPROVE

function finebrain_publication_approve(url) {
  if( !url ) url = document.actpath;
  redirect(url, "&action=Publication.approve");
}
Publication.approve = finebrain_publication_approve;

// PUBLICATION.PUBLISH

function finebrain_publication_publish(url) {
  if ( !url ) url = document.actpath;
  var form = document.forms['Publication'];
  var query = "&action=Publication.publish";
  if ( form.SendNotification.checked ) query += "&SendNotification=true";
  redirect(url, query);
}
Publication.publish = finebrain_publication_publish;

// PUBLICATION.DEACTIVATE

function finebrain_publication_deactivate(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Publication.deactivate";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Publication.deactivate = finebrain_publication_deactivate;

// PUBLICATION.REMOVE

function finebrain_publication_remove(url, loadaction, returnpath) {
  	if ( !confirm(messages.deleteinfowarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=Publication.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Publication.remove = finebrain_publication_remove;

// PUBLICATIONCOMMENT

if ( 'undefined' == typeof PublicationComment ) PublicationComment = new Object();

// PUBLICATIONCOMMENT.FORM

function finebrain_publicationcomment_form(url, queryStr, returnpath) {
	var query = "&action=PublicationComment.form";
	if (queryStr)
	query=query + "&" + queryStr;
	if (returnpath)
		query=query + "&returnpath=" + returnpath;
	redirect(url, query);
}
PublicationComment.form = finebrain_publicationcomment_form;

// PUBLICATIONCOMMENT.EDIT

function finebrain_publicationcomment_edit(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=PublicationComment.edit";
	if (loadaction)
		query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
PublicationComment.edit = finebrain_publicationcomment_edit;


// PUBLICATIONCOMMENT.CREATE

function finebrain_publicationcomment_create() {
	document.forms['PublicationComment'].action.value = 'PublicationComment.create';
	document.forms['PublicationComment'].submit();
}
PublicationComment.create = finebrain_publicationcomment_create;

// PUBLICATIONCOMMENT.UPDATE

function finebrain_publicationcomment_update(url, loadaction) {
	if (loadaction)
		document.forms['PublicationComment'].loadaction.value = loadaction;
	document.forms['PublicationComment'].action.value = 'PublicationCommennt.update';
	document.forms['PublicationComment'].submit();
}
PublicationComment.update = finebrain_publicationcomment_update;

// PUBLICATIONCOMMENT.ATTACHMENT

function finebrain_publicationcomment_attachment(url, loadaction) {
	var form = document.forms['Attachments'];
	if (loadaction) form.loadaction.value = loadaction;
	form.action.value = 'PublicationComment.attachment';
	form.submit();
}
PublicationComment.attachment = finebrain_publicationcomment_attachment;

// PUBLICATIONCOMMENT.UPLOADATTACHMENT

function finebrain_publicationcomment_uploadattachment(url, loadaction) {
	var form = document.forms['PublicationComment'];
	if (loadaction) form.loadaction.value=loadaction;
	form.action.value = 'PublicationComment.uploadattachment';
	form.submit();
}
PublicationComment.uploadattachment = finebrain_publicationcomment_uploadattachment;

// PUBLICATIONCOMMENT.CHECK

function finebrain_publicationcomment_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=PublicationComment.check";
	if (loadaction)
		query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
PublicationComment.check = finebrain_publicationcomment_check;

// PUBLICATIONCOMMENT.CANCEL

function finebrain_publicationcomment_cancel(url) {
	if ( !url ) url = document.actpath;
	redirect(url, "&action=PublicationComment.cancel");
}
PublicationComment.cancel = finebrain_publicationcomment_cancel;

// PUBLICATIONCOMMENT.SAVE

function finebrain_publicationcomment_save(url) {
	document.forms['PublicationComment'].action.value = 'PublicationComment.save';
	document.forms['PublicationComment'].submit();
}
if ( 'undefined' == typeof PublicationComment.save ) PublicationComment.save = finebrain_publicationcomment_save;

// PUBLICATIONCOMMENT.SUBMIT

function finebrain_publicationcomment_submit(url) {
	document.forms['PublicationComment'].action.value = 'PublicationComment.submit';
	document.forms['PublicationComment'].submit();
}
if ( 'undefined' == typeof PublicationComment.submit ) PublicationComment.submit = finebrain_publicationcomment_submit;

// PUBLICATIONCOMMENT.PUBLISH

function finebrain_publicationcomment_publish(url) {
	var form = document.forms['PublicationComment'];
	if (form) {
		document.forms['PublicationComment'].action.value = 'PublicationComment.publish';
		document.forms['PublicationComment'].submit();
	} else 
		redirect(url, "&action=PublicationComment.publish");
}
PublicationComment.publish = finebrain_publicationcomment_publish;

// PUBLICATIONCOMMENT.REMOVE

function finebrain_publicationcomment_remove(url, loadaction, returnpath) {
	if ( !confirm(messages.deletecommentwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=PublicationComment.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	redirect(url, query);
}
PublicationComment.remove = finebrain_publicationcomment_remove;

// PUBLICATIONCOMMENT.AGREE

function finebrain_publicationcomment_agree(url,loadaction) {
	if( !url ) url = document.actpath;
	if (loadaction)
		redirect(url, "&action=PublicationComment.check&loadaction=" + loadaction, "publicationcomment");
	else 
		redirect(url, "&action=PublicationComment.agree"); 	
}
PublicationComment.agree = finebrain_publicationcomment_agree;


// CUMULUSACTION

if('undefined' == typeof CumulusAction) CumulusAction = new Object();

// CUMULUSACTION.GETIMAGE

function finebrain_cumulus_getimage(handle)
  {
  var form = document.forms["f" + handle];
  form.action.value = "CumulusAction.getimage";
  
  form.target = "_self";
  
  form.submit();

  }
CumulusAction.getimage = finebrain_cumulus_getimage;

// SHOPPINGCART

if('undefined' == typeof ShoppingCart) ShoppingCart = new Object();

// SHOPPINGCART.ADD

function finebrain_shoppingcart_add(handle)
  {
  redirect(handle, "&action=ShoppingCart.add", "cart");
  }
ShoppingCart.add = finebrain_shoppingcart_add;

// SHOPPINGCART.RECORDADD

function finebrain_shoppingcart_recordadd(handle)
  {
  
  var form = document.forms["f" + handle];

  form.action.value = "ShoppingCart.add";
  
  form.target = "cart";
  
  form.submit();

  }
ShoppingCart.recordadd = finebrain_shoppingcart_recordadd;



// SHOPPINGCART.ADDSELECTED

function finebrain_shoppingcart_addselected(handle) {  	
	var form = document.forms['ObjectListForm'];
	form.ItemList.value = checkboxToString(form, "Object");
	form.action.value = "ShoppingCart.addselected";
	
	form.submit();	  
  }
if('undefined' == typeof ShoppingCart.addselected) 
	ShoppingCart.addselected = finebrain_shoppingcart_addselected;

// SHOPPINGCART.ADDALL

function finebrain_shoppingcart_addall(handle)
  {
	  var form = document.forms['ObjectListForm'];
	  var itemList = form.ObjectList.value;
	  redirect(handle, "&action=ShoppingCart.addselected&ItemList=" + itemList, "cart");
  }
ShoppingCart.addall = finebrain_shoppingcart_addall;

// SHOPPINGCART.REMOVE

function finebrain_shoppingcart_remove(handle)
  {
  if(handle.indexOf(document.docroot)==0) handle = handle.substring(document.docroot.length+1);
  redirect(document.langpath, "&action=ShoppingCart.remove&ItemList="+handle, "cart");
  }
ShoppingCart.remove = finebrain_shoppingcart_remove;

// SHOPPINGCART.CREATEREPORT

function finebrain_shoppingcart_createreport()
  {
  var form = document.forms['ShoppingCart'];
  var rt = checkboxToString(form, "ReportType");
  redirect(document.langpath, "&action=ShoppingCart.createReport&ReportType="+rt, "report", "toolbar,scrollbars,resizable,status,width=" + popup.defaultWidth + ",height=" + popup.defaultHeight + ",screenY=0");
  }
ShoppingCart.createReport = finebrain_shoppingcart_createreport;

// SHOPPINGCART.SAVE

function finebrain_shoppingcart_save()
{
	if (!confirm(messages.warningcart)) return;
	redirect(document.langpath, "&action=ShoppingCart.save", "cart");
}
ShoppingCart.save = finebrain_shoppingcart_save;

// SHOPPINGCART.LOAD

function finebrain_shoppingcart_load()
{
redirect(document.langpath, "&action=ShoppingCart.load", "cart");
}
ShoppingCart.load = finebrain_shoppingcart_load;

// COLLECTDATE

function collectDate(form, id) {
  if (!form["Default"+id] || form["Default"+id][1].checked )
    form[id].value = form[id].value;
  else
    form[id].value = "0";
}

// CHECKBOXTOSTRING

function finebrain_selectall(form, fieldid) {
  if ( !form[fieldid] ) { 
  	alert("form " + form.name + " has no field "+fieldid); 
  	return; 
  }
  var field = form[fieldid];
  if ( !field.length ) {
  	if (field.checked)
    	field.checked = false;  	
  	else
    	field.checked = true;
    return;
  }

  var i = field.length;
  var checked = !field[0].checked;
  while ( i --> 0 ) {
    var obj = field[i];
	obj.checked=checked;
  }
}


function finebrain_selectall_hard(form, fieldid) {
  if ( !form[fieldid] ) { 
  	alert("form " + form.name + " has no field "+fieldid); 
  	return; 
  }
  var field = form[fieldid];
  
  var i = field.length;
  var checked = !field[0].checked;
  while ( i --> 0 ) {
    var obj = field[i];
	obj.checked=true;
  }
}


function finebrain_deselectall_hard(form, fieldid) {
  if ( !form[fieldid] ) { 
  	alert("form " + form.name + " has no field "+fieldid); 
  	return; 
  }
  var field = form[fieldid];
  
  var i = field.length;
  var checked = !field[0].checked;
  while ( i --> 0 ) {
    var obj = field[i];
	obj.checked=false;
  }
}


// CHECKBOXTOSTRING

function checkboxToString(form, fieldid) {
  var list = "";
  if ( !form[fieldid] ) { alert("form " + form.name + " has no field "+fieldid); return ""; }
  var field = form[fieldid];
  var sep = "";
  if ( !field.length ) {
    if ( field.checked ) return field.value;
    else return "";
  }
  var i = field.length;
  while ( i --> 0 ) {
    var obj = field[i];
    if ( !obj.checked ) continue;
    list = obj.value + sep + list;
    sep = ",";
  }
  return list;
}

// CHEKBOXSELECTTOSTRING

function checkboxSelectToString(form, fieldid, selectPrefix) {
	var list="";
	if(!form[fieldid]) { alert("form "+form.name+" has no field "+fieldid); return ""; } 
	var field=form[fieldid];
	var sep="";
	if(!field.length) {
		if (field.checked) {
			var elem = form[selectPrefix + field.value];  
			if (elem)
				return field.value + ":" + elem.value;
			else 
				return field.value
		}
		else return "";
	}
	var i = field.length;
	while(i-->0) {
		var obj=field[i];
		if(!obj.checked) continue;
		var elem = form[selectPrefix + obj.value];  
		if (elem)
			list = obj.value + ":" + elem.value + sep + list;
		else 
			list = obj.value + sep + list;
		sep=",";
	}
	return list;
}

// SEARCH

if( 'undefined' == typeof Search) Search = new Object();

// SEARCH.SEARCH

function finebrain_search_search() {
  var form = document.forms['Search'];
  if(form.QueryText.value=="") { alert(messages.insertSearchTerm); return; }
  form.submit();
  }
if('undefined' == typeof Search.search) Search.search = finebrain_search_search;

// SEARCH.GLOBALSEARCH

function finebrain_search_globalsearch() {
  var form = document.forms['GlobalSearch'];
  if(form.QueryText.value=="") { alert(messages.insertSearchTerm); return; }
  form.submit();
  }
Search.globalsearch = finebrain_search_globalsearch;

// SEARCH.HELP

function finebrain_search_help() {
  var url = document.langpath + "/private/searchtips";
  redirect(url, null, "_blank");
}
if('undefined' == typeof Search.help) Search.help = finebrain_search_help;

// SEARCH.MATCH

function finebrain_search_match(url, loadaction) {
	var form = document.forms['Categories'];

	if (loadaction) form.loadaction.value = loadaction;

	// collect the selected categories
	form.Categories.value = postselect();

	form.action.value = "Search.match";
	form.submit();
	
}
Search.match = finebrain_search_match

// DEVELOPERSEARCH

DeveloperSearch = new Object();

function finebrain_developersearch_search() {
  var form = document.forms['DeveloperSearch'];
  form.action.value="DeveloperSearch.search";
  form.submit();
}
DeveloperSearch.search = finebrain_developersearch_search;

function finebrain_developersearch_fullindex() {
  var form = document.forms['DeveloperSearch'];
  form.action.value = "DeveloperSearch.fullIndex";
  form.submit();
}
DeveloperSearch.fullIndex = finebrain_developersearch_fullindex;

function finebrain_developersearch_showindex() {
  var form = document.forms['DeveloperSearch'];
  form.action.value = "DeveloperSearch.showIndex";
  form.submit();
}
DeveloperSearch.showIndex = finebrain_developersearch_showindex;

function finebrain_developersearch_showstatistics() {
  var form = document.forms['DeveloperSearch'];
  form.action.value="DeveloperSearch.showStatistics";
  form.submit();
}
DeveloperSearch.showStatistics = finebrain_developersearch_showstatistics;

// HELP

if ( 'undefined' == typeof Help ) Help = new Object();
function finebrain_help_show() {
  redirect(document.helppath, null, "_blank");
}
if('undefined' == typeof Help.show) Help.show = finebrain_help_show;

// INTERNATIONALISATION

Internationalization = new Object();

function finebrain_internationalization_upload() {
  var form = document.forms['Internationalization'];
  form.action.value='Internationalization.upload';
  form.submit();
}
Internationalization.upload = finebrain_internationalization_upload;

// EXPERTS

if ('undefined' == typeof Experts) Experts = new Object();

// EXPERTS.BROWSE

/**
 * <code>Experts.browse()</code> action.
 * <p>
 * This internally sets <code>Categories.value</code> 
 * (comma delimited list of selected categories) of corresponding
 * form and submits it with 'Experts.match' action. 
 * </p>
 */
function finebrain_experts_browse() {
	var form = document.forms['ExpertCategories'];
	if ('undefined' == typeof form) {
		form = document.forms[0];
	}
	form.action.value = 'Experts.match';
	var inpEls = form.elements;
	var str = '';
	var sep = "";
	for (var i = 0; i < inpEls.length; i++) {
		if ("checkbox" != inpEls[i].type) {
			continue;
		}
		if (inpEls[i].checked) {
			str += sep + inpEls[i].name;
			sep=",";
		}
	}
	if (str != '') {
		form.Categories.value = str;
	}
	form.submit();
}
Experts.browse = finebrain_experts_browse;

// EXPERTS.CREATE

function finebrain_experts_create(url,loadaction) {
	var form =  document.forms['Expert'];
	if (loadaction) form.loadaction.value = loadaction;

	//form["ContactPerson/ContactPerson"].value=checkboxToString(form, "ContactPerson/ContactPersonList");

	form.action.value="Experts.create";
	form.submit();
}
Experts.create = finebrain_experts_create;

// EXPERTS.EDIT

function finebrain_experts_edit(url, loadaction, returnpath, performaction) {
	if(!url) url = document.actpath;
	query ="&action=Experts.edit";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	else 
		query += "&returnpath=" + document.uri;
	if (performaction)
		query += "&performaction=" + performaction;


	redirect(url, query);	
}
Experts.edit = finebrain_experts_edit;


// EXPERTS.CHECK

function finebrain_experts_check(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Experts.check";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;
	else 
		query += "&returnpath=" + document.uri;

	redirect(url, query);	
}
Experts.check = finebrain_experts_check;

// EXPERTS.FORM

function finebrain_experts_form(categ, loadaction, returnpath) {
	var url = document.actpath;
	var query ="&action=Experts.form";
	if (loadaction) {
	  	query += "&loadaction=" + loadaction;
	}	
	if (document.query) {
		query += "&query=" + document.query;
	}
	if (returnpath) {
		query += "&returnpath=" + returnpath;
	}
	if (categ) {
		query += "&Categories=" + categ;
	}			
	redirect(url, query);
}
Experts.form = finebrain_experts_form;

// EXPERTS.UPLOADATTACHMENT

function bbraun_experts_uploadattachment(url,loadaction) {
	var form=document.forms["Expert"];

	// collect the contact persons
	//form.ContactPerson.value=checkboxToString(form, "ContactPersonList");

	form.action.value='Experts.uploadattachment';
	if (loadaction) form.loadaction.value = loadaction;
	
	form.submit();
}
if ('undefined' == typeof Experts.uploadattachment) Experts.uploadattachment = bbraun_experts_uploadattachment;


// EXPERTS.UPDATE

function finebrain_experts_update(url,loadaction,performaction)
{
	var form = document.forms['Expert'];

	// collect the contact persons
	//form["ContactPerson/ContactPerson"].value=checkboxToString(form, "ContactPerson/ContactPersonList");

  // collect the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
	if (loadaction) form.loadaction.value = loadaction;
   	if (performaction) form.performaction.value = performaction;
	form.action.value="Experts.update";
	form.submit();
}
if ('undefined' == typeof Experts.update) Experts.update = finebrain_experts_update;

// EXPERTS.SELECT

function finebrain_experts_select(url, loadaction,performaction) {
	var form = document.forms['Experts'];

	if (loadaction) form.loadaction.value = loadaction;
   	if (performaction) form.performaction.value = performaction;

	// collect the selected categories
	form["categories/Categories"].value = postselect();

	form.action.value = "Experts.select";
	form.submit();
}
Experts.select = finebrain_experts_select;

// EXPERTS.CANCEL

function finebrain_experts_cancel(url) {
	if( !url ) url = document.actpath;
	redirect(url, "&action=Experts.cancel");
}
Experts.cancel = finebrain_experts_cancel;

// EXPERTS.SAVE

function finebrain_experts_save(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=Experts.save");
}
Experts.save = finebrain_experts_save;

// EXPERTS.PUBLISH

function finebrain_experts_publish(url) {
  if ( !url ) url = document.actpath;
  redirect(url, "&action=Experts.publish");
}
Experts.publish = finebrain_experts_publish;

// EXPERTS.REMOVE

function finebrain_experts_remove(url, loadaction, returnpath) {
	if ( !confirm(messages.deleteexpertwarning) ) return;
	if(!url) url = document.actpath;
	query ="&action=Experts.remove";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Experts.remove = finebrain_experts_remove;




// GROUPADMIN

GroupAdmin = new Object();

// GROUPADMIN.CREATE

function finebrain_groupadmin_create()	{
	var form = document.forms['GroupAdmin'];
	form.action.value='GroupAdmin.create';
	form.submit();
}
GroupAdmin.create = finebrain_groupadmin_create;

//GROUPADMIN.REMOVE

function finebrain_groupadmin_remove(grouplabel) {
	if(!confirm(messages.deletegroup)) return;
	var url = document.langpath+"/groups/"+grouplabel;
	redirect(url, "&action=GroupAdmin.remove");
}
GroupAdmin.remove = finebrain_groupadmin_remove;

//GROUPADMIN.NAMEUPDATE

function finebrain_groupadmin_nameupdate() {
	var form = document.forms['GroupAdmin'];
	form.submit();
}
GroupAdmin.nameupdate = finebrain_groupadmin_nameupdate;

//GROUPADMIN.GROUPTYPEUPDATE

function finebrain_groupadmin_setgrouptype() {
	var form = document.forms['GroupAdminTypeForm'];
	form.action.value = 'GroupAdmin.grouptypeupdate';
	form.submit();
}
GroupAdmin.setgrouptype = finebrain_groupadmin_setgrouptype;

// EVENTADMIN

EventAdmin = new Object();

// EVENTADMIN.CREATE

function finebrain_eventadmin_create()	{
	var form = document.forms['EventAdmin'];
	form.action.value='EventAdmin.create';
	form.submit();
}
EventAdmin.create = finebrain_eventadmin_create;

//EVENTADMIN.REMOVE

function finebrain_eventadmin_remove(grouplabel) {
	if(!confirm(messages.deletegroup)) return;
	var url = document.langpath+"/groups/"+grouplabel;
	redirect(url, "&action=EventAdmin.remove");
}
EventAdmin.remove = finebrain_eventadmin_remove;

// EVENTADMIN.ACTIVATE

function finebrain_eventadmin_activate() {
	var form=document.forms['UserList']; // sic! has got to be the user list, not the UserAdmin form...
	if(!form) { 
		alert("Javascript Error: HTML Form 'UserList' not found"); 
		return;
	}
	form.action.value = "EventAdmin.activate";
	form.UserList.value = checkboxToString(form, "UserId");
	form.submit();
}
EventAdmin.activate = finebrain_eventadmin_activate;

// EVENTADMIN.DEACTIVATE

function finebrain_eventadmin_deactivate(user) {
	var form=document.forms['UserList']; // sic! has got to be the user list, not the UserAdmin form...
	if(!form) { 
		alert("Javascript Error: HTML Form 'UserList' not found"); 
		return;
	}
	form.action.value = "EventAdmin.deactivate";
	form.UserList.value = user;
	form.submit();
}
EventAdmin.deactivate = finebrain_eventadmin_deactivate;

// EVENTADMIN.SEARCH

function finebrain_eventadmin_search() {
	var form=document.forms['EventAdminSearch'];
	form.action.value='EventAdmin.search';
	if (form.Group.value == " ") {
		alert(messages.selectEventAlert);
		return;
	}
	form.submit();
}
EventAdmin.search = finebrain_eventadmin_search;


// EVENT

Event = new Object();


//EVENT.APPLY

function finebrain_event_apply(url, loadaction, returnpath) {
	if(!url) url = document.actpath;
	query ="&action=Event.apply";
	if (loadaction)
	  	query += "&loadaction=" + loadaction;	
	if (document.query)
		query += "&query=" + document.query;
	if (returnpath)
		query += "&returnpath=" + returnpath;

	redirect(url, query);
}
Event.apply = finebrain_event_apply;



//ROLEADMIN

RoleAdmin = new Object();

//ROLEADMIN.SETNAME

function finebrain_roleadmin_setname() {
	var form = document.forms['RoleAdmin'];
	form.action.value = 'RoleAdmin.setname';
	var grouplabel = form.Role.options[form.Role.selectedIndex].value;
	var groupname = form.TitleText.value;
	form.submit();
}
RoleAdmin.setname = finebrain_roleadmin_setname;

//ROLEADMIN.SETGROUPS
function finebrain_roleadmin_setgroups() {
  var form = document.forms['RoleAdminGroup'];

  // get the groups
  form["Groups/Groups"].value=checkboxToString(form, "Groups/GroupsList");
  form.submit();
}
RoleAdmin.setgroups = finebrain_roleadmin_setgroups;



// TAXONOMYADMIN

if('undefined' == typeof TaxonomyAdmin) TaxonomyAdmin = new Object();

//function finebrain_taxonomyadmin_form()
//  {
//  var url = document.actpath+"?action=TaxonomyAdmin.form&ck="+document.ck;
//  window.open( url, "taxonomyadmin", "status=no,scrollbars=yes,resizable=yes,width=" + popup.defaultWidth + ",height=" + popup.defaultHeight + ",screenY=0");
//  }
//TaxonomyAdmin.form = finebrain_taxonomyadmin_form;

// TAXONOMYADMIN.CREATE

function finebrain_taxonomyadmin_create() {
  document.forms['TaxonomyAdmin.create'].action.value='TaxonomyAdmin.create';
  document.forms['TaxonomyAdmin.create'].submit();
  }
TaxonomyAdmin.create = finebrain_taxonomyadmin_create;

// TAXONOMYADMIN.CLONE

function finebrain_taxonomyadmin_clone(catpath) {
  redirect( document.basepath + catpath, "&action=TaxonomyAdmin.clone");
  }
TaxonomyAdmin.clone = finebrain_taxonomyadmin_clone;

// TAXONOMYADMIN.MOVE

function finebrain_taxonomyadmin_move(catpath) {
  redirect( document.basepath + catpath, "&action=TaxonomyAdmin.move");
}
TaxonomyAdmin.move = finebrain_taxonomyadmin_move;

// TAXONOMYADMIN.REMOVE

function finebrain_taxonomyadmin_remove(catpath, subcat) {
  if(!confirm(messages.deletecategorywarning)) return;
  	if (!"true"==subcat) redirect( document.basepath + catpath, "&action=TaxonomyAdmin.remove");
  	if (!confirm(messages.deletesubcategorywarning)) return;
  	redirect( document.basepath + catpath, "&action=TaxonomyAdmin.remove&CatToRemove="+catpath);
}
TaxonomyAdmin.remove = finebrain_taxonomyadmin_remove;

// TAXONOMYADMIN.SETGROUPS

function finebrain_taxonomyadmin_setgroups() {
	var form = document.forms['GroupsForm'];
	form.action.value='TaxonomyAdmin.setgroups';
	form["Groups/Groups"].value = checkboxToString(form, "Groups/GroupsList");
	form.submit();
}
TaxonomyAdmin.setgroups = finebrain_taxonomyadmin_setgroups;

// TAXONOMYADMIN.RELATE

function finebrain_taxonomyadmin_relate() {
	var form = document.forms['TaxonomyAdmin.relate'];

	// collect the selected categories
	form.Categories.value = postselect2();

	form.action.value = "TaxonomyAdmin.relate";
	form.submit();
}
TaxonomyAdmin.relate = finebrain_taxonomyadmin_relate;

//TAXONOMYADMIN.UP

function finebrain_taxonomyadmin_up(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=TaxonomyAdmin.up";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
TaxonomyAdmin.up = finebrain_taxonomyadmin_up;

//TAXONOMYADMIN.DOWN

function finebrain_taxonomyadmin_down(url, loadaction) {
	if( !url ) url = document.actpath;
	query = "&action=TaxonomyAdmin.down";
	if (loadaction)
		query += "&loadaction=" + loadaction;
	redirect(url, query);
  }
TaxonomyAdmin.down = finebrain_taxonomyadmin_down;

// TAXONOMYADMIN.IMPORTALL

function finebrain_taxonomyadmin_importall()
  {
  document.forms['finebrain'].action.value = "TaxonomyAdmin.importall";
  document.forms['finebrain'].submit();
  }
TaxonomyAdmin.importall=finebrain_taxonomyadmin_importall;


// PRINT.PDFPRINT

Print = new Object();

function finebrain_pdf_print(url, type)
{	
	if( !url ) url = document.actpath;
	// query ="&action=Print.pdfprint";
	query = "&pdf=true"		
	if (type)
		query += "&Type=" + type;	
	redirectPrint(url, query);	
}
Print.pdfprint = finebrain_pdf_print;

// SHOW & HIDE

/**
 * This method shows hide given div reference using its diplay property.
 * 
 * @param mode 'toggle', 'show' or 'hide' 
 */
function showhide(div, mode) {
	var state;
	if (mode == "show") {
		state = "block"; 
	} else if (mode == "hide") {
		state = "none"; 
	}
	var element = document.getElementById(div);
	if (mode == "toggle") {
		state = element.style.display == "none" ? "block" : "none"; 
	}
	element.style.display = state;
}

function minimise(id) {
  showhide(id+'max','hide');
  showhide(id+'min','show');
}

function maximise(id) {
  showhide(id+'max','show');
  showhide(id+'min','hide');
}
// REDIRECT

/**
 * Redirects the user to a new URL generated with given parameters.
 */
function redirectPrint(path, query, windowname) {
	
	if (!path) {
		path  = document.actpath;
	}
	if (!query) {
		query = "";
	}
	if (!windowname) {
    	document.location.href = path + "?ck=" + document.ck + query;
  	} else {
    	openwindow(path + "?ck=" + document.ck + query, windowname);
    }

}


// REDIRECT

/**
 * Redirects the user to a new URL generated with given parameters.
 */
function redirect(path, query, windowname) {
	loadNotification();
	
	document.body.style.cursor = 'hand';
	if (!path) {
		path  = document.actpath;
	}
	if (!query) {
		query = "";
	}
	if (!windowname) {
    	document.location.href = path + "?ck=" + document.ck + query;
  	} else {
    	openwindow(path + "?ck=" + document.ck + query, windowname);
    }

}

function loadNotification() {
	document.getElementById("loading").style.display = "block";
	document.getElementById("pagecontent").style.display = "none";
	
}


// OPENWINDOW

/**
 * Opens a new window. Window parameters are the following:
 * <ul>
 * 	<li><code>menubar</code>: no</li>
 * 	<li><code>toolbar</code>: no</li>
 * 	<li><code>status</code>: no</li>
 * 	<li><code>scrollbar</code>: yes</li>
 * 	<li><code>resizable</code>: yes</li>
 * </ul>
 * <p>
 * If no width resp. height are not defined, then <code>popup.defaultWidth</code> resp.
 * <code>popup.defaultHeight</code> is taken.
 * </p>
 */
function openwindow(url, target, width, height) {
	if (width == null) {
		width = popup.defaultWidth;
	}
	if (height == null) {
		height = popup.defaultHeight;
	}	
	window.open(url, target, "status=no,scrollbars=yes,resizable=yes,width=" + width + ",height=" + height + ",screenY=0");
}

// DOCUMENT HANDLER

function finebrain_documentHandler(e) {
  routeEvent(e);
}
documentHandler = finebrain_documentHandler;

function finebrain_keyPresser(e) {
  loginform = document.getElementById('User');
  var keyCode = (document.isNS) ? e.which : window.event.keyCode;

  if (keyCode == 13) {
    loginform.submit();
    return false;
  }
}
keyPresser = finebrain_keyPresser;

function finebrain_registerEventControllers() {
  loginform = document.getElementById('User');

  document.isNS = (navigator.appName.indexOf("Netscape") > -1);
  if (document.isNS) {
    if (document.captureEvents) {  
      // object sensing
      document.captureEvents(Event.KEYPRESS);
      document.onkeypress = documentHandler;
    }
  }
  
  loginform.elements['Username'].onkeypress = keyPresser;
  loginform.elements['Password'].onkeypress = keyPresser;
}
registerEventControllers = finebrain_registerEventControllers;

/** Adds an event of given <code>evType</code> to given object <code>obj</code>. */
function addEvent(obj, evType, func, useCapture) {
	if (obj.attachEvent) { // IE
		obj.attachEvent("on" + evType, func);
	} else if (obj.addEventListener) { // Gecko / W3C
		obj.addEventListener(evType, func, useCapture);
	} else {
		obj["on" + evType] = func;
	}
}

/** Removes the event of given <code>evType</code> from given object <code>obj</code>. */
function removeEvent(ojb, evType, func, useCapture) {
	if (obj.detachEvent) { // IE
		obj.detachEvent("on" + evType, func);
	} else if (obj.removeEventListener) { // Gecko / W3C
		obj.removeEventListener(evType, func, useCapture);
	} else {
		obj["on" + evType] = null;
	}
};

// PEEK

function peekon(id) {
	div = document.getElementById(id);
	if ( "none" == div.style.display )
		div.style.display = "block";
	else
		div.style.display = "none";
	if ( ! isOK(div) ) {
//		div.style.bottom = "20px";
//		div.scrollIntoView();
//		div.style.position = "absolute";
	}
}

function peekoff(id) {
	div = document.getElementById(id);
	div.style.display = "none";
}

function isOK(obj) {
	var curtop    = 0;
	var curbottom = 0;
	var curheight = obj.offsetHeight;

	var windowheight = 0;

	if ( typeof(window.innerHeight) == 'number' ) {
		//Non-IE
		windowheight = window.innerHeight;
	} else if ( document.documentElement && document.documentElement.clientHeight ) {
		return true;
	} else if ( document.body && document.body.clientHeight ) {
		//IE 4 compatible
		windowheight = document.body.clientHeight;
	}

	if (obj.offsetParent) {
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curtop += obj.offsetTop;
		}
	}

	curbottom = windowheight - curtop - curheight - 40;

	if ( curbottom < 0 ) return false;
	else return true;
}

	function redirectOpener(url) {
		alert("test");
		document.location.href = url;
	}