

window.onload = function () {
	writeTl();
	writeCRightMain();
}


function createXMLHttpRequest() {
  try { return new XMLHttpRequest(); } catch(e) {}
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

function getPage(url) 
{
	
	var xr = createXMLHttpRequest();

	xr.open("GET", url, false);
	xr.send(null);

	return xr;
}

function writeTl(siteId)
{
	siteId = siteId ? siteId : 'fontanka';

	var siteRSS = {};
	siteRSS['fontanka'] = '/extdata/fontanka.xml';
	siteRSS['47news'] = '/extdata/47news.xml';
	siteRSS['mk'] = '/extdata/mk.xml';
	siteRSS['books'] = '/ourworks/books.html';
	siteRSS['invest'] = '/ourworks/invest.html';

	var xr = getPage(siteRSS[siteId]);

	if (siteId == 'books' || siteId == 'invest') {
		document.getElementById('timeline').innerHTML = xr.responseText;
		document.getElementById('rss-allnews').innerHTML = '';
		return false;
	}

	try {
		if (xr.responseXML.firstChild.nodeName == 'parsererror') {
			return false;
		}
		var items = xr.responseXML.getElementsByTagName('item');
	} catch(e) {
		return false;
	}


	function getTime(date) {
		var td = new Date(date);
		return (td.getHours() < 10 ? '0' : '') + td.getHours() + ':' 
			+ (td.getMinutes() < 10 ? '0' : '') + td.getMinutes();
	}
	var html = '';
	for (var i = 0; i < 6; i++) {
		html = html +
			'<dt>' + getTime(items[i].getElementsByTagName('pubDate')[0].childNodes[0].nodeValue) + "</dt>\n" +
			'<dd><a href="' + items[i].getElementsByTagName('link')[0].childNodes[0].nodeValue + '">' +
		items[i].getElementsByTagName('title')[0].childNodes[0].nodeValue + "</a></dd>\n";
	}

	document.getElementById('timeline').innerHTML = html;
	if (siteId == 'fontanka') {
		document.getElementById('rss-allnews').innerHTML = '<a class=rss href="http://www.fontanka.ru/fontanka.rss" target=_blank>Новости в RSS</a> <a href="http://www.fontanka.ru" target=_blank>Все новости Фонтанка.ру</a>';
	} if (siteId == '47news') {
		document.getElementById('rss-allnews').innerHTML = '<a class=rss href="http://www.47news.ru/47news.rss" target=_blank>Новости в RSS</a> <a href="http://www.47news.ru" target=_blank>Все новости 47news.ru</a>';
	} if (siteId == 'mk') {
		document.getElementById('rss-allnews').innerHTML = '<a class=rss href="http://www.mk-piter.ru/root/shtml/rss.xml" target=_blank>Новости в RSS</a> <a href="http://www.mk-piter.ru" target=_blank>Все новости "МК в Питере"</a>';
	}
	return false;
}


function writeProjects(prj)
{
	prj = prj ? prj : 'fontanka';

	var xr = getPage('/projects/' + prj + '.html');

	document.getElementById('projects').innerHTML = xr.responseText;

	var pls = document.getElementsByName('projects-li');
	for (var i = 0; i < pls.length; i++) {
		pls[i].className = '';
	}

	document.getElementById('projects-' + prj).className = 'vip';

	return false;

	
}

function writeCRightMain()
{
	var xr = getPage('/cright/main.html');
	
	document.getElementById('content-right').innerHTML = xr.responseText;
	writeProjects();
	writeCLeftMain()
//alert('WriteMain');
	return false;
}

function writeProjectsFull(prj)
{
	var xr = getPage('/projects/' + prj + '-full.html');

	document.getElementById('content-right').innerHTML = xr.responseText;
	writeCLeft();

	return false;
}

function writeCRight(page)
{
	var xr = getPage('/cright/' + page + '.html');
	document.getElementById('content-right').innerHTML = xr.responseText;
	document.getElementById('csw_content').style.clip='rect(0px,'+document.getElementById('csw').clientWidth+'px,'+document.getElementById('csw').clientHeight+'px,0)';
	writeCLeft();
	return false;
}

function writeCLeft()
{
	var xr = getPage('/cleft/indexpic.html');
	document.getElementById('content-left').innerHTML = xr.responseText;
	return false;
}
function writeCLeftMain()
{
	var xr = getPage('/cleft/indextext.html');
	document.getElementById('content-left').innerHTML = xr.responseText;
	return false;
}

function scrollUp(boxid,contentid)
{
	var box=document.getElementById(boxid);
	var content=document.getElementById(contentid);
	if ((!box) || (!content)) {
		return false;
	}
	var hidden_height=content.scrollHeight-box.clientHeight;
	if (hidden_height <=0) {
		content.style.top='0px';
		return true;
	}

	if ((-content.offsetTop) < hidden_height) {
		content.style.top=(content.offsetTop-5).toString()+'px';
	} else {
		content.style.top=(-hidden_height).toString()+'px';
	}
	return true;

}

function scrollDown(boxid,contentid)
{
	var box=document.getElementById(boxid);
	var content=document.getElementById(contentid);
	if ((!box) || (!content)) {
		return false;
	}

	if (content.offsetTop < 0) {
		content.style.top=(content.offsetTop+5).toString()+'px';
	} else {
		content.style.top='0px';
	}
	return true;

}

function setFace(facenum) 
{
//alert('SetFace start');
   var bigpic=document.getElementById('fullface');
   var leadtext=document.getElementById('facelead');
   var whotext=document.getElementById('facewho');
   bigpic.src='/faces/'+facenum+'/face.jpg';
//alert('SetFace picture set');

   var xr = getPage('/faces/'+facenum+'/lead.html');
   if (xr.status==404) {
//alert('SetFace lead read error');
	   leadtext.innerHTML = 'Сведения отсутствуют';
   } else {
//alert('SetFace lead readOK');
	   leadtext.innerHTML = xr.responseText;
   }
//alert('try next');
   xr = getPage('/faces/'+facenum+'/whois.html');
   if (xr.status==404) {
//alert('SetFace name read error');
	   whotext.innerHTML = '(имя не указано)';
   } else {
//alert('SetFace name read OK');
	   whotext.innerHTML = xr.responseText;
   }

   var currface=document.getElementById('currface');
   if (currface) {
//alert('SetFace '+facenum+' (hidden elem OK)');
	currface.value=facenum;
   } else {
//alert('SetFace '+facenum+' (NO hidden elem)');
   }
   return false;
}

function setBio() 
{
   var currface=document.getElementById('currface');
   if (!currface) {
	   return false;
   }
   var facenum=currface.value;
   if (!facenum) {
	   return false;
   }

   var xr = getPage('/faces/biofull.html');
   document.getElementById('content-right').innerHTML = xr.responseText;

   var biocontent=document.getElementById('csw_content');
   var bigpic=document.getElementById('bioface');
   bigpic.src='/faces/'+facenum+'/face.jpg';

   xr = getPage('/faces/'+facenum+'/bio.html');

   if (xr.status==404) {
	  biocontent.innerHTML += '(биография недоступна)';
   } else {
	  biocontent.innerHTML += xr.responseText;
   }
   return false;

}

function OnTimer() {
 var projscroll=document.getElementById('projscroll');
 var projiconscroll=document.getElementById('projiconscroll');
 var leftscroll=document.getElementById('leftscroll');
 var facescroll=document.getElementById('facescroll');
 if (projscroll) {
	if (projscroll.value=='up') {
		scrollUp('csw','csw_content');
	} else if (projscroll.value=='down') {
		scrollDown('csw','csw_content');
	}
 }
 if (leftscroll) {
	if (leftscroll.value=='up') {
		scrollUp('left_csw','left_csw_content');
	} else if (leftscroll.value=='down') {
		scrollDown('left_csw','left_csw_content');
	}
 }
 if (facescroll) {
	if (facescroll.value=='up') {
		scrollUp('face_csw','face_csw_content');
	} else if (facescroll.value=='down') {
		scrollDown('face_csw','face_csw_content');
	}
 }
 if (projiconscroll) {
	if (projiconscroll.value=='up') {
		scrollUp('projicon_csw','projicon_csw_content');
	} else if (projiconscroll.value=='down') {
		scrollDown('projicon_csw','projicon_csw_content');
	}
 }
}

// --

OnTimer();
window.setInterval(OnTimer, 20);


