Event.observe(window, 'load', init, false);

var extranet = Class.create();

extranet.prototype = {

	loadingHTML : '<img src=\"/images/indicator_big.gif\" alt=\"Loading...Please wait...\">',
	currentUser : 0,
	currentGroup : 0,
	currentGroupType : 0,
	currentMessage : 0,
	componentTag : 'extranet_aels',
	toUser : 0,

	initialize: function() {
		if (!$('extranetMenu') && this.currentUser >0) {
			//alert('Er is geen extranetMenu!');
			this.loadMenu();
		}
		$('loginBtn').disabled = false;
	},
	
	onEnter : function(event) { // 'enter' key bij password
		if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
	  		this.processlogin();
		}
	},
	
	processlogin : function () {
		var username = escape($('username').value);
		var password = escape($('password').value);
		if ($('rememberlogin').checked==true) {
			var rememberlogin = escape($('rememberlogin').value);
		}
		$('content').innerHTML = this.loadingHTML;
		var postdata = '&username='+username+'&password='+password+'&rememberlogin='+rememberlogin;
		sndDataReq(this.componentTag,'processlogin',0,postdata);
	},
	
	loadMenu : function() {
		//alert('load!');	
		if ($('clutterbar')) {
			$('clutterbar').style.visibility = 'hidden';
		}
		if ($('crumpath')) {
			$('crumpath').innerHTML = '';
		}
		var postdata = '';
		sndDataReq(this.componentTag,'loadmenu',0,postdata);
	},
	
	loadCrumpath : function() {
		var postdata = '';
		sndDataReq(this.componentTag,'loadcrumpath',0,postdata);
	},
	
	forgetMe : function() { // delete SQL
		document.getElementById('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'forgetme',0,postdata);
	},

	logOff : function() { // delete SQL
		document.getElementById('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'logout',0,postdata);
	},
	
	showHelp : function(cid) {
		//alert(cid);
		$('content').innerHTML = this.loadingHTML;
		var postdata = 'cid='+cid;
		sndDataReq(this.componentTag,'showhelp',0,postdata);
	},
	
	showComm : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'communication',0,postdata);
	},
	
	initGroups : function() { 
		//alert(this.currentUser);
		ugroups = document.getElementsByClassName('usergroup');
		for(i = 0; i < ugroups.length; i++) {
			Event.observe(ugroups[i], 'mouseover', this['ugOver'].bindAsEventListener(this,ugroups[i].id),false);
			Event.observe(ugroups[i], 'mouseout', this['ugOut'].bindAsEventListener(this,ugroups[i].id),false);
		}
		ogroups = document.getElementsByClassName('objectgroup');
		for(i = 0; i < ogroups.length; i++) {
			Event.observe(ogroups[i], 'mouseover', this['ogOver'].bindAsEventListener(this,ogroups[i].id),false);
			Event.observe(ogroups[i], 'mouseout', this['ogOut'].bindAsEventListener(this,ogroups[i].id),false);
		}
		msgsAHrefs =  document.getElementsByClassName('ug_msgs_ahref'); // <a link naar messages></a>
		for(i = 0; i < msgsAHrefs.length; i++) {
			Event.observe(msgsAHrefs[i], 'click', this['agMsgsClick'].bindAsEventListener(this,msgsAHrefs[i].id),false);
		}
		msgsAHrefs =  document.getElementsByClassName('og_msgs_ahref'); // <a link naar messages></a>
		for(i = 0; i < msgsAHrefs.length; i++) {
			Event.observe(msgsAHrefs[i], 'click', this['agMsgsClick'].bindAsEventListener(this,msgsAHrefs[i].id),false);
		}
		usersAHrefs = document.getElementsByClassName('ug_users_ahref'); // <a links users></a>
		for(i = 0; i < usersAHrefs.length; i++) {
			Event.observe(usersAHrefs[i], 'click', this['ugUsersClick'].bindAsEventListener(this,usersAHrefs[i].id),false);
		}
		usersAHrefs = document.getElementsByClassName('ug_admins_ahref'); // <a links admin></a>
		for(i = 0; i < usersAHrefs.length; i++) {
			Event.observe(usersAHrefs[i], 'click', this['ugAdminsClick'].bindAsEventListener(this,usersAHrefs[i].id),false);
		}
		usersAHrefs = document.getElementsByClassName('og_users_ahref'); // <a links users></a>
		for(i = 0; i < usersAHrefs.length; i++) {
			Event.observe(usersAHrefs[i], 'click', this['ogUsersClick'].bindAsEventListener(this,usersAHrefs[i].id),false);
		}
		usersAHrefs = document.getElementsByClassName('og_admins_ahref'); // <a links admins></a>
		for(i = 0; i < usersAHrefs.length; i++) {
			Event.observe(usersAHrefs[i], 'click', this['ogAdminsClick'].bindAsEventListener(this,usersAHrefs[i].id),false);
		}
		privateAHrefs = document.getElementsByClassName('private_msg_ahref'); // <a links admins></a>
		for(i = 0; i < privateAHrefs.length; i++) {
			Event.observe(privateAHrefs[i], 'click', this['privateMsgClick'].bindAsEventListener(this,privateAHrefs[i].id),false);
		}
		Event.observe('extranetUserGroupInfoTxtBtn', 'mouseover', this['divOver'].bindAsEventListener(this,'extranetUserGroupInfoTxt'),false);
		Event.observe('extranetUserGroupInfoTxtBtn', 'mouseout', this['divOut'].bindAsEventListener(this,'extranetUserGroupInfoTxt'),false);
		Event.observe('extranetObjectGroupInfoTxtBtn', 'mouseover', this['divOver'].bindAsEventListener(this,'extranetObjectGroupInfoTxt'),false);
		Event.observe('extranetObjectGroupInfoTxtBtn', 'mouseout', this['divOut'].bindAsEventListener(this,'extranetObjectGroupInfoTxt'),false);

	},
	
	divOver : function(e,el) {
		//alert('test');
		$(el).style.display = '';
	},
	
	divOut : function(e,el) {
		$(el).style.display = 'none';
	},
	
	privateMsgClick : function(e,id) {
		$('content').innerHTML = this.loadingHTML;
		arr = id.split('_');
		//alert(id);
		//alert('userId='+arr[2]);
		//alert('groupId='+arr[1]);
		this.toUser = arr[3];
		this.currentGroup = arr[2];
		this.currentGroupType = arr[1];
		var scope = arr[0];
		var postdata = 'to_user_id='+this.toUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType+'&scope='+scope;
		//alert(postdata);
		sndDataReq(this.componentTag,'privatemessage',0,postdata);
	},
	
	ugOver: function(e,id) {
		$(id).className = 'usergroupHover';
	},
	
	ugOut:  function(e,id) {
		$(id).className = 'usergroup';
	},
	
	ogOver: function(e,id) {
		$(id).className = 'objectgroupHover';
	},
	
	ogOut:  function(e,id) {
		$(id).className = 'objectgroup';
	},
	
	agMsgsClick:  function(e,id) {
		//$('content').innerHTML = this.loadingHTML;
		//alert('show msgs id='+id);
		arr = id.split('_');
		this.currentGroup = arr[3];
		this.currentGroupType = arr[0];
		
		this.showMessages();
		//var postdata = 'group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		//sndDataReq(this.componentTag,'showmessages',0,postdata);
	},
	
	showMessages:  function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = 'group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		sndDataReq(this.componentTag,'showmessages',0,postdata);
	},
	
	showEvents : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = 'group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		sndDataReq(this.componentTag,'showevents',0,postdata);
	},
	
	ugUsersClick:  function(e,id) {
		//alert('laat users zien: '+id);
		arr = id.split('_');
		if ($('ug_userlist_'+arr[3]).style.display=='none') {
			$('ug_userlist_'+arr[3]).style.display = '';
		} else {
			$('ug_userlist_'+arr[3]).style.display = 'none';
		}
	},
	
	ugAdminsClick:  function(e,id) {
		//alert('laat users zien: '+id);
		arr = id.split('_');
		if ($('ug_adminlist_'+arr[3]).style.display=='none') {
			$('ug_adminlist_'+arr[3]).style.display = '';
		} else {
			$('ug_adminlist_'+arr[3]).style.display = 'none';
		}
	},
	
	ogUsersClick:  function(e,id) {
		//alert('laat users zien: '+id);
		arr = id.split('_');
		if ($('og_userlist_'+arr[3]).style.display=='none') {
			$('og_userlist_'+arr[3]).style.display = '';
		} else {
			$('og_userlist_'+arr[3]).style.display = 'none';
		}
	},
	
	ogAdminsClick:  function(e,id) {
		//alert('laat users zien: '+id);
		arr = id.split('_');
		if ($('og_adminlist_'+arr[3]).style.display=='none') {
			$('og_adminlist_'+arr[3]).style.display = '';
		} else {
			$('og_adminlist_'+arr[3]).style.display = 'none';
		}
	},
	
	markAllasRead : function() {
		if (confirm('Are you sure you want to mark all your messages and events as read?')) {
			//alert('under construction');
			var postdata = 'user_id='+this.currentUser;
			sndDataReq(this.componentTag,'markallasread',0,postdata);
		}
	},
	
	
	initMessages : function() {
		ulistBtn = $('showusers_btn');
		ulist = $('usersInGroupMsgs');
		flistBtn = $('showgroupfiles_btn');
		flist = $('filesInGroup');
		Event.observe(ulistBtn, 'mouseover', this['listOver'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(ulistBtn, 'mouseout', this['listOut'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(ulist, 'mouseover', this['listOver'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(ulist, 'mouseout', this['listOut'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(flistBtn, 'mouseover', this['listOver'].bindAsEventListener(this,'filesInGroup'),false);
		Event.observe(flistBtn, 'mouseout', this['listOut'].bindAsEventListener(this,'filesInGroup'),false);
		Event.observe(flist, 'mouseover', this['listOver'].bindAsEventListener(this,'filesInGroup'),false);
		Event.observe(flist, 'mouseout', this['listOut'].bindAsEventListener(this,'filesInGroup'),false);
		privateAHrefs = document.getElementsByClassName('private_msg_ahref');
		for(i = 0; i < privateAHrefs.length; i++) {
			Event.observe(privateAHrefs[i], 'click', this['privateMsgClick'].bindAsEventListener(this,privateAHrefs[i].id),false);
		}
	},
	
	newMessage : function(group_id,group_type,parent_id) {
		//alert(group_id);
		//alert(parent_id);
		if ($('newMsgContainer').style.display=='none') {
			var postdata = 'group_id='+group_id+'&group_type='+group_type+'&parent_id='+parent_id;
			//alert(postdata);
			sndDataReq(this.componentTag,'newmessage',0,postdata);
		} else {
			$('newMsgContainer').style.display = 'none';
		}
	},
	
	initNewMessage : function() {
		$('newMsgContainer').style.display = '';
		ulistBtn = $('showUsersInGroup');
		ulist = $('usersInGroup');
		Event.observe(ulistBtn, 'mouseover', this['ulistOver'].bindAsEventListener(this,'usersInGroup'),false);
		Event.observe(ulistBtn, 'mouseout', this['ulistOut'].bindAsEventListener(this,'usersInGroup'),false);
		Event.observe(ulist, 'mouseover', this['ulistOver'].bindAsEventListener(this,'usersInGroup'),false);
		Event.observe(ulist, 'mouseout', this['ulistOut'].bindAsEventListener(this,'usersInGroup'),false);
	},
	
	listOver: function(e,id) {
		$(id).style.display = '';
	},
	
	listOut:  function(e,id) {
		$(id).style.display = 'none';
	},
	
	insertMessage : function() {
		if (this.currentUser==0) {
			alert('Error: no user_id found.');
		} else {
			var msg = encodeURIComponent($('usermessage_'+this.currentUser).value);
			var notify_user = 0;
			atts = document.getElementsByClassName('attachCheckboxes');
			var t=0; var attachments = new Array();
			for(i = 0; i < atts.length; i++) {
				if (atts[i].checked == true) {
					//alert('checked: '+atts[i].value);
					attachments[t] = atts[i].value;
					t++;
				}
			}
			//alert(attachments);
			// 
			if ($('notify_me_'+this.currentUser)) {
				if ($('notify_me_'+this.currentUser).checked==true) {
					var notify_me = 1;
				} 
			}
			if (msg!='') {
			$('content').innerHTML = this.loadingHTML;
			var postdata = 'user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType+'&message='+msg+'&notify_me='+notify_me+'&attachments='+attachments;
			//alert(postdata);
			sndDataReq(this.componentTag,'insertmessage',0,postdata);
			}
		}
	},
	
	insertPrivateMessage : function(group_id,group_type) {
	// group_id=0, group_type=private voor private msgs die niet in een groep horen..
		if (this.currentUser==0 || this.toUser==0) {
			alert('Error: no user_id found.');
		} else {
			var msg = encodeURIComponent($('usermessage_'+this.currentUser).value);
			var notify_user = 0;
			atts = document.getElementsByClassName('attachCheckboxes');
			var t=0; var attachments = new Array();
			for(i = 0; i < atts.length; i++) {
				if (atts[i].checked == true) {
					//alert('checked: '+atts[i].value);
					attachments[t] = atts[i].value;
					t++;
				}
			}
			//alert(attachments);
			// 
			if ($('notify_me_'+this.currentUser)) {
				if ($('notify_me_'+this.currentUser).checked==true) {
					var notify_me = 1;
				} 
			}
			if (msg!='') {
			$('content').innerHTML = this.loadingHTML;
			var postdata = 'user_id='+this.currentUser+'&to_user_id='+this.toUser+'&group_id='+group_id+'&group_type='+group_type+'&message='+msg+'&notify_me='+notify_me+'&attachments='+attachments;
			//alert(postdata);
			sndDataReq(this.componentTag,'sendprivatemessage',0,postdata);
			}
		}
	},
	
	editMessage : function(id) {
		this.currentMessage = id;
		height = $('msgTxt_'+id).offsetHeight+20;
		//alert(height);
		var postdata = 'msg_id='+this.currentMessage+'&height='+height+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		sndDataReq(this.componentTag,'editmessage',0,postdata);
	},
	
	updateMsg : function(id) {
		var msg = encodeURIComponent($('editMsgContainer_'+id).value);
		atts = document.getElementsByClassName('attachCheckboxes_'+this.currentMessage);
		var t=0; var attachments = new Array();
		for(i = 0; i < atts.length; i++) {
			if (atts[i].checked == true) {
				//alert('checked: '+atts[i].value);
				attachments[t] = atts[i].value;
				t++;
			}
		}
		var postdata = 'msg_id='+this.currentMessage+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType+'&message='+msg+'&attachments='+attachments;
		//alert(postdata);
		sndDataReq(this.componentTag,'updatemessage',0,postdata);
	},
	
	delMessage : function(id) {
		if(confirm('Are you sure you want to delete this message?')) {
			$('content').innerHTML = this.loadingHTML;
			var postdata = 'msg_id='+id+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
			//alert(postdata);
			sndDataReq(this.componentTag,'delmessage',0,postdata);
		}
	},
	
	gotoPage : function(pagenum) {
		//alert(pagenum);
		$('content').innerHTML = this.loadingHTML;
		var postdata = 'pagenum='+pagenum+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		sndDataReq(this.componentTag,'showmessages',0,postdata);
	},
	
	attachFile : function() {
		if ($('newMsgAttachments').style.display == 'none') {
			$('newMsgAttachments').style.display = '';
		} else {
			$('newMsgAttachments').style.display = 'none';
		}
	},
	
	showAllEvents : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'showallevents',0,postdata);
	},
	

	
	gotoEvent : function(group_id,group_type) {
		this.currentGroup = group_id;
		this.currentGroupType = group_type;
		this.showEvents();
	},
	
	showEventsArchive : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = 'group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		sndDataReq(this.componentTag,'showeventsarchive',0,postdata);
	},
	
	initEvents : function() {
		ulistBtn = $('showusers_btn');
		ulist = $('usersInGroupMsgs');
		Event.observe(ulistBtn, 'mouseover', this['ulistOver'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(ulistBtn, 'mouseout', this['ulistOut'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(ulist, 'mouseover', this['ulistOver'].bindAsEventListener(this,'usersInGroupMsgs'),false);
		Event.observe(ulist, 'mouseout', this['ulistOut'].bindAsEventListener(this,'usersInGroupMsgs'),false);
	},
	
	newEvent : function(group_id,group_type,parent_id) {
		//alert(group_id);
		//alert(parent_id);
		if ($('newMsgContainer').style.display=='none') {
			var postdata = 'group_id='+group_id+'&group_type='+group_type+'&parent_id='+parent_id;
			//alert(postdata);
			sndDataReq(this.componentTag,'newevent',0,postdata);
		} else {
			$('newMsgContainer').style.display = 'none';
		}
	},
	
	initNewEvent : function() {
		$('newMsgContainer').style.display = '';
		ulistBtn = $('showUsersInGroup');
		ulist = $('usersInGroup');
		Event.observe(ulistBtn, 'mouseover', this['ulistOver'].bindAsEventListener(this,'usersInGroup'),false);
		Event.observe(ulistBtn, 'mouseout', this['ulistOut'].bindAsEventListener(this,'usersInGroup'),false);
		Event.observe(ulist, 'mouseover', this['ulistOver'].bindAsEventListener(this,'usersInGroup'),false);
		Event.observe(ulist, 'mouseout', this['ulistOut'].bindAsEventListener(this,'usersInGroup'),false);
	},
	
	ulistOver: function(e,id) {
		$(id).style.display = '';
	},
	
	ulistOut:  function(e,id) {
		$(id).style.display = 'none';
	},
	
	insertEvent : function() {
		if (this.currentUser==0) {
			alert('Error: no user_id found.');
		} else {
			var msg = encodeURIComponent($('usermessage_'+this.currentUser).value);
			var subject = encodeURIComponent($('usersubject_'+this.currentUser).value);
			var notify_user = 0;
			atts = document.getElementsByClassName('attachCheckboxes');
			var t=0; var attachments = new Array();
			for(i = 0; i < atts.length; i++) {
				if (atts[i].checked == true) {
					//alert('checked: '+atts[i].value);
					attachments[t] = atts[i].value;
					t++;
				}
			}
			//alert(attachments);
			// 
			if ($('notify_me_'+this.currentUser)) {
				if ($('notify_me_'+this.currentUser).checked==true) {
					var notify_me = 1;
				} 
			}
			var startdate = $F('userEventStartDate');
			var enddate = $F('userEventEndDate');
			var starttime = $F('userEventStartTime');
			var endtime = $F('userEventEndTime');
			var arr = startdate.split(' / ');
			//alert(arr);
			if (arr.length<2) {
				alert('Please enter a startdate.');
				return;
			}
			if (subject!='') {
			$('content').innerHTML = this.loadingHTML;
			var postdata = 'user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType+'&subject='+subject+'&message='+msg+'&startdate='+startdate+'&enddate='+enddate+'&starttime='+starttime+'&endtime='+endtime+'&notify_me='+notify_me+'&attachments='+attachments;
			//alert(postdata);
			sndDataReq(this.componentTag,'insertevent',0,postdata);
			} else {
				alert('Please enter a subject');
			}
		}
	},
	
	editEvent : function(id) {
		this.currentMessage = id;
		height = $('msgTxt_'+id).offsetHeight+20;
		//alert(height);
		var postdata = 'msg_id='+this.currentMessage+'&height='+height+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
		sndDataReq(this.componentTag,'editevent',0,postdata);
	},
	
	updateEvent : function(id) {
		var msg = encodeURIComponent($('editMsgContainer_'+id).value);
		var subject = encodeURIComponent($('editMsgSubject_'+id).value);
		atts = document.getElementsByClassName('attachCheckboxes_'+this.currentMessage);
		var t=0; var attachments = new Array();
		for(i = 0; i < atts.length; i++) {
			if (atts[i].checked == true) {
				//alert('checked: '+atts[i].value);
				attachments[t] = atts[i].value;
				t++;
			}
		}
		var startdate = $F('userEventStartDate_'+id);
		var enddate = $F('userEventEndDate_'+id);
		var starttime = $F('userEventStartTime_'+id);
		var endtime = $F('userEventEndTime_'+id);
		var postdata = 'msg_id='+this.currentMessage+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType+'&subject='+subject+'&message='+msg+'&attachments='+attachments+'&startdate='+startdate+'&enddate='+enddate+'&starttime='+starttime+'&endtime='+endtime;
		//alert(postdata);
		sndDataReq(this.componentTag,'updateevent',0,postdata);
	},
	
	delEvent : function(id) {
		if(confirm('Are you sure you want to delete this event?')) {
			$('content').innerHTML = this.loadingHTML;
			var postdata = 'msg_id='+id+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
			//alert(postdata);
			sndDataReq(this.componentTag,'delevent',0,postdata);
		}
	},
	
	delMessage : function(id) {
		if(confirm('Are you sure you want to delete this message?')) {
			$('content').innerHTML = this.loadingHTML;
			var postdata = 'msg_id='+id+'&user_id='+this.currentUser+'&group_id='+this.currentGroup+'&group_type='+this.currentGroupType;
			//alert(postdata);
			sndDataReq(this.componentTag,'delmessage',0,postdata);
		}
	},
	
	showCalendar : function(target) {
		if ($('ccMonth')) {
			var month = $F('ccMonth');
		} else {
			month = 0;
		}
		if ($('ccYear')) {
			var year =  $F('ccYear');
		} else {
			var year = 0;
		}
  		var postdata = 'month='+month+'&year='+year+'&target='+target;
	  	sndDataReq(this.componentTag,'showcalendar',0,postdata);
		//alert(postdata);
		$('calendar').style.display = '';
	},
	
	selectDate : function(day,target) {
		var month = $F('ccMonth');
		var year =  $F('ccYear');
		var postdata = 'day='+day+'&month='+month+'&year='+year+'&target='+target;
		$(target).value = day+' / '+month+' / '+year;
		$('calendar').style.display = 'none';
	},
	
	showFiles : function(user_id) {
		$('content').innerHTML = this.loadingHTML;
		if (user_id==0) {
			user_id = this.currentUser;
		}
		var postdata = '&user_id='+user_id;
		//alert(postdata);
		sndDataReq(this.componentTag,'userfiles',0,postdata);
	},
	
	showLoggedin : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'showloggedin',0,postdata);
	},
	
	editProfile : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'editprofile',0,postdata);
	},
	
	newPassword : function(target,idtag) {
		var postdata = '&target='+target;
		sndDataReq(this.componentTag,'newpassword',idtag,postdata);
	},
	
	insertNewPassword : function(target) {
		var password1 = escape($('password1').value);
		var password2 = escape($('password2').value);
		if (password1!=password2 || !password2) {
			alert('Your passwords do not match!');
			return;
		}
		var postdata = '&target='+target+'&password='+password2;
		sndDataReq(this.componentTag,'insertnewpassword',0,postdata);
	},

	user2objcat : function() {
		$('content').innerHTML = this.loadingHTML;
		var postdata = '';
		sndDataReq(this.componentTag,'user2objcat',0,postdata);
	},
	
	linkage : function(type,id1,id2,idtag) {
		//alert('test');
		if (type=='user2objcat') { // id1 = cat_id, id2 = user_id
			//var postdata = '';
			//initLightBox(this.componentTag,'insertlinkage',0,postdata,400,400);
			
			var postdata = '&cat_id='+id1+'&user_id='+id2+'&idtag='+idtag
			if ($('user2objcat_'+id1).checked==true) {
				initLightBox(this.componentTag,'insertlinkage',0,postdata,400,300);

			} else if($('user2objcat_'+id1).checked==false) {
				//sndDataReq(this.componentTag,'deletelinkage',0,postdata);
				initLightBox(this.componentTag,'deletelinkage',0,postdata,400,300);
				//alert('delete');
			}
		}
	},
	
	toggleContainer : function(id) {
		if ($('container_'+id).style.display == 'none') {
			$('container_'+id).style.display = '';
			document.getElementById('cmsbox_'+id).src = '/beheer/images/cms_box_min.gif';
		} else {
			$('container_'+id).style.display = 'none';
			$('cmsbox_'+id).src = '/beheer/images/cms_box_plus.gif';
		}
	},
	
	showReminderForm : function() {
		$('reminderForm').style.display = '';
	},
	
	showRegisterForm : function() {
		$('registerForm').style.display = '';
	},
	
	processreminder : function() {
		var email = document.getElementById('email').value;
		sndReq(this.componentTag,'processreminder',email);
	},
	
	processregister : function (target,idtag,str) {
		// alle gewenste input tags worden eerst opgehaald
		// daarna gefilterd op str tot aan eerste _
		var postdata = "";
		var arr = new Array(3);
		arr[0] = document.getElementsByTagName("input");
		arr[1] = document.getElementsByTagName("textarea");
		arr[2] = document.getElementsByTagName("select");
		for (t=0;t<arr.length;t++) {
			for (i=0;i<arr[t].length;i++) {
				var length = str.length+1;
				if (arr[t][i].id.substring(0,length)==str+'_') {	
					var fieldname = arr[t][i].id.substring(length,arr[t][i].id.length);
					var value = encodeURIComponent($(arr[t][i].id).value);
					if (!value) {
						value = 'null';
					}
					postdata += '&'+fieldname+'='+value;
				}
			}
		}
		postdata += '&target='+target;
		sndDataReq(this.componentTag,'processregistration',idtag,postdata);
		//alert(postdata);
	},

	updateUser : function(target,idtag,str) {
		// alle gewenste input tags worden eerst opgehaald
		// daarna gefilterd op str tot aan eerste _
		var postdata = "";
		var arr = new Array(3);
		var fieldnames = new Array;
		var values = new Array;
		arr[0] = document.getElementsByTagName("input");
		arr[1] = document.getElementsByTagName("textarea");
		arr[2] = document.getElementsByTagName("select");
		var c = 0;
		for (t=0;t<arr.length;t++) {
			for (i=0;i<arr[t].length;i++) {
				var length = str.length+1;
				if (arr[t][i].id.substring(0,length)==str+'_') {	
					
					//alert(c);
					if (document.getElementById(arr[t][i].id).type=='checkbox') {
						//alert(document.getElementById(arr[t][i].id).value);
							// dan nog splitten op _chkbx_
							var fieldname = arr[t][i].id.substring(length,arr[t][i].id.length);
							if(fieldname.indexOf('_chkbx_') != -1) {
								splitarr = fieldname.split('_chkbx_');
								fieldnames[c] = splitarr[0];
								var checkboxcounter = splitarr[1];
								//alert(checkboxcounter);
								if (document.getElementById(arr[t][i].id).checked==true) {
										values[c] = encodeURIComponent(document.getElementById(arr[t][i].id).value);
										c++;
								} else {
										values[c] = 'null';
										c++;
								//alert('geen groep');
								}
								//alert('groep!');
							} else { // geen groep checkboxen, maar bv 'yesno'
								fieldnames[c] = fieldname;
								if (document.getElementById(arr[t][i].id).checked==true) {
								values[c] = encodeURIComponent(document.getElementById(arr[t][i].id).value);
								c++;
								} else {
								values[c] = 'null';
								c++;
								//alert('geen groep');
								}
							}
							
					} else if (document.getElementById(arr[t][i].id).type=='radio') {
						//alert(document.getElementById(arr[t][i].id).value);
							// dan nog splitten op _rdbtn_
							var fieldname = arr[t][i].id.substring(length,arr[t][i].id.length);
							if(fieldname.indexOf('_rdbtn_') != -1) {
								splitarr = fieldname.split('_rdbtn_');
								fieldnames[c] = splitarr[0];
								var checkboxcounter = splitarr[1];
								//alert(fieldname);
								if (document.getElementById(arr[t][i].id).checked==true) {
									values[c] = encodeURIComponent(document.getElementById(arr[t][i].id).value);
									c++;
								}  else {
									values[c] = 'null';
									c++;
									//alert('geen groep');
								}
							} else { // geen groep checkboxen, maar bv 'yesno'
								fieldnames[c] = fieldname;
								if (document.getElementById(arr[t][i].id).checked==true) {
									values[c] = encodeURIComponent(document.getElementById(arr[t][i].id).value);
									c++;
								} else {
									values[c] = 'null';
									c++;
								}
							}
						
					} else { // geen checkbox
						fieldnames[c] = arr[t][i].id.substring(length,arr[t][i].id.length);
						var val = encodeURIComponent(document.getElementById(arr[t][i].id).value);
						values[c] = val;
						if (!val) {
							values[c] = 'null';
						}
						//alert(val);
						c++;
					}
					//alert(fieldnames);
					//postdata += '&'+fieldname+'='+value;
					
				}
			}
		}
		// alert(values);
		// arrays nog een keer aanmaken om dubbele te mergen...
		var fieldsdone = new Array;
		var valuesdone = new Array;
		var b = 0;
		for (z=0;z<fieldnames.length;z++) {
			//alert(fieldsdone.length);
			// wanneer we de postdata aanmaken maken we een nieuwe array met de veldnamen die al geweest zijn...	
			for(x=0;x<fieldsdone.length;x++) {
				//alert('test');
				if (fieldsdone[x]==fieldnames[z]) {
					var in_array=x;
				} else {
					var in_array=0;
				}
			}
			if (in_array>0) {
				//alert('0');
				// dan voegen we aan die values de value toe
				if (values[z]!='null') {
				valuesdone[in_array] = valuesdone[in_array]+';'+values[z];
				}
				//fieldsdone[z] = 'test';
			} else {
				//alert('1');
				fieldsdone[b] = fieldnames[z];
				valuesdone[b] = values[z];
				b++;
			}
		}
		//alert(fieldsdone);
		for (v=0;v<fieldsdone.length;v++) {
			postdata += '&'+fieldsdone[v]+'='+valuesdone[v];
		}
		postdata += '&target='+target;
		sndDataReq(this.componentTag,'updateuser',idtag,postdata);
		//alert(postdata);
		//alert('work in progress');
	},
	
	initFiles : function() {
		Event.observe('extranetFilesInfoTxtBtn', 'mouseover', this['divOver'].bindAsEventListener(this,'extranetFilesInfoTxt'),false);
		Event.observe('extranetFilesInfoTxtBtn', 'mouseout', this['divOut'].bindAsEventListener(this,'extranetFilesInfoTxt'),false);
	},
	
	deleteUserFile : function(id,user_id) {
		if (confirm('Are you sure you want to delete this file?')) {
			sndReqMultipleID(this.componentTag,'deletefile',id,user_id);
		}
	},
	
	editUserFile : function(file_id,user_id) {
		//if (confirm('Are you sure you want to delete this file?')) {
		var postdata = '&file_id='+file_id+'&user_id='+user_id;
		sndDataReq(this.componentTag,'editfile',0,postdata);
		//}
	},
	
	updateUserFile : function(file_id,user_id) {
		var filetitle = encodeURIComponent($('filetitle').value);
		var comment = encodeURIComponent($('filecomment').value);
		var postdata = '&filetitle='+filetitle+'&comment='+comment+'&file_id='+file_id+'&user_id='+user_id;
		sndDataReq(this.componentTag,'updatefile',0,postdata);
	},

	completeUpload : function(file_id) {
		// title, filesize en comments ophalen en upload_complete op 1 zetten
		var filetitle = encodeURIComponent($('filetitle').value);
		var filesize = $('filesize').value;
		var comment = encodeURIComponent($('filecomment').value);
		var postdata = '&filetitle='+filetitle+'&filesize='+filesize+'&comment='+comment;
		sndDataReq(this.componentTag,'completeupload',file_id,postdata);
	},
	
	downloadUserfile : function(file_id) {
		window.document.location.href='/get.php?component='+this.componentTag+'&task=getuserfile&id='+file_id;
	}
	
}


function init(){
	extranet = new extranet();
}


function proceedWith(val) {
	values = val.split('_');
	if (values[0]=='initMenu') {
		//alert(values[1]); //user_id
		extranet.currentUser = values[1];
		extranet.loadMenu();
		extranet.initGroups();
	}
	if (values[0]=='reloadWindow') {
		$('content').innerHTML = extranet.loadingHTML;
		window.location.reload();
	}
	if (values[0]=='initGroups') {
		extranet.initGroups();
	}
	// messages
	if (values[0]=='initMessages') {
		extranet.initMessages();
	}
	if (values[0]=='initNewMessage') {
		extranet.initNewMessage();
	}
	if (values[0]=='initEditMsg') {
		$('editMsgContainer_'+values[1]).focus();
	}
	// events
	if (values[0]=='initEvents') {
		extranet.initEvents();
	}
	if (values[0]=='initFiles') {
		extranet.initFiles();
	}
	if (values[0]=='initNewEvent') {
		extranet.initNewEvent();
	}
	if (values[0]=='initEditEvent') {
		$('editMsgContainer_'+values[1]).focus();
	}
	if (values[0]=='reloadfiles') {
		extranet.showFiles(values[1]);
	}
	if (values[0]=='initCrumpath') {
		extranet.loadCrumpath();
	}
	if (values[0]=='closeLightBox') {
		setTimeout("valid.deactivate()",500);	
	}
	
}


