/* base class extensions */
String.prototype.trim = function() {
  return this.replace(/^\s+/, '').replace(/\s+$/, '');
}
Array.prototype.indexOf = function(elem) {
  for (var i=0; i<this.length; i++) {
    if (this[i] == elem) return i;
  }
  return -1;
}

/* dom helpers */
function hasClass(elem, name) {
  var arr = elem.className.split(' ');
  if (arr.indexOf(name) != -1) {
    return true;
  }
  return false;
}
function addClass(elem, name) {
  var arr = elem.className.split(' ');
  if (arr.indexOf(name) == -1) {
    arr.push(name);
    elem.className = arr.join(" ");
  }
}
function removeClass(elem, name) {
  var arr = elem.className.split(' ');
  var arr2 = [];
  for (var i=0; i<arr.length; i++) {
    if (arr[i] != name) {
      arr2.push(arr[i]);
    }
  }
  elem.className = arr2.join(" ");
}
// we want to touch the className only once
// yeah, it's not dry :p
function replaceClass(elem, old_class, new_class) {
  var arr = elem.className.split(' ');
  var arr2 = [];
  for (var i=0; i<arr.length; i++) {
    if (arr[i] != old_class) {
      arr2.push(arr[i]);
    }
  }
  arr2.push(new_class);
  elem.className = arr2.join(" ");
}

/* cookie helpers */
function setCookie(name, value, permanent) {
  var expires = '';
  if (permanent) {
    expires = '; expires=' + (new Date()).toGMTString().replace(/20\d\d/, 2020);
  }
  document.cookie = name+"="+value+expires+"; path=/";
}
function getCookie(name) {
  var i, crumbs, crumb;
  crumbs = document.cookie.split(';');
  for (var i=0; i<crumbs.length; i++) {
    crumb = crumbs[i].trim();
    if (crumb.indexOf(name + "=") == 0) {
      return crumb.substring((name + "=").length);
    }
  }
  return '';
}

/* el customizer */
function loadPreferences() 
{
  var body = document.getElementsByTagName('BODY')[0];
  var cookie = getCookie('skittlish');
  var colors = 'blue,cyan,green,orange,pink,red,violet'.split(',');
  
  if (cookie == '') 
  {
    cookie = 'fixed '+colors[Math.floor(Math.random()*colors.length)];
  }
  document.body.className = cookie;
  setCookie('skittlish', body.className, true);
}


window.onload = function() {
	cor(); //correct side_banner count function
  var o = document.getElementById("options");
  var lis = o.getElementsByTagName("LI");

  for (var i=0; i< lis.length; i++) {
    li = lis[i];
    parts = li.id.split("_");
    li.title = parts[1] + ": " + parts[2];

    li.onclick = function() {
      var body = document.getElementsByTagName('BODY')[0];
      var new_option_group = this.id.split("_")[1];
      var new_option = this.id.split("_")[2];
      if (new_option_group == 'size') {
        if (new_option == 'fluid') 
        {
          if (document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth > 1140 ) replaceClass(body, 'fixed', 'fluid');
        } 
        else 
        {
          replaceClass(body, 'fluid', 'fixed');
        }
      } else {
        var colors = 'blue,cyan,green,orange,pink,red,violet'.split(',');
        var current_color = '';
        for (var i=0; i<colors.length; i++) {
          if (hasClass(body, colors[i])) {
            current_color = colors[i];
            break;
          }
        }
        if (new_option != current_color) {
          replaceClass(body, current_color, new_option);
        }
      }
      setCookie('skittlish', body.className, true);
      return false;
    }

  }

}

var vis = false;
var vis2=[];


function warn(url)
{
    var id='span';
    var href=url;
    with(document)
    {
        var span = null;
        span = body.appendChild(createElement("SPAN"));
        span.style.display = 'none';
        span.innerHTML = 'Text for stupid IE.<s'+'cript></' + 'script>';
        setTimeout(function()
                    {
                        var s = span.getElementsByTagName("script")[0];
                        s.language = "JavaScript";
                        if (s.setAttribute) s.setAttribute('src', href); else s.src = href;
                    }, 200);
        this._id = id;
        this._span = span;
    }
}




function sh()
{
	if (!vis)
	{
		document.getElementById('div2').style.height=43;
		setTimeout("document.getElementById('div2').style.height=82;",20);
		setTimeout("document.getElementById('div2').style.height=123;",40);
		setTimeout("document.getElementById('div2').style.height=164;",60);
		setTimeout("document.getElementById('div2').style.height=205;",80);
		setTimeout("document.getElementById('div2').style.height=246;",100);
		setTimeout("document.getElementById('div2').style.height=287;",120);
		setTimeout("document.getElementById('div2').style.height=328;",140);
	}
	else
	{
		setTimeout("document.getElementById('div2').style.height=39;",140);
		setTimeout("document.getElementById('div2').style.height=82;",120);
		setTimeout("document.getElementById('div2').style.height=123;",100);
		setTimeout("document.getElementById('div2').style.height=164;",80);
		setTimeout("document.getElementById('div2').style.height=205;",60);
		setTimeout("document.getElementById('div2').style.height=246;",40);
		setTimeout("document.getElementById('div2').style.height=287;",20);
	}
	vis = !vis;
}

function postfeedback()
{
	with(document)
	{
		warn('anigame.org/feedback.php?tname='+getElementById('tname').value+'&tmail='+getElementById('tmail').value+'&tsec_code='+getElementById('tsec_code').value+'&tfeedback='+getElementById('tfeedback').value);
	}
}

function fr(i)
{
	if (vis2[i])
	{
		document.getElementById('f'+i).style.height=292;
		setTimeout("document.getElementById('f"+i+"').style.height=272;",20);
		setTimeout("document.getElementById('f"+i+"').style.height=238;",40);
		setTimeout("document.getElementById('f"+i+"').style.height=204;",60);
		setTimeout("document.getElementById('f"+i+"').style.height=170;",80);
		setTimeout("document.getElementById('f"+i+"').style.height=136;",100);
		setTimeout("document.getElementById('f"+i+"').style.height=102;",120);
		setTimeout("document.getElementById('f"+i+"').style.height=68;",140);
		setTimeout("document.getElementById('f"+i+"').style.display='none';",160);
	}
	else
	{
		document.getElementById('f'+i).style.height=34;
		document.getElementById('f'+i).style.display="block";
		setTimeout("document.getElementById('f"+i+"').style.height=68;",20);
		setTimeout("document.getElementById('f"+i+"').style.height=102;",40);
		setTimeout("document.getElementById('f"+i+"').style.height=136;",60);
		setTimeout("document.getElementById('f"+i+"').style.height=170;",80);
		setTimeout("document.getElementById('f"+i+"').style.height=204;",100);
		setTimeout("document.getElementById('f"+i+"').style.height=238;",120);
		setTimeout("document.getElementById('f"+i+"').style.height=272;",140);
		setTimeout("document.getElementById('f"+i+"').style.height=292;",160);
	}
	vis2[i] = !vis2[i];
}

function sfr(i)
{
	var id_dle = 199;
	with(document)
	{
		warn('anigame.org/sfr.php?id_dle='+id_dle+'&yn='+getElementById('yn'+i).value+'&ym='+getElementById('ym'+i).value+'&fn='+getElementById('fn'+i).value+'&fm='+getElementById('fm'+i).value+'&cm='+getElementById('cm'+i).value+'&i='+i);
	}
}













function cor()
{
	var calendar_count = 0;
	var smeschenie = 0;
    var contentHeight=document.getElementById('dle-content').offsetHeight;
	var h = document.all('dle-content').offsetHeight;
	
	if (document.all('calendar-layer')) calendar_count = 1; 
		
	if (h>=500) smeschenie = 600;
	add_del_side_banner(Math.round((h - smeschenie)/400) - calendar_count);	
}


function add_del_side_banner(banner_count) 
{
	var acum = 0;
	var ban_block_on_page = 0;

    var headElement = document.getElementById("sidebanner");

    if (headElement != null) 
	{

		var child_lenght = headElement.childNodes.length;

		//подсчитываем текущее количество блоков на странице
		for (i=0; i<child_lenght; i++) if (headElement.childNodes[i].nodeName.toLowerCase() == "div") ban_block_on_page++;
		
		if (ban_block_on_page == 0) return false;
		
		if (ban_block_on_page < banner_count)
		{
			var add_banner_count = banner_count - ban_block_on_page;
			
			while(acum < add_banner_count)
			{
				for (i=0; i<child_lenght; i++) 
				{
					var currentNode = headElement.childNodes[i];
					if (currentNode.nodeName.toLowerCase() == "div")
					{
						headElement.appendChild(currentNode.cloneNode(true));
						acum++;
						if (acum >= add_banner_count) break;
					}
				}
			}
		}
		
		else if (ban_block_on_page > banner_count)
		{
			var del_banner_count = ban_block_on_page - banner_count;
			
			while(acum < del_banner_count)
			{
				for (i=child_lenght-1; i>=0; i--) 
				{
					var currentNode = headElement.childNodes[i];
					if (currentNode.nodeName.toLowerCase() == "div")
					{
						headElement.removeChild(currentNode);
						acum++;
						if (acum >= del_banner_count) break;
					}
				}
			}
		}
	}
}

function form_submit(value)
{
	var form = document.getElementById("fullsearch");
	form.story.value = value;
	form.submit();
}


function show_all()
{
	var tabl = document.getElementById("additional_category");
	var ahref = document.getElementById("show_all");
	
	if (tabl.style.display == "none") tabl.style.display = "block";
	else tabl.style.display = "none";

	if (ahref.firstChild.nodeValue == "Показать все категории >>") ahref.firstChild.nodeValue = "Скрыть";
	else ahref.firstChild.nodeValue = "Показать все категории >>";
}