function getPassportUserInfo(){
	auth_cookie = getAuthCookie('una');
	if(auth_cookie) {
		showUserAuthBlock('');
		return false;
	}
	Ext.Ajax.request({
	url: '/ajax/auth.php?' + Math.random(),
	success: function(response) {
		response = Ext.decode(response.responseText);
		if(response.success) {
			if(response.data){
				// User authorized
				username = response.data;
				showUserAuthBlock(username);
			}
		}else{
			// User not authorized
			showUserAuthBlock('');
		}
	},
	failure: function() {
		var passportLogin = Ext.get('passport_userLogin');
		var passportLogout = Ext.get('passport_userLogout');
		var userInfo = Ext.get('passport_userInfo');
		if(passportLogin){
			passportLogin.dom.style.display = '';
		}
		if(passportLogout){
			passportLogout.dom.style.display = 'none';
		}
				if (userInfo){
			userInfo.update('');
			userInfo.dom.style.display = 'none';
		}
	},
	params: {op:'getinfo'}
	});
}

function showUserAuthBlock(username){
	var passportLogout = Ext.get('passport_userLogout');
	var passportLogin = Ext.get('passport_userLogin');
	var userInfo = Ext.get('passport_userInfo');
	if(username != ''){
		if(userInfo){
					// Show username
					userInfo.update(username);
					userInfo.dom.style.display = '';
				}
				if(passportLogout){
					// Show logout form
					passportLogout.dom.style.display = '';
				}
				if(passportLogin){
					// Hide login form
					passportLogin.dom.style.display = 'none';
				}
		}else{
			if (userInfo){
				// Clear username
				userInfo.update('');
				userInfo.dom.style.display = 'none';
			}
			if(passportLogout){
				// Hide logout form
				passportLogout.dom.style.display = 'none';
			}
			if(passportLogin){
				// Show login form
				passportLogin.dom.style.display = '';
			}
		}
	
		}

function loginAsUser(returnPath){
	var loginAs = $('passport_login_as_user').value;
	var login = $('username').value;
	if(loginAs != '' && login != '' && login != loginAs){
		$('passport_return_path').value =returnPath + '?login_as_user=1&user_login=' + loginAs + '&admin_login=' + login;
		if($('passport_return_path').value == ''){
			return false;
		}
		return true;
	}else if(loginAs == ''){
		// Show error block
		$('error_seat').innerHTML = 'Укажите под каким пользователем вы хотите зайти.';
		$('show_js_error').style.display = 'block';
		return false;
	}else if(login == ''){
		// Show error block
		$('error_seat').innerHTML = 'Введите свой e-mail.';
		$('show_js_error').style.display = 'block';
		return false;
	}else if(login == loginAs){
		// Show error block
		$('error_seat').innerHTML = 'Ваш e-mail и e-mail пользователя, под которым Вы хотите зайти, не должны совпадать.';
		$('show_js_error').style.display = 'block';
		return false;
	}

	return false;
}

function setAuthCookie(name, value, expires, path, domain, secure) {
	
	base_cookie_path = document.getElementById('default_cookie_path').value; 
	if(!path && base_cookie_path){
		path = base_cookie_path;
	}
	
	base_domain = document.getElementById('site_cookie_path').value; 
	if(!domain && base_domain){
		domain = base_domain;
	}

	document.cookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");

}

function getAuthCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if(cookie.length > 0){
		offset = cookie.indexOf(search);
		if(offset != -1){
			offset += search.length;
			end = cookie.indexOf(";", offset);
			if(end == -1){
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function getAuthUrl(host_name){
	var url = document.location.href;
	url = url.replace(/\?return=.*/,'');
	url = url.replace(/http:\/\/.*?\//,"");
	url = url.replace('#view', '');
	if(url.match(/logout=1/)) url = '';
	if(url.match(/login/)) url = '';

	setAuthCookie('check_auth', '1', 0, '/');
	if(host_name != window.location.hostname){
		var domain = window.location.hostname.replace('www.', '');
		var domain_url = '';
		var dom = '';
		if(domain != ''){
			dom = domain.replace('.' + host_name, '.');
			var domain_url = '&domain=' + domain.replace('.' + host_name, '');
		}
		window.location.href = 'http://' + dom + host_name + '/login/?return=/' + escape(url) + domain_url;
		//var temp = window.location.hostname.match(/([a-z]+[A-Z]+[0-9]*)/ig);
		/*
		var temp = window.location.hostname.match(/([a-zA-Z0-9\-]+)/ig);
		url = url + '&domain=' + temp[0];
		var replace = temp[0] + '.';
		window.location.href = 'http://' + window.location.hostname.replace(replace,'') + '/login/?return=/' + url;
		*/
	}else{
		window.location.href = 'http://' + window.location.hostname + '/login/?return=/' + url;
	}	
}

function prepareCASForm() {
	var rememberMe = ((Ext.get('rememberMe').dom.checked == true) ? 1 : 0);
	if(rememberMe) setAuthCookie('remember', 1, 0, '/');
	return true;
}


