var last_ob;

/*
** функция отображения контента страницы в зависимости от выбранного плагина
**
*/
function onChange() {
	var form = document.getElementById('blockform');
	if(!form) return;
	var flen = form.length;
	var opt = document.getElementById('plugin_id');
	displayPluginForm(form,opt.selectedIndex);

	for(i=0;i<flen;i++) {
		if(form.elements[i].name.substring(0,11)=='form[title_'||form.elements[i].name.substring(0,17)=='form[description_') {
			// get current index
			var nlen = form.elements[i].name.substring(form.elements[i].name.length-2,form.elements[i].name.length-1);
			if(opt.selectedIndex!=0)	{
				form.elements[i].style.display = 'none';
				// функции отключения редактора в зависимости от языковых настроек (nlen)
				document.getElementById('textarea_'+nlen).style.display='none';
				document.getElementById('td_cont_'+nlen).style.display='none';
				document.getElementById('td_titl_'+nlen).style.display='none';
			}
			else	{
				form.elements[i].style.display = '';
				document.getElementById('textarea_'+nlen).style.display='';
				document.getElementById('td_cont_'+nlen).style.display='';
				document.getElementById('td_titl_'+nlen).style.display='';
			}
		}

	}

}

/*
** функция отображения текущего плагина
** (отображает поля для выбранного плагина и скрывает поля для остальных плагинов)
**@param 	Form object		form			текущая форма
**@param	int				selectIndex		индекс выбранного плагина
*/
function displayPluginForm(form,selectIndex) {
	var flen = form.length;
	selectIndex++; // первый элемент 1
	// отображение/скрытие элементов в зависимости от выбранного плагина
	for(i=0;i<1000;i++) {
		elem = document.getElementById('td_plugin_'+i);
		if(elem)
		if(i==selectIndex) elem.style.display = '';
		else elem.style.display = 'none';
	}
}

/*
** основная функция инициализации отображения контента страницы (вызывается при загрузки страницы администрирования)
**
*/
function Init() {
	document.onmousemove=mmove;
	onChange();
}

/* функция переспроса на подтверждения действия
**
**@param	string	message	сообщение подтверждения
**@param	string	elemid	id элемента
*/
function isAction(message,elemid) {
	var elem = document.getElementById(elemid);
	var link = elem.getAttribute("link");
	var res = confirm(message+'?');

	if(res) {
		elem.setAttribute("href",link);
	}
	return res;
}

/*
** функция проверяет на наличие существующего логина
**
**
*/
function CheckLogin(ob) {
	var nam=document.getElementById('loginid');
	var url = "/";
	
	var param = "page=register&do=checklogin&login="+escape(nam.value);
	ob.style.cursor = 'wait';
	last_ob = ob;
	SendRequest(url,param,ResultCheck);
}

/*
** функция проверяет на наличие существующего логина
** (возвращает проверенный результат)
**
*/
function ResultCheck() {
	var elem = document.getElementById('result-registration');
	elem.innerHTML = req.responseText;
	if(last_ob)	last_ob.style.cursor = 'auto';

}

/*
** функция перегружает изображение
**
**
*/
function reloadimage() {
	//var elem = document.getElementById('captcha');

	var elem = document.getElementById('captcha_img');
	//SendRequest(url,param,resultreloadimage);
	//elem.setAttribute("src","/admin/register/?do=genpict");

}

function resultreloadimage() {

	//elem.innerHTML = '<img src="/admin/register/?do=genpict" alt="Включите эту картинку для отображения кода безопасности" border="0"><br><a onclick="reloadimage(); return false;" href="#">обновить код1</a>';

}

/* функция добавляет ссылку страницы в избраннное (кроссбраузерность)
**
**@param	string	url
**@param	string	name
*/
function AddtoFavorites(url,name) {

	if (name == undefined)
	name = document.title;
	if (url == undefined)
	url = top.location.href;
	if (window.sidebar) {
		// Firefox
		window.sidebar.addPanel(name, url, '');
	} else if (window.opera && window.print) {
		// Opera
		var t = document.createElement('a');
		t.setAttribute('rel', 'sidebar');
		t.setAttribute('href', url);
		t.setAttribute('title', name);
		t.click();
	} else if(window.external ) {
		// IE
		window.external.AddFavorite(url, name);
	}
	else {
		alert('Что бы добавить страницу в избранное нажмите CTRL-D.');
	}

}

/*функция устанавливает страницу в роли стартовой
**
**@param	object	ob
**@param	string	url
**
*/
function SetPageAsHomePage(ob,url) {
	ob.style.behavior='url(#default#homepage)';
	ob.setHomePage(url);
}

/*функция проверяет на корректность данные формы
**
**@param	object	ob
**
*/
function CheckLostPasswordFormData() {
	var form_elem = document.getElementById('lostpasswordform');
	var i;
	var params = 'page=lostpassword&do=checkform&';

	for(i = 0; i < form_elem.elements.length; i++) {
		params += form_elem.elements[i].getAttribute('name') + '=' + form_elem.elements[i].value;
		if(i+1 < form_elem.elements.length) params += '&';
	}

	params = encodeURI(params);
	SendRequest('/',params,CheckLostPasswordFormData_Result);
}

/* отображает результат проверки
**
**
*/
function CheckLostPasswordFormData_Result() {
	var res = req.responseText;
	var msg;
	var i;
	var tmp;
	var wrap = '<span style="color:red!important">';
	if(res.length) { // отображаем ошибки
		msg = res.split('~|~');
		for(i = 0; i < msg.length; i++) {
			if(msg[i].length)	{
				tmp = msg[i].split('=');
				document.getElementById(tmp[0]+'_error').innerHTML = wrap + tmp[1] + '</span>';
			}
		}
		// перегружаем изображение
		document.seccodeimg.src = '/?page=lostpassword&do=genpict&time='+Math.random();
	} else { // пароль выслан
		document.getElementById('lostpassworddiv').innerHTML = '<h2 style="color:green!important">Новый пароль выслан на Ваш E-mail</h2>';
	}

}

var EX,EY;

function mmove(e,y,rresize) {
	var ex = (e?e.pageX:0);
	var ey = (e?e.pageY:0);
	EX = ex||event.x||event.clientX;
	EY = ey||event.y||event.clientY;
}

// ======================= отображение блоков меню ===================================
var cob;
var inter;
var opacity_step = 30;
var	opacity_value;
var debug = 3;

function ShowDiv(name,is_cursor_pos) {
	is_cursor_pos = is_cursor_pos?1:0;
	var elem = document.getElementById(name);
	var x = EX-20;
	var y = EY-20;
	if(!elem)	{ alert('Объект "'+name+'" не найден'); return; }

	if(is_cursor_pos) {
		// учет позиции курсора
		if(parseInt(elem.style.width)) 	x = (parseInt(x+elem.style.width) > screen.width?parseInt(x-elem.style.width):x);
		else x = (parseInt(x+600) > screen.width?parseInt(x-600):x);
		if(parseInt(elem.style.height))	y = (parseInt(y+elem.style.height) > screen.height?parseInt(y-elem.style.height):y);
		else y = (parseInt(y+350) > screen.height?parseInt(y-150):y);

		elem.style.position = 'absolute';
		elem.style.left = x+'px';
		elem.style.top = y+'px';
	}
	if(elem.style.opacity != undefined) { elem.style.opacity = 0; }
	else if(elem.style.filter != undefined)  elem.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
	opacity_value = 0;
	elem.style.display = 'block';
	cob = elem;
	if(!inter)	inter =  setInterval('HShowDiv()',100);
}

function HShowDiv() {
	var opacity = 1;

	if(cob.style.opacity != undefined) { //Mozilla
		opacity = cob.style.opacity;
		opacity_step = (opacity_step>1?opacity_step/100:opacity_step);
		if(opacity < 1) {
			opacity_value += opacity_step;
			cob.style.opacity = opacity_value;
		} else {
			cob.style.opacity = 1;
			clearInterval(inter);
			inter = 0;
		}

		// Mozilla EOF
	} else if(cob.style.filter != undefined) { // IE

		opacity = opacity_value;
		opacity_step = (opacity_step<1?opacity_step*100:opacity_step);

		if(opacity < 100) {
			opacity_value += opacity_step;
			cob.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity_value+")";
		} else {
			cob.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
			clearInterval(inter);
			inter = 0;
		}

		// IE EOF
	}

}

function HideDiv(ob) {
	if(ob.style.opacity != undefined) ob.style.opacity = 1.0;
	else if(ob.style.filter != undefined)  { opacity_value = 100; ob.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";}
	cob = ob;
	if(!inter)	inter =  setInterval('HHideDiv()',100);
}

function HHideDiv() {
	var opacity = 0;

	if(cob.style.opacity != undefined) { //Mozilla

		opacity = cob.style.opacity;
		opacity_step = (opacity_step>1?opacity_step/100:opacity_step);

		if(opacity > 0) {
			cob.style.opacity -= opacity_step;
		} else {
			clearInterval(inter);
			inter = 0;
			cob.style.display = 'none';
			cob.style.opacity = 1;
		}

		// Mozilla EOF
	} else if(cob.style.filter != undefined) { // IE

		opacity = opacity_value;
		opacity_step = (opacity_step<1?opacity_step*100:opacity_step);

		if(opacity > 0) {
			opacity_value -= opacity_step;
			cob.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity_value+")";
		} else {
			clearInterval(inter);
			inter = 0;
			cob.style.display = 'none';
			cob.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
		}

		// IE EOF
	}

}



// =============================== plugin news ========================================
/* функция для классов производных класса "списки" открывает окно со списком категорий
**
**
**
*/
function OpenCategoryChangeWindow() {
	var elem = document.getElementById('categoriesdiv');
	var tmp;
	tmp = location+'&do=PLUGIN_NEWS_SHOW_CATEGORIES';
	SendRequest(tmp,'',OpenCategoryChangeWindowResult);
}

function OpenCategoryChangeWindowResult() {
	var text = req.responseText;
	//elem.style.left = 700;
	alert(text);
}


/* функция проверяет элементы формы на наличие заполненых обязательных полей
**
*/
function checkFormElements(form_id) {
	var element, pattern, output_elem, output_id;
	obj = document.getElementById(form_id);
	for (var i = 0; i < obj.elements.length; i++) {
		element = obj.elements[i];

		//if (elems != undefined)
		//if (elems.join().indexOf(element.type) < 0) continue;

		if (!element.getAttribute("check_message")) continue;
		if (pattern = element.getAttribute("check_pattern")) {
			pattern = new RegExp(pattern, "g");
			if (!pattern.test(element.value)) {
				output_id = element.getAttribute("output_id");
				output_elem = output_id?document.getElementById(output_id):null;
				if(!output_elem)	alert(element.getAttribute("check_message"));
				else output_elem.innerHTML = element.getAttribute("check_message");
				element.focus();
				return false;
			}
		} else if(/^\s*$/.test(element.value)) {
			output_id = element.getAttribute("output_id");
			output_elem = output_id?document.getElementById(output_id):null;
			if(!output_elem) alert(element.getAttribute("check_message"));
			else output_elem.innerHTML = element.getAttribute("check_message");
			element.focus();
			return false;
		}
	}
	return true;
}


// =============================== plugin commerce ======================================
// функции для просмотра изображений
// ======================================================================================

function setZoom(img, dir, width, height, margin, zIndex, delay) {
	setTimeout(function () {
		if (img.dir==dir) {
			img.style.width=width;
			img.style.height=height;
			img.style.margin=margin;
			img.style.zIndex=zIndex;
			img.parentNode.parentNode.style.zIndex=zIndex;
		}
	},delay);
}

function larger(img, width, height) {
	img.dir='rtl';
	now=parseInt(img.style.zIndex);
	for (i=now+1; i<=10; i++) {
		w=(width*(10+i))/20+'px';
		h=(height*(10+i))/20+'px';
		m=(-i)+'px 0 0 '+(-width*i/40)+'px';
		setZoom(img, 'rtl', w, h, m, i, 10*(i-now));
	}
}

function smaller(img, width, height) {
	img.dir='ltr';
	now=parseInt(img.style.zIndex);
	for (i=now-1; i>=0; i--) {
		w=(width*(10+i))/20+'px';
		h=(height*(10+i))/20+'px';
		m=(-i)+'px 0 0 '+(-width*i/40)+'px';
		setZoom(img, 'ltr', w, h, m, i, 10*(now-i));
	}
}