var $sys_dialog = null;
var FCKE_TOOLBAR = [
		{ name: 'document', items : [ 'Source'] },
		{ name: 'clipboard', items : [ 'PasteText','PasteFromWord','-','Undo','Redo' ] },
		{ name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Superscript','-','RemoveFormat' ] },
		{ name: 'paragraph', items : [ 'NumberedList','BulletedList'] },
		{ name: 'links', items : [ 'Link','Unlink','Anchor' ] },
		{ name: 'insert', items : [ 'Image','Table'] },
		{ name: 'tools', items : [ 'About' ] },
		'/',
		{ name: 'styles', items : ['Format'] }
	];
var FCKE_STYLES = [];
var FCKE_CSS = ['/res/css/style.css'];
var FCKE_BODYCLASS = '';

sys_jquery(document).ready(function($){
	sys_init(1);
});

function sys_init_dialog() {
	sys_init_ac('.ui-dialog #sys_dialog');
}

function sys_init_ac(context) {
	var $ = sys_jquery;
	$('.sys-ref-field', context).each(function(i) {
		var $ac_div = $(this);
		if (!$ac_div.hasClass('sys-ref-field-processed')) {
			$ac_div.addClass('sys-ref-field-processed');
		var url = $ac_div.attr('url');
			var input = $ac_div.find('INPUT.sys-ref-name').get(0);
			new sysAC(input, url);
			$ac_div.find('INPUT.sys-ref-id').unbind('keyup');
			$ac_div.find('INPUT.sys-ref-id').keyup(function(event) {
			$.get(url, { id: $(this).val() },
				function(data) {
						$ac_div.find('INPUT.sys-ref-name').val(data);
				}
			);
		});
			$ac_div.find('.del-link').unbind('click');
			$ac_div.find('.del-link').click(function() {
				$(this).parent().remove();
			});
		}
	});
}

function sys_init_date_inputs() {
	sys_jquery(".sys-calendar-input").datepicker({
		dateFormat: "yy-mm-dd",
		firstDay: 1,
		dayNamesMin:	["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
		monthNames:		["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]
	});
	sys_jquery(".sys-date-button").unbind('click').click(function() {
		sys_jquery(".sys-calendar-input", $(this).parent()).datepicker("show");
	});
}

function sys_init(p) {
	var $ = sys_jquery;
	if (p) {
		check_offline();
		$sys_dialog = $('#'+HTML_SYS_PREFIX+'dialog');
		if ($sys_dialog.get(0)) {
			$sys_dialog.dialog({ open: sys_init_dialog, modal: false, autoOpen: false, buttons: { "Cancel": function() {$(this).dialog("close");}, "Ok": function() {$(".ui-dialog #sys_form").submit()} }  });
		}
		$("#settings input[name='site_offline']").unbind('change');
		$("#settings input[name='site_offline']").change(function() {
			var $this = $(this);
			check_offline();
		});
		sys_init_date_inputs();
	}
	
	//	clicks
	$("."+HTML_SYS_PREFIX+"action_buttons A").unbind('click');
	$("."+HTML_SYS_PREFIX+"action_buttons A").click(function() {
		var $this = $(this);
		var id = $this.attr("id");
		var parts = id.split("_");
		
		var add = $this.attr('params');
		
		if (parts[0]) {
			var html = $.ajax({ 
					type: "GET",
					data: "action=" + id + "&ajax=1&s=" + sys_section + (add ? '&'+add : ''),
					cache: false,
					url: HTTP_ACTIONS_PATH,
					async: false
				}).responseText;
				
			$("#"+HTML_SYS_PREFIX+"dialog").dialog("option", "title", "");
			$("#"+HTML_SYS_PREFIX+"dialog").dialog("option", "width", 800);
			$("#"+HTML_SYS_PREFIX+"dialog").html(html);
			$("#"+HTML_SYS_PREFIX+"dialog").dialog("open");
			sys_init_date_inputs();
			if (typeof window['sys_dialog_onload'] == 'function') sys_dialog_onload();
			return false;
		}
		return true;
	});
	
	$("BODY.sys .section_list .icon").unbind('click');
	$("BODY.sys .section_list .icon").click(function () {
		var $li = $(this).parent();
		if ($li.hasClass('opened')) {
			$li.removeClass('opened');
			$li.addClass('openable');
		} else {
			if ($li.hasClass('loaded')) {
				
			} else {
				var id = $li.attr('id').split('_')[1];
				$li.children('.sub_menu').load('/sys/get_sections_html/?s=' + id, function () {sys_init()});
				$li.addClass('loaded');
			}
			$li.removeClass('openable');
			$li.addClass('opened');
		}
	});
}

function sys_section_load(id) {
	if (!sys_jquery) return false;
	var $ = sys_jquery;
	var $li = $('#section_'+id);
	$li.children('.sub_menu').load('/sys/get_sections_html/?s=' + id, function () {
		sys_init();
		if ($li.children('.sub_menu').html()) {
			$li.addClass('opened');
			$li.addClass('loaded');
		} else {
			$li.removeClass('opened');
			$li.removeClass('openable');
		}
	});
}

function check_offline() {
	if (!sys_jquery) return false;
	var $ = sys_jquery;
	
	var offline = $("#settings #site_offline_1").attr('checked');
	if (offline) {
		$("#settings #felement_site_offline_text").show();
	} else {
		$("#settings #felement_site_offline_text").hide();
	}
}

function set_cookie(name, value, period, path, domain) {
	if (!period) period = 60*60*24*30;
	if (!path) path = '/';
	var expires = (new Date(+(new Date) + period * 1e3)).toGMTString();
	var r = [name + "=" + escape(value)], s, i;
	for(i in s = {expires: expires, path: path}) {
		s[i] && r.push(i + "=" + s[i]);
	}
	if (domain) r.push("domain=" + domain);
	return document.cookie = r.join(";"), true;
}

function get_cookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function _select_clear(select) {
	if (select) {
		for (var i=select.options.length-1; i>=0; i--) {
			select.options[i] = null;
		}
	}
}

function _select_set_options(select, options, rel_field) {
	_select_clear(select);
	for (var i=0; i<options.length; i++) {
		var option = new Option(options[i]['name'], options[i]['id']);
		select.options[i] = option;
		if (rel_field && options[i][rel_field] && jQuery) {
			jQuery(select.options[i]).attr('rel', options[i][rel_field]);
		}
	}
}
