
function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

var sids = new Object;
var hids = new Object;

function show_set(catset){
//	alert(catset);
	if(!catset){
		catset = 'default';
	}

	for(i in hids[catset]){
		show(i, catset, 1);
	}
}

function hide_set(catset, except){
	if(!catset){
		catset = 'default';
	}

	for(i in sids[catset]){
		if(except && except != i){
			hide(i, catset);
		}
	}
}

function hide(id, catset){
	obj = find_el(id);

	if(!catset){
		catset = 'default';
	}

	if(!hids[catset]){
		hids[catset] = new Array();
	}

	hids[catset][id] = 1;
	//obj.visibility =  'hidden';


	if(obj){
		obj.style.display = 'none';
		document.cookie = id + "=none; path=/";
	}

	return false;
}

function find_el(id){
	if (document.getElementById)	{
		obj = document.getElementById(id);

	} else if (document.all) {
		obj = document.all[id];
	}
	return obj;
}

function show(id, catset, skipall){
	if(!catset){
		catset = 'default';
	}

	if(!sids[catset]){
		sids[catset] = new Array();
	}

	sids[catset][id] = 1;

	if(!skipall){
		hide_set(catset, id);
	}

	obj = find_el(id);

	if(obj){
		obj.style.display = "block";
		document.cookie = id + "=block; path=/";
		document.cookie = "sh_last_" + catset + "=" + id + "; path=/";
	}

	return false;
}


function show_hide(id, catset) {
	obj = find_el(id);

	if(!obj){
		return false;
	}
	if(obj.style.display == "block"){
		hide(id, catset);
	} else {
		show(id, catset);
	}

	return false;
}

var counter = 0;
function clone_template(id_template, id_root) {

	counter++;
	var newFields = document.getElementById(id_template).cloneNode(true);
	newFields.id = id_template + '_' + counter;
	newFields.style.display = 'block';

	var insertHere = document.getElementById(id_root);
	insertHere.parentNode.insertBefore(newFields, insertHere);

	return newFields.id;
}

function ajax(page, func, meth, postdata) {
	if(!meth) meth='GET';
	if(!postdata) postdata=null;

	if(window.XMLHttpRequest) {
		theRequest = new XMLHttpRequest();
		if(theRequest.overrideMimeType){
			theRequest.overrideMimeType('text/xml');
		}
		//theRequest.setRequestHeader("Content-Type", "text/xml;charset=windows-1251")
	} else if(window.ActiveXObject) {
		try {
			theRequest =new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try	{
				theRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if(!theRequest) {
		alert('Error: could not create XMLHTTP object.');
		return false;
	}

	theRequest.onreadystatechange = func;
	theRequest.open(meth, page, true);
	//theRequest.setRequestHeader("Content-type", "text/xml; charset=utf-8");
	//theRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251');
	if(postdata)
		theRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	theRequest.send(postdata);

	return false;
}

var qs = new Array();
function readqs() {
	var query = window.location.search.substring(1);
	var p = query.split('&');
	for (var i=0; i<p.length; i++) {
   	var pos = p[i].indexOf('=');
   	if (pos > 0) {
      	var k = p[i].substring(0,pos);
      	var v = p[i].substring(pos+1);
      	qs[k] = v;
      }
   }
}

Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();

function getAbsolutePos(el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};


function iswap(id, img){
	e = find_el(id);
	e.src = img;
	return 1;
}

function note_scroll(){
	t = document.getElementById('notescroller');
    window.onscroll=function(){

		if (document.documentElement && document.documentElement.scrollTop)
			theTop = document.documentElement.scrollTop;
		else if (document.body)
			theTop = document.body.scrollTop;

		var aa = getAbsolutePos(document.getElementById('topmarker'));

		theTop -= aa.y;
		if(theTop < 0){ theTop = 0; }

		document.getElementById('notescroller').style.top = theTop + "px";
	}

    window.onscroll();
}