var xmlHttp;
var flag = false;
var anek = new Array();
var mcount;
function createXmlHttpRequestObject() {
  var xmlHttp = null;
  if(window.ActiveXObject) {
    if(window.XMLHttpRequest) {
	  xmlHttp = new XMLHttpRequest();
	  }
	else {
      try {
	    xmlHttp = new XMLHttpRequest();
	    }
	  catch(e) {
	      var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
		  for(var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++) {
		    try {
		      xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
		      }
		    catch(e) {}
		    }
	      }
		}
	  }
  else {
    try {
	  xmlHttp = new XMLHttpRequest();
	  }
	catch(e) {
	  xmlHttp = false;
	  }
    }
  if(!xmlHttp) {
	document.getElementById("divMess").innerHTML = "Ошибка загрузки блока";
	flag = false;
	}
  else {
    flag = true;
    return xmlHttp;
	}
  }
var cnt = 0;
var t = 0;
var misc = 0;
var fpanel = '<div class="l_block"><div class="r_m_block"><div class="r_b_head">Случайный анекдот</div><div class="r_w_main">';
var panel = '';
function gen() {
  xmlHttp = createXmlHttpRequestObject();
  t = Math.round(Math.random()*12321);
  misc = Math.round(Math.random()*1000000000);
  anek[anek.length] = t;
  mcount = anek.length;
  if(anek.length > 0) {
    panel = '<div style="font-weight:bolder;font-size:12px;padding:3px;"><a href="javascript:back_a()">&lt;&lt; назад</a> <b style="color:#999;font-weight:normal;">|<!-- навигация | --></b> <a href="javascript:next_a()">вперёд &gt;&gt;</a> <b style="color:#999;font-weight:normal;">&nbsp;&nbsp;&nbsp;||&nbsp;&nbsp;&nbsp;</b> <a href=\"javascript:show_new()\">ещё >></a></div>';
    }
  }
function show_new() {
  load_a();
  //pre_load2();
  process();
  }
function process() {
  gen();
  if(flag) {
    view_anek();
    }
  }
function view_anek() {
  if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
    xmlHttp.open("GET", "ztest.php?rnd=" + t +"&misc=" + misc, true);
	xmlHttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
//	xmlHttp.setRequestHeader("Content-Type", "text/plain;charset=Windows-1251");
	xmlHttp.onreadystatechange = handleServerResponse;
	xmlHttp.send(null);
    }
  cnt++;
  }
function handleServerResponse() {
  if(xmlHttp.readyState == 4) {
    if(xmlHttp.status == 200) {
      clearInterval(ntmid);
      mess = "";
      tmess = "";
      cnt_mess = 0;
	  textResponse = xmlHttp.responseText;
	  document.getElementById("divMess").innerHTML = fpanel+panel+textResponse+"</div></div></div>";
	  }
	else {
	  alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText);
	  }
    }
  }
function view_a() {
  alert(anek)
  }
function next_a() {
  if(mcount+1 < anek.length) {
    xmlHttp = createXmlHttpRequestObject();
    misc = Math.round(Math.random()*1000000000);
    mcount+=1;
    t = anek[mcount];
	load_a();
	view_anek();
	}
  }
function back_a() {
  if(mcount==anek.length)
    mcount-=2;
  else
    if(mcount-1 >= 0)
      mcount-=1;
  if(mcount >= 0) {
    xmlHttp = createXmlHttpRequestObject();
    misc = Math.round(Math.random()*1000000000);
    t = anek[mcount];
	load_a();
	view_anek();
	}
  }
function load_a() {
  pre_load();
  }
var mess = "", tmess = "";
var cnt_mess = 0;
var d = document;
var ntmid = 0, ntmid2 = 0;

function counting() {
  cnt_mess++;
  if(cnt_mess < 6) {
    mess = ".";
	tmess += mess;
	}
  else {
    tmess = ".";
    cnt_mess = 1;
    }
  d.getElementById("load_a").innerHTML = "<span style='font-size:11px;color:#999;font-weight:normal;'><nobr><i>Загрузка:</i> <b style='font-size:35px;color:#800;'>" + tmess +"</b></nobr></span>";
  }
function pre_load() {
  clearInterval(ntmid);
  ntmid = setInterval("counting()",500);
  }
function pre_load2() {
  clearTimeout(ntmid2);
  ntmid2 = setTimeout("process()",2550);
  }
