




function changeEditor(type,content){
	if($('code_area')){

	}
}

function setupSubmitCode(){
    if($('submittest')){
        $('submittest').onclick = function(){
            codecontent.toggleEditor();
        }
    }
}

/*
 * CodePress - Real Time Syntax Highlighting Editor written in JavaScript - http://codepress.org/
 * 
 * Copyright (C) 2006 Fernando M.A.d.S. <fermads@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify it under the terms of the 
 * GNU Lesser General Public License as published by the Free Software Foundation.
 * 
 * Read the full licence: http://www.opensource.org/licenses/lgpl-license.php
 */

CodePress = function(obj) {
	var self = document.createElement('iframe');
	self.textarea = obj;
	self.textarea.disabled = true;
	self.textarea.style.overflow = 'hidden';
	self.style.height = self.textarea.clientHeight +'px';
	self.style.width = self.textarea.clientWidth +'px';
	self.textarea.style.overflow = 'auto';
	self.style.border = '1px solid gray';
	self.frameBorder = 0; // remove IE internal iframe border
	self.style.visibility = 'hidden';
	self.style.position = 'absolute';
	self.options = self.textarea.className;
	
	self.initialize = function() {
		this.editor = this.contentWindow.CodePress;
		this.editor.body = this.contentWindow.document.getElementsByTagName('body')[0];
		this.editor.setCode(this.textarea.value);
		this.setOptions();
		this.editor.syntaxHighlight('init');
		/* # Patched by sam (sam@design-monkey.co.uk) for Ajax - Load width and height here */
		// {	
		this.style.width = this.textarea.style.width;
		this.style.height = this.textarea.style.height;
		//	}
		this.textarea.style.display = 'none';
		this.style.position = 'relative';
		this.style.visibility = 'visible';
		this.style.display = 'inline';
	}
	
	// obj can by a textarea id or a string (code)
	self.edit = function(obj,language) {
		if(obj) self.textarea.value = $(obj) ? $(obj).value : obj;
		if(!self.textarea.disabled) return;
		self.language = language ? language : self.getLanguage();
		self.src = '/elite/modules/code/codepress.html?language='+self.language+'&ts='+(new Date).getTime();
		Event.observe(self,'load',function(){
			codecontent.initialize();
		});
	}

	self.getLanguage = function() {
		for (language in CodePress.languages) 
			if(self.options.match('\\b'+language+'\\b')) 
				return CodePress.languages[language] ? language : 'generic';
	}
	
	self.setOptions = function() {
		if(self.options.match('autocomplete-off')) self.toggleAutoComplete();
		if(self.options.match('readonly-on')) self.toggleReadOnly();
		if(self.options.match('linenumbers-off')) self.toggleLineNumbers();
	}
	
	self.getCode = function() {
		return self.textarea.disabled ? self.editor.getCode() : self.textarea.value;
	}

	self.setCode = function(code) {
		self.textarea.disabled ? self.editor.setCode(code) : self.textarea.value = code;
	}

	self.toggleAutoComplete = function() {
		self.editor.autocomplete = (self.editor.autocomplete) ? false : true;
	}
	
	self.toggleReadOnly = function() {
		self.textarea.readOnly = (self.textarea.readOnly) ? false : true;
		if(self.style.display != 'none') // prevent exception on FF + iframe with display:none
			self.editor.readOnly(self.textarea.readOnly ? true : false);
	}
	
	self.toggleLineNumbers = function() {
		var cn = self.editor.body.className;
		self.editor.body.className = (cn==''||cn=='show-line-numbers') ? 'hide-line-numbers' : 'show-line-numbers';
	}
	
	self.toggleEditor = function() {
		if(self.textarea.disabled) {
			self.textarea.value = self.getCode();
			self.textarea.disabled = false;
			self.style.display = 'none';
			self.textarea.style.display = 'inline';
		}
		else {
			self.textarea.disabled = true;
			self.setCode(self.textarea.value);
			self.editor.syntaxHighlight('init');
			self.style.display = 'inline';
			self.textarea.style.display = 'none';
		}
	}

	self.edit();
	return self;

}

CodePress.languages = {	
	csharp : 'C#', 
	css : 'CSS', 
	generic : 'Generic',
	html : 'HTML',
	java : 'Java', 
	javascript : 'JavaScript', 
	perl : 'Perl', 
	ruby : 'Ruby',	
	php : 'PHP', 
	text : 'Text', 
	sql : 'SQL',
	vbscript : 'VBScript'
}


CodePress.run = function() {
	var codepressItems = document.getElementsByClassName('codepress');
	for(i=0;i<codepressItems.length;i++){
			id = codepressItems[i].id;
			codepressItems[i].id = id + '_cp';
			eval(id + ' = new CodePress(codepressItems[i])');
			codepressItems[i].parentNode.insertBefore(eval(id), codepressItems[i]);
	}
}




function fileUploadPopup(base,path,type){
	var url = path + 'addons/tiny_mcpuk/filemanager/browser.html?Connector=' + path +
   'addons/tiny_mcpuk/filemanager/connectors/php/connector.php&Type=' + type + '&From=fileupload';
	window.open(url,"filebrowser",
	"menubar=no,width=610,height=460,toolbar=no");
}





function findpageContent(page_id,content_id,module){
	if($('content_position')){
		new Ajax.Updater('content_position', 'modules/htmltext/functions.php', {
 			 method: 'get',
			 parameters: {
				 action: 'find_content_blocks',
				 page_id: page_id,
				 content_id: content_id,
				 module: module
			 },
			 onSuccess: function(){
				 //alert('done');
				 return true;
			 }
		});
	}
}


function findMenuBlocks(template,page_menu,module){
	if($('page_menu')){
		new Ajax.Updater('page_menu', 'modules/pages/functions.php', {
 			 method: 'get',
			 parameters: {
				 action: 'find_menu_blocks',
				 template: template,
				 page_menu: page_menu,
				 module: module
			 },
			 onSuccess: function(){
				 //alert('done');
				 return true;
			 }
		});
	}
}

function findpageMenu(menu,template,parent,module){
	if($('parent')){
		new Ajax.Updater('parent', 'modules/pages/functions.php', {
 			 method: 'get',
			 parameters: {
				 action: 'find_menu_items',
				 template: template,
				 menu: menu,
				 parent: parent,
				 module: module
			 },
			 onSuccess: function(){
				 //alert('done');
				 return true;
			 }
		});
	}
}


function findpageUrl(link_to,page_url){
	if($('parent')){
		new Ajax.Updater('page_url', 'modules/pages/functions.php', {
 			 method: 'get',
			 parameters: {
				 action: 'find_url_items',
				 link_to: link_to,
				 page_url: page_url
			 },
			 onSuccess: function(){
				 //alert('done');
				 if(link_to!=0){
					$('page_index').disabled = true;
				 }else{
					$('page_index').disabled = false;
				 }
			 }
		});
	}
}


function findUrl(page_name,page_index,id,parent){
	if($('page_url_text')){
		new Ajax.Request('modules/pages/functions.php', {
 			 method: 'get',
			 parameters: {
				 action: 'create_url',
				 page_name: page_name,
				 page_index: page_index,
				 id: id,
				 parent: parent
			 },onSuccess: function(t){
				$('page_url_text').value = t.responseText;
				return true;
			 }
		});		
	}
}


function findContentBlocks(template){
	if($('content_position')){
		new Ajax.Updater('content_position', 'modules/permissions/findcontentpos.php', {
 			 method: 'get',
			 parameters: { template: template }
		});
	}
}

function createPermissionNum(){
	if($('permissions')){
		var permissionNum = 0;
	//	alert($('owner1').checked);
		if($('owner1').checked == true){
			permissionNum = permissionNum+($('owner1').value*1);
		}
		if($('owner2').checked == true){
			permissionNum = permissionNum+($('owner2').value*1);
		}
		if($('group1').checked == true){
			permissionNum = permissionNum+($('group1').value*1);
		}
		if($('group2').checked == true){
			permissionNum = permissionNum+($('group2').value*1);
		}
		if($('all1').checked == true){
			permissionNum = permissionNum+($('all1').value*1);
		}
		if($('all2').checked == true){
			permissionNum = permissionNum+($('all2').value*1);
		}
		$('permissions').value = permissionNum;
	}
}






function findcontentTypes(moduleRef,currentType){
	if($('contentType')){
		new Ajax.Updater('contentType', 'modules/updatevalues/functions.php', {
 			 method: 'get',
			 evalScripts: true,
			 parameters: {
				 action: 'find_content_types',
				 moduleRef: moduleRef,
				 currentType: currentType
			 },
			 onSuccess: function(){
				 //alert('done');
				 return true;
			 }
		});
	}
}

function findcurrentContent(contentType,moduleRef,formaction){
	if($('currentContent')){
		new Ajax.Updater('currentContent', 'modules/updatevalues/functions.php', {
 			 method: 'get',
			 evalScripts: true,
			 parameters: {
				 action: 'find_current_content',
				 moduleRef: moduleRef,
				 contentType: contentType,
				 formaction: formaction
			 },
			 onSuccess: function(){
				 //alert('done');
				 return true;
			 }
		});
	}
}


