

var low_link;

(function () {// setting up low resolution
	var head = document.getElementsByTagName('head');
	if (head.length > 0) {
		low_link = document.createElement('link');
		low_link.setAttribute('rel', 'stylesheet');
		low_link.setAttribute('type', 'text/css');
		low_link.setAttribute('href', '/css/low.css');
		low_link.disabled = true;
		head = head[0];
		head.appendChild(low_link);
		KAddSelfHandler(window, 'resize', ResizeProc, this);
		ResizeProc(false);
	}
})();

function ResizeProc(e) {
	var w = document.documentElement.clientWidth;
	low_link.disabled = w > 1200;
	var cls = '';
	cls += (w > 1000 && (!low_link.disabled))?' so-low':'';
	//cls += (w <= 640)?' very-low':'';
	document.body.className = cls.length > 0?cls.substr(1):'';
}


function sign_form(form, elements) {
	var sign = 0;
	for(var i=0; i<elements.length; i++) {
		// ;)
		sign += form.elements[elements[i]].value.length;																																												sign += form.elements[elements[i]].value.length;
	}
	form.elements['id'].value = sign;
	return true;
}


// Прокрутка
function scr(obj) {
	var attr = 'href';
	if (obj.tagName.toLowerCase() == 'form') {
		switch (obj.method.toLowerCase()) {
			case 'get':
				attr = false;
			break;
			case 'post':
				attr = 'action';
			break;
		}
	}
	if (attr) {
		var val = obj.getAttribute(attr);
		if (/(\?|&)scr=\d+x\d+($|&)/.test(val)) {
			val = val.replace(/(\?|&)scr=\d+x\d+($|&)/, '$1scr='+GetScroll()+'$2');
		} else {
			val += (/\?/.test(val)?'&':'?')+'scr='+GetScroll();
		}
		obj.setAttribute(attr, val);
	}
	return true;
}

function GetScroll() {
	return document.documentElement.scrollLeft + 'x' + document.documentElement.scrollTop;
}

function SetScroll(aScrX, aScrY) {
	document.documentElement.scrollLeft = aScrX;
	document.documentElement.scrollTop = aScrY;
}

function update_current_link() {
	var as=document.getElementsByTagName('a');
	for(var i=0; i<as.length; i++) {
		set_stype(as[i], 'current-page', as[i].href.toString()==document.location.href.toString());
	}
}

function window_load() {
	var href = document.location.href;
	var Reg = /(\?|&)scr=(\d+)x(\d+)($|&)/;
	var R = Reg.exec(href);
	if (R) {
		SetScroll(R[2], R[3]);
	}
	
	update_current_link();
}


KAddSelfHandler(window, 'load', window_load, window);



function KAddHandler(object, event, handler)
{
	if (typeof object.addEventListener != 'undefined')
		object.addEventListener(event, handler, false);
  	else 
	if (typeof object.attachEvent != 'undefined')
		object.attachEvent('on' + event, handler);
	else
		return alert('KAddHandler failed.');
	return handler;
}


function KAddSelfHandler(object, event, handler, context)
{
	var self_handler = function (e) {return handler.apply(context, [e||window.event]);};
	KAddHandler(object, event, self_handler);
	return self_handler;
}

function Handled(event)
{
	if (typeof event.preventDefault != 'undefined') event.preventDefault();
	if (typeof event.returnValue != 'undefined') event.returnValue = false;
	return false;		
}

function setFrmData(frm_id, params) {
	var frm = document.getElementById(frm_id);
	setFrmData2(frm, params);
}
function setFrmData2(frm, params) {
	if (frm.on_before_set) {
		frm.on_before_set(params);
	}
	for(var i in params) {
		if (frm.elements[i])
			if ((frm.elements[i].type=='checkbox')||(frm.elements[i].type=='radio')) {
				frm.elements[i].checked=frm.elements[i].value==params[i];
			} else {
				frm.elements[i].value=params[i];
			}
	}
}

function object_info(o) {
	s = '';
	for(var i in o) {
		s = s + i + ' = "'+o[i]+'"\r\n';
	}
	w = window.open();
	w.document.open();
	w.document.writeln('<pre id="content"></pre>');
	w.document.close();
	w.document.getElementById('content').appendChild(w.document.createTextNode(s));
}

function set_stype(el, cls, isset) {
	var el_cls = el.className!=''?el.className.split(' '):[];
	var i;
	for(i=0;i<el_cls.length;i++) {
		if (el_cls[i] == cls) {
			if (!isset) {
				delete el_cls[i];
				el.className = el_cls.join(' ');
			}
			return;
		}
	}
	if (isset) {
		el_cls.push(cls);
	}
	el.className = el_cls.join(' ');
}

function has_current_link(el) {
	var a = el.getElementsByTagName('a'), i;
	for (i=0; i<a.length; i++) {
		if (a[i].href.toString()==document.location.href.toString()) return true;
	}
	return false;
}

function process_main_menu() {
	var head_ul = document.getElementById('menu_head');
	var head_li = head_ul.getElementsByTagName('li');
	var i,j,li,a;
	for (i=0;i<head_li.length;i++) {
		li = head_li[i];
		a = li.getElementsByTagName('a');
		for (j=0; j<a.length; j++) {
			KAddSelfHandler(a[j], 'click', process_main_menu_click, a[j]);
			KAddSelfHandler(a[j], 'mouseover', process_main_menu_click, a[j]);
			if (
				(i==0 && j==0) 
				 || (a[j].href.toString()==document.location.href.toString()) 
				 || (has_current_link(document.getElementById('mi'+a[j].parentNode.getAttribute('x:for'))))
				 || (href_equal_div(a[j].href.toString(), document.location.href.toString()))
			) {
				process_main_menu_click.apply(a[j], [false]);
			}
		}
	}
}
var main_menu_current=false,main_menu_cline=false;

function process_main_menu_click(e) {
	try {
		if (main_menu_current) set_stype(main_menu_current, 'hidden', true);
		main_menu_current=document.getElementById('mi'+this.parentNode.getAttribute('x:for'));
		if (main_menu_current) set_stype(main_menu_current, 'hidden', false);
		if (main_menu_cline) set_stype(main_menu_cline, 'menu-selected', false);
		main_menu_cline=this.parentNode;
		if (main_menu_cline) set_stype(main_menu_cline, 'menu-selected', true);
	} catch (err) {}
	if (e) return Handled(e);
}

var equal_div_ = ['/education','/science','/social','/university'];
function href_equal_div(a1, a2) {
	a1=a1.replace(/^http:\/\/[^\/]+\//i,'/');
	a2=a2.replace(/^http:\/\/[^\/]+\//i,'/');
	for(var i=0; i<equal_div_.length; i++) {
		if (a1.substr(0, equal_div_[i].length)==a2.substr(0, equal_div_[i].length) 
			&& a1.substr(0, equal_div_[i].length) == equal_div_[i]) {
			return true;
		}
	}
	return false;
}