/* FILE CREATED 06/02/2012 at 08:30:22 */




function addslashes(str) {
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\0/g,'\\0');

//str = str.replace(/\"/g,'&quot;');

return str;
}
function stripslashes(str) {
str=str.replace(/\\'/g,'\'');
str=str.replace(/\\"/g,'"');
str=str.replace(/\\0/g,'\0');
str=str.replace(/\\\\/g,'\\');
return str;
}

function html_entity_decode(s) 
{
	var t=document.createElement("textarea");
	t.innerHTML = s;
	var v = t.value;
	//t.parentNode.removeChild(t);
	return v;
}

var telos = Object();

telos.urlEncode = function(str)
{
	 str = (str+'').toString();

	 return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28'). replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');

}

telos.window_loading = '<p class="portlet_loading"><img src="http://www.mev.org.uk/telos/resource/image/loader.gif" style="float:left;margin-right:10px;"/>Loading...</p>';

telos.tokeniseTextualData = function(v)
{
	v = v.replace(/\r\n/g,'@@newline');
	v = v.replace(/\n/g,'@@newline');
	v = v.replace(/\t/g,'@@tab');
	return v;
}

portlet = new Object();

portlet.onload = new Array();

telos.portlet_loading = '<p class="portlet_loading"><img src="http://www.mev.org.uk/telos/resource/image/loader.gif" style="float:left;margin-right:10px;"/>Loading...</p>';

telos.message = function(msg)
{
	alert(msg);
}

telos.busy = function()
{

}

telos.busyEnd = function()
{

}

function checkleapyear(datea)
{
       
return false;
}

Date.prototype.isLeapYear = function()
{
	datea = parseInt(this.getFullYear());
	if(datea%4 == 0)
	{
		if(datea%100 != 0)
		{
			return true;
		}
		else
		{
			if(datea%400 == 0)
					return true;
			else
				return false;
		}
	}
	return false;
}


Date.prototype.add = function(what,amount)
{
	switch(what)
	{
		case "d":
		
			var d = this.getDate().toInt()+1;
			var m = this.getMonth()+1;
			var y = this.getFullYear().toInt();
			
			
			switch(m)
			{
				case 9:
				case 4:
				case 6:
				case 11:
				
				if(d==31)
				{
					d = 1;
					m++;
				}
				break;
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:
				
				if(d.toInt()==32)
				{
					d = 1;
					
					m++;
				}
				break;
				case 2:
					if(this.isLeapYear())
					{
						if(d==30)
						{
							d = 1;
							m++;
						}
					}
					else
					{
						if(d==29)
						{
							d = 1;
							m++;
						}
					}
				
					
				
			}
			
			if(m==13)
			{
				m = 1;
				y++;
			}
			
			
			
			this.setDate(d);
			this.setMonth(m);
			this.setFullYear(y);
		
		break;
	
	}

}




telos.cmd = function(cmd,data,oncomplete)
{
	
	if(telos.fire("command/run","before",data))
	{
		
		var string = telos.buildCommand(cmd,data);
		
		var page = "http://www.mev.org.uk/doc/ajax";
		
		telos.busy();
				
		request = new Request({url:page,data:{data:string},
		
		onSuccess:function(response) 
		{				
			var obj = JSON.decode(response);
						
			if(!obj.response)
				alert("JSON ERROR: " + response);
						
			if(telos.fire("command/run","after",obj))
			{  
				if(obj.response=="success")
				
					oncomplete.call(this,true,obj.content?obj.content:"");
					
				else
					oncomplete.call(this,false,obj.content?obj.content:"");
			}
			telos.busyEnd();	
		},
		
		onFailure:function(response)
		{
			telos.cmd.delay(1000,telos,Array(cmd,data,oncomplete));
			//telos.busyEnd();
			
		}});
		request.send();
	}
	
		
}

telos.buildCommand = function(command,data)
{
    var str = "{\"command\":\"" + command + "\",";
    
    for(inst in data)
    {      
        if(data[inst].toString().substr(0,1)!="[")
	        str += "\"" + inst + "\":\"" + addslashes(data[inst].toString()) + "\",";	
        else
	        str += "\"" + inst + "\":" + data[inst] + ",";	
    }
    
    str = str.substr(0,str.length-1);
    
    str += "}";
	   
    return str;
    
}



telos.reloadPortletContent = function(instance_id)
{
	
	
	telos.cmd("load_portlet_content",{instance_id:instance_id},function(result,content)
	{
		$('portlet-canvas-' + instance_id).set("html",content);
		
	});

}

var portlet_lists;



telos.fade_count = 0;

telos.fadeOut = function()
{
	
	telos.fade_count ++;
		
	$('site').set('opacity',0.60);
}

telos.fadeIn = function()
{
	telos.fade_count--;
	if(telos.fade_count<=0)	
		$('site').set('opacity',1);
}

telos.event_handlers = Array();

telos.addEventHandler = function(event,when,match,func)
{
	if(!telos.event_handlers[event])
		telos.event_handlers[event] = Array();
	if(!telos.event_handlers[event][when])
		telos.event_handlers[event][when] = Array();
	
	var arr = Array();
	arr.match = match;
	arr.func = func;
	telos.event_handlers[event][when].push(arr);
}

telos.event_arg_object = new Object();

telos.fire = function(event,when,match,args)
{
	if(telos.event_handlers[event])
	{
		if(telos.event_handlers[event][when])
		{			
			var ret = true;
			
			for(var i=0;i<=telos.event_handlers[event][when].length-1;i++)
			{
				var evt = telos.event_handlers[event][when][i];
				
				if(evt.match==match || evt.match=="")
				{
					telos.event_arg_object = args;
					
					if(!evt.func.call(telos,telos.event_arg_object))
						ret = false;
					
					args = telos.event_arg_object;
				}
			}
			return ret;
		}
	}
	return true;
}

telos.reloadPage = function()
{

	window.location = "http://www.mev.org.uk/home";
}	


telos.getControlValue = function(ctrl_type,ctrl_id)
{
	var value = "";
	var obj = new Object();
	obj.element_id = ctrl_id;
	obj.value = value;
	if(telos.fire("control/get","before",ctrl_type,obj))
	{
		return $(ctrl_id).get('value');
	}
	return obj.value;
}

telos.setControlValue = function(ctrl_type,ctrl_id,value)
{
	var obj = new Object();
	obj.element_id = ctrl_id;
	obj.value = value;
	if(telos.fire("control/set","before",ctrl_type,obj))
		$(ctrl_id).get('value') = obj.value;
}


telos.lister_index = Array();

telos.usernameFinderClick = function(id,username,onselect)
{
	$(id).set('value',username);
	$(id + '_lister').addClass('hidden');
	if(onselect)
	{
		eval(onselect + '.call(telos,id)');
	}
}

telos.usernameFinder = function(event,id,onselect)
{
	
	var lister = $(id + '_lister');
	
	if(!lister)
	{
		lister = new Element('div');
		lister.addClass('username_finder_lister');
		lister.set('id',id + '_lister');
		lister.inject($('page'));
		lister.addEvent('click',function(evt) {this.addClass('hidden');});
	}
	
	if(event.keyCode==27 && !lister.hasClass('hidden'))
	{
		lister.addClass('hidden');
		return false;
	}
	else if(event.keyCode==13 && !lister.hasClass('hidden'))
	{
		if(telos.lister_index[id]>=0)
		{
			$(id).set('value',$('lister_index_'+ id + '_' + telos.lister_index[id]).get('html'));
			
			if(onselect)
			{
				eval(onselect + '.call(telos,id)');
				
			}
			lister.addClass('hidden');
			return false;
			
		}
		return false;
		
	}
	else if(event.keyCode==40 && !lister.hasClass('hidden'))
	{
		telos.lister_index[id]++;
				
		if($('lister_index_'+ id + '_' + telos.lister_index[id]))
		{
			$$('.lister_index_' + id).removeClass('highlight');
			
			$('lister_index_'+ id + '_' + telos.lister_index[id]).addClass('highlight');
		}
		else
			telos.lister_index[id]--;
			
		return false;
	}
	else if(event.keyCode==38 && !lister.hasClass('hidden'))
	{
		if(telos.lister_index[id]>0)
		{
			telos.lister_index[id]--;
			
			$$('.lister_index_' + id).removeClass('highlight');
			$('lister_index_'+ id + '_' + telos.lister_index[id]).addClass('highlight');
			
		}
		
		return false;
	}
	var typer = $(id);
	
	if(typer.get('value').length>=3)
	{ 
		var c = $(id).getCoordinates();
		lister.unpin();
		lister.pin();
		lister.setStyle('top',(c.top+c.height)-document.getScroll().y);
		lister.setStyle('left',c.left+document.getScroll().x);
		lister.setStyle('width',c.width);
		lister.addEvent('click',function(event)
		{
			this.addClass('hidden');
		});
		lister.removeClass('hidden');
		lister.set('html','<p><img src="http://www.mev.org.uk/telos/resource/image/loader.gif"/></p>');
		
		telos.username_finder_id = id;
			
		var obj = new Object();
		obj.element_id = id;
		obj.value = $(id).get('value'); 
		if(onselect)
			obj.onselect = onselect;
		
		
		telos.cmd ("username_search",obj,function(result,content)
		{
			telos.lister_index[telos.username_finder_id] = -1;
			if(result)
				$(telos.username_finder_id + "_lister").set('html',content);
			else
				$(telos.username_finder_id + "_lister").set('html','<p>' + content + '</p>');
		})
	}
	else
		lister.addClass('hidden');
		
	return false;
}

telos.domready = false;
telos.pageloaded = false;



window.addEvent("domready",function()
{
	if(!telos.domready)
	{
		telos.domready = true;
		//telos.fire("page/load","before","");
	}
	
	
			
	
	
	
});

window.addEvent("load",function()
{
	if(!telos.pageloaded)
	{
		telos.pageloaded = true;
		
  		telos.fire("page/load","after","");
	}
	
	$$('.portlet_dynamic_load').each(function(element)
	{
		var id = element.get('id').substr(21);
				
		telos.reloadPortletContent(id);
	
	});
});

window.addEvent("unload",function()
{
	telos.fire("page/unload","before","");
});

telos.blogger = Array();

telos.blogger.ImageThumb = function(id)
{
	var val = $(id + '_blogger_add_image_url_value').get('value');
	
	if(val.length>4)
	{
		if(val.search(/\./))
		{
			if(val.lastIndexOf(".jpg")>-1 || val.lastIndexOf(".gif")>-1 || val.lastIndexOf(".png")>-1)
			{
				$(id + '_blogger_add_image_thumb').set('html',"<img src=\"http://www.mev.org.uk/telos/resource/image/loader.gif\"/>");
				$(id + '_blogger_add_image_thumb').removeClass('hidden');
				
								
				telos.cmd ("image_get_thumb",{url:val,width:64,height:64},function(result,content)
				{
					alert(content);
					$(id + '_blogger_add_image_thumb').set('html',"<img src=\"" + content + "\"/>");
				});
			}
		}
	}
}

telos.blogger.charCount = function(maxlength,id)
{
	
	var dest = $(id + '_blogger_char_count');
	var source = $(id).get('value');
	
	if(source.length>maxlength)
	{
		dest.setStyle('color','#D00000');
	}
	else
		dest.setStyle('color','#000000');
	
	dest.set('html',source.length);
	
	return true;
}

telos.blogger.showTab = function(ctrl_id,tab_id)
{
	for(var i=1;i<=4;i++)
	{
		$(ctrl_id + '_blogger_tab_button_' + i).removeClass('selected');
		$(ctrl_id + '_blogger_tab_' + i).addClass('hidden');
	}
		
	$(ctrl_id + '_blogger_tab_button_' + tab_id).addClass('selected');
	$(ctrl_id + '_blogger_tab_' + tab_id).removeClass('hidden');
}

telos.blogger.addLink = function(id)
{
	var link_name = $(id + '_blogger_add_link_name_value').get('value');
	var link_url = $(id + '_blogger_add_link_url_value').get('value');
	var link_desc = $(id + '_blogger_add_link_desc_value').get('value');
	
	if(!link_url || link_url=="http://")
		alert("You must enter a URL for this Link");
	else
	{
		if(!link_name)
			link_name = link_url;
			
		var display_element = new Element('li');
		
		display_element.set('html','<strong>Link</strong>: ' + link_name + '<span class="_blogger_url">' + link_url + '</span><span class="_blogger_desc">' + link_desc + '</span>');
		
		$(id + '_blogger_link_list').appendChild(display_element);
		
		var hidden_element = new Element('span');
		hidden_element.addClass('link');
		hidden_element.set('html',link_name + "*|||*" + link_url + "*|||*" + link_desc);
		$(id + '_blogger_content_list').appendChild(hidden_element);
		
		$(id + '_blogger_add_link').addClass('hidden');
	}
}




// JavaScript Document

telos.win = new Object();

function telosWindow(id,title,opts)
{
	this.window_id = id;
	this.window_title = title;
	
	if(!opts.zindex)
		opts.zindex = 0;
	if(!opts.method)
		opts.method = "centre";
	
	this.window_options = opts;
	this.loader = false;
		
}

telosWindow.wincount = 0;

telosWindow.prototype.loadComplete = function()
{
	$('telos_win_' + this.window_id).removeClass('loader_background');
	this.loader.hide();
	telos.fire("window/load","after",this.window_id,this);
}

telosWindow.prototype.showComplete = function()
{
	telos.fire("window/show","after",this.window_id,this);
	$('telos_win_' + this.window_id).removeClass('loader_background');
}

telosWindow.prototype.show = function(vars,oncomplete)
{
	var call_load = false;
	
	this.oncomplete = oncomplete;
	this.vars = vars;
	
	telosWindow._showwin();
	
	// the window doesn't exist, build it
	if(!$('telos_win_' + this.window_id))
	{
					
		this.element = new Element('div');
		this.element.addClass('telos_window');
		this.element.setStyle('z-index',100000+this.window_options.zindex);
		this.element.setProperty('id','telos_win_' + this.window_id);
		this.element.setStyle('top',window.getScroll().y+(window.getSize().y/2))-16;		
		
		this.element.set('html','<div class="telos_window_handle"><img id=\"telos_win_close_' + this.window_id + '" src="http://www.mev.org.uk/telos/resource/image/admin/win_close.png"/><span id="win_title_' + this.window_id + '">' + this.window_title + '</span></div><div id="telos_win_client_' + this.window_id + '"><div style="text-align:center;height:' + this.window_options.h + 'px;padding-top:8px;">&nbsp;</div></div>');
		
		call_load = true;
		
		$('telos').appendChild(this.element);
		
		if(this.window_options.method=="centre")
		{
			
			this.element.setStyle('left',(window.getSize().x/2)-(this.window_options.w/2));
			var sy = window.getScroll().y;
			var ph = window.getSize().y/2;
			
			this.element.setStyle('top',(ph+sy)-(this.window_options.h/2));
			this.element.setStyle('width',this.window_options.w);
			this.element.setStyle('height',this.window_options.h);
			
			this.element.makeDraggable({handle:$$('#telos_win_' + this.window_id + ' .telos_window_handle')});
		}
		else if(this.window_options.method=="slidetop")
		{
			
			this.element.setStyle('left',this.window_options.left);
			
			var sy = window.getScroll().y;
			this.element.setStyle('top',50+sy);
	
			this.element.setStyle('width',this.window_options.w);
			this.element.setStyle('height',this.window_options.h);
			
			this.element.makeDraggable({modifiers:{'x':'left','y':'none'},handle:$$('#telos_win_' + this.window_id + ' .telos_window_handle')});
				
		}
		else if(this.window_options.method=="slideleft")
		{
			
			this.element.setStyle('left',0);
			
			var sy = window.getScroll().y;
			this.element.setStyle('top',this.window_options.top+sy);
	
			this.element.setStyle('width',this.window_options.w);
			this.element.setStyle('height',this.window_options.h);
			
			this.element.makeDraggable({modifiers:{'x':'none','y':'top'},handle:$$('#telos_win_' + this.window_id + ' .telos_window_handle')});
				
		}
	
		this.element.pin();
		
		$('telos_win_close_' + this.window_id).addEvent('click',function()
		{
			var id = this.getProperty('id').substr(16);
			
			telos.win[id].hide();
			$('telos_win_' + id).setStyle('display','none');
		});
		
		if(!this.loader)
		{
			this.loader = new Spinner(this.getClientArea().get('id'));
			
		}
		
		this.loader.show();
		
		this.element.setStyle('display','block');
	}
	else
	{
		//var area = this.getClientArea();
		//area.set('html',telos.window_loading);
		
		if(!this.loader)
		{
			this.loader = new Spinner(this.getClientArea().get('id'));
			
		}
		
		this.loader.show();
		
		this.element.setStyle('display','block');
	}
		
	if(call_load)
	{
		
		if(!telos.fire("window/load","before",this.window_id,this))
		{
			
			telos.fire("window/load","after",this.window_id,this);
			
			if(telos.fire("window/show","before",this.window_id,this))
			{
				this.onShow(vars);
			}
						return;
		}
		
		this.onLoad(vars);
		telos.fire("window/load","after",this.window_id,this);
	}
	this.showLoader();
	if(telos.fire("window/show","before",this.window_id,this))
		this.onShow(vars);
	
	
		
		telos.setupAdminButtons();
		
}


telosWindow._showwin = function()
{
	
	if(telosWindow.wincount==0)
		$('site').fade(0.2);
	telosWindow.wincount++;
	alert(telosWindow.wincount);
	
}

telosWindow._hidewin = function()
{
	telosWindow.wincount--;
	alert(telosWindow.wincount);
	if(telosWindow.wincount==0)
		$('site').fade(1);
}

telosWindow.prototype.reload = function()
{
	this.showLoader();
	this.show(this.vars,function()
	{
		
		//this.oncomplete();
		if(this.tab_id)
			this.tab(this.tab_id);
		
	});
}

telosWindow.prototype.setTitle = function(title)
{
	$('win_title_' + this.window_id).set('html',title);
}

telosWindow.prototype.hide = function(result)
{
	if(!result)
		result = false;
	if(telos.fire("window/hide","before",this.window_id,this))
	{
		$('telos_win_' + this.window_id).setStyle('display','none');
		if(this.oncomplete)
			this.oncomplete.call(this,result);
		this.onHide();
	}
	
	telosWindow._hidewin();
	
	telos.fire("window/hide","after",this.window_id,this);
}

telosWindow.prototype.tab = function(tab_id)
{
	var win_name = this.window_id;
	
	for(var i=1;i<=10;i++)
	{
		if($(win_name + '_tab_' + i))
		{
			
			$(win_name + '_button_' + i).removeClass('selected');
			$(win_name + '_tab_' + i).addClass('hidden');
		}
	}
	
	$(win_name + '_button_' + tab_id).addClass('selected');
	$(win_name + '_tab_' + tab_id).removeClass('hidden');
	
	this.tab_id = tab_id;
	this.vars.tab = tab_id;
}

telosWindow.prototype.getClientArea = function()
{
		
	return $("telos_win_client_" + this.window_id);
}

telosWindow.prototype.showLoader = function()
{
	$('telos_win_' + this.window_id).addClass('loader_background');
	this.getClientArea().set('html','');
}


telos.win.manage_pages = new telosWindow("manage_pages","Manage Pages",{'w':660,'h':700,'method':'slidetop','left':60});

telos.win.manage_pages.onLoad = function()
{
	this.loadComplete();
	
}

telos.win.manage_pages.onShow = function()
{
	telos.win.manage_pages.showLoader();
	
	var element = this.getClientArea();
		
	telos.cmd("manage_pages",{},function(result,content)
	{
		
		element.set("html",content);
		
		$$('.sortable_list').each(function(element)
		{
			new Sortables(element,{clone:false,handle:'span.item_handle',onComplete:function(element)
			{
				var page_id = element.parentNode.getProperty("id").substr(16);
			
				var list = element.parentNode.getChildren();
				
				var str = "[";
				
				list.each(function(el)
				{
					if(el.getProperty("id"))
						str += el.getProperty("id").substr(11) + ",";
				});
				
				str = str.substr(0,str.length-1);
				str += "]";
				
				var obj = new Object();
				obj.page_id = page_id;
				obj.order = str;
									
				telos.cmd("order_pages",obj,function(result,content) 
				{
					
				});
				
			}});
		});
		
		
		$$('.delete_page_link').addEvent("click",function(evt)
		{
			var page_id = this.getProperty("id").substr(17);
			if(window.confirm("Really Delete this Page? All Content on this Page will be lost."))
			{
				var obj = new Object();
				obj.page_id = page_id;
				telos.cmd("delete_page",obj,function(result,content) 
				{
					if(result==false)
					{
						alert(content);
					}
					else
						telos.win.manage_pages.reload();
				});
			
			}
		});
		
		
		$$('.edit_page_link').addEvent("click",function(evt)
		{
			var page_id = this.getProperty("id").substr(15);
			
			alert(page_id);
						
			telos.win.edit_page.show({'page_id':page_id},function(result) {telos.win.manage_pages.reload();});
			
			
		});
		
		telos.win.manage_pages.showComplete();
	});
}

telos.win.manage_pages.onHide = function()
{
	
}

telos.win.manage_pages.list = function(method)
{
	$('page_list_alpha').setStyle('display','none');
	$('page_list_hierarch').setStyle('display','none');
	
	$('page_list_' + method).setStyle('display','block');
	
}

telos.win.manage_pages.newSubPage = function(parent_page_id)
{
	telos.newPage(parent_page_id,function(result)
	{
		if(result==true)
	        telos.win.manage_pages.reload();
			
	});

}


telos.win.manage_pages.editPage = function(page_id)
{
	telos.editPage(page_id,function(result)
	{
		telos.win.manage_pages.reload();
			
	});

}


telos.win.new_page = new telosWindow("new_page","Create New Page",{w:370,h:500,zindex:100});

telos.win.new_page.onLoad = function(vars)
{ 
	this.loadComplete();
}

telos.win.new_page.onShow = function(vars)
{
	obj = new Object();
	obj.parent_page_id = vars.parent_page_id;
		
	telos.cmd("new_page",obj,function(result,content) 
	{
		
		telos.win.new_page.showComplete();
		telos.win.new_page.getClientArea().set('html',content);
	});
}

telos.win.new_page.onHide = function(vars)
{ }


telos.win.edit_page = new telosWindow("edit_page","Edit Page",{w:450,h:600,zindex:11});

telos.win.edit_page.onLoad = function(vars)
{ 
	this.loadComplete();
}


telos.win.edit_page.onShow = function(vars)
{
	
	telos.win.edit_page.page_id = vars.page_id;
	
	
	
	obj = new Object();
	obj.page_id = vars.page_id;
		
		
		
	telos.cmd("edit_page",obj,function(result,content) 
	{
		
		telos.win.edit_page.getClientArea().set('html',content);
		
		
		perm_accord = new Fx.Accordion($$('.perm_head'), $$('.perm_block'), {
		show: 0});
		
		if(vars.tab)
			telos.win.edit_page.tab(vars.tab);

		
		$$('.perm_anchor').addEvent('click',function(event)
		{
			this.blur();
			var info = this.get('id').split("_");
			
			var perm = info[1];
			var group_id = info[2];
			var page_id = info[3];
						
			telos.togglePageGroupPermission(page_id,group_id,perm);
			return false;
		});
		
		
		telos.win.edit_page.showComplete();
		
		
	});
}

telos.win.edit_page.onHide = function(vars)
{ }

telos.win.edit_page.selectPermUser = function(id)
{
	var username = $(id).get('value');
	$('perm_username_block').set('html','<img src="http://www.mev.org.uk/telos/resource/image/loader.gif"/>Loading...');
	
	telos.cmd("user_permissions_table",{username:username,page_id:telos.win.edit_page.page_id},function(result,content) 
	{
		$('perm_username_block').set('html',content);
		
		perm_accord.display(0);
		perm_accord.display(1);
		
		$$('.perm_user_anchor').removeEvents();
		
		$$('.perm_user_anchor').addEvent('click',function(event)
		{
			this.blur();
			var info = this.get('id').split("_");
			
			var perm = info[1];
			var user_id = info[2];
			var page_id = info[3];
						
			telos.togglePageUserPermission(page_id,user_id,perm);
			return false;
		});
	});
}

telos.win.edit_page.selectModUser = function(id)
{

}

telos.win.edit_page.addGroupMod = function()
{
	telos.win.edit_page.reload();
}




telos.win.change_portlet_type = new telosWindow("change_portlet_type","Change Portlet Type",{'w':350,'h':410,'method':'centre'});

telos.win.change_portlet_type.onLoad = function(vars)
{ 
	this.loadComplete();
}

telos.win.change_portlet_type.onShow = function(vars)
{
	
	//this.getClientArea().set('html','<div style="text-align:center;height:' + this.window_options.h + 'px;padding-top:8px;"><img src="http://www.mev.org.uk/telos/theme/mev/image/loader.gif"/></div>');
	
	var obj = new Object();
	obj.instance_id = vars.instance_id;
	
	telos.cmd("change_portlet_type",obj,function(result,content) 
	{
		
		telos.win.change_portlet_type.getClientArea().set('html',content);
		telos.win.change_portlet_type.showComplete();
	});
}

telos.win.change_portlet_type.onHide = function()
{ }


telos.win.edit_portlet = new telosWindow("edit_portlet","Edit Portlet Contents",{w:800,h:673,zindex:2});

telos.win.edit_portlet.onLoad = function(vars)
{ 
	this.loadComplete();
}

telos.win.edit_portlet.onShow = function(vars)
{
	
	
	
	obj = new Object();
	obj.instance_id = vars.instance_id;
	telos.win.edit_portlet.instance_id= vars.instance_id;;
	telos.win.edit_portlet.showLoader();
	telos.cmd("edit_portlet",obj,function(result,content) 
	{
		
		telos.win.edit_portlet.getClientArea().set('html',content);
		var info = $('portlet_info_' + telos.win.edit_portlet.instance_id).get("html");
		info = info.split(/:/);
		
		if([info[0]])
			if(portlet[info[0]][info[1]])
				if(portlet[info[0]][info[1]].edit)
					portlet[info[0]][info[1]].edit(telos.win.edit_portlet.instance_id);
		
		telos.win.edit_portlet.showComplete();
	});
}

telos.win.edit_portlet.onHide = function(vars)
{ }

telos.win.edit_portlet.portletEditTab = function(tab_id)
{
	for(var i=1;i<=4;i++)
	{
		$('edit_tab_button_' + i).removeClass('selected');
		$('edit_tab_' + i).setStyle('display','none');
	}
	
	$('edit_tab_button_' + tab_id).addClass('selected');
	$('edit_tab_' + tab_id).setStyle('display','block');
}

telos.win.edit_portlet.deleteStream = function(instance_id,stream_id)
{
	if(window.confirm("Really delete this Stream?"))
		telos.cmd("delete_stream",{instance_id:instance_id,stream_id:stream_id},function(result,content) 
		{
			$('stream_' + content).parentNode.removeChild($('stream_' + content));
		});
}

telos.win.edit_portlet.addStream = function(instance_id)
{
	var stream_name = $('portlet_stream_new').get('value');
	
	if(stream_name)
	{
		telos.cmd("new_stream",{instance_id:instance_id,stream_name:stream_name},function(result,content) 
		{
			$('portlet_stream_id').set('html',content);
		});
	}
}


telos.win.config_portlet = new telosWindow("config_portlet","Configure Portlet",{w:550,h:630,zindex:3});

telos.win.config_portlet.onLoad = function(vars)
{ 
	this.loadComplete();
}

var perm_accord;

telos.win.config_portlet.onShow = function(vars)
{
	obj = new Object();
	obj.instance_id = vars.instance_id;
	obj.container_id = vars.container_id;
	
	
	telos.win.config_portlet.portlet_id = vars.instance_id;
	
	telos.cmd("config_portlet",obj,function(result,content) 
	{
		//telos.win.config_portlet.loading(false);
		telos.win.config_portlet.getClientArea().set('html',content);
		
		perm_accord = new Fx.Accordion($$('.perm_head'), $$('.perm_block'), {
		show: 0
		
		});

		$$('.perm_anchor').addEvent('click',function(event)
		{
			this.blur();
			var info = this.get('id').split("_");
			
			var perm = info[1];
			var group_id = info[2];
			var instance_id = info[3];
						
			telos.togglePortletGroupPermission(instance_id,group_id,perm);
			return false;
		});
		
		telos.win.config_portlet.showComplete();

	});
}

telos.win.config_portlet.onHide = function(vars)
{ }

telos.win.config_portlet.portletConfigTab = function(tab_id)
{
	for(var i=1;i<=3;i++)
	{
		$('config_tab_button_' + i).removeClass('selected');
		$('config_tab_' + i).addClass('hidden');
	}
	
	$('config_tab_button_' + tab_id).addClass('selected');
	$('config_tab_' + tab_id).removeClass('hidden');
}



telos.win.config_portlet.selectUser = function(id)
{
	var username = $(id).get('value');
	$('perm_username_block').set('html','<img src="http://www.mev.org.uk/telos/resource/image/loader.gif"/>Loading...');
	
	telos.cmd("user_permissions_table",{username:username,portlet_id:telos.win.config_portlet.portlet_id},function(result,content) 
	{
		telos.win.config_portlet.loading(false);
		$('perm_username_block').set('html',content);
		
		perm_accord.display(0);
		perm_accord.display(1);
		
		$$('.perm_user_anchor').removeEvents();
		
		$$('.perm_user_anchor').addEvent('click',function(event)
		{
			this.blur();
			var info = this.get('id').split("_");
			
			var perm = info[1];
			var user_id = info[2];
			var instance_id = info[3];
						
			telos.togglePortletUserPermission(instance_id,user_id,perm);
			return false;
		});
	});
}





telos.win.media_manager = new telosWindow("media_manager","Manage Media",{w:650,h:500,zindex:10,top:80,method:'slideleft'});

telos.win.media_manager.onLoad = function(vars)
{
	this.loadComplete();
}

telos.win.media_manager.callback = null;

telos.win.media_manager.onShow = function(args)
{
	
	obj = new Object();
	obj.mode = args.mode;
	telos.win.media_manager.callback = args.callback;
	
	switch(args.mode)
	{
		case "images":
			telos.cmd("manage_media",obj,function(result,content) 
			{
				telos.win.media_manager.loading(false);
				telos.win.media_manager.getClientArea().set('html',content);
				telos.win.media_manager.showComplete();
			});
		break;
	}
}

telos.win.media_manager.onHide = function(vars)
{ }






telos.win.manage_site = new telosWindow("manage_site","Manage Site",{w:1000,h:650,zindex:15});

telos.win.manage_site.onLoad = function(vars)
{ 
	this.loadComplete();
}

telos.win.manage_site.onShow = function(vars)
{
	
	obj = new Object();
	
	telos.cmd("manage_site",{},function(result,content) 
	{
		
		telos.win.manage_site.getClientArea().set('html',content);
		
		telos.win.manage_site.showComplete();
		
		
	});
}

telos.win.manage_site.onHide = function(vars)
{ }




telos.win.edit_stream = new telosWindow("edit_stream","Manage Stream",{w:400,h:500,zindex:20});

telos.win.edit_stream.onLoad = function(vars)
{ 
	this.loadComplete();
}

telos.win.edit_stream.onShow = function(vars)
{
	
	obj = new Object();
		
	telos.cmd("edit_stream",{stream_id:vars.stream_id},function(result,content) 
	{
		//telos.win.media_manager.loading(false);
		telos.win.edit_stream.getClientArea().set('html',content);
		telos.win.edit_stream.showComplete();
	});
}



telos.win.edit_stream.onHide = function(vars)
{ }

telos.win.edit_stream.addFolder = function(stream_id)
{
	var folder = $('stream_new_folder').get('value');
	if(folder)
	{
				
		telos.cmd("stream_new_folder",{stream_id:stream_id,folder_name:folder},function(result,content) 
		{
			if(result==true)
			{
				var li = new Element('li');
				li.set('html',folder);
				li.set('id','stream_folder_' + content);
				li.addClass('stream_folder');
				$('stream_folder_list').appendChild(li);
			}
			else
				alert(content);
		});
	}
}


telos.win.edit_stream.renameFolder = function(folder_id)
{
	if(name = window.prompt("Enter a New name for this Folder"))
	{
		telos.cmd("stream_rename_folder",{folder_id:folder_id,folder_name:name},function(result,content) 
		{
			alert(content);
			if(result)
				$('stream_folder_' + folder_id).set("html",content);
			else
				alert(content);
		});
	
	}
}



telos.win.stream_folders = new telosWindow("stream_folders","Stream Folders",{w:500,h:600,zindex:20});

telos.win.stream_folders.onLoad = function(vars)
{ 
	this.loadComplete();
}

telos.win.stream_folders.onShow = function(vars)
{
	
	
	telos.win.stream_folders.callback = vars.callback;
	
	obj = new Object();
	
	if(vars.show_content)
		show_content = 1;
	else
		show_content = 0;
	if(vars.show_folders)
		show_folders = 1;
	else
		show_folders = 0;
		
	if(!vars.stream_id)
	{
		telos.cmd("portlet_stream_browser",{portlet_id:vars.portlet_id,show_folders:show_folders,show_content:show_content},function(result,content) 
		{
			//telos.win.media_manager.loading(false);
			telos.win.stream_folders.getClientArea().set('html',content);
			telos.win.stream_folders.showComplete();
		});
	}
	else
	{
							
		telos.cmd("stream_folders_browser",{stream_id:vars.stream_id,show_content:show_content},function(result,content) 
		{
			//telos.win.media_manager.loading(false);
			telos.win.stream_folders.getClientArea().set('html',content);
			telos.win.stream_folders.showComplete();
		});
	}
}


telos.win.stream_folders.onHide = function(vars)
{ }

telos.win.stream_folders.image_stream_open = new Element('img');
telos.win.stream_folders.image_stream_open.set('src','http://www.mev.org.uk/telos/resource/image/stream/stream_open_minus.gif');

telos.win.stream_folders.image_stream_closed = new Element('img');
telos.win.stream_folders.image_stream_closed.set('src','http://www.mev.org.uk/telos/resource/image/stream/stream_closed_plus.gif');

telos.win.stream_folders.image_folder_open = new Element('img');
telos.win.stream_folders.image_folder_open.set('src','http://www.mev.org.uk/telos/resource/image/stream/folder_open_minus.gif');

telos.win.stream_folders.image_folder_closed = new Element('img');
telos.win.stream_folders.image_folder_closed.set('src','http://www.mev.org.uk/telos/resource/image/stream/folder_closed_plus.gif');

telos.win.stream_folders.toggleStream = function(stream_id)
{
	if($('stream_stream_list' + stream_id).hasClass('hidden'))
	{
		$('stream_stream_icon' + stream_id).set('src',telos.win.stream_folders.image_stream_open.get('src'));
		$('stream_stream_list' + stream_id).removeClass('hidden');
	}
	else
	{
		$('stream_stream_icon' + stream_id).set('src',telos.win.stream_folders.image_stream_closed.get('src'));
		$('stream_stream_list' + stream_id).addClass('hidden');
	}
}

telos.win.stream_folders.toggleFolder = function(folder_id)
{
	if($('stream_folder_list' + folder_id).hasClass('hidden'))
	{
		$('stream_folder_icon' + folder_id).set('src',telos.win.stream_folders.image_folder_open.get('src'));
		$('stream_folder_list' + folder_id).removeClass('hidden');
	}
	else
	{
		$('stream_folder_icon' + folder_id).set('src',telos.win.stream_folders.image_folder_closed.get('src'));
		$('stream_folder_list' + folder_id).addClass('hidden');
	}
}

telos.win.stream_folders.highlightStream = function(stream_id)
{
	$$('.stream-stream-selected').removeClass('stream-stream-selected');
	if(stream_id)
	{
		$('stream_stream' + stream_id).addClass('stream-stream-selected');
		$('stream_selected_folder').set('html',$('stream_stream'+ stream_id).get('html'));
		telos.win.stream_folders.selected_stream = stream_id;
	}
	else
	{
		telos.win.stream_folders.selected_folder = 0;
		$('stream_selected_folder').set('html','None');
	}
}


telos.win.stream_folders.highlightFolder = function(folder_id)
{
	$$('.stream-folder-selected').removeClass('stream-folder-selected');
	if(folder_id)
	{
		$('stream_folder' + folder_id).addClass('stream-folder-selected');
		$('stream_selected_folder').set('html',$('stream_folder'+ folder_id).get('html'));
		telos.win.stream_folders.selected_folder = folder_id;
	}
	else
	{
		telos.win.stream_folders.selected_folder = 0;
		$('stream_selected_folder').set('html','None');
	}
}

telos.win.stream_folders.selectFolder = function(folder_id)
{
	if(!folder_id)
		folder_id = telos.win.stream_folders.selected_folder; 
	
	if(!folder_id)
		alert("You haven't selected a Folder");
	else
	{
		alert("i");
		telos.win.stream_folders.callback.call(this,folder_id);
	}
	
}


function ab(folder_id)
{
	alert(folder_id);
}













telos.content = new Object();
telos.content.addComment = function(instance_id,content_id)
{
	var working = $('comment-action-box-working-' + instance_id + "-" + content_id);
	working.set('html','<img src="http://www.mev.org.uk/telos/resource/image/loader.gif"/>Adding Comment...');
	working.removeClass('hidden');
	
	var subject =  telos.tokeniseTextualData($('comment_title' + instance_id + "_" + content_id).get('value'));
	var comment =  telos.tokeniseTextualData($('comment_body' + instance_id + "_" + content_id).get('value'));
	
	telos.cmd("comment_add",{instance_id:instance_id,content_id:content_id,subject:subject,comment:comment},function(result,content)
	{
		var l = $('comment-list-' + instance_id + '-' + content_id);
		var element = new Element('div');
		element.set('class','content-comment');
		element.set('html',content);
		working.set('html','Comment Successfully Added');
		l.appendChild(element);
	});

}

telos.content.manager = function()
{
	$('telos-page-tab-3').addClass('loader_background');
	$('telos-page-tab-3').set('html','&nbsp;');
	
	telos.cmd("content_manager",{},function(result,content)
	{
		$('telos-page-tab-3').removeClass('loader_background');
		$('telos-page-tab-3').set('html',content);
	});
	

}

telos.content.manager.filterByPortlet = function()
{
	var portlet_id = $('content-manager-portlet').getSelected().get('value');
	$('content-manager-list').set('html','<tr><td colspan="6" class="td_loader_background">&nbsp;</td></tr>');
	telos.cmd("content_manager_list",{portlet_id:portlet_id,search_term:$('telos_content_search').get('value')},function(result,content)
	{
		
		$('content-manager-list').set('html',content);
		
		if(portlet_id==0)
			$('telos-manage-content-filter-stream-wrapper').addClass('hidden');
		else
		{
		
			telos.cmd("content_manager_stream_list",{portlet_id:portlet_id},function(result,content)
			{
				$('telos-manage-content-filter-stream').set('html',content);
				$('telos-manage-content-filter-stream-wrapper').removeClass('hidden');
			});
		}
	});

}

telos.content.manager.filterByStream = function()
{
	var stream_id = $('telos-manage-content-filter-stream').getSelected().get('value');
	$('content-manager-list').set('html','<tr><td colspan="6" class="td_loader_background">&nbsp;</td></tr>');
	telos.cmd("content_manager_list",{stream_id:stream_id,search_term:$('telos_content_search').get('value')},function(result,content)
	{
		
		$('content-manager-list').set('html',content);
		
		if(stream_id==0)
			$('telos-manage-content-filter-folder-wrapper').addClass('hidden');
		else
		{
		
			telos.cmd("content_manager_stream_folder_list",{stream_id:stream_id},function(result,content)
			{
				$('telos-manage-content-filter-folder').set('html',content);
				$('telos-manage-content-filter-folder-wrapper').removeClass('hidden');
			});
		}
	});

}

telos.content.manager.search = function()
{
	var term = $('telos_content_search').get('value');
	
	$('content-manager-list').set('html','<tr><td colspan="6" class="td_loader_background">&nbsp;</td></tr>');
	telos.cmd("content_manager_list",{portlet_id:$('content-manager-portlet').getSelected().get('value'),search_term:term},function(result,content)
	{
		
		$('content-manager-list').set('html',content);
	});
	

}

telos.content.manager.order = function(order)
{
	var id_list = $('content_manager_id_list').get('html');
	$('content-manager-list').set('html','<tr><td colspan="6" class="td_loader_background">&nbsp;</td></tr>');
	telos.cmd("content_manager_list",{order:order,id_list:id_list,portlet_id:$('content-manager-portlet').getSelected().get('value')},function(result,content)
	{
		
		$('content-manager-list').set('html',content);
	});

}

telos.content.manager.selectTab = function(tab_id)
{
	$('manage-content-tab-1').addClass('hidden');
	$('manage-content-tab-2').addClass('hidden');
	$('manage-content-tab-' + tab_id).removeClass('hidden');
	
	$('manage-content-tabs-button-1').removeClass('active');
	$('manage-content-tabs-button-2').removeClass('active');
	$('manage-content-tabs-button-' + tab_id).addClass('active');
}

telos.content.manager.createContentSelectPortlet = function()
{
	var portlet_id = $('content-manager-create-portlet-id').getSelected().get('value');
	//$('content-manager-create-stream-wrapper').addClass('hidden');
	telos.cmd("content_manager_create_content",{portlet_id:portlet_id},function(result,content)
	{
		$('content-manager-create-box').removeClass('tall_loader_background');
		$('content-manager-create-box').set('html',content);
	});
	
	$('content-manager-create-box').addClass('tall_loader_background');
	$('content-manager-create-box').removeClass('hidden');
}








telos.control = Object();

telos.control.folder_browser_image_open = new Image();
telos.control.folder_browser_image_open.src = "http://www.mev.org.uk/telos/resource/image/stream/folder_open_minus.gif";
telos.control.folder_browser_image_closed = new Image();
telos.control.folder_browser_image_closed.src = "http://www.mev.org.uk/telos/resource/image/stream/folder_closed_plus.gif";

telos.control.folder_browser_image_none = new Image();
telos.control.folder_browser_image_none.src = "http://www.mev.org.uk/telos/resource/image/stream/folder_open_none.gif";


telos.control.uploaderChangeFolder = function()
{
	$('uploader-choose-folder').toggleClass('hidden');
	
	$$('li.telos-folder-chooser img').each(function(element)
	{
		var id = element.get('id').substr(27);
		if(!$('telos-folder-chooser-list-' + id))
			element.src = telos.control.folder_browser_image_none.src;
	
	});
	
	$$('li.telos-folder-chooser img').removeEvents();
	
	$$('li.telos-folder-chooser img').addEvent('click',function()
	{
		
		if(this.src==telos.control.folder_browser_image_open.src)
			this.src = telos.control.folder_browser_image_closed.src;
		else
			this.src = telos.control.folder_browser_image_open.src;
		var id = this.get('id').substr(27);
		if($('telos-folder-chooser-list-' + id))
			$('telos-folder-chooser-list-' + id).toggleClass('hidden');
	});
}

telos.control.uploaderSelectFolder = function(folder_id)
{
	$('uploader-choose-folder').addClass('hidden');
	var name = $('telos-folder-chooser-name-' + folder_id).get('html');
	$('telos-folder-chooser-name').set('html',name);
	$('telos-folder-chooser-id').setProperty('value',folder_id);
	
	
}

portlet.textual = new Object();
portlet.textual.plaintext = new Object();
portlet.textual.richtext = new Object();
portlet.textual.html = new Object();

portlet.textual.plaintext.onEdit = function(instance_id)
{
	if(!$('plaintext-editor-textarea-' + instance_id))
	{
		var element = $('plaintext' + instance_id);
		
		var padding_width = element.getStyle('padding-left').toInt() + element.getStyle('padding-right').toInt();
		var margin_width = element.getStyle('margin-left').toInt() + element.getStyle('margin-right').toInt();
		
		var margin_left = element.getStyle('padding-left').toInt() + element.getStyle('margin-left').toInt();
		var width = element.getSize().x-(padding_width+margin_width);
		
		var height = element.getStyle('height').toInt();
		
		var margin_top = element.getStyle('padding-top').toInt() + element.getStyle('margin-top').toInt();
		
		if(height<=100)
			height = 100;
		var parent = element.parentNode;
				
		var texteditor = new Element('textarea');
		texteditor.setStyle('width',width);
		texteditor.setStyle('height',height);
		texteditor.setStyle('margin-left',margin_left);
		texteditor.setStyle('margin-top',margin_top);
		texteditor.setProperty('value',element.get('html'));
		texteditor.set('id','plaintext-editor-textarea-' + instance_id);
		texteditor.inject(element,'before');
		
		var saver = new Element('p');
		saver.set('html','<input type="button" value="Save Contents" id="textual_plaintext_save_' + instance_id + '"/>');
		saver.inject(texteditor,'after');
		saver.set('id','textual_plaintext_save_wrapper' + instance_id);
		
		$('textual_plaintext_save_' + instance_id).addEvent('click',function()
		{
			var instance_id = this.get('id').substr(23);
			
			var data = Object();
			
			data.portlet_content = telos.tokeniseTextualData($('plaintext-editor-textarea-' + instance_id).get('value'));
			data.instance_id = instance_id;
					
			telos.cmd("plaintext_save_content",data,function(result,content) 
			{
				$('plaintext-editor-textarea-' + instance_id).parentNode.removeChild($('plaintext-editor-textarea-' + instance_id));
				$('textual_plaintext_save_wrapper' + instance_id).parentNode.removeChild($('textual_plaintext_save_wrapper' + instance_id));
				$('plaintext' + instance_id).set('html',content);
				$('plaintext' + instance_id).removeClass('hidden');
			});
					
			
			
			
		});
		
		element.addClass('hidden');
	}
	else
	{
		$('plaintext-editor-textarea-' + instance_id).parentNode.removeChild($('plaintext-editor-textarea-' + instance_id));
		$('textual_plaintext_save_wrapper' + instance_id).parentNode.removeChild($('textual_plaintext_save_wrapper' + instance_id));
		$('plaintext' + instance_id).removeClass('hidden');
	}
}

portlet.textual.plaintext.save = function(instance_id,data)
{
	data.portlet_content = telos.tokeniseTextualData($('portlet_content').get('value'));
	
    return data;
}

portlet.textual.html.save = function(instance_id,data)
{
	data.portlet_content = telos.tokeniseTextualData($('portlet_content').get('value'));
	
    return data;
}

portlet.textual.richtext.save = function(instance_id,data)
{
	
	//data.portlet_content = telos.getControlValue("richtext","portlet_content_" + instance_id);
	
	data.portlet_content = telos.tokeniseTextualData($('portlet_content').get('value'));
	
    return data;
}

portlet.textual.richtext.inlineSave = function(instance_id)
{
	data = {};
	data.portlet_content = telos.getControlValue("richtext","richtext_content_" + instance_id);
	data.instance_id = instance_id;
	//alert(data.portlet_content);
	telos.cmd("richtext_save_content",data,function(result,content) 
	{
		$('richtext-content-' + instance_id).set('html',content);
		$('richtext-content-' + instance_id).removeClass('hidden');
		$('richtext-editor-' + instance_id).addClass('hidden');
	});
	
}

portlet.textual.save = function(instance_id,data)
{
		 
	data.portlet_content = telos.tokeniseTextualData($('portlet_content').get('value'));
	
	return data;
    
}

portlet.textual.edit = function(instance_id)
{


}



portlet.textual.html.onEdit = function(instance_id)
{
	if(!$('html-editor-textarea-' + instance_id))
	{
		var element = $('html' + instance_id);
		
		var padding_width = element.getStyle('padding-left').toInt() + element.getStyle('padding-right').toInt();
		var margin_width = element.getStyle('margin-left').toInt() + element.getStyle('margin-right').toInt();
		
		var margin_left = element.getStyle('padding-left').toInt() + element.getStyle('margin-left').toInt();
		var width = element.getSize().x-(padding_width+margin_width);
		
		var height = element.getStyle('height').toInt();
		
		var margin_top = element.getStyle('padding-top').toInt() + element.getStyle('margin-top').toInt();
		
		if(height<=100)
			height = 100;
		var parent = element.parentNode;
				
		var texteditor = new Element('textarea');
		texteditor.setStyle('width',width);
		texteditor.setStyle('height',height);
		texteditor.setStyle('margin-left',margin_left);
		texteditor.setStyle('margin-top',margin_top);
		texteditor.setProperty('value',element.get('html'));
		texteditor.set('id','html-editor-textarea-' + instance_id);
		texteditor.inject(element,'before');
		
		var saver = new Element('p');
		saver.set('html','<input type="button" value="Save Contents" id="textual_html_save_' + instance_id + '"/>');
		saver.inject(texteditor,'after');
		saver.set('id','textual_html_save_wrapper' + instance_id);
		
		$('textual_html_save_' + instance_id).addEvent('click',function()
		{
			var instance_id = this.get('id').substr(18);
			
			var data = Object();
			
			data.portlet_content = telos.tokeniseTextualData($('html-editor-textarea-' + instance_id).get('value'));
			data.instance_id = instance_id;
					
			telos.cmd("html_save_content",data,function(result,content) 
			{
				$('html-editor-textarea-' + instance_id).parentNode.removeChild($('html-editor-textarea-' + instance_id));
				$('textual_html_save_wrapper' + instance_id).parentNode.removeChild($('textual_html_save_wrapper' + instance_id));
				$('html' + instance_id).set('html',content);
				$('html' + instance_id).removeClass('hidden');
			});
					
			
			
			
		});
		
		element.addClass('hidden');
	}
	else
	{
		$('html-editor-textarea-' + instance_id).parentNode.removeChild($('html-editor-textarea-' + instance_id));
		$('textual-html-save-' + instance_id).parentNode.removeChild($('textual-html-save-' + instance_id));
		$('textual-html-cancel-' + instance_id).parentNode.removeChild($('textual-html-cancel-' + instance_id));
		$('html' + instance_id).removeClass('hidden');
	}
}




portlet.mevevents = new Object();


portlet.mevevents.save = function(instance_id,data)
{
		
    return data;
}

portlet.mevevents.selectActivityType = function(instance_id)
{
	activity_type_id = $('event_act_filter').getSelected().get('value');
	
	telos.cmd("mev_filter_event_list",{instance_id:instance_id,activity:activity_type_id},function(result,content) 
	{
		$('mev-event-list').set('html',content);
	
	});

}



portlet.menu = new Object();


portlet.menu.save = function(instance_id,data)
{
	if($('highlight_when'))
		data.highlight_when = $('highlight_when').getSelected().get('value');
	return data;
}

portlet.menu.dynamic = new Object();
portlet.menu.submenu = new Object();
portlet.menu.custom = new Object();
portlet.menu.breadcrumbs = new Object();

portlet.menu.breadcrumbs.save = function(instance_id,data)
{
	data.seperator = $('breadcrumbs_seperator').get('value');
	return data;
}

portlet.menu.dynamic.save = function(instance_id,data)
{
	
	var list = "";
	
	$('dynamic_menu_pages_yes').getChildren().each(function(element)
	{
		list += element.getProperty('id').substr(2) + ",";
	});
	
	if(list)
		list = list.substr(0,list.length-1);
	
	data.pages = list;
	
	data.highlight_when = $('highlight_when').getSelected().get('value');

	return data;
}

portlet.menu.dynamic.edit = function(instance_id)
{
	
	new Sortables($$(".dynamic_page_list"),{clone:false,handle:'span.item',onComplete:function(element)
	{
		
	}});
}

portlet.menu.submenu.save = function(instance_id,data)
{
	
	var list = "";
	
	data.parent_page = $('parent_page_id').getSelected().get('value');
	
	data.pages = list;
	data.highlight_when = $('highlight_when').getSelected().get('value');

	return data;
}

portlet.menu.custom.edit = function(instance_id)
{
	portlet.menu.custom.page_list = new Sortables($$(".dynamic_page_list"),{clone:false,handle:'span.item',onComplete:function(element)
	{
		
	}});
}

portlet.menu.custom.changeAddType = function()
{
	if($('custom_menu_add_type').getSelected().get('value')=="external")
	{
		$('custom_menu_add_external').removeClass('hidden');
		$('custom_menu_add_page').addClass('hidden');
		$('custom_menu_add_text').addClass('hidden');
	}
	else if($('custom_menu_add_type').getSelected().get('value')=="-text-")
	{
		$('custom_menu_add_external').addClass('hidden');
		$('custom_menu_add_page').addClass('hidden');
		$('custom_menu_add_text').removeClass('hidden');
	}
	else
	{
		$('custom_menu_add_external').addClass('hidden');
		$('custom_menu_add_page').removeClass('hidden');
		$('custom_menu_add_text').addClass('hidden');
	}
	
}



portlet.menu.custom.addItem = function()
{
	var item = $('custom_menu_add_type').getSelected();
	var element = new Element("li");
	
	if(item.get('value')=="external")
	{
		do
		{
			r = Math.random(0,100000);
		} while($('custom_menu_link_' + r));
		
		element.set('id','custom_menu_link_' + r);
		
		
		var cls = $('custom_menu_external_class').get('value');
		
		var url = $('custom_menu_external_url').get('value');
		
		
		var image_code = "<img onclick=\"$('custom_menu_link_" + r + "').parentNode.removeChild($('custom_menu_link_" + r + "'))\" src=\"http://www.mev.org.uk/telos/resource/image/admin/generic/delete.png\"/>";
	
		element.set("html",image_code + "<span style=\"display:none\" class=\"link\">" + url + "|telosseperator;|" + $('custom_menu_external_text').get('value') + "|telosseperator;|" + cls + "</span><span class=\"content\">" +  $('custom_menu_external_url').get('value') + "</span>");
		
	}
	else if(item.get('value')=="-text-")
	{
		
		do
		{
			r = Math.random(0,100000);
		} while($('custom_menu_text_' + r));
		
		element.set('id','custom_menu_text_' + r);
		
		var image_code = "<img onclick=\"$('custom_menu_text_" + r + "').parentNode.removeChild($('custom_menu_text_" + r + "'))\" src=\"http://www.mev.org.uk/telos/resource/image/admin/generic/delete.png\"/>";
		
		var text = $('custom_menu_text_content').get('value');
		var cls = $('custom_menu_text_class').get('value');
				
		element.set("html",image_code + "<span style=\"display:none\" class=\"text\">" + text + "|telosseperator;|" + cls + "</span><span class=\"content\">" + "text: " + $('custom_menu_text_content').get('value') +"</span>");
		
	}
	else
	{
		
		do
		{
			r = Math.random(0,100000);
		} while($('custom_menu_page_' + r));
		
		element.set('id','custom_menu_page_' + r);
		
		var image_code = "<img onclick=\"$('custom_menu_page_" + r + "').parentNode.removeChild($('custom_menu_page_" + r + "'))\" src=\"http://www.mev.org.uk/telos/resource/image/admin/generic/delete.png\"/>";
		
		var text = $('custom_menu_page_text').get('value');
		var cls = $('custom_menu_page_class').get('value');
		

		if(text)
			element.set("html",image_code + "<span style=\"display:none\" class=\"page\">" + item.get('value') + "|telosseperator;|" + text + "|telosseperator;|" + cls + "</span><span class=\"content\">" + item.get('html') + " as " + text +"</span>");
		else
			element.set("html",image_code + "<span style=\"display:none\" class=\"page\">" + item.get('value') + "|telosseperator;|" + text + "|telosseperator;|" + cls + "</span><span class=\"content\">" + item.get('html') + "</span>");
	}
	
	
	$('custom_menu_pages').appendChild(element);
	
	portlet.menu.custom.page_list.attach();
}


portlet.menu.custom.save = function(instance_id,data)
{
	
	var list = "";
	
	$('custom_menu_pages').getChildren().each(function(element)
	{
		var current;
		element.getChildren().each(function(c)
		{
			if(c.hasClass('page'))
			{
				list += "page|telosselector;|";
				
				 current = c.get('html');
			}
			else if(c.hasClass('link'))
			{
				list += "link|telosselector;|";
				
				current = c.get('html');
			}
			else if(c.hasClass('text'))
			{
				list += "text|telosselector;|";
				current = c.get('html');
				
			}
			else if(c.hasClass('content'))
			{
				list += current;
			}
		});
		list += "|telosbreak;|";
		
	});
	
	alert(list);
	
	if(list)
		list = list.substr(0,list.length-("|telosbreak;|".length));
		
	data.pages = list;
	
	data.highlight_when = $('highlight_when').getSelected().get('value');

	return data;
}







portlet.articles = new Object();
portlet.articles.recent = new Object();
portlet.articles.articlelist = new Object();


portlet.articles.save = function(instance_id,data)
{
	return data;
}

portlet.articles.articlelist.save = function(instance_id,data)
{
	data.article_write_page_id = $('article_write_page_id').getSelected().get('value');
	data.article_display_page_id = $('article_display_page_id').getSelected().get('value');
	data.article_display_count = $('article_display_count').getSelected().get('value');
	data.article_display_method = $('article_display_method').getSelected().get('value');
	data.article_show_username = $('article_show_username').get('checked');
	data.article_show_date = $('article_show_date').get('checked');
	data.article_show_pages = $('article_show_pages').get('checked');
	data.article_admin = $('article_admin').get('checked');
	
	var folder_list = "";
	
	$$('.article-show-folder').each(function(element)
	{
		
		id = element.get('id').substr(20);
		
		if(element.get('checked'))
		{
			folder_list += id;
			folder_list += ",";
		}
	});
	
	if(folder_list)
		data.article_folder_list = folder_list.substr(0,folder_list.length-1);
	else
		data.article_folder_list = "";
		
	return data;
}


portlet.articles.recent.save = function(instance_id,data)
{
	data.article_count = $('ctrl_article_count').get('value')?$('ctrl_article_count').get('value'):0;
	return data;
}


portlet.articles.deleteArticle = function(portlet_id,article_id)
{
	


	if(window.confirm("Really delete this Article?"))
		telos.cmd("article_delete",{portlet_id:portlet_id,article_id:article_id},function(result,content)
		{
			$('article-' + portlet_id + '-' + article_id).parentNode.removeChild($('article-' + portlet_id + '-' + article_id));
		});
}



telos.addEventHandler("page/load","after","",function(args)
{
	$$('.article_read_more').each(function(element)
	{
		element.addEvent('click',function(event)
		{
			var id = this.get('id').substr(13);
			$('article-intro-' + id).addClass('hidden');
			//$('article-body-' + id).set('html','<div class="generic_loader"></div>');
			$('article-body-' + id).addClass('loader_background');
			$('article-body-' + id).removeClass('hidden');
			
			telos.cmd("article_get",{article_id:id},function(result,content)
			{
				$('article-body-' + id).removeClass('loader_background');
				$('article-body-' + id).set('html',content);
			});
			
			element.addClass('hidden');
			
			return false;
		});
		
	});
});




portlet.microblog = new Object();


portlet.microblog.save = function(instance_id,data)
{
	
    return data;
}


portlet.microblog.deleteEntry = function(content_id,callback)
{
	telos.cmd("microblog_delete_update",{content_id:content_id},function(result,content) 
	{
		
		if(result==true)
			callback.call(this,true);
		else
			callback.call(this,false);
	
	});

}



portlet.file = new Object();


portlet.file.save = function(instance_id,data)
{
	//  data.redirect_action = $('file_click_action').getSelected().get('value');
      return data;
}

portlet.file.uploadFile = function(instance_id)
{
	$('upload_button_' + instance_id).addClass('hidden');
	$('upload_progress_' + instance_id).removeClass('hidden');
	$('upload_form_' + instance_id).submit();
}

portlet.file.uploadFail = function(msg)
{
	alert(msg);
}

portlet.file.uploadComplete = function(instance_id)
{
	
	telos.reloadPage();
}

portlet.file.newsletterChangeRedirect = function()
{
	if($('file_click_action').getSelected().get('value')==2 )
    {
    	$('redirect_page_container').removeClass('hidden');
    } 
    else 
    {$('redirect_page_container').addClass('hidden');
    }
}


portlet.user = new Object();
portlet.user.login = new Object();


portlet.user.login.save = function(instance_id,data)
{

    
   	data.input_size = $('input_size').getSelected().get('value');
	data.input_pos = $('input_pos').getSelected().get('value');
		

    
    return data;
}

portlet.user.save = function(instance_id,data)
{
    
    return data;
}

portlet.user.deleteMessage = function(instance_id,message_id)
{
	if(window.confirm("Really delete this message?"))
	{
		$('portlet-canvas-' + instance_id).set("html",'<div id="portlet_dynamic_load_' + instance_id + '" class="portlet_dynamic_load" style="height:100px">&nbsp;</div>');
		telos.cmd("user_message_delete",{message_id:message_id},function(response,content)
		{
			telos.reloadPortletContent(instance_id);
		});
	}
}




portlet.contactus = new Object();


portlet.contactus.save = function(instance_id,data)
{
	data.email = $('email_add').get('value');
    return data;
}







portlet.livechat = new Object();


portlet.livechat.save = function(instance_id,data)
{
	   return data;
}

portlet.livechat.connect = function()
{
	telos.cmd("livechat_connect",{},function(result,content)
	{
		
	
	});
}


portlet.livechat.addMessage = function()
{
	var msg = $('livechat_msg').get('value');
	var hash = $('livechat_id').get('html');
	$('livechat_msg').set('value',"");
	
	telos.cmd("livechat_message",{'id':hash,'msg':msg},function(result,content)
	{
		
		$('livechat_main').set('html',content);
		$('livechat_main').scrollTop = $('livechat_main').scrollHeight;
	});
}

// EVENTS

telos.addEventHandler("page/load","after","",function(args)
{
	if($('livechat_main'))
	{
		
		function run_livechat_first()
		{
			telos.cmd("livechat",{'id':$('livechat_id').get('html')},function(result,content)
			{
				$('livechat_connected').setProperty('src','http://www.mev.org.uk/telos/portlet/livechat/image/live.gif');
				$('livechat_main').set('html',content);
				$('livechat_main').scrollTop = $('livechat_main').scrollHeight;
			})
		}
		
		function run_livechat_update()
		{
			telos.cmd("livechat",{'id':$('livechat_id').get('html')},function(result,content)
			{
				$('livechat_connected').setProperty('src','http://www.mev.org.uk/telos/portlet/livechat/image/live.gif');
				$('livechat_main').set('html',content);
				
			})
		}
		
		
		run_livechat_first();
		
		run_livechat_update.periodical(3000,telos);
	}
	
	if($$('.portlet_content_livechat'))
	{
		function run_livechat_user_update()
		{
			$$('.portlet_content_livechat').each(function(element)
			{
				if(element.hasClass('whosin'))
				{
					var id = element.getProperty("id").substr(16);				
					telos.reloadPortletContent(id);
				}
			});
		}
		
		run_livechat_user_update();
		
		run_livechat_user_update.periodical(3000,telos);
	}
	
	
});

telos.addEventHandler("page/unload","before","",function(args)
{
	if($('livechat_id'))
	{
		telos.cmd("livechat_leave",{'id':$('livechat_id').get('html')},function(result,content)
		{
		
		});
	}
});


portlet.image = new Object();

portlet.image.save = function(instance_id,data)
{
	return data;
}

	var browser_image_id = 0;

portlet.image.imgupload = function(instance_id,data)
{
	
	return data;
}

portlet.image.browserPrevious = function()
{
	
	var width = 800;
	var id_set = $('imagebrowser-id-set').get('html').split(",");
	
	var next_id = 0;
	
	for(i=0;i<id_set.length;i++)
		if(id_set[i]==browser_image_id && i<id_set.length)
			next_id = id_set[i-1];
		
	var titles = $('imagebrowser-title-set').get('html').split(",");
	if(!next_id)
	{
		next_id = id_set[id_set.length-1];
		$('imagebrowser-current-index').set('html',id_set.length);
		$('imagebrowser-content-title').set('html',titles[id_set.length-1]);
	}
	else
	{
		$('imagebrowser-current-index').set('html',$('imagebrowser-current-index').get('html').toInt()-1);
		$('imagebrowser-content-title').set('html',titles[$('imagebrowser-current-index').get('html').toInt()-1]);
	}
		
		
	var url = "http://www.mev.org.uk/image/cid:" + next_id + "/" + width + "/image.jpg";

	browser_image_id = next_id;
	
	function f()
	{
		var i = $('imagebrowser-image');
		
		i.setProperty('src',img.getProperty('src'));
		
		var size = i.getSize();
		
		$('imagebrowser-loader').addClass('hidden');
		$('imagebrowser-image-wrapper').removeClass('hidden');
		
	}
	
	$('imagebrowser-image-wrapper').addClass('hidden');
	$('imagebrowser-loader').removeClass('hidden');
	
	var img = new Asset.image(url,{onload:f});

	
	
}

portlet.image.browserNext = function()
{
	var width = 800;
	var id_set = $('imagebrowser-id-set').get('html').split(",");
	
	var next_id = 0;
	
	for(i=0;i<id_set.length;i++)
		if(id_set[i]==browser_image_id && i<id_set.length)
			next_id = id_set[i+1];
			
	browser_image_id = next_id;
			
	var titles = $('imagebrowser-title-set').get('html').split(",");
	if(!next_id)
	{
		next_id = id_set[0];
		$('imagebrowser-current-index').set('html',1);
		$('imagebrowser-content-title').set('html',titles[0]);
	}
	else
	{
		$('imagebrowser-current-index').set('html',$('imagebrowser-current-index').get('html').toInt()+1);
		$('imagebrowser-content-title').set('html',titles[$('imagebrowser-current-index').get('html').toInt()+1]);
	}
		
	
	var url = "http://www.mev.org.uk/image/cid:" + next_id + "/" + width + "/image.jpg";

	function f()
	{
		var i = $('imagebrowser-image');
		
		i.setProperty('src',img.getProperty('src'));
		
		var size = i.getSize();
		
		$('imagebrowser-loader').addClass('hidden');
		$('imagebrowser-image-wrapper').removeClass('hidden');
		
	}
	$('imagebrowser-image-wrapper').addClass('hidden');
	$('imagebrowser-loader').removeClass('hidden');
	
	var img = new Asset.image(url,{onload:f});

}

portlet.image.browserFirst = function()
{
	var width = 800;
	var id_set = $('imagebrowser-id-set').get('html').split(",");
	
	browser_image_id = id_set[0];
			
	var titles = $('imagebrowser-title-set').get('html').split(",");
	$('imagebrowser-current-index').set('html',1);
	$('imagebrowser-content-title').set('html',titles[0]);
	
	var url = "http://www.mev.org.uk/image/cid:" + browser_image_id + "/" + width + "/image.jpg";

	function f()
	{
		var i = $('imagebrowser-image');
		
		i.setProperty('src',img.getProperty('src'));
		
		var size = i.getSize();
		
		$('imagebrowser-loader').addClass('hidden');
		$('imagebrowser-image-wrapper').removeClass('hidden');
		
	}
	$('imagebrowser-image-wrapper').addClass('hidden');
	$('imagebrowser-loader').removeClass('hidden');
	
	var img = new Asset.image(url,{onload:f});
}

portlet.image.browserLast = function()
{
	var width = 800;
	var id_set = $('imagebrowser-id-set').get('html').split(",");
	
	index = id_set.length;
			
	var titles = $('imagebrowser-title-set').get('html').split(",");
	$('imagebrowser-current-index').set('html',index);
	$('imagebrowser-content-title').set('html',titles[index-1]);
	
	var url = "http://www.mev.org.uk/image/cid:" + id_set[index-1] + "/" + width + "/image.jpg";
	
	browser_image_id = id_set[index];

	function f()
	{
		var i = $('imagebrowser-image');
		
		i.setProperty('src',img.getProperty('src'));
		
		var size = i.getSize();
		
		$('imagebrowser-loader').addClass('hidden');
		$('imagebrowser-image-wrapper').removeClass('hidden');
		
	}
	$('imagebrowser-image-wrapper').addClass('hidden');
	$('imagebrowser-loader').removeClass('hidden');
	
	var img = new Asset.image(url,{onload:f});
}

telos.addEventHandler("page/load","before","",function()
{	
	$$('.scrolling').each(function(element)
    {   
    	var s = new Scroller(element,{area:80,fps:5});
	    s.start();
    });

});

window.addEvent("load",function()
{
	if($('imagebrowser-id-set'))
	{
		var id_set = $('imagebrowser-id-set').get('html').split(",");
		
		var index = 1;
		
		for(i=0;i<id_set.length;i++)
			if(id_set[i]==browser_image_id)
				index = i+1;
				
		var titles = $('imagebrowser-title-set').get('html').split(",");
		
		$('imagebrowser-content-title').set('html',titles[index-1]);
	
		$('imagebrowser-current-index').set('html',index);
		$('imagebrowser-current-total').set('html',id_set.length);
		$('imagebrowser-indexer').removeClass('hidden');
	}
});


portlet.forum = new Object();


portlet.forum.save = function(instance_id,data)
{
	   return data;
}

portlet.forum.addThreadToFavourites = function(thread_id)
{
	$('portlet-forum-add-thread-favourite').removeClass('hidden');
	
	$('portlet-forum-add-thread-favourite-add').removeClass('hidden');
	$('portlet-forum-add-thread-favourite-done').addClass('hidden');
	
	telos.cmd("forum_add_favourite_thread",{thread_id:thread_id},function(result,content)
	{
		$('portlet-forum-add-thread-favourite-add').addClass('hidden');
		$('portlet-forum-add-thread-favourite-done').removeClass('hidden');
	});

}

portlet.forum.deletePost = function(content_id,instance_id)
{
	if(window.confirm("Really delete this Post?"))
	{
		telos.cmd("forum_delete_post",{content_id:content_id,instance_id:instance_id},function(result,content)
		{
		
		
		});
	}
}

portlet.forum.deleteThread = function(content_id,instance_id)
{
	if(window.confirm("Really delete this Thread?"))
	{
		telos.cmd("forum_delete_thread",{content_id:content_id,instance_id:instance_id},function(result,content)
		{
		
		
		});
	}
}



portlet.mevemploy = new Object();


portlet.mevemploy.save = function(instance_id,data)
{

    
 
    
    return data;
}



portlet.rss = new Object();
portlet.rss.recent = new Object();

portlet.onload.rss = function(element)
{
	
}

portlet.rss.recent.save = function(instance_id,data)
{
	data.rss_urls = telos.tokeniseTextualData($('rss_urls').get('value'));
	data.rss_count = $('rss_count').get('value');
	
    return data;
}

 

portlet.blog = new Object();


portlet.blog.adminChangeBlogToDisplay = function()
{
	$('user_id_to_display_container').addClass('hidden');
	$('group_id_to_display_container').addClass('hidden');
	
	if($('users_to_display').getSelected().get('value')==1)
		$('user_id_to_display_container').removeClass('hidden');
	else if($('users_to_display').getSelected().get('value')==2)
		$('group_id_to_display_container').removeClass('hidden');
	
		
}

portlet.blog.blogmain = new Object();

portlet.blog.blogmain.save = function(instance_id,data)
{
	
	data.users_to_display = $('users_to_display').getSelected().get('value');
	data.specific_user_to_display = $('user_id_to_display').get('value');
	if(data.users_to_display==1 && !data.specific_user_to_display)
	{
		alert("You must enter a Username");
		return false;
	}	
	
	data.group_id_to_display = $('group_id_to_display').get('value');

	return data;
}

portlet.blog.saveEntry = function(instance_id)
{
	var title = telos.getControlValue("text","blog_title");
	var content = telos.tokeniseTextualData(telos.getControlValue("richtext","blog_body"));
	var tags = telos.getControlValue("text","blog_tags");
	
	
	
	if(!title)
		telos.message("You must enter a title");
	else if (!content)
		telos.message("You must enter some content");
	else
	{
		portlet.blog.instance_id = instance_id;
		telos.cmd ("blog_write",{instance_id:instance_id,title:title,content:content,tags:tags},function(result,content)
		{
			alert(content);
			
			telos.reloadPage();
		});
	}

}

portlet.blog.deleteEntry = function(instance_id,entry_id)
{
	if(window.confirm("Do you really wish to delete this Blog Entry?"))
	{
		var article = $('blog-entry-' + instance_id + "-" + entry_id);
		var blogbody = article.get('html');
		
		
		article.set('html','<div class="loader"><img src="http://www.mev.org.uk/telos/resource/image/loader.gif"/>Deleting Article</div>');
		telos.cmd ("blog_delete",{entry_id:entry_id},function(result,content)
		{
			if(result==false)
			{
				article.set('html',blogbody);
				alert("Unable to Delete this Blog Entry");
			}
			else
				article.parentNode.removeChild(article);
		});
	}
}

function intro_enter(page)
{
	if($('skipintro').get('checked'))
	{
		
		Cookie.write("mev_skip_intro",true,{"duration":365});
		
		window.location = "http://www.mev.org.uk/" + page;
	}
	else
		window.location = "http://www.mev.org.uk/" + page;
}


function placeMarkerAtPoint(point)
{
	var marker = new GMarker(point,icon);
	map.addOverlay(marker);
}

function setCenterToPoint(point)
{
	map.setCenter(point, 17);
}

function showPointLatLng(point)
{
	alert("Latitude: " + point.lat() + "\nLongitude: " + point.lng());
}

function usePointFromPostcode(postcode, text,url, callbackFunction) {
  
  var localSearch = new GlocalSearch();
  localSearch.postcode = postcode;
  localSearch.text = text;
  localSearch.url = url;
  
  localSearch.setSearchCompleteCallback(null,
    function() {
      
      if (localSearch.results[0]) {    
        var resultLat = localSearch.results[0].lat;
        var resultLng = localSearch.results[0].lng;
        var point = new GLatLng(resultLat,resultLng);
		
        callbackFunction(point,postcode,text,url);
      }else{
        alert("Postcode not found!");
      }
    });  
    
  localSearch.execute(postcode + ", UK");
}



portlet.mev = new Object();

portlet.mev.copyShiftDate = function(index)
{
	var val = $('add_shift_date_' + (index-1)).get('value');
	
	if(val)
	{
	
		var d = val.substr(0,2);
		var m = val.substr(3,2);
		var y = val.substr(6,4);
		
		if(y<=100)
			y+=2000;
		
		if($('add_shift_date_' + index))
		{
			
			var dt = new Date(y,m.toInt()-1,d);
			dt.add("d",1);
			
			d = dt.getDate();
			m = dt.getMonth();
			y = dt.getFullYear();
			if(d<10)
				d = "0" + d;
			if(m<10)
				m = "0" + m;
			
			$('add_shift_date_' + index).set('value',d + "/" + m + "/" + y);
		}
	}
}

portlet.mev.copyShiftStartTime = function(index)
{
	$('add_shift_start_hours' + index).set('value',$('add_shift_start_hours' + (index-1)).get('value'));
	$('add_shift_start_minutes' + index).set('value',$('add_shift_start_minutes' + (index-1)).get('value'));
}

portlet.mev.copyShiftEndTime = function(index)
{
	$('add_shift_end_hours' + index).set('value',$('add_shift_end_hours' + (index-1)).get('value'));
	$('add_shift_end_minutes' + index).set('value',$('add_shift_end_minutes' + (index-1)).get('value'));
}

portlet.mev.save = function(instance_id,data)
{
	
  	//data.input_size = $('input_size').getSelected().get('value');
	//data.input_pos = $('input_pos').getSelected().get('value');
 
    return data;

}

portlet.mev.updateLength = function(text,disp,butt)
{
	var l = 250 - $(text).get('value').length;
	$(disp).set('html',l);
	if(l<0)
	{
		$(butt).setProperty('disabled',"disabled");
		$(disp).setStyle('color','#FF0000');
	}
	else
	{
		$(butt).setProperty('disabled',"");
		$(disp).setStyle('color','');
	}
}

portlet.mev.addUpdate = function(instance_id)
{
	var string = $('mev_new_update').get('value');
	if(string)
	{
		if(string.length>250)
			alert("Update too long, please check.");
		else
		{	
			string = string.replace(/\n/g,"<br/>");
			var disp = "<p>" + string;
			
			
			var text = disp + "<br/><small>Posted 0 minutes ago</small></p>";
			
			var element = new Element('li');
			element.addClass('loader_background');
			element.set('height','120');
			element.set('html','<span id="mev_hider"><div><div>' + text + '</div></div></span>');
			
			element.inject($('mev_profile_update_list'),'top');
			$('mev_hider').setStyle('opacity',0);
			element.set('id','mev_new_update_element');
			
			$('mev-front-update-container').addClass('hidden');
				
			telos.cmd("microblog_add_update",{instance_id:instance_id,text:string},function(result,content) 
			{
				$('mev_new_update_element').removeClass('loader_background');
							
				if(result==false)
				{
					$('mev_new_update_element').parentNode.removeChild($('mev_new_update_element'));
					alert("Unable to add this Update");
				}
				else
				{
					$('mev_new_update_element').set('id','mev-update-' + content);
					$('mev_new_update').set('value','');
					$('mev_hider').fade('in');
					$('mev_hider').set('id','');
				}
			});
		}
	}
}

portlet.mev.deleteUpdate = function(content_id)
{
	if(window.confirm("Are you sure you want to delete this update?"))
	{
		$('mev-update-' + content_id).addClass('hidden');
		
		portlet.microblog.deleteEntry(content_id,function(result)
		{
			if(result==true)
			{
				$('mev-update-' + content_id).parentNode.removeChild('mev-update-' + content_id);
			}
			else
				$('mev-update-' + content_id).removeClass('hidden');
		
		});
	}

}


portlet.mev.frontUpdate = function(instance_id)
{
	var string = $('mev-front-update').get('value');
	if(string)
	{
		if(string.length>200)
			alert("Update too long, please check.");
		else
		{	
			string = string.replace(/\n/g,"<br/>");
			var disp =  string;
			
			
			var text = disp + "<br/><small>Posted 0 minutes ago</small>";
			
						
			var element = new Element('li');
			element.addClass('loader_background');
			element.set('height','120');
			element.set('html','<span id="mev_hider"><div><div>' + text + '</div></div></span>');
			$('mev-front-update-list').set('html',"");
			element.inject($('mev-front-update-list'),'top');
			$('mev_hider').setStyle('opacity',0);
			element.set('id','mev_front_update_element');
				
			telos.cmd("microblog_add_update",{instance_id:instance_id,text:string},function(result,content) 
			{
				$('mev_front_update_element').removeClass('loader_background');
							
				if(result==false)
				{
					$('mev_front_update_element').parentNode.removeChild($('mev_front_update_element'));
					alert("Unable to add this Update");
				}
				else
				{
					$('mev_front_update_element').set('id','mev-front-update-' + content);
					//$('mev_new_update').set('value','');
					$('mev_hider').fade('in');
					$('mev_hider').set('id','');
				}
			});
		}
	}
}


portlet.mev.uploadProfilePicture = function()
{
	
	$('mev_profile_pic_upload_process').removeClass('hidden');
	$('mev_profile_pic_upload_button').addClass('hidden');
	$('profile_pic_form').submit();
}

portlet.mev.onFileUpload = function(id)
{

}

portlet.mev.uploadProfilePicture_complete = function(id,filename,instance_id)
{
	$('mev_user_profile_image').setProperty('src',"http://www.mev.org.uk/image/" + id + "/s:128/" + filename);
	$('mymev_main_profile_image').setProperty('src',"http://www.mev.org.uk/image/" + id + "/s:64/" + filename);
	$('mev_profile_pic_upload_process').addClass('hidden');
	$('mev_profile_pic_upload_button').removeClass('hidden');
	$('profile_change_pic').toggleClass('hidden')
	
	telos.cmd("mev_set_profile_image_id",{id:id},function(result,content) 
	{
	
	});
}



telos.win.image_editor = new telosWindow("image_editor","Edit Image",{w:650,h:650,zindex:900});


telos.win.image_editor.onLoad = function(vars)
{

	this.loadComplete();
	
}

telos.win.image_editor.onShow = function(vars)
{
	
	
}

telos.win.image_editor.onHide = function(vars)
{
	
}

var mev = new Object();

mev.google_maps_loaded = false;

var map;

var icon;

var pc_text = Array();

mev.showEventsMap = function()
{
	var id_set = $('mev-event-id-set').get('html');
	if(!id_set)
		alert("No Postcodes to display on a map in the current list");
	else
	{
		if($('mev-event-map').hasClass('hidden'))
		{
			$('mev-event-map').set('html','<p><img src="http://www.mev.org.uk/telos/resource/image/loader.gif" style="float:left;margin-right:10px;"/>Loading...</p>');
			$('mev-event-map').removeClass('hidden');
					
			telos.cmd("mev_event_info",{event_id_list:id_set},function(result,content)
			{
				var list = content.split("&&");
				
				icon = new GIcon();
				icon.image = "http://www.google.com/mapfiles/marker.png";
				icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
				icon.iconSize = new GSize(20, 34);
				icon.shadowSize = new GSize(37, 34);
				icon.iconAnchor = new GPoint(10, 34);
		
				map = new google.maps.Map2(document.getElementById('mev-event-map'));
				
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				
				map.setCenter(new google.maps.LatLng(53.4797,-2.2493), 11);
			
				
				for(var i=0;i<=list.length-1;i++)
				{
					var arr = list[i].split("||");
					
					var postcode = arr[0];
					var url = arr[1];
					var text = arr[2];
					
					usePointFromPostcode(postcode,text,url,function(point,postcode,text,url)
					{
						
						
						text = html_entity_decode(text);
						
						 var markerOpt = {
                           draggable  :  false,
                           style      : "chart",
                           title       : text
                        };
        				var marker = new GMarker(point, markerOpt);
						GEvent.addListener(marker, "mousedown", function()
						{
							window.location = url;
						});
				        map.addOverlay(marker);

						
						//map.addOverlay(marker);
						
						map.setCenter(point, 11);
					
					});
				}
			});
		}
		else
			$('mev-event-map').addClass('hidden');
		
	}
	

}


mev.showGoogleMap = function(event_id)
{
	if($('mev-event-map').hasClass('hidden'))
	{
		$('mev-event-map').set('html','<p><img src="http://www.mev.org.uk/telos/resource/image/loader.gif" style="float:left;margin-right:10px;"/>Loading...</p>');
		$('mev-event-map').removeClass('hidden');
				
		telos.cmd("mev_event_info",{event_id:event_id},function(result,content)
		{
			var arr = content.split("||");
			
			var postcode = arr[0];
			var url = arr[1];
			var text = arr[2];
			
			//alert(url);
				
			if(!mev.google_maps_loaded)
			{
				localSearch = new GlocalSearch();
				
				icon = new GIcon();
				icon.image = "http://www.google.com/mapfiles/marker.png";
				icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
				icon.iconSize = new GSize(20, 34);
				icon.shadowSize = new GSize(37, 34);
				icon.iconAnchor = new GPoint(10, 34);
		
				map = new google.maps.Map2(document.getElementById('mev-event-map'));
				
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				
				map.setCenter(new google.maps.LatLng(3.4788, 	-2.1812), 13);
			
				//mev.google_maps_loaded = true;
		
			}
			
			usePointFromPostcode(postcode,text,url,function(point,postcode,text,url)
			{
				var win = map.openInfoWindow(point,text);
				alert(url);
				var marker = new GMarker(point,icon);
				map.addOverlay(marker);
				map.setCenter(point, 13);
			
			});
		});
	}
	else
		$('mev-event-map').addClass('hidden');
		
}

mev.checkPostcode = function()
{
	$('postcode-fail').addClass('hidden');
	$('postcode-success').addClass('hidden');
	$('postcode-check').removeClass('hidden');
	
	var postcode = $('postcode').get('value');
	
	telos.cmd("mev_postcode_check",{postcode:postcode},function(result,content)
	{
		$('postcode-check').addClass('hidden');
		if(result==false)
		{
			$('postcode-fail').removeClass('hidden');
		}
		else
		{
			$('postcode-success').removeClass('hidden');
			$('app-form-url').setProperty('href',content);
		}
	});
}

mev.registerTab = function(tab_id)
{
	for(i=1;i<=3;i++)
	{
		$('mev-register-' + i).addClass('hidden');
		$('register-button-' + i).removeClass('selected');
	}
	
	$('mev-register-' + tab_id).removeClass('hidden');
	$('register-button-' + tab_id).addClass('selected');
}

mev.selectInductionDate = function()
{
	var v = $('induction_id').getSelected().get('value');
	if(v=="0")
	{
		$('induction-more-dates').removeClass('hidden');
	}
	else
		$('induction-more-dates').addClass('hidden');
}

mev.register = function()
{
	var error = "";
	
	if(!$('firstname').get('value'))
		error += "first name, ";
	if(!$('surname').get('value'))
		error += "surname, ";
	if(!$('address1').get('value'))
		error += "address line 1, ";
	if(!$('email').get('value'))
		error += "email address, ";
	if(!$('mymev_agree').get('checked'))
		error += "MEV agreement, ";
	if(error!="")
	{
		error = error.substr(0,error.length-2);
		alert("You didn't complete the following:\n" + error);
	}
	else
	{
		$('register-complete').setProperty('disabled','disabled');
		$('mev_form').submit();
	}
		
}

mev.registerComplete = function()
{
	window.location = "http://www.mev.org.uk/registercomplete";
	
}

mev.savePublicProfile = function()
{
	var text = $('mev_public_profile_value').get('value');
	$('mymev_profile_save').removeClass('hidden');
	$('mev_public_profile_edit').addClass('hidden');
	
	text = telos.tokeniseTextualData(text);
	
	telos.cmd("mev_save_public_profile",{profile:text},function(result,content)
	{
		$('mymev_profile_save').addClass('hidden');
		$('mymev-public-profile').set('html',content);
	});
}

portlet.dateandtime = new Object();
portlet.dateandtime.calendar = new Object();


telos.addEventHandler("page/load","after","",function(args)
{
	portlet.dateandtime.calendar.setUp();
});

portlet.dateandtime.save = function(instance_id,data)
{
	//data.portlet_content = telos.tokeniseTextualData($('portlet_content').get('value'));
	
    return data;
}

portlet.dateandtime.calendar.save = function(instance_id,data)
{
	var text = "";
	$$('.calendar_source_type').each(function(element)
	{
		var id = element.get('id').substr(21);
		
		if(element.getSelected().get('value')==1)
		{
			if($('calendar_source_folder_' + id).getSelected().get('value')>0)
				text += "folder:" + $('calendar_source_folder_' + id).getSelected().get('value') + "||" + $('calendar_source_folder_page_' + id).get('value') + "&&";
		}
		if(element.getSelected().get('value')==2)
		{
			if($('calendar_source_rss_' + id).get('value'))
				text += "rss:" + $('calendar_source_rss_' + id).get('value') + "&&";
		}
	});
	
	if(text)
		text = text.substr(0,text.length-2);
		
	
		
	data.date_sources = text;
	data.day_width = $('calendar_day_width').get('value');
	data.day_height = $('calendar_day_height').get('value');

	
	 return data;
}

portlet.dateandtime.calendar.changeSourceType = function(id)
{
	var v = $('calendar_source_type_' + id).getSelected().get('value');
	
	$('calendar_source_type_folder_' + id).addClass("hidden");
	$('calendar_source_type_rss_' + id).addClass("hidden");
	
	if(v==1)
		$('calendar_source_type_folder_' + id).removeClass("hidden");
	else if(v==2)
		$('calendar_source_type_rss_' + id).removeClass("hidden");
	
}

portlet.dateandtime.calendar.setUp = function()
{
	$$('.calendar-down-year').each(function(element)
	{
		element.addEvent("click",function()
		{
			var instance_id = this.getProperty('id').substr(6);
			portlet.dateandtime.calendar.yearDown(instance_id);
			return false;
		});
	});
	
	$$('.calendar-down-month').each(function(element)
	{
		element.addEvent("click",function()
		{
			var instance_id = this.getProperty('id').substr(6);
			portlet.dateandtime.calendar.monthDown(instance_id);
			return false;
		});
	});
	
	$$('.calendar-up-month').each(function(element)
	{
		element.addEvent("click",function()
		{
			var instance_id = this.getProperty('id').substr(6);
			
			portlet.dateandtime.calendar.monthUp(instance_id);
			return false;
		});
	});
	
	$$('.calendar-up-year').each(function(element)
	{
		element.addEvent("click",function()
		{
			var instance_id = this.getProperty('id').substr(6);
			portlet.dateandtime.calendar.yearUp(instance_id);
			return false;
		});
	});
}

portlet.dateandtime.calendar.yearDown = function(instance_id)
{
	var current = $('calendar_' + instance_id).get('html');
	var arr = current.split("/");
	var m = Number(arr[0]);
	var y = Number(arr[1]);
	
	$('calendar-current-date-' + instance_id).set('html','<span>Loading...</span>');
	
	telos.cmd("calendar_go_to_month",{instance_id:instance_id,month:m,year:y-1},function(result,content)
	{
		$('portlet-canvas-' + instance_id).set("html",content);
		portlet.dateandtime.calendar.setUp();
	});
}

portlet.dateandtime.calendar.yearUp = function(instance_id)
{
	var current = $('calendar_' + instance_id).get('html');
	var arr = current.split("/");
	var m = Number(arr[0]);
	var y = Number(arr[1]);
	
	$('calendar-current-date-' + instance_id).set('html','<span>Loading...</span>');
	
	telos.cmd("calendar_go_to_month",{instance_id:instance_id,month:m,year:y+1},function(result,content)
	{
		$('portlet-canvas-' + instance_id).set("html",content);
		portlet.dateandtime.calendar.setUp();
	});
}

portlet.dateandtime.calendar.monthDown = function(instance_id)
{
	var current = $('calendar_' + instance_id).get('html');
	var arr = current.split("/");
	var m = Number(arr[0]);
	var y = Number(arr[1]);
	m--;
	if(m==0)
	{
		m = 12;
		y--;
	}
	
	$('calendar-current-date-' + instance_id).set('html','<span>Loading...</span>');
	
	telos.cmd("calendar_go_to_month",{instance_id:instance_id,month:m,year:y},function(result,content)
	{
		$('portlet-canvas-' + instance_id).set("html",content);
		portlet.dateandtime.calendar.setUp();
	});
}

portlet.dateandtime.calendar.monthUp = function(instance_id)
{
	var current = $('calendar_' + instance_id).get('html');
	
	var arr = current.split("/");
	var m = Number(arr[0]);
	var y = Number(arr[1]);
	m++;
	
	if(m==13)
	{
		m = 1;
		y++;
	}
	
	$('calendar-current-date-' + instance_id).set('html','<span>Loading...</span>');
	
	telos.cmd("calendar_go_to_month",{instance_id:instance_id,month:m,year:y},function(result,content)
	{
		$('portlet-canvas-' + instance_id).set("html",content);
		portlet.dateandtime.calendar.setUp();
	});
}




telos.addEventHandler("window/show","after","",function(args)
{
	
	load_richtext_editors();
	return true;
});

telos.addEventHandler("page/load","after","",function(args)
{
	
	load_richtext_editors();
	
	return true;

	//alert("p");
});

telos.addEventHandler("control/get","before","richtext",function(args)
{
	
	args.value = CKEDITOR.instances[args['element_id']].getData();
	args.value = telos.tokeniseTextualData(args.value);
	
	return false;
});

var loaded_richtext_editors = Array();

function load_richtext_editors()
{

	if($$('.richtext_editor').length)
	{
		$$('.richtext_editor').each(function(element) 
		{
			if(!loaded_richtext_editors[element.get('id')])
			{
				var msg = new Element('div');
				msg.setProperty('id',element.getProperty('id') + "__loader");
				msg.set('html','<p class="loader"><img src="http://www.mev.org.uk/telos/resource/image/loader.gif" style="float:left;margin-right:10px;"/>Loading Editor...</p>');
				msg.inject(element,'before');
				element.setStyle('display','none');
			}
		});
		
		var myScript = Asset.javascript("http://www.mev.org.uk/telos/plugin/ckeditor/internal/ckeditor.js",
		{onload: function()
		{
			
			$$('.richtext_editor').each(function(element) 
			{
				if(!loaded_richtext_editors[element.get('id')])
				{
					loaded_richtext_editors[element.get('id')] = true;
					CKEDITOR.replace( element.getProperty('id'),
					{
						customConfig : 'http://www.mev.org.uk/telos/plugin/ckeditor/ckeditor_config.js',
						
						toolbar:'Telos'
						
					});
					element.setStyle('display','block');
					var msg = $(element.getProperty('id') + "__loader");
					msg.parentNode.removeChild(msg);
				}
			});
		
		
		}});
	
	}
}



