// Меню на главной странице
var menus = new Array('forvm', 'respvblica', 'viaromana', 'vitacivica', 'religio', 'sodalitatis', 'etcetera', 'librarivm');
function index_menu(layer_ref) {

	if ( document.getElementById('link_'+layer_ref).className=='ind_Menu_active1' ) {
		var state = 'block';
	} else {
		var state = 'none';
	}

	if (state == 'block') {
		state = 'none';
		document.getElementById('link_'+layer_ref).className='ind_Menu';
	} else {
		state = 'block';
		document.getElementById('link_'+layer_ref).className='ind_Menu_active1';
		
		var l = menus.length-1;
		for (i=0;i<=l;i++) {
			if ( layer_ref != menus[i] ) {
				document.getElementById(menus[i]).style.display='none';
				document.getElementById('link_'+menus[i]).className='ind_Menu';
			} else {
				document.getElementById(menus[i]).style.display='block';
				document.getElementById('link_'+menus[i]).className='ind_Menu_active1';
			}		
		}
	}
	if (document.all) {
		//IS IE 4 or 5 (or 6 beta)
		eval( "document.all." + layer_ref + ".style.display = state");
	}
	if (document.layers) {
		//IS NETSCAPE 4 or below
		document.layers[layer_ref].display = state;
	}
	if (document.getElementById &&!document.all) {
		hza = document.getElementById(layer_ref);
		hza.style.display = state;
	}
}

// Показывает или скрывает
var state='none';
function showhide(layer_ref) {
	if (state == 'block') {
		state = 'none';
	} else {
		state = 'block';
	}
	if (document.all) {
		//IS IE 4 or 5 (or 6 beta)
		eval( "document.all." + layer_ref + ".style.display = state");
	}
	if (document.layers) {
		//IS NETSCAPE 4 or below
		document.layers[layer_ref].display = state;
	}
	if (document.getElementById &&!document.all) {
		hza = document.getElementById(layer_ref);
		hza.style.display = state;
	}
}

// Скрипт для ссылок .open_link
function open_link(layer_ref, link_id) {
	if (document.getElementById(layer_ref).style.display == 'block') {
		state = 'none';
		document.getElementById(link_id).className = 'open_link';
	} else if (document.getElementById(layer_ref).style.display == 'none' || document.getElementById(layer_ref).style.display == '') {
		state = 'block';
		document.getElementById(link_id).className = 'open_link_active';
	}
    document.getElementById(layer_ref).style.display = state;
}

// Определяет нажата ли клавиша Caps Lock
function _capsLockDetect(e) {
	if (!e) e = window.event || null;
	if (typeof(oncapslock)!="function" || !e) return;
	var n = e.keyCode?e.keyCode:e.charCode;
	if (e.type=="keypress") {
		var c = String.fromCharCode(n);
		var cUC = c.toUpperCase();
		var cLC = c.toLowerCase();
		if (cUC!=cLC) {
			oncapslock((e.shiftKey && cLC==c) || (!e.shiftKey && cUC==c));
		}
	} else if (e.type=="keydown" && n==20) oncapslock(false);
}
	if (document.addEventListener) {
		document.addEventListener("keypress", _capsLockDetect, false);
		document.addEventListener("keydown", _capsLockDetect, false);
	} else if (document.attachEvent) {
		document.attachEvent("onkeypress", _capsLockDetect);
		document.attachEvent("onkeydown", _capsLockDetect);
	} else document.onkeypress = document.onkeydown = _capsLockDetect;



// Показывает форму для входа
function showLogin() {
	showhide('auth');
	window.scrollTo(0,0);
	if (document.getElementById('auth').style.display == 'block') {
		document.body.style.overflow = 'hidden';
	} else {
		document.body.style.overflow = 'auto';
	}
	if (document.getElementById('auth').style.display == 'block' && document.getElementById('username')) {
		document.getElementById('username').focus();
	}
}

// Скрывает форму для входа
function hideLogin() {
	if (document.getElementById('auth').style.display == 'block') {
		showhide('auth');
		document.body.style.overflow = 'auto';
	}
}

// Ловит нажатие Caps Lock
window.oncapslock = function (on) {
	if(document.getElementById('capsLock')) {
		document.getElementById('capsLock').style.display=on?'block':'none';
	}
}















// Запрос AJAX
var req;
function loadXMLDoc(url, postdata) {

	if (window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange;
        		req.open("POST", url, true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        		req.send(postdata);
        	} catch (e){}
    		} else if (window.ActiveXObject) {
        	try {
			req = new ActiveXObject('Msxml2.XMLHTTP');
			if (req) {
            			req.onreadystatechange = processReqChange;
            			req.open("POST", url, true);
				req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            			req.send(postdata);
        		}
        	} catch (e){}
        	try {
			req = new ActiveXObject('Microsoft.XMLHTTP');
			if (req) {
            			req.onreadystatechange = processReqChange;
            			req.open("POST", url, true);
				req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            			req.send(postdata);
        		}
		} catch (e){}
	}
	return null;
}

function processReqChange() {
	// only if req shows "complete"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			response = req.responseXML.documentElement;

      			method = response.getElementsByTagName('method')[0].firstChild.data;

      			result = response.getElementsByTagName('result')[0].firstChild.data;

      			eval(method + "('', '', '', '', result)");
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}

function validateInput (id, value, field, table, result) {
	if (result != '') { 
		// Response mode
		message = document.getElementById('nameCheckFailed');
		if (result == '1' || result == '2') {
            
			message.className = 'error';
		} else {
            
			message.className = 'hidden';
		} 
	} else {
		// Input mode
		url = 'http://sarmatia.org/';
		postdata =
		'do=' + encodeURIComponent(unescape('validate')) +
		'&id=' + encodeURIComponent(unescape(id)) +
		'&value=' + encodeURIComponent(unescape(value)) +
		'&field=' + encodeURIComponent(unescape(field)) +
		'&table=' + encodeURIComponent(unescape(table));
		loadXMLDoc(url, postdata);
	}
}