/*
 * Lightweight RTE - jQuery Plugin
 * Basic Toolbars
 * Copyright (c) 2009 Andrey Gayvoronsky - http://www.gayvoronsky.com
 */
var rte_tag		= '-rte-tmp-tag-';

var	rte_toolbar = {
	//s1				: {separator: true},
	/*block			: {command: 'formatblock', select: '\
		<select>\
			<option value="">- Заголовок -</option>\
			<option value="<p>">Обычный</option>\
			<option value="<h1>">Header 1</option>\
			<option value="<h2>">Header 2</options>\
			<option value="<h3>">Header 3</option>\
			<option value="<h4>">Header 4</options>\
			<option value="<h5>">Header 5</option>\
			<option value="<h6>">Header 6</options>\
		</select>\
			', arg_cmp: 
				function(node, arg) {
					arg = arg.replace(/<([^>]*)>/, '$1');
					return (arg.toLowerCase() == node.nodeName.toLowerCase());
				}
			, tags: ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']},*/
	bold			: {command: 'bold', tags:['b', 'strong']},
	italic			: {command: 'italic', tags:['i', 'em']},
	strikeThrough	: {command: 'strikethrough', tags: ['s', 'strike'] },
	underline		: {command: 'underline', tags: ['u']},
	s2				: {separator: true },
	//justifyLeft   	: {command: 'justifyleft'},
	//justifyCenter	: {command: 'justifycenter'},
	//justifyRight	: {command: 'justifyright'},
	//justifyFull		: {command: 'justifyfull'},
//	s3				: {separator : true},
//	indent			: {command: 'indent'},
//	outdent			: {command: 'outdent'},
//	s4				: {separator : true},
	subscript		: {command: 'subscript', tags: ['sub']},
	superscript		: {command: 'superscript', tags: ['sup']},
	s5				: {separator : true },
	orderedList		: {command: 'insertorderedlist', tags: ['ol'] },
	unorderedList	: {command: 'insertunorderedlist', tags: ['ul'] },
	s6				: {separator : true },
	/*font			: {command: 'fontname', select: '\
<select>\
	<option value="">- font -</option>\
	<option value="arial">Arial</option>\
	<option value="comic sans ms">Comic Sans</option>\
	<option value="courier new">Courier New</options>\
	<option value="georgia">Georgia</option>\
	<option value="helvetica">Helvetica</options>\
	<option value="impact">Impact</option>\
	<option value="times new roman">Times</options>\
	<option value="trebuchet ms">Trebuchet</options>\
	<option value="verdana">Verdana</options>\
</select>\
	', tags: ['font']},
	size			: {command: 'fontsize', select: '\
<select>\
	<option value="">-</option>\
	<option value="1">1 (8pt)</option>\
	<option value="2">2 (10pt)</option>\
	<option value="3">3 (12pt)</options>\
	<option value="4">4 (14pt)</option>\
	<option value="5">5 (16pt)</options>\
	<option value="6">6 (18pt)</option>\
	<option value="7">7 (20pt)</options>\
</select>\
	', tags: ['font']},*/
	image			: {exec:
		function() {
			var self = this;
			var html = '<div id="modal-title">Загрузка изображения</div>\
			<div id="modal-tabs" class="modaltable">\
				<ul id="modal-tabs">\
					<li id="modal-tab-1">С компьютера</li>\
					<li id="modal-tab-2">Из моих альбомов</li>\
					<li id="modal-tab-3">С другого сайта</li>\
				</ul>\
				<div id="modal-tab-1-div">\
				<form id="uploadForm" action="/plugins/editor/actions.php?action=upload" method="post" enctype="multipart/form-data">\
				<p><br /><span style="color:#ababab;">Вы можете загрузить от 1 до 5 изображений в формате jpg/jpeg, gif, png или bmp.</span><br />\
				<table border="0">\
				<tr>\
					<td align="right">В альбом:</td>\
					<td align="left"><select name="scopycomputer" id="scopycomputer">\
					</select>\
					<input style="display:none;" type="text" value="Введите название альбома" onfocus="javascript: if(this.value == \'Введите название альбома\') this.value = \'\';" onblur="javascript: if(this.value == \'\') { this.value = \'Введите название альбома\';}" name="calbumname" id="calbumname" size="23" /><input style="display:none;" name="ccreatealbum" id="ccreatealbum" type="submit" value="Создать"></td>\
				</tr>\
				</table>\
				<span id="uploadOutput"></span>\
				<input name="MAX_FILE_SIZE" value="5120000" type="hidden"/>\
				<div style="position:absolute; top:50%; left:50%;">\
				<img id="loading" src="/plugins/editor/images/ajax-loader.gif" style="display:none;"/>\
				</div>\
				<table border="0" id="formupload">\
				<tr>\
					<td align="right">Файл изображения 1:</td>\
					<td align="left"><input name="fileToUpload[]" id="fileToUpload_F1" class="MultiFile" type="file"/>\</td>\
				</tr>\
				</table>\
				<table border="0" width="500">\
				<tr>\
					<td colspan="2" align="right"><a href="#" id="addfield">+ еще один файл</a></td>\
				</tr>\
				<tr>\
					<td colspan="2" align="right"><button id="cancel">Отменить</button><button id="fileupload">Загрузить...</button></td>\
				</tr>\
				</table>\
	      		</form>\
				</div>\
				<div id="modal-tab-2-div">\
				<div style="clear:both;"></div>\
				<table border="0" width="500">\
				<tr>\
					<td align="left" colspan="2" ">Альбом: <select name="folderselect" id="folderselect">\
					</select></td>\
				</tr>\
				<tr>\
					<td colspan="2" align="right"">\
Выбрано <span id="fselected">0</span> фото\
<div style="clear:both;"></div>\
<div id="loaders2" style="position:absolute; top:35%; left:45%; display:none;"><img src="/plugins/editor/images/ajax-loader.gif" width="43" height="43" title="Load..." /></div>\
  <div id="images">\
  </div>\
<div style="width: 580px; height: 250px; margin:0 auto;" id="ext-gen246" class="x-grid3" hidefocus="true">\
	<div id="ext-gen247" class="x-grid3-viewport" style="border: solid 1px #000000;">\
	<div id="loaders" style="position:absolute; top:35%; left:45%;"><img src="/plugins/editor/images/ajax-loader.gif" width="43" height="43" title="Load..." /></div>\
		<div style="width: 580px; height: 239px;" id="ext-gen249" class="x-grid3-scroller">\
		</div>\
	</div>\
</div>\
<table border="0" width="100%" id="formupload">\
	<tr>\
		<td align="left"><input type="submit" value="Удалить" name="filesdel" id="filesdel">\
		<select name="faction" id="faction">\
		</select>\
		<input style="display:none;" type="text" value="Введите название альбома" onfocus="javascript: if(this.value == \'Введите название альбома\') this.value = \'\';" onblur="javascript: if(this.value == \'\') { this.value = \'Введите название альбома\';}" name="albumname" id="albumname" size="23" />\
		<input style="display:none;" name="createalbum" id="createalbum" type="submit" value="Создать">\
		<input style="display:none;" name="moveinalbum" id="moveinalbum" type="submit" value="Переместить">\
		<input style="display:none;" name="deletealbum" id="deletealbum" type="submit" value="Удалить альбом">\
		</td>\
	</tr>\
</table>\
<br />\
		</td>\
	</tr>\
</table>\
				<table border="0" width="500">\
				<tr>\
					<td colspan="2" align="right"><button id="insert">Вставить</button><button id="cancel">Отменить</button></td>\
				</tr>\
				</table>\
				</div>\
				<div id="modal-tab-3-div">\
					<p><br />\
					<div id="loaders3" style="position:absolute; top:35%; left:45%; display:none;"><img src="/plugins/editor/images/ajax-loader.gif" width="43" height="43" title="Load..." /></div>\
					<table border="0" cellspacing="10">\
					<tbody>\
					<tr>\
						<td align="right" colspan="2">Адрес файла изображения:</td>\
						<td align="left"><input type=text name="imgurl" id="imgurl" value="http://" size="45" /></td>\
					</tr>\
					<tr>\
						<td><input type="checkbox" name="loadtoserv" id="loadtoserv" value="1" checked></td>\
						<td align="right">Скопировать в альбом:</td>\
						<td align="left"><select name="scopysite" id="scopysite">\
						</select>\
						<input style="display:none;" type="text" value="Введите название альбома" onfocus="javascript: if(this.value == \'Введите название альбома\') this.value = \'\';" onblur="javascript: if(this.value == \'\') { this.value = \'Введите название альбома\';}" name="salbumname" id="salbumname" size="23" />\
						<br /><input style="display:none;" name="screatealbum" id="screatealbum" type="submit" value="Создать"></td>\
					</tr>\
					<tr>\
						<td colspan="3" align="right">\
					<br /><br /><button id="cancel">Отменить</button><button id="othersite">Вставить</button></td>\
					</tr>\
					</tbody>\
					</table>\
					<br /></p>\
				</div>\
			</div>';
		
			var panel = self.create_panel('Insert image', html);		
			var url = $('#url', panel);
			var fieldCount = 1;
			
			getAlbumSelectorsComputer();
			updateAlbum();
			
			$('#modal-tab-1').click(function(){
				updateAlbum();
				fieldCount = 1;
				$('#addfield').show();
				$("#formupload").html('<tr><td align="right">'+
			    		'Файл изображения 1:</td><td align="left">'+
			    		'<input name="fileToUpload[]" id="fileToUpload_F1" class="MultiFile" type="file"/>'+
			    		'</td></tr>' )
			});			
			
			$("#loaders2").show();
			
			$('#modal-tab-2').click(function(){
				$("#loaders2").show();
			});	
			
			$('#addfield').click( function() {	    
		    	fieldCount++;
		    	if(fieldCount == 5){
		    		$('#addfield').hide();
		    	}
		    	
		    	if(fieldCount <= 5){
		    		$("#formupload").append('<tr><td align="right">'+
		    		'Файл изображения '+fieldCount+':</td><td align="left">'+
		    		'<input name="fileToUpload[]" id="fileToUpload_F'+fieldCount+'" class="MultiFile" type="file"/>'+
		    		'</td></tr>' )
		    	}
		    	
				return false; 
			});
			
			$('#othersite').click( function() {
				
				var imgurl = $("#imgurl").val();
				var loadToServer = $("#loadtoserv").is(':checked');
				var folderselect = $("#scopysite").val();
				$("#loaders3").show();
				if(imgurl == 'http://' | imgurl == ''){
					self.error('Укажите адрес изображения');
				}else{
					if(loadToServer){
						var uploadurl = "/plugins/editor/actions.php?action=upload_site&folder="+folderselect+"&file="+imgurl;
						$.getJSON(uploadurl, function(data){
							var filepath = data.file;
							if(filepath){
								self.editor_cmd('insertImage', data.file);
								panel.remove();
							}else{
								self.error('Произошла ошибка при копировании файла');
							}
						});
					}else{
						self.editor_cmd('insertImage', imgurl);
						panel.remove();
					}
				}
				return false;
			});
			
			$('#removefield').click( function() {		
				$(this).remove();
			});
			
			// Вкладки
			$('#modal-tab-2-div').hide();
			$('#modal-tab-3-div').hide();
			$('#modal-tabs ul li:first').addClass('active');
			
			getAlbumSelectorsComputer();
			
			function getSelectedPhotos(){
				var photos = '';
				
				$(".thumbnailedItemSelected").each(function () {
					photos += $(this).find("span").attr('qid')+',';
					
				});
				return photos;
			}
			
			function getAlbumSelector(folderselect){
				$.getJSON("/plugins/editor/actions.php?action=get_album_selector",
					function(data){
						$("#folderselect").empty();
						$.each(data.items, function(i,item){
							if(folderselect == item.id){
								var select = 'selected';
							}else{
								var select = '';
							}
							
							var albumcontent = '<option value="'+item.id+'" '+select+'>'+item.title+' ('+item.files+')</option>';
							$("#folderselect").append(albumcontent);
						});
					});	
			}
			
			function getAlbumSelectorsMoving(idselected){
				$.getJSON("/plugins/editor/actions.php?action=get_album_selector",
					function(data){
						var selected = '';
						var activefolder = $("#folderselect").val();
						$("#faction").empty();
						$("#faction").append('<option>--Переместить в альбом--</option>');
						$.each(data.items, function(i,item){
							if(idselected == item.id){
								selected = 'selected';
							}else{
								selected = '';
							}
							if(activefolder != item.id){
								var albumcontent = '<option value="move_'+item.id+'" '+selected+'>'+item.title+' ('+item.files+')</option>';
							}
							$("#faction").append(albumcontent);
						});
						$("#faction").append('<option value="create">--Создать альбом--</option><option value="delete">--Удалить альбом--</option>');
					});	
			}			
			
			
			function getAlbumSelectorsCreate(idselected){
				$.getJSON("/plugins/editor/actions.php?action=get_album_selector",
					function(data){
						var selected = '';
						$("#scopysite").empty();
						$.each(data.items, function(i,item){
							if(idselected == item.id){
								selected = 'selected';
							}else{
								selected = '';
							}
							var albumcontent = '<option value="'+item.id+'" '+selected+'>'+item.title+' ('+item.files+')</option>';
							$("#scopysite").append(albumcontent);
						});
						$("#scopysite").append('<option value="create">--Создать альбом--</option>');
						$("#loaders").hide();
						//$("#loaders2").hide();
						$("#loaders3").hide();
					});
			}				
			
			
			function getAlbumSelectorsComputer(idselected){
				$.getJSON("/plugins/editor/actions.php?action=get_album_selector",
					function(data){
						var selected = '';
						$("#scopycomputer").empty();
						$.each(data.items, function(i,item){
							if(idselected == item.id){
								selected = 'selected';
							}else{
								selected = '';
							}
							var albumcontent = '<option value="'+item.id+'" '+selected+'>'+item.title+' ('+item.files+')</option>';
							$("#scopycomputer").append(albumcontent);
						});
						$("#scopycomputer").append('<option value="create">--Создать альбом--</option>');
					});
			}				
			
			function getAlbum(folder, sphoto){
				var stringFolder = '';
				var stringSelectPhotos = '';
				
				if (folder){
					stringFolder = '&folder=' + folder;
				}
				
				if(sphoto){
					stringSelectPhotos = '&sfoto='+sphoto;
				}
				
				$("#loaders").show();
				//Альбомы				
				$.getJSON("/plugins/editor/actions.php?action=get_album"+stringFolder+stringSelectPhotos,
						function(data){
							var countSelected = 0;
							var countPhoto = 0;
							$(".x-grid3-scroller").empty();
							$.each(data.items, function(i,item){
							var albumcontent = '<div class="thumbnailedItem ' + item.select + '">\
							<div class="thumbnailWraper" style="height: 105px; width: 100px;">\
								<div class="thumb" style="height: 80px; width: 90px;">\
									<table border="0" cellpadding="0" cellspacing="0">\
										<tbody>\
											<tr>\
												<td class="lthumb">\
													<img src="' + item.thumb + '">\
												</td>\
											</tr>\
										</tbody>\
									</table>\
								</div>\
								<div class="filename">\
									<span qtip="' + item.image + '" qid="' + item.id + '">' + item.title + '</span>\
								</div>\
							</div>';
							
							$(".x-grid3-scroller").append(albumcontent);
							if(item.select!=''){
								countSelected ++;
							}
							countPhoto++;
													
							$("#fselected").html(countSelected);
						});
						
							if(countPhoto == 0){
								$(".x-grid3-scroller").append('<div align="left" style="padding:10px;">В выбранном альбоме фотографии отсутствуют.</div>');
							}	
							
						var fselected = $("#fselected").text();
						var folders = $("select[name=faction] option");
					    
						$(".thumbnailedItem").click(
							function () {
								
								var action = $("#faction").val();
							    var re = /move/;
							    var result = re.test(action) ? true : false;
							    var movealbum = 0;
							    
								if(result == true){
									var movealbum = action.split("_");
								}
								
								if(!$(this).hasClass('thumbnailedItemSelected')) {
									$(this).addClass("thumbnailedItemSelected");
									fselected ++;
									$('#fselected').html(fselected);
								}else{
									$(this).removeClass("thumbnailedItemSelected");
									fselected --;
									$('#fselected').html(fselected);
								}
							
								if( fselected <= 0 ){
									folders.filter(":visible.folders:enabled").attr("disabled", true);
									$("#filesdel").attr("disabled", true);
									if(movealbum[1]){
										$("#moveinalbum").attr("disabled", true);
									}
									
								}else{
									folders.filter(":visible.folders:disabled").removeAttr("disabled");
									$("#filesdel").removeAttr("disabled");
									if(movealbum[1]){$("#moveinalbum").removeAttr("disabled");}
								}
						});
						
						$('.thumbnailedItem').hover (function() {
						    $(this).addClass('thumbnailedItemMouse');
						},
						function(){
						    $(this).removeClass('thumbnailedItemMouse');
						});
					
						if( fselected <= 0 ){
							folders.filter(":visible.folders:enabled").attr("disabled", true);
							$("#filesdel").attr("disabled", 'none');
							$("#moveinalbum").attr("disabled", 'none');
						}else{
							folders.filter(":visible.folders:disabled").attr("disabled", false);
							$("#filesdel").removeAttr("disabled"); 
							$("#moveinalbum").removeAttr("disabled"); 
						}
					});
				$("#loaders").hide();
			}
			
			function updateAlbum(folderselect, photoselect){
				// loader
				$("#loaders").show();
				$("#loaders2").show();
				$("#loaders3").show();
				
			    $("#albumname").css('display','none');
			    $("#createalbum").css('display','none');
			    $("#moveinalbum").css('display','none');
			    $("#deletealbum").css('display','none');
			    
				getAlbumSelector(folderselect);
				getAlbumSelectorsMoving(0);
				getAlbum(folderselect, photoselect);

				// end loader
				$("#loaders").hide();
				//$("#loaders2").hide();
				$("#loaders3").hide();
			}
			
			$('#modal-tab-3').click(function(){
				$("#loaders3").show();
				getAlbumSelectorsCreate();
				
			});
			
			$("#scopysite").change(function() {
				$("#salbumname").css('display','none');
				$("#screatealbum").css('display','none');
			    if ($("#scopysite").val()=="create"){
			    	$("#salbumname").css('display','inline');
			    	$("#screatealbum").css('display','inline');
			    	$("#moveinalbum").css('display','none');
			    }
			});
				
			$("#scopycomputer").change(function() {
				
				$("#calbumname").css('display','none');
				$("#ccreatealbum").css('display','none');
				
			    if ( $("#scopycomputer").val()=="create" ){
			    	$("#calbumname").css('display','inline');
			    	$("#ccreatealbum").css('display','inline');
			    }

			});			
			
			$('#modal-tab-1').click(function(){
				getAlbumSelectorsComputer();
			});
					
			
			$('#ccreatealbum').click(function(){
				var albumname = $("#calbumname").val();
				
				if (albumname == 'Введите название альбома' | albumname == ''){
					self.error('Вы не ввели название альбома!');
				}else{	
					$("#loaders").show();
					$.getJSON("/plugins/editor/actions.php?action=create_album&albumname="+albumname,
							function(data){

								if(data.error != 0){
									self.error ('Произошла ошибка при создании альбома!');		
								}else{
									$("#calbumname").css('display','none');
								    $("#ccreatealbum").css('display','none');
								    getAlbumSelectorsComputer(data.id);
								}	
						$("#loaders").hide();
					});				
				}
				return false;
			});
			
			$('#screatealbum').click(function(){
				var albumname = $("#salbumname").val();
				
				if (albumname == 'Введите название альбома' | albumname == ''){
					self.error('Вы не ввели название альбома!');
				}else{	
					$("#loaders").show();
					$.getJSON("/plugins/editor/actions.php?action=create_album&albumname="+albumname,
							function(data){
								if(data.error != 0){
									self.error ('Произошла ошибка при создании альбома!');		
								}else{
									$("#salbumname").css('display','none');
								    $("#screatealbum").css('display','none');
								    getAlbumSelectorsCreate(data.id);
								}	
						$("#loaders").hide();
					});				
				}
				return false;
			});
			
			$('#createalbum').click(function(){
				var albumname = $("#albumname").val();
				
				if (albumname == 'Введите название альбома' | albumname == ''){
					self.error('Вы не ввели название альбома!');
				}else{	
					$("#loaders").show();
					$.getJSON("/plugins/editor/actions.php?action=create_album&albumname="+albumname,
							function(data){

								if(data.error != 0){
									self.error ('Произошла ошибка при создании альбома!');		
								}else{
									$("#albumname").css('display','none');
								    $("#createalbum").css('display','none');
								    $("#moveinalbum").css('display','inline');
									getAlbumSelector();
									getAlbumSelectorsMoving(data.id);
								}	
						$("#loaders").hide();
					});				
				}
				return false;
			});
			
			$("#folderselect").change(function() {
				var folder = $("#folderselect").val();
				getAlbum(folder);
				getAlbumSelectorsMoving(0);				
			});
			
			$("#faction").change(function() {
			
			    $("#albumname").css('display','none');
			    $("#createalbum").css('display','none');
			    $("#moveinalbum").css('display','none');
			    $("#deletealbum").css('display','none');
			    
			    var action = $("#faction").val();
			    var re = /move/;
			    var result = re.test(action) ? true : false;
			    
				if(result == true){
					$("#moveinalbum").css('display','inline');
					
					if(getSelectedPhotos()) {
						$("#moveinalbum").attr("disabled", false);
						$("#moveinalbum").css('display','inline');
					}else{
						$("#moveinalbum").attr("disabled", true);
					}
				}
			    			    
			    if ( $("#faction").val()=="create" ){
			    	$("#albumname").css('display','inline');
			    	$("#createalbum").css('display','inline');
			    }
			    
				
			    
			    if ( $("#faction").val()=="delete" ){
			    	$("#deletealbum").css('display','inline');
				}		
			});
			
			$("#deletealbum").click(function() {
				var folderselect = $("#folderselect").val();
				var urldelete = "/plugins/editor/actions.php?action=delete_album&folder="+folderselect;
				$.getJSON(urldelete, function(data){});	
				self.error('Альбом удален');
				updateAlbum(0);
				return false;
			});
			
			$("#filesdel").click(function() {
				var folderselect = $("#folderselect").val();
				var urldelete = "/plugins/editor/actions.php?action=delete_photo&photos="+getSelectedPhotos()+"&folder="+folderselect;
				$.getJSON(urldelete, function(data){});	
				
				updateAlbum(folderselect);
				
				self.error('Фотографии удалены');
				return false;
			});
			
			$("#moveinalbum").click(function() {
				var folderselect = $("#folderselect").val();
				var action = $("#faction").val();
			    var re = /move/;
			    var result = re.test(action) ? true : false;
			    var movealbum = 0;
			    
				if(result == true){
					var movealbum = action.split("_");
				}

				var urlmove = "/plugins/editor/actions.php?action=move_photo&photos="+getSelectedPhotos()+"&folder="+folderselect+"&movefolder="+movealbum[1];
				
				$.getJSON(urlmove,
				function(data){
					
				});	
				
				self.error('Фотографии перемещены');
				updateAlbum(folderselect);
				return false;
			});			
			
			$('#modal-tabs ul li').click(function(){
				$('#modal-tabs ul li').removeClass('active');
			
				var currentTab = $(this).attr('id');
			
				$('#'+currentTab).addClass('active');
			
				$('#modal-tab-1-div').hide();
				$('#modal-tab-2-div').hide();
				$('#modal-tab-3-div').hide();
			
				$('#'+currentTab+'-div').show();	
			});
			

			$("#loading").ajaxStart(function(){
				$(this).show();
			})
			
			$("#loading").ajaxComplete(function(){
				$(this).hide();
			});

			$("#fileupload").click(function(){
				var scopycomputer = $("#scopycomputer").val();
				$('uploadForm').attr('action', '/plugins/editor/actions.php?action=upload&folder='+scopycomputer);
				//alert (scopycomputer);
			});
			
			$('#uploadForm').ajaxForm({
				beforeSubmit: function(a,f,o) {
					o.dataType = "html";
					$('#uploadOutput').show();
					//$('#uploadOutput').html('Submitting...');
				},
				success: function(data) {
					var $out = $('#uploadOutput');
					//$out.html('Form success handler received: <strong>' + typeof data + '</strong>');
					if (typeof data == 'object' && data.nodeType)
						data = elementToString(data.documentElement, true);
					else if (typeof data == 'object')
						data = objToString(data);
					if(!$.evalJSON(data).error){
						if($.evalJSON(data).filesupload == 1){
							self.editor_cmd('insertImage', $.evalJSON(data).files);
							panel.remove();
						}else{
							$('#modal-tabs ul li').removeClass('active');
											
							$('#modal-tab-2').addClass('active');
						
							$('#modal-tab-1-div').hide();
							$('#modal-tab-2-div').hide();
							$('#modal-tab-3-div').hide();
						
							$('#modal-tab-2-div').show();
							var scopycomputer = $("#scopycomputer").val();
							updateAlbum(scopycomputer, $.evalJSON(data).fileselect);
						}
					}else{
						self.error($.evalJSON(data).error);
					}
				}
			});	
			
			$('#view', panel).click( function() {
					(url.val().length >0 ) ? window.open(url.val()) : alert("Enter URL of image to view");
					return false;
				}
			);
			
			$('#cancel', panel).click( function() { panel.remove(); $('body').css('overflow', 'auto'); return false;} );
			
			$('#insert', panel).click( function() {
				var countInsertFiles = 0;
				$(".thumbnailedItemSelected").each(function () {
					var file = $(this).find("span").attr('qtip');
					self.editor_cmd('insertImage', file);
					countInsertFiles++;
				});
				if(countInsertFiles <= 0){
					self.error('Вы не выбрали ни одного файла!');
				}else{
					panel.remove();
				}
				return false;
			} );
			
		}, tags: ['img'] },
	link			: {exec:
		function() {
			var self = this;
			var html = '<div id="modal-title">Вставить ссылку</div>\
				<br />\
				<input type="hidden" id="target" name="target" value="_blank"  />\
				<input type="hidden" id="title" size="30" value="" />\
				<table border="0" cellspacing="10">\
				<tbody>\
				<tr>\
					<td align="right">Адрес ссылки:</td>\
					<td align="left"><input type="text" id="url" size="50" value="http://" /></td>\
				</tr>\
				<tr>\
					<td colspan="2" align="right"><br /><button id="cancel">Отменить</button><button id="ok">Вставить</button></td>\
				</tr>\
				</tbody>\
				</table><br />';
				
			var panel = self.create_panel("Create link", html);
			
			//$('body').css('overflow', 'auto');
			$('#cancel', panel).click( function() { panel.remove(); $('body').css('overflow', 'auto'); return false; } );

			var url = $('#url', panel);
			

			$('#view', panel).click( function() {
					(url.val().length >0 ) ? window.open(url.val()) : alert("Enter URL to view");
					return false;
				}
			);
			$('#ok', panel).click(
				function() {
					var url = $('#url', panel).val();
					var target = $('#target', panel).val();
					var title = $('#title', panel).val();

					if(self.get_selected_text().length <= 0) {
						alert('Необходимо выделить текст для вставки ссылки!');
						return false;
					}

					panel.remove(); 

					if(url.length <= 0)
						return false;

					self.editor_cmd('unlink');

					// we wanna well-formed linkage (<p>,<h1> and other block types can't be inside of link due to WC3)
					self.editor_cmd('createLink', url);
					/*
					var tmp = $('<span></span>').append(self.get_selected_html());
					
					if(target.length > 0)
						$('a[href*="' + rte_tag + '"]', tmp).attr('target', target);

					if(title.length > 0)
						$('a[href*="' + rte_tag + '"]', tmp).attr('title', title);

					$('a[href*="' + rte_tag + '"]', tmp).attr('href', url);

					self.selection_replace_with(tmp.html());*/
					return false;
				}
			)
		}, tags: ['a'] },
	unlink			: {command: 'unlink'},
	s8				: {separator : true },
	removeFormat	: {exec: 
		function() {
			this.editor_cmd('removeFormat');
			this.editor_cmd('unlink');
		}},
	s9				: {separator : true }	
		/*,
	word			: {exec: function() { this.set_content(cleanup_word(this.get_content(), true, true, true)); }},
	clear			: {exec: function() { if(confirm('Clear Document?')) this.set_content(''); }}*/
};
var html_toolbar = {
	/*s1				: {separator: true},
	word			: {exec: function() { this.set_content(cleanup_word(this.get_content(), true, true, true)); }},
	clear			: {exec: function() { if(confirm('Clear Document?')) this.set_content(''); }}*/
};

function cleanup_word(s, bIgnoreFont, bRemoveStyles, bCleanWordKeepsStructure) {
	s = s.replace(/<o:p>\s*<\/o:p>/g, '') ;
	s = s.replace(/<o:p>[\s\S]*?<\/o:p>/g, '&nbsp;') ;

	// Remove mso-xxx styles.
	s = s.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;

	// Remove margin styles.
	s = s.replace( /\s*MARGIN: 0cm 0cm 0pt\s*;/gi, '' ) ;
	s = s.replace( /\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"" ) ;

	s = s.replace( /\s*TEXT-INDENT: 0cm\s*;/gi, '' ) ;
	s = s.replace( /\s*TEXT-INDENT: 0cm\s*"/gi, "\"" ) ;

	s = s.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ;

	s = s.replace( /\s*PAGE-BREAK-BEFORE: [^\s;]+;?"/gi, "\"" ) ;

	s = s.replace( /\s*FONT-VARIANT: [^\s;]+;?"/gi, "\"" ) ;

	s = s.replace( /\s*tab-stops:[^;"]*;?/gi, '' ) ;
	s = s.replace( /\s*tab-stops:[^"]*/gi, '' ) ;

	// Remove FONT face attributes.
	if (bIgnoreFont) {
		s = s.replace( /\s*face="[^"]*"/gi, '' ) ;
		s = s.replace( /\s*face=[^ >]*/gi, '' ) ;

		s = s.replace( /\s*FONT-FAMILY:[^;"]*;?/gi, '' ) ;
	}

	// Remove Class attributes
	s = s.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;

	// Remove styles.
	if (bRemoveStyles)
		s = s.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;

	// Remove style, meta and link tags
	s = s.replace( /<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi, '' ) ;
	s = s.replace( /<(?:META|LINK)[^>]*>\s*/gi, '' ) ;

	// Remove empty styles.
	s =  s.replace( /\s*style="\s*"/gi, '' ) ;

	s = s.replace( /<SPAN\s*[^>]*>\s*&nbsp;\s*<\/SPAN>/gi, '&nbsp;' ) ;

	s = s.replace( /<SPAN\s*[^>]*><\/SPAN>/gi, '' ) ;

	// Remove Lang attributes
	s = s.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;

	s = s.replace( /<SPAN\s*>([\s\S]*?)<\/SPAN>/gi, '$1' ) ;

	s = s.replace( /<FONT\s*>([\s\S]*?)<\/FONT>/gi, '$1' ) ;

	// Remove XML elements and declarations
	s = s.replace(/<\\?\?xml[^>]*>/gi, '' ) ;

	// Remove w: tags with contents.
	s = s.replace( /<w:[^>]*>[\s\S]*?<\/w:[^>]*>/gi, '' ) ;

	// Remove Tags with XML namespace declarations: <o:p><\/o:p>
	s = s.replace(/<\/?\w+:[^>]*>/gi, '' ) ;

	// Remove comments [SF BUG-1481861].
	s = s.replace(/<\!--[\s\S]*?-->/g, '' ) ;

	s = s.replace( /<(U|I|STRIKE)>&nbsp;<\/\1>/g, '&nbsp;' ) ;

	s = s.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;

	// Remove "display:none" tags.
	s = s.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none[\s\S]*?<\/\1>/ig, '' ) ;

	// Remove language tags
	s = s.replace( /<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3") ;

	// Remove onmouseover and onmouseout events (from MS Word comments effect)
	s = s.replace( /<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi, "<$1$3") ;
	s = s.replace( /<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi, "<$1$3") ;

	if (bCleanWordKeepsStructure) {
		// The original <Hn> tag send from Word is something like this: <Hn style="margin-top:0px;margin-bottom:0px">
		s = s.replace( /<H(\d)([^>]*)>/gi, '<h$1>' ) ;

		// Word likes to insert extra <font> tags, when using MSIE. (Wierd).
		s = s.replace( /<(H\d)><FONT[^>]*>([\s\S]*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );
		s = s.replace( /<(H\d)><EM>([\s\S]*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );
	} else {
		s = s.replace( /<H1([^>]*)>/gi, '<div$1><b><font size="6">' ) ;
		s = s.replace( /<H2([^>]*)>/gi, '<div$1><b><font size="5">' ) ;
		s = s.replace( /<H3([^>]*)>/gi, '<div$1><b><font size="4">' ) ;
		s = s.replace( /<H4([^>]*)>/gi, '<div$1><b><font size="3">' ) ;
		s = s.replace( /<H5([^>]*)>/gi, '<div$1><b><font size="2">' ) ;
		s = s.replace( /<H6([^>]*)>/gi, '<div$1><b><font size="1">' ) ;

		s = s.replace( /<\/H\d>/gi, '<\/font><\/b><\/div>' ) ;

		// Transform <P> to <DIV>
		var re = new RegExp( '(<P)([^>]*>[\\s\\S]*?)(<\/P>)', 'gi' ) ;	// Different because of a IE 5.0 error
		s = s.replace( re, '<div$2<\/div>' ) ;

		// Remove empty tags (three times, just to be sure).
		// This also removes any empty anchor
		s = s.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
		s = s.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
		s = s.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
	}

	return s;
}