﻿function enableImageCache(){
	/*Use Object Detection to detect IE6*/
	var  m = document.uniqueID /*IE*/
	&& document.compatMode  /*>=IE6*/
	&& !window.XMLHttpRequest /*<=IE6*/
	&& document.execCommand ;
	
	try{
		if(!!m){
			m("BackgroundImageCache", false, true) /* = IE6 only */ 
		}
		
	}catch(oh){};
};
if (window.attachEvent) window.attachEvent("onload", enableImageCache);

function EnterForm(){
	var enter_block = document.getElementById("enter");
	var form_block = document.getElementById("form");
	enter_block.style.display = "none";
	form_block.style.display = "block";
	return false;
}

function setCheckeds( form, bool )
{
	
	var listChecked = document.getElementById( form ).getElementsByTagName( 'input' );
	for( var i=0;i< listChecked.length;i++)
	{
		listChecked[i].checked = false;
		if( listChecked[i].className == bool )
		{
			listChecked[i].checked = true;
		}
	}
}

function setCheckedsClass( form, bool, className, invers )
{
	if( invers==1 )return;

	var listChecked = document.getElementById( form ).getElementsByTagName( 'input' );
	for( var i=0;i< listChecked.length;i++)
	{
		if( invers ) 
		{
			if( listChecked[i].checked == true ) listChecked[i].checked = false; else listChecked[i].checked=true;;
		}
			else listChecked[i].checked = false;
			
		if( !invers ) 			
		{
			if( className )
			{
				if( listChecked[i].className==className )listChecked[i].checked = bool;
			}
				else listChecked[i].checked = bool;
		}
	}
}

function UpdateEmail() {
	var newEmail = document.getElementById('newEmail').value;
	document.getElementById('SubscriptionEmail').innerHTML = newEmail;	
}

function hiddenDateFinish(actual)
{
	var dateField = document.getElementById('tr_enddate');
	dateField.style.display = actual ? 'none' : '';
}

function setInputValue( value, id, input)
{
	var objInput = document.getElementById( input );
	var objInputHidden = document.getElementById( input + '_hidden' );	
	 objInput.value =  value; 
	 objInputHidden.value =  id; 	 
	 return false;
}

var activeElement;
function setDisplayOrHidden( obj )
{
	var elementDisplay = document.getElementById( obj );	
	if( activeElement && activeElement!=elementDisplay )activeElement.style.display = 'none';
	
	if( elementDisplay.style.display == 'none' )elementDisplay.style.display = '';
							 else elementDisplay.style.display = 'none';			 
							 
	activeElement = elementDisplay;
		
	return false;
}

function multiInput(paramName, inputs, inputCount)
{
	this.paramName = paramName;	
	this.inputCount = inputCount;
	this.addInput = function(){		
		var div1 = document.createElement('DIV');
		div1.className = 'input';
		var div2 = document.createElement('DIV');
		div2.className = 'right_bg_inp';
		var div3 = document.createElement('DIV');
		div3.className = 'left_bg_inp';
		
		var newInput = document.createElement('INPUT');
		newInput.type = 'text';
		newInput.name = this.paramName + this.inputCount;
		newInput.id = this.paramName + 'Edit' + this.inputCount;		
		this.inputCount++;				
		
		div3.appendChild(newInput);			
		div2.appendChild(div3);
		div1.appendChild(div2);
		this.inputs.parentNode.appendChild(this.td);
		this.inputs.appendChild(div1);
	}
	this.anchor = document.createElement('A');	
	this.anchor.className = 'cursor';
	this.anchor.multiInput = this;
	this.anchor.onclick = function(){
		this.multiInput.addInput();		
		return false;
	};
	this.anchor.innerHTML = 'Добавить';
	
	this.inputs = document.getElementById(inputs);
	this.td = document.createElement('TD');
	this.td.appendChild(this.anchor);
	this.inputs.parentNode.appendChild(this.td);	
}

var oldMenu;
function SelectMenu( obj, obj1, n, url ){

	var b_1 = document.getElementById( obj );
	var block1 = document.getElementById( b_1.id + '_list' );
	var b_2 = document.getElementById( obj1 );
	var block2 = document.getElementById( b_2.id + '_list' );
	
	if( n )
	{
		b_1.className = "active";block1.style.display = 'block';
		b_2.className = "";block2.style.display = 'none';
	}
		else
	{
		if (b_2.className == "active")
		{
			if (url)
			{
				window.location = url;
			}
		}
		b_2.className = "active";block2.style.display = 'block';
		b_1.className = "";block1.style.display = 'none';
	}
}

function ReplaceTables(div)
{
	if (!div) return;
	var tables = div.getElementsByTagName('TABLE');
	var i;
	for (i = tables.length - 1; i > -1 ; i--)
	{
		if (tables[i].className != "noreplace")
		{			
		  var link = document.createElement('A');
		  link.href = "#";
		  link.onclick = function()
		  {
			ShowInPopup(this.div);
			return false;
		  }
		  link.innerHTML = 'Таблица';
		  var div = document.createElement('DIV');
		  div.style.overflow = 'auto';
		  div.style.height = '350px';
		  div.style.width = '800px';
		  div.style.padding = '1px';
		  link.div = div;		
		  var table = tables[i];
		  table.className = 'content';
		  table.parentNode.replaceChild(link, table);
		  div.appendChild(table);
		}
	}
}

function ToggleForumCategory(categoryId, tr)
{
	if (tr.className == 'open')
	{
		if (!tr.forums) {
			tr.forums = new Array();
			var forumRow = tr.nextSibling;
			while (forumRow && forumRow.nodeType != 1) forumRow = forumRow.nextSibling;
			while (forumRow && forumRow.id && forumRow.id.indexOf('category' + categoryId) == 0) {
				tr.forums.push(forumRow);
				do forumRow = forumRow.nextSibling;
				while (forumRow && forumRow.nodeType != 1);
			}
		}
		for (var i = 0; i < tr.forums.length; i++)
			tr.parentNode.removeChild(tr.forums[i]);
		tr.className = '';
	}
	else
	{
		if (!tr.forums) {		
			LoadForumList(categoryId, tr) 
		}
		else {
			nextSibling = tr.nextSibling;
			for (var i = 0; i < tr.forums.length; i++)
				tr.parentNode.insertBefore(tr.forums[i], nextSibling);
			tr.className = 'open';
		}
	}
}
function LoadForumList(categoryId, tr)
{
	var event = function (result) {
		var root = XmlRootByText(result);
		var rows = GetXmlNodesByTagName(root, 'tr');
		tr.forums = new Array();
		for (var i = 0; i < rows.length; i++) {
			var newTr = document.createElement('TR');
			var cells = GetXmlNodesByTagName(rows[i], 'td');
			for (var j = 0; j < cells.length; j++) {
				var newTd = document.createElement('TD');
				newTd.innerHTML = GetXmlNodeValue(cells[j]);
				newTd.className = GetXmlAttributeValue(cells[j], 'class');
				newTr.appendChild(newTd);
			}
			newTr.className = GetXmlAttributeValue(rows[i], 'class');
			newTr.id = GetXmlAttributeValue(rows[i], 'id');
			tr.forums.push(newTr);			
		}
		ToggleForumCategory(categoryId, tr);
	} // end event
	HttpRequest(SitePath + 'forum/forum_ajax.aspx?g=forum_list&c=' + categoryId, null, 'getForumList', event);		
}
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////PopupScroll//////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
var OldList;


function CalculateScrolls() {
	
	var scroller = document.getElementById("scroller_wrapper");
        if (scroller){
            if (scroller.offsetHeight <= scroller.parentNode.offsetHeight) {
                scroller.parentNode.className="scroller noscroll"
            } else {
                scroller.parentNode.className="scroller"
            }
        }
}
document.onmousemove =
	function (e) {
		if (document.all) {
			mouse_x = event.clientX;
			mouse_y = event.clientY;
			if ((event.srcElement) && (event.srcElement.tagName) && (event.srcElement.tagName.toLowerCase() == 'select')) mouse_y += 30;
		} else if (document.getElementById){
			mouse_x = e.clientX;
			mouse_y = e.clientY;
		} else if (document.layers) {
			mouse_x = e.x;
			mouse_y = e.y;
		} // end if
		if (window.pageXOffset) {
			mouse_x += window.pageXOffset;
			mouse_y += window.pageYOffset;
		} else {
			var html = document.getElementsByTagName('html')[0];
			mouse_x += html.scrollLeft;
			mouse_y += html.scrollTop;
		} // end if
		moveIt();
	} // end event

input_y = false;

function startDrag(id) {
	input_y = true;
	old_mouse_position = mouse_y; 
	if (isNaN(id))
		n="";
	else
		n=id;
	input = document.getElementById('scroll_lister' + n);
	old_input_position = input.offsetTop;
	top_mouse_border = old_mouse_position - input.offsetTop;
	bottom_mouse_border = top_mouse_border + input.parentNode.offsetHeight - input.offsetHeight;
	table = document.getElementById('scroller_wrapper' + n);
	k = (table.offsetHeight - table.parentNode.offsetHeight)/ (input.parentNode.offsetHeight - input.offsetHeight);
}
function moveIt() {
	if (input_y) {
		current_mouse_position = mouse_y;
		if (current_mouse_position <= top_mouse_border ) {
			input.style.top = 0 + "px";
			table.style.top = 0 + "px";
		} else {
			if (current_mouse_position <= bottom_mouse_border) {
				dX = current_mouse_position - old_mouse_position;
				input.style.top = old_input_position + dX + "px";
				
				
				table.style.top = - (input.offsetTop) * k + "px";
			} else {
				input.style.top = input.parentNode.offsetHeight - input.offsetHeight + "px";
				table.style.top = - (input.parentNode.offsetHeight - input.offsetHeight) * k + "px";
			}
		}
	}
}
document.onmouseup = 
function () {
	input_y = false;
	if (scroll_interval) {
		clearInterval(scroll_interval);
		scroll_interval = null;
	}
}

function EnterForm(){
	var enter_block = document.getElementById("enter");
	var form_block = document.getElementById("form");
	enter_block.style.display = "none";
	form_block.style.display = "block";
	return false;
}
var scroll_interval = null;

function StartScrollTextarea(id, delta) {
	var textarea = document.getElementById(id);
	if (textarea) scroll_interval = setInterval(function () { textarea.scrollTop += delta; }, 100);
	return false;
}

function ScrollTextBlock(delta, id) {
	if (isNaN(id))
		n="";
	else
		n=id;
	var text = document.getElementById("scroller_wrapper" + n);
	var lister  = document.getElementById("scroll_lister" + n);
	if (text) {
		var text_top = text.parentNode.offsetHeight - text.offsetHeight;
		var lister_top = lister.parentNode.offsetHeight - lister.offsetHeight;
		var lister_position = 0;
		if (isNaN(lister.style.top)) {
			lister_position = parseInt(lister.style.top);
		}
		var text_position = 0;
		if (isNaN(text.style.top)) {
			text_position = parseInt(text.style.top);
		}
		var lister_delta_percent = lister_position * 100 / lister_top;
		var lister_delta = (lister_delta_percent + delta);
		var text_delta = text_top / 100 * delta;
		var lister_shift = (lister_delta_percent - delta) * (lister_top/100);
		var text_shift = (lister_delta_percent - delta) * (text_top/100);
		if (lister_shift < 0) {
			lister.style.top = 0 + "px";
		} else if (lister_shift > lister_top) {
			lister.style.top = lister_top + "px";
		} else {
			lister.style.top = lister_shift + "px";
		}
		if (text_shift > 0) {
			text.style.top = 0 + "px";
		} else if (text_shift < text_top) {
			text.style.top = text_top + "px";
		} else {
			text.style.top =  text_shift + "px";
		}
	}
}


function StartScrollTextblock(delta, id) {
	if (isNaN(id))
		n="";
	else
		n=id;
	ScrollStop();
	
	var textblock = document.getElementById("scroller_wrapper" + n);
	if (textblock) {
		if (isNaN(id)) {
			scroll_interval = setInterval("ScrollTextBlock("+delta+");", 20);
		}
		else
			scroll_interval = setInterval("ScrollTextBlock("+delta+","+n+");", 20);
		
	}
}
function ScrollStop() {
     input_y = false;
     if (scroll_interval) {
          clearInterval(scroll_interval);
          scroll_interval = null;
     }
}