var Forms = Array();

function FormValidator(name,table) {
	var query			= query_parser('poety');
	this.name			= name;
	this.table			= table;
	this.elements		= new Array();
	this.submit_buttons	= new Array();
	this.validator		= query.www+"plugin/form_validator.php";
	this.error_msg		= "The form is not valid!";
}

FormValidator.prototype.init = function() {
	var form = $(this.name);
	var buttons = form.getElementsByTagName('button');
	var i;
	var j;
	for(i=0;i<buttons.length;i++) {
		if(buttons[i].type=='submit') {
			//buttons[i].type.value = 'button';
			buttons[i].setAttribute('type','button');
			//buttons[i].addClassName('form_submit_button');
			buttons[i].className+= (buttons[i].className?" ":"")+"form_submit_button";
			this.submit_buttons.push(buttons[i]);
			buttons[i].onclick = this.submit.bindAsEventListener(this,buttons[i]);
		}
		if(buttons[i].type == 'reset') {
			buttons[i].onclick = this.reset.bindAsEventListener(this,buttons[i]);
		}
	}
	var legends = form.getElementsByClassName('form_group_legend_name');
	for(i=0;i<legends.length;i++) {
		legends[i].onclick = this.legend_click.bindAsEventListener(this,legends[i]);
	}
	var multiples_add = form.getElementsByClassName('form_group_multiple_add');
	var mar;
	for(i=0;i<multiples_add.length;i++) {
		if(multiples_add[i]) {
			mar = multiples_add[i].parentNode.parentNode.parentNode.childNodes[3].getElementsByClassName('form_group_is_multiple');
			for(j=0;j<mar.length;j++) {
				mar[j].remove();
			}
			multiples_add[i].onclick = this.group_multiple_click.bindAsEventListener(this,multiples_add[i],form);
		}
	}
	var multiples_remove = form.getElementsByClassName('form_group_multiple_remove');
	for(i=0;i<multiples_remove.length;i++) {
		if(multiples_remove[i]) {
			mar = multiples_remove[i].parentNode.parentNode.parentNode.childNodes[3].getElementsByClassName('form_group_is_multiple');
			for(j=0;j<mar.length;j++) {
				mar[j].remove();
			}
			multiples_remove[i].onclick = this.group_multiple_click.bindAsEventListener(this,multiples_remove[i],form);
		}
	}
	var pages = form.getElementsByClassName('form_group_page');
	var page;
	var prev;
	var prev2;
	var pager;
	var next;
	var next2;
	for(i=0;i<pages.length;i++) {
		page = parseInt(pages[i].innerHTML);
		pages[i].innerHTML = "";
		pages[i].id = 'form_group_page_'+this.name+':'+page;
		
		prev = element_append_element(pages[i],"span","","form_group_page_passive");
		prev.innerHTML = "&lt;&lt;";
		prev2 = element_append_element(pages[i].parentNode,"div","","form_group_page_button_prev_passive");
		if(page!=1) {
			prev.onclick = this.page_click.bindAsEventListener(this,'form_group_page_'+this.name+':'+page,'form_group_page_' + this.name + ':' + (page - 1),form,0);
			prev2.onclick = this.page_click.bindAsEventListener(this,'form_group_page_'+this.name+':'+page,'form_group_page_' + this.name + ':' + (page - 1),form,0);
			// mod by buda
			//pages[i].parentNode.parentNode.hide();
			$(pages[i]).up('.form_group').hide();
			//end mod
			
			prev.addClassName("form_group_page_prev");
			prev.removeClassName("form_group_page_passive");
			prev2.addClassName("form_group_page_button_prev");
			prev2.removeClassName("form_group_page_button_prev_passive");
		}
		pager = element_append_element(pages[i],"span","","form_group_page_pager");
		pager.innerHTML = page+"/"+pages.length;
		next = element_append_element(pages[i],"span","","form_group_page_passive");
		next.innerHTML = "&gt;&gt;";
		next2 = element_append_element(pages[i].parentNode,"div","","form_group_page_button_next_passive");
		if(page!=pages.length) {
			next.onclick = this.page_click.bindAsEventListener(this,'form_group_page_'+this.name+':'+page,'form_group_page_'+this.name+':'+(page+1),form,((page+1)==pages.length)?1:0);
			next2.onclick = this.page_click.bindAsEventListener(this,'form_group_page_'+this.name+':'+page,'form_group_page_'+this.name+':'+(page+1),form,((page+1)==pages.length)?1:0);
			next.addClassName("form_group_page_next");
			next.removeClassName("form_group_page_passive");
			next2.addClassName("form_group_page_button_next");
			next2.removeClassName("form_group_page_button_next_passive");
		}
	}
	if(pages.length>1) {
		buttons = form.getElementsByClassName('form_submit_button');
		for(i=0;i<buttons.length;i++) {
			buttons[i].disabled = true;
			buttons[i].hide();
		}
	}
}

FormValidator.prototype.setError_msg = function(error_msg) {
	this.error_msg = error_msg;
}

FormValidator.prototype.setValidator = function(validator) {
	this.validator = validator;
}

FormValidator.prototype.setName = function(name) {
	this.name = name;
}

FormValidator.prototype.addElement = function(name,type,require,validation_need,validation_type,data_type,autocomplete,events) {
	if(!events) var events = window.event;
	                                                                                                           	
	var _name = name;
	var i = 0;
	while(1) {
		if(!$(_name)) {
			name = _name+':'+i++;
		}
		if($(_name+'_1')) {
			name = _name;
		}
		if(!$(name) && !$(_name+'_1')) {
			break;
		}
		var element = {
			'name'				: name,
			'name2'				: "",
			'type'				: type,
			'require'			: require,
			'validation_need'	: validation_need,
			'validation_type'	: validation_type,
			'data_type'			: data_type,
			'autocomplete'		: autocomplete,
			'events'			: events
		};
		this.elements.push(element);
		if(element.type=='text' || element.type=='password' || element.type=='file' || element.type=='textarea') {
			if(element.validation_type=='js' && $(element.name)) {
				$(element.name).onkeyup = this.elementHandler.bindAsEventListener(this,element.name);
			}
			else {
				$(element.name).onchange = this.elementHandler.bindAsEventListener(this,element.name);
			}
		}		
		if(element.type=='select-one' || element.type=='select-multiple' || element.type=='checkbox-one') {
			$(element.name).onchange = this.elementHandler.bindAsEventListener(this,element.name);
		}
		if(element.type=='radio') {
			radios = document.getElementsByName(element.name.replace(this.name+'_',''));
			for(j=0;j<radios.length;j++) {
				radios[j].onchange = this.elementHandler.bindAsEventListener(this,element.name);
			}		
		}
		if(element.type=='checkbox-multiple') {
			chkbxs = document.getElementsByName(element.name.replace(this.name+'_','')+'[]');
			for(j=0;j<chkbxs.length;j++) {
				chkbxs[j].onchange = this.elementHandler.bindAsEventListener(this,element.name);
			}		
		}
		if(element.type.indexOf('tinymce')!=-1) {
			_theme = "simple";
			if(element.type.indexOf('_')!=-1) {
				_theme = element.type.substr(element.type.indexOf('_')+1);
			}
			query = query_parser('poety');
			template_url = query.www+"ajax.php?w=tinymce_template"+(element.autocomplete?("&amp;"+element.autocomplete):"");
			if(_theme=='extreme') {				
				tinyMCE.init({
					mode : "exact",
					elements: element.name,
					theme : 'advanced',
					remove_script_host : false,
					relative_urls : false,
					plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager,ibrowser",
					theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
					theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,ibrowser,cleanup,help,code,|,insertdate,inserttime,preview",
					theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
					theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage,|,forecolor,backcolor",
					template_external_list_url: template_url,
					content_css : query.www+"css/poety_tinymce.css"
				});
			}
			else {
				tinyMCE.init({
					mode : "exact",
					elements: element.name,
					theme : _theme,
					plugins: "emotions,template",
					theme_advanced_buttons1_add_before : "newdocument,|",
					theme_advanced_buttons3_add : "|,template,|,emotions",
					template_external_list_url: template_url,
					content_css : query.www+"css/poety_tinymce.css"
				});
			}
			$(element.name).parentNode.innerHTML += "<div class=\"tinymce_text_html\"><a href=\"javascript:switch_tinymce('"+element.name+"')\">text/html</a></div><textarea id=\""+element.name+"_hide\" style=\"display: none;\"></textarea>";
		}
		if(element.type.indexOf('calendar')!=-1) {
			cd = element.type.split('_');
			_calendar(element.name,element.name,cd[1]);
		}
		if(element.autocomplete!="" && element.type.indexOf('tinymce')==-1) {
			element_append_element($(element.name).parentNode.parentNode.parentNode,'div',element.name+'_autocomplete','autocomplete');
			new Ajax.Autocompleter(element.name,element.name+'_autocomplete',element.autocomplete,{});
		}
		if(element.name && $(element.name)) {
			element.name2 = $(element.name).getAttribute('name');			
		}
		
		//mod by buda
		try{
		if(element.events.lenght>0)			
		    for(event in element.events) {
			if(event.indexOf('on')==0) {
				$(element.name).setAttribute(event,element.events[event]);
			}
		    }
		}catch(err){}
		//end mod	
			
		this.require(element.name);
		this.validate(element.name);

		if(name==_name || $(_name+'_1')) {
			break;
		}
	}
}

FormValidator.prototype.getElement = function(_gname) {
	var gi;
	for(gi=0;gi<this.elements.length;gi++) {
		if(this.elements[gi].name==_gname) {
			return this.elements[gi];
		}
	}

	return 0;
}

FormValidator.prototype.removeElement = function(_gname) {
	var gi;
	for(gi=0;gi<this.elements.length;gi++) {
		if(this.elements[gi].name==_gname) {
			this.elements.splice(gi,1);
			return 1;
		}
	}

	return 0;
}

FormValidator.prototype.cloneElement = function(_cname,_num) {
	var name_clone = _cname+"_clone"+_num;
	var ce;
	if(ce = this.getElement(_cname)) {
		this.removeElement(name_clone);
		if(!this.getElement(name_clone)) {
			this.addElement(name_clone,ce.type,ce.require,ce.validation_need,ce.validation_type,ce.data_type,ce.autocomplete);
		}		
	}
}

FormValidator.prototype.cloneGroup = function(cnew_group,_cn) {
	var celements = cnew_group.getElementsByClassName('form_element');
	var cnew_elements = new Array();

	var cnew_group_name		= cnew_group.id.replace("_clone"+_cn,"").replace("form_group_","");
	var cnew_group_input	= element_append_element(cnew_group,'input');
	cnew_group_input.setAttribute('type','hidden');
	cnew_group_input.setAttribute('name','property_group_'+cnew_group_name+'[]');
	cnew_group_input.setAttribute('value',_cn);
	
	cnew_group.innerHTML = cnew_group.innerHTML.replace(new RegExp('id="([^"]+)_legend"','g'),'id="$1_clone'+_cn+'_legend"');
	cnew_group.innerHTML = cnew_group.innerHTML.replace(new RegExp('id="([^"]+)_content"','g'),'id="$1_clone'+_cn+'_content"');
	var sub_groups = cnew_group.getElementsByClassName('form_group');
	var ci;
	for(ci=0;ci<sub_groups.length;ci++) {
		sub_groups[ci].id = sub_groups[ci].id+'_clone'+_cn;
	}
	
	for(ci=0;ci<celements.length;ci++) {
		celement = celements[ci].childNodes[1];
		if(!celement.name) {
			celement = celement.childNodes[0];
		}
		if(celement.name) {
			celement_id = celement.id.replace('_0','');
			celement_name = celement.name.replace('[]','');
			cnew_group.innerHTML = cnew_group.innerHTML.replace(new RegExp('name="'+celement_name+'','g'),'name="'+celement_name+'_clone'+_cn+'');
			cnew_group.innerHTML = cnew_group.innerHTML.replace(new RegExp('id="'+celement_id+'','g'),'id="'+celement_id+'_clone'+_cn+'');
			cnew_group.innerHTML = cnew_group.innerHTML.replace(new RegExp('for="'+celement_id+'','g'),'for="'+celement_id+'_clone'+_cn+'');
			cnew_elements.push(celement_id);
		}
	}
	for(ci=0;ci<cnew_elements.length;ci++) {
		this.cloneElement(cnew_elements[ci],_cn);
	}
	this.init();
}

FormValidator.prototype.removeGroup = function(ogroup) {
	var oelements = ogroup.getElementsByClassName('form_element');
	var oi;
	for(oi=0;oi<oelements.length;oi++) {
		oelement = oelements[oi].childNodes[1];
		if(!oelement.name) {
			oelement = oelement.childNodes[0];
		}
		if(oelement.name) {
			oelement_id = oelement.id.replace('_0','');
			this.removeElement(oelement_id);
		}
	}
	ogroup.remove();
}

FormValidator.prototype.require = function(el) {
	is_valid = true;
	var ri;
	var r;
	var _parent;
	var index;
	var radios;
	var chkbxs;
	var is_valid;
	for(ri=0;ri<this.elements.length;ri++) {
		element = this.elements[ri];
		if(element.require && (el=='all' || element.name==el) && (document.getElementsByName(element.name) || document.getElementsByName(element.name+'[]' || document.getElementsByName(element.name.replace(this.name+'_','')+'[]')))) {
			//alert(element.type);
			r = false;
			if(element.type=='text' || element.type=='password' || element.type=='file' || element.type=='textarea' || element.type=='select-multiple' || element.type.indexOf('calendar')!=-1) {
				value = $F(element.name);
				if(value=="") {
					r = true;
				}
			}
			if(element.type.indexOf('tinymce')!=-1) {
				/*
				value = tinyMCE.get(element.name).getContent();
				if(strlen(value)==0) {
					r = true;
				}
				*/
				r = false;
			}
			if(element.type=='checkbox-one') {
				r = !$(element.name).checked;
				_parent = $(element.name).parentNode.parentNode;
			}
			if(element.type=='select-one') {
				index = $(element.name).selectedIndex;
				if(!index) {
					r = true;
				}
			}
			if(element.type=='radio') {
				//radios = document.getElementsByName(element.name.replace(this.name+'_',''));
				radios = document.getElementsByName($(element.name+"_1").getAttribute('name'));
				r = true;
				for(rj=0;rj<radios.length;rj++) {
					if(radios[rj].checked) {
						r = false;
					}
				}				
				_parent = radios[0].parentNode.parentNode;
			}
			if(element.type=='checkbox-multiple') {
				//var chkbxs = document.getElementsByName(element.name.replace(this.name+'_','')+'[]');
				var chkbxs = document.getElementsByName($(element.name+"_1").getAttribute('name'));				
				r = true;
				for(rj=0;rj<chkbxs.length;rj++) {
					if(chkbxs[rj].checked) {
						r = false;
					}
				}				
				_parent = chkbxs[0].parentNode.parentNode;
			}
			if(r) {
				Element.addClassName(element.name,'form_value_require');
				if(element.type=='radio' || element.type=='checkbox-one' || element.type=='checkbox-multiple') {
					Element.addClassName(_parent,'form_value_require');
				}
				is_valid = false;
			}
			else {
				Element.removeClassName(element.name,'form_value_require');
				if(element.type=='radio' || element.type=='checkbox-one' || element.type=='checkbox-multiple') {
					Element.removeClassName(_parent,'form_value_require');
				}
				//alert(element.name);
			}
		}
	}

	return is_valid;
}

FormValidator.prototype.validate = function(el) {
	var is_valid = true;
	var vi;
	var element;
	var v;
	var error_msg;
	var ei;
	for(vi=0;vi<this.elements.length;vi++) {
		element = this.elements[vi];
		if(element.type=='text' || element.type=='password' || element.type=='file' || element.type=='textarea') {
			//alert(element.name);
			if(element.validation_need && element.data_type && (el=='all' || element.name==el) && (document.getElementsByName(element.name) || document.getElementsByName(element.name+'[]'))) {
				value = $F(element.name);
				if(element.validation_type=='php') {
					var pars = 'data_type='+element.data_type+'&name='+element.name+'&value='+value;
					var myAjax = new Ajax.Request(
						this.validator, 
						{
							method: 'get', 
							parameters: pars, 
							onComplete: this.phpvalidate
						}
					);
				}
				if(element.validation_type=='js') {
					v = this.check_format(value,element.data_type);
					if(!v && value!="") {
						Element.addClassName(element.name,'form_value_notvalid');
						error_msg = $(element.name).parentNode.childNodes;
						for(ei=0;ei<error_msg.length;ei++) {
							if(error_msg[ei].className && error_msg[ei].className.indexOf('form_element_error_msg')!=-1) {
								Element.addClassName(error_msg[ei],'form_element_error_msg_show');
							}
						}
						is_valid = false;
					}
					else {
						Element.removeClassName(element.name,'form_value_notvalid');
						error_msg = $(element.name).parentNode.childNodes;
						for(ei=0;ei<error_msg.length;ei++) {
							if(error_msg[ei].className && error_msg[ei].className.indexOf('form_element_error_msg')!=-1) {
								Element.removeClassName(error_msg[ei],'form_element_error_msg_show');
							}
						}
					}
				}
				if($(element.name).hasClassName('form_value_notvalid')) {
					is_valid = false;
				}
			}
		}
	}
	
	return is_valid;
}

FormValidator.prototype.phpvalidate = function(originalRequest) {
	var is_valid = true;
	var v = parseInt(originalRequest.responseText);
	//alert(originalRequest.responseText);
	var res;
	var ei;
	var v;
	var name;
	if(res = originalRequest.responseText.match("([\\w]+):(\\d)")) {
		//alert(res[1]+":"+res[2]);
		name = res[1];
		v = parseInt(res[2]);
		value = $F(res[1]);
		if(!v && value!="") {
			Element.addClassName(name,'form_value_notvalid');
			error_msg = $(element.name).parentNode.getElementsByClassName('form_element_error_msg');
			for(ei=0;ei<error_msg.length;ei++) {
				Element.addClassName(error_msg[ei],'form_element_error_msg_show');
			}
			is_valid = false;
		}
		else {
			Element.removeClassName(name,'form_value_notvalid');
			error_msg = $(element.name).parentNode.getElementsByClassName('form_element_error_msg');
			for(ei=0;ei<error_msg.length;ei++) {
				Element.removeClassName(error_msg[ei],'form_element_error_msg_show');
			}
		}
	}

	return is_valid;
}

FormValidator.prototype.elementHandler = function(e,el) {
	if(e.keyCode==13 && e.ctrlKey) {
		this.submit();
	}
	if(e.keyCode==32 && e.ctrlKey) {
		$(el).value+="%";
	}
	this.require(el);
	this.validate(el);
}

FormValidator.prototype.reset = function(e,button) {
	$(this.name).reset();	
	require = this.require('all');
	valid	= this.validate('all');
}


FormValidator.prototype.submit = function(e,button) {
	var require = this.require('all');
	var valid	= this.validate('all');
	//if(!require) { alert('A közelező mezőket ki kell tölteni (error_code'+ valid+')!' ); }

	if(!require || !valid) {
		alert(this.error_msg);
		return false;
	}
	else {
		var mode = $F('mode_'+this.name);
		if(mode=='ajax') {
			var action		= $(this.name).action;
			var method		= $(this.name).method;
	
			var pars = $(this.name).serialize();
			//alert($(this.name).parentNode);

			var myAjax = new Ajax.Updater(
			$(this.name).parentNode,
			action, 
			{
				method: method, 
				parameters: pars + "&ajax_post=true&avoid_ie_cache=" + new Date().getTime() ,
				evalScripts: true,
				onComplete: this.submit_response // function(){ alert('Köszönjük!'); } 
			});
		}
		else {		
			$(this.name).submit();
		}
	}
}

FormValidator.prototype.submit_response = function(originalRequest) {
	//alert(originalRequest.responseText);
	var lista_id = this.name+'_lista';
	//alert(lista_id);
	if($(lista_id)) {
		//alert('belefut');
		lista_submit(lista_id);
	}
	//alert('futásután');
	
}

FormValidator.prototype.clear = function(el) {
	var mode = $F('mode_'+this.name);
	var i;
	if(mode=='ajax') {
		$(this.name+'_save_'+this.name).value="";
		this.submit();
	}
	else {
		for(i=0;i<this.elements.length;i++) {
			element = $(this.elements[i].name);
			if(element && !element._cleared) {
				if(element.type!='hidden' || element.name==this.table+'_id') {
					element.clear();
				}				
			}
		}
	}
}

FormValidator.prototype.legend_click = function(e,legend) {
	switch_display($(legend.parentNode.parentNode.parentNode.id+'_content'));
	//switch_display($(legend.id+'_content'));
}

FormValidator.prototype.page_click = function(e,page1,page2,form,end) {
	$(page1).parentNode.parentNode.hide();
	$(page2).parentNode.parentNode.show();
	var buttons = form.getElementsByClassName('form_submit_button');
	var i;
	for(i=0;i<buttons.length;i++) {
		if(!end) {
			buttons[i].disabled = true;
			buttons[i].hide();
		}
		else {
			buttons[i].disabled = false;
			buttons[i].show();
		}
	}
}

FormValidator.prototype.group_multiple_click = function(e,_button,_form) {
	var group = _button.parentNode.parentNode.parentNode.parentNode;
	if(_button.className=='form_group_multiple_add') {
		for(cn=1;$(group.id+'_clone'+cn);cn++) {}
		var new_group = document.createElement("div");
		new_group.className	= group.className+" form_group_clone";
		new_group.id		= group.id+"_clone"+cn;
		new_group.innerHTML	= group.innerHTML;
		group.parentNode.insertBefore(new_group,group.nextSibling);
		var _add = new_group.getElementsByClassName('form_group_multiple_add');
		_add[0].className = 'form_group_multiple_remove';
		this.cloneGroup(new_group,cn);		
	}
	else {
		this.removeGroup(group);		
	}
}

FormValidator.prototype.check_format = function(s,format) {
	patterns = new Array();
	patterns['string']	= "^.+$";
	patterns['word']	= "^[\\w]+$";
	patterns['email']	= "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$";
	patterns['url']		= "^((ht|f)tp(s?)\\:\\/\\/|~/|/)?([\\w]+:\\w+@)?(([a-zA-Z]{1}([\\w\\-]+\\.?)*(\\.[\\w]{2,5})?)(:[\\d]{1,5})?)?((/?\\w+/)+|/?)(\\w+\\.[\\w]{3,4})?([,]\\w+)*((\\?\\w+=\\w+)?(&\\w+=\\w+)*([,]\\w*)*)?$";
	patterns['ip']		= "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$";
	patterns['phone']	= "^[+]{0,1}[0-9-]*$";
	patterns['date']	= "^[0-9]{2,4}[\\.\\- ][0-9]{1,2}[\\.\\- ][0-9]{1,2}$";
	patterns['time']	= "^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}$";
	patterns['datetime']= "^[0-9]{2,4}[\\.\\- ][0-9]{1,2}[\\.\\- ][0-9]{1,2} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}$";
	patterns['int']		= "^[-]{0,1}[0-9]+$";
	patterns['double']	= "^[-]{0,1}[0-9]+[\\.]{0,1}[0-9]*$";
	
	if(s.length==0) {
		return true;
	}
	if(patterns[format]) {
		return s.toLowerCase().match(patterns[format]);
	}
	return false;
}

function $FS(element,value) {
	if($(element)) {
		$(element).setValue(value);
	}
}

function switch_tinymce(element) {
	switch_display(element+'_parent');
	if($(element+'_text')) {
		$(element).id = element+'_hide';
		$(element+'_text').id = element;
		switch_display(element);
	}
	else {
		switch_display(element);
		$(element).id = element+'_text';
		$(element+'_hide').id = element;
	}
}
