﻿/* LOGIN */

function loginFormSubmit(url) {
	var form = document.getElementById('loginForm');
	var error = '';
	if (typeof form != 'undefined' && form) {
		var elems = form.elements;
		for (var i = 0; i < elems.length; i++) {
			if (elems[i].value == '' || elems[i].value == ' ') error += 'Поле "' + elems[i].getAttribute('CAPTION') + '" не может быть пустым\n';
		}
		if (error != '' && error) {
			displayLoginError(error);
		} else {
			var authxx = new AjaxReq(url, 'post', getLoginData, loginResponseDisplay, true);
		}
	}
};

function getLoginData()
{
	var form = document.getElementById('loginForm');
	var vars = '';
	if (typeof form != 'undefined' && form) {
		var elems = form.elements;
		for (var i = 0; i < elems.length; i++) {
			vars += ( elems[i].name || elems[i].id ) + '=' + elems[i].value;
			if (i != elems.length - 1) vars += '&';
		}
	}
	return encodeURI(vars);
};

function loginResponseDisplay(xmlObj)
{
	if (xmlObj.childNodes) 
	{
		var response = xmlObj.getElementsByTagName('response')[0];
		var success = response.getAttribute('success');
		
		if (success == '1') 
		{
         if (window.location.search == '') authSuccess(response, true, window.location + '?auth=true');
         else authSuccess(response, true, window.location + '&auth=true');
		} 
		else 
		{
			var error = response.getAttribute('error');
			/*var err = document.getElementById('authErrorReport');
			if (typeof err == 'object' && err != null) err.innerHTML = error;*/
			displayLoginError(error);
		}
	}
	
	
};

function displayLoginError(err) {
	alert(err);
};

function authSuccess(response, rel, url) {
	var reload = rel || false;
	//userIsAuthenticated = true;
	
	if (reload) {
		reloadPage(url);
	} else {
		
		if (response && response.childNodes && response.childNodes[0].nodeName.toUpperCase() == 'DIV') 
		{
			obj = document.getElementById('auth');
			if (typeof obj == 'object' && obj != null) 
			{
				var logoutDIV = response.childNodes[0];
				if (logoutDIV.xml) 
				{
					var logoutDIVElem = logoutDIV.cloneNode(true);
					obj.innerHTML = logoutDIVElem.xml;
				} 
				else 
				{
					var childs=obj.childNodes;
					if (childs) 
					{
						for (var i=0,l=childs.length;i<l;i++)
						{
						  obj.removeChild(childs[0]);
						}
					}
					var logoutDIVElem = cloneObj(logoutDIV);
					
					obj.appendChild(logoutDIVElem);
					obj.innerHTML += '';
				}
			}
		}
	}
	
	function reloadPage(url)
	{
			var _url = url || window.location;
			window.location = _url;
	}
};

function clearAuthErrorReport() {
	err = document.getElementById('authErrorReport');
	if (typeof err == 'object' && err != null) err.innerHTML = '&#160;';
};
/* / LOGIN   */
