var support_dom = document.createElement;
var is_mac = (navigator.userAgent.toLowerCase().indexOf("mac")!=-1);

function gebi(id)
{
	return document.getElementById(id);
}

function select_clear(obj) 
{
	if (support_dom && !is_mac) 
	{
		while (obj.lastChild) obj.removeChild(obj.lastChild);
	} 
	else 
	{
		for (var i = obj.options.length-1; i>=0; i--) 
			obj.options[i]=null;
	}
}
function select_hide(obj, hide) 
{
	obj.style.display = ''; // IE hack
	if (hide) obj.style.display = 'none';
}
function select_fill(obj, arr) 
{
	len = arr.length;
	for(var i = 0; i < len; i++) 
	{
		if (!arr[i].id) continue;
		obj.options[i] = new Option(arr[i].t, arr[i].id);
	}
}
function get_idx(arr, needle_id) 
{
	len = arr.length;
	for (i=0; i<len; i++) 
	{
		if (arr[i].id == needle_id) return i;
	}
	return -1;
}


/////
function AnswerComment(id, node, answer)
{
	var elm = $('formaddcomment');
	elm.style.position = 'absolute';
	elm.style.top = ds_CalcPosElm(node, 'top') + 'px';
	elm.style.width = '75%';
	elm.style.height = '235px';
	elm.style.border = '1px solid #000';
	if(!$('addcommentclose'))
	{
		var div = document.createElement('div');
		div.style.position = 'absolute';
		div.style.right = '5px';
		div.style.top = '5px';
		div.id = 'addcommentclose';
		div.innerHTML = '<a href="#" onclick="CloseAnswerComment();return false;" class="text2">закрыть</a>';
		elm.appendChild(div);
	}
	
	if(answer)
	{
		var v = $('textcomment'+id);
		if(v)
			$('textareaaddcomment').value = '[QUOTE]'+dsTrim(v.innerHTML)+'[/QUOTE]';
	}
	
	var form = document.forms['savecomment'];
	form.elements['form[sub_id]'].value = id;
	//form.text.focus();
	
}
function CloseAnswerComment()
{
	var elm = $('formaddcomment');
	elm.style.top = ds_CalcPosElm($('saddcomment'), 'top') + 'px';
	elm.style.position = 'static';
	elm.style.width = '90%';
	elm.style.border = '0px';
	elm.style.padding = '0px';
	document.forms['savecomment'].elements['form[sub_id]'].value = 0;
}
function fixpng()
{
	for(var i = 0; i < document.images.length; i++)
	{
		var img = document.images[i];
		imgSrc = img.src;
		if(imgSrc.substr(imgSrc.length-3).toLowerCase() == "png")
		{
			var w, h;
			w = img.width, h = img.height;
			img.src = "/template/img/px.gif";
			img.width = w, img.height = h;
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + imgSrc + "\', sizingMethod='scale');";
		}
	}
}
function ChangeCategory(id, page, mode, mode1)
{
	IsLoading(true);
  	var strParams = "id="+id+"&page=" + page + "&mode=" + mode + "&mode1=" + mode1;
	var loader = new net.ContentLoader('/getlistcategory.php', SetCategory, null, "POST", strParams);
	window.scrollTo(0, 0);
	ds_hide_element('notlogin', 'none');
	ds_hide_element('notlogin1', 'none');
}
function SetCategory(params)
{
	//$('layer1').style.display = 'none';
	//$('layer2').style.display = 'block';
	
	var elm = $('content2');
	strText = this.req.responseText;
   	elm.innerHTML = strText;
   	
   
   var param = ds_parseurl(params);
   
	$('filtercontent2').innerHTML = "<table cellpadding=\"0\" cellspacing=\"3\"><tr><td " + (param[2] == 0 ? "class=\"curr\"" : "") + "><a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, 0, " + param[3] + ");return false;\">Новые</a></td><td " + (param[2] == 1 ? "class=\"curr\"" : "") + "><a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, 1, " + param[3] + ");return false;\">Популярные</a></td><td " + (param[2] == 2 ? "class=\"curr\"" : "") + "><a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, 2, " + param[3] + ");return false;\">Комментируемые</a></td></tr></table>";
	/*$('filtercontent2').innerHTML = "За: <a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, " + param[2] + ", 1);return false;\" " + (param[3] == 1 ? "class=\"curr\" style='font-weight:bold'" : "") + ">24 часа</a> | <a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, " + param[2] + ", 2);return false;\" " + (param[3] == 2 ? "class=\"curr\" style='font-weight:bold'" : "") + ">неделю</a> | <a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, " + param[2] + ", 3);return false;\" " + (param[3] == 3 ? "class=\"curr\" style='font-weight:bold'" : "") + ">месяц</a> | <a href=\"#\" onclick=\"ChangeCategory('" + param[0] + "', 1, " + param[2] + ", 4);return false;\" " + (param[3] == 4 ? "class=\"curr\" style='font-weight:bold'" : "") + ">год</a>";*/
	
   IsLoading(false);
}
function IsLoading(is_visible, offset)
{
	var elm = gebi('loading');
	if(!elm)return;
	if(!is_visible)
	{
		elm.style.display = "none";
		return;
	}
	if(offset != undefined)
		offset = 1;
	else
		offset = 0;
   var top = window.screen.availHeight / 3;
   var width = window.screen.availWidth;
	if(offset)
	{
		top += window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop;
	   width += window.pageXOffset ? window.pageXOffset : document.documentElement.scrollLeft;
	}
   elm.style.top = top + 'px';
   elm.style.left = width / 3 + 'px';
   elm.style.display = "block";
}
function ViewNotlogin(id, iscomm)
{
	// всплывающее окно
	var elm = $('notlogin');
	if(iscomm)
		var elmtd = $('diggcomm'+id);
	else
		var elmtd = $('digg'+id);
	if(!elmtd)return;
	// фон под окном, если есть
	var elmb = $('notlogin1');
	var timeout;
	
   elm.style.top = ds_CalcPosElm(elmtd, 'top') + 10 + 'px';
   elm.style.left = ds_CalcPosElm(elmtd, 'left') + 20 + 'px';
   elm.style.display = 'block';
	if(!elmb)elm.onmouseout = ViewNotlogin_out;
	elm.onmouseover = ViewNotlogin_over;
	
	// устанавливаем новый фон (выключение функциональности) под окном
	if(elmb)
	{
		if(iscomm)
			var news = elmtd.parentNode.parentNode.parentNode;
		else
			var news = $('newsid' + id);
		
		elmb.style.display = 'block';
		elmb.style.left = ds_CalcPosElm(news, 'left') + 'px';
		elmb.style.width = news.parentNode.offsetWidth - 5 + 'px';
		if(iscomm)
		{
			elmb.style.top = ds_CalcPosElm(news, 'top') + 'px';
			elmb.style.height = news.parentNode.offsetHeight + 'px';
		}
		else
		{
			elmb.style.top = ds_CalcPosElm(news, 'top') + 2 + 'px';
			elmb.style.height = news.parentNode.offsetHeight - 5 + 'px';
		}
		//elmb.style.border = "1px solid #f00";
		ds_SetOpacity(elmb, 0.8);
		elmb.onmouseout = ViewNotlogin_out;
		elmb.onmouseover = ViewNotlogin_over;
	}
	
	function ViewNotlogin_over()
	{
		elm.style.display = 'block';
		if(elmb)
		{
			elmb.style.display = 'block';
			clearTimeout(elmb.timeout);
		}
	}
	function ViewNotlogin_out()
	{
		timeout = setTimeout(function()
		{
			ds_hide_element('notlogin', 'none');
			ds_hide_element('notlogin1', 'none');
		}, 3000);
		elmb.timeout = timeout;
	}
}

var tip;
var IE = document.all ? true : false
var tipVis = 0;
function initPopup()
{
   if (!IE)
		document.captureEvents(Event.MOUSEMOVE);
   document.onmousemove = getMouseXY;
   tip = $('tip');
}
function showTip(text)
{
	if(tipVis > 0)
		return;
 	if(tip)
   {
      tip.style.display = 'block';
      ds_SetOpacity(tip, "0.9");
      tip.innerHTML = text;
      tipVis = 1;
   }
}
function hideTip()
{
	if(tip)
	{
	  tip.style.display = 'none';
	  tipVis = 0;
	}
}
function getMouseXY(e)
{
	var tempX = 0;
	var tempY = 0;
	if(IE)
	{
		tempX = event.clientX + document.documentElement.scrollLeft;
		tempY = event.clientY + document.documentElement.scrollTop;
	}
	else
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}

	if(tempX + 155 > document.body.clientWidth) 
  		tempX = document.body.clientWidth - 155;

  if (tempX < 0){tempX = 0;}
  if (tempY < 0){tempY = 0;}
  if(tip)
  {
    tip.style.left = '' + (tempX - 5) + 'px';
    tip.style.top = '' + (tempY + 15) + 'px';
  }
  return true;
}

function doAjax(node, id, params, isdo, props)
{
	IsLoading(true, true);

	var path = props && props.path ? props.path+'/ajax.php' : '/ajax.php';
	var loader = new net.ContentLoader(path, function()
		{
			IsLoading(false);
			var elm = $(id);
			if(!elm)return;
			if(isdo == true)
				eval(this.req.responseText);
			else
				elm.innerHTML = this.req.responseText;
			if(node)//node != undefined)
			{
				var top = window.pageYOffset ? window.pageYOffset : document.body.offsetHeight;
			   	var width = window.pageXOffset ? window.pageXOffset : document.body.offsetWidth;
	  			elm.style.top = ds_CalcPosElm(node, 'top') + 10 + 'px';
	   			elm.style.left = ds_CalcPosElm(node, 'left') - 20 + 'px';
	   		}
   			if(elm && elm.tagName == "DIV")
				elm.style.display = 'block';
		}, null, "POST", params);
	var a = 1;
}
var carstep = 1;
function ChangeCatHeight(node, direct, step, tags)
{
   var elm = $('catcontent');
   if(!elm)return;
   var params = "mode=news&action=changetagheight";
   
   if(direct == -1)
   {
      params += '&direct=-1';
      carstep--;
   }
   else
   {
      params += '&direct=1';
      carstep++;
   }
   var ico1 = $('addtags'), ico2 = $('deltags');
   if(ico1)
   {
      if(carstep >= 3)ico1.style.cursor = 'default';
      else ico1.style.cursor = 'pointer';
   }
   if(ico2)
   {
      if(carstep <= 1)ico2.style.cursor = 'default';
      else ico2.style.cursor = 'pointer';
   }
   
   if(carstep < 1){carstep=1;return;}
   if(carstep > 3){carstep=3;return;}
   params += '&step='+carstep+'&tags='+tags;
   
   
   
   doAjax(elm, 'catcontent', params);
}
function ViewTagInfo(text)
{
   var elm = $('taginfo');
   if(!elm)return;
   if(text == '')
      text = 'Выберите тег для поиска новостей с ним';
   elm.innerHTML = text;
}
function pr(text, elm)
{
 var input;
 if(typeof(elm) == "undefined" || elm == null)return;
 else input = elm;
 
 //input.focus();

/* if(input.createTextRange)
 {
  document.selection.createRange().text += text;
 }
 else*/ if(input.setSelectionRange)
 {
  var len = input.selectionEnd;
  input.value = input.value.substr(0, len) + text + input.value.substr(len);
  input.setSelectionRange(len + text.length, len + text.length);
 }
 else
 {
  input.value += text;
 }
}
function AddUrl(elm)
{
 var linktext = prompt("Введите текст при отображении ссылки", "");
 if(!linktext)
   return;
 var promttype = "http://";
 var linkurl  = prompt("Введите адрес ссылки", promttype);
 if(linkurl != null  && linkurl != "")
 {
   pr("[LINK=" + linkurl + "]" + linktext + "[/LINK]", elm);
 }
}

// Голосование в новости
function Votes(vote_id)
{
   var form = document.forms['votes'+vote_id];
   for(var i = 0; i < form.elements['answer'].length; ++i)
      if(form.elements['answer'][i].checked == true)
      {  
         doAjax(false, 'vote'+vote_id, 'mode=votes&action=setvotes&vote_id='+vote_id+'&answer_id='+form.elements['answer'][i].value);
         break;
      }
      
   return false;
}
// Голосование в помойке
function MainVotes(vote_id)
{
   var form = document.forms['mainvotes'+vote_id];
   for(var i = 0; i < form.elements['answer'].length; ++i){
     if(form.elements['answer'][i].checked == true)
      {  
         doAjax(false, 'vote'+vote_id, 'mode=votes&action=mainsetvotes&vote_id='+vote_id+'&answer_id='+form.elements['answer'][i].value);
         break;
      }
    }
   return false;
}

function get_selection() 
{
	var txt_block = '';
	if (document.getSelection) {txt_block=document.getSelection();}
	else if (document.selection) {txt_block=document.selection.createRange().text;}
	return txt_block;
}

function SetStarVote(id, star, oldstar)
{
	for(var i = 1; i <= 5; i++)
	{
		var elm = $(id+'_star' + i);
		if(!elm) continue;
	    var num = elm.src.substring(elm.src.length - 5, elm.src.length - 4);
		if(star >= i)
		{
			elm.src = elm.src.replace('star'+num, 'star4');
		}
		if(oldstar >= 0)
		{
		   if(oldstar >= i)
		    num = 1;
		   else if(oldstar < i && oldstar > i-1)
		    num = 2;
		   else
		    num = 3;
			elm.src = elm.src.replace('star4', 'star'+num);
		}
	}
}