
var aUser = [];
var response_status = 0;
var isCanCrossDomain = true;
var _keydown = document.onkeydown;

if(jQuery.browser.msie && jQuery.browser.version < 7 || document.domain.indexOf('alfabank.ru') == -1){
	isCanCrossDomain = false;
}

jQuery(document).ready(function(){
	if( window.init_exchange_tables ){ init_exchange_tables(); }
	if( window.init_containers ){ init_containers(); }
	if( window.init_tabs ){ init_tabs(); }
	var eSearch = document.forms['search'];
	if( eSearch ){
		if( eSearch.text ){
			cmnPlaceholder( eSearch.text, eSearch.text.getAttribute( 'placeholder' ), 'empty' );
		}
	}
	
	
	
	_uacct = "UA-1247553-1";
	if (typeof(urchinTracker) == 'function'){
		urchinTracker();
	}
	
	makeTableRowsHiglightableInMSIE();
	if(!(window.city === undefined)){
		detectUserCity();
	}
	

	loadProfile(0);
	loadChatState();
	
	citySelectorInit();
	
	initAlfaConsultant();
	updateFeedbackLinks();
});


function cmnPlaceholder( eThis, sText, sClass_on_empty ){
	eThis.onfocus = function(){ if( eThis.value.length && eThis.value == sText ){ eThis.value = ''; } jQuery(this).removeClass( sClass_on_empty ); eThis.select(); };
	eThis.onblur = function(){ if( !this.value.length ){ jQuery(this).addClass(sClass_on_empty); this.value = sText; } };
	if( !eThis.value.length ){ eThis.onblur(); }
	if( !eThis.getAttribute( 'placeholder' ) ){ eThis.setAttribute( 'placeholder', sText ); }
}


function makeTableRowsHiglightableInMSIE() {
	if ( document.all && !window.opera ) {
		
		jQuery('table.html tr').each(function(index) {
			jQuery(this).hover(function() {
				jQuery(this).addClass('hover');
			}, function() {
				jQuery(this).removeClass('hover');
			});
		});
	}
}

//cmnAdd_event(window, 'load', makeTableRowsHiglightableInMSIE);

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			if(arrReturnElements.push){
				arrReturnElements.push(oElement);
			}
		}
	}
	return (arrReturnElements);
}

function fix_page_footer() {
	if ( window.resizeBy && window.innerWidth && window.innerWidth < screen.width ){
		window.resizeBy( -1, 0 );
		setTimeout( "window.resizeBy( 1, 0 )", 100 );
	}
}

function init_containers() {
	var aeContainers = document.getElementById( 'containers' );
	if ( aeContainers ) {
		aeContainerTitles = getElementsByClassName( aeContainers, '*', 'container-title' );
		for( var i = 0 ; i < aeContainerTitles.length ; i++ ){
			cmnSet_class( aeContainerTitles[i].parentNode, 'container-hidden' );
			aeContainerTitles[i].onclick = function(){
				cmnSwitch_class( this.parentNode, 'container-hidden', 'container-open' );
			};
		}
	}
}

function init_tabs() {
	var aeTabContainer = document.getElementById( 'tabs' );
	if ( aeTabContainer ) {
		var aeTabs = getElementsByClassName( aeTabContainer, 'div', 'tab' );
		for( var i = 0 ; i < aeTabs.length ; i++ ){
			if( i != 0 ){
				cmnSet_class( aeTabs[i], 'tab-hidden' );
				var aeTabContent = document.getElementById( aeTabs[i].id + '-content' );
				cmnSet_class( aeTabContent, 'tab-content-hidden' );
			}
			aeTabs[i].onclick = function(){
				for( var i = 0 ; i < aeTabs.length ; i++ ){
					cmnSet_class( aeTabs[i], 'tab-hidden' );
					var aeTabContent = document.getElementById( aeTabs[i].id + '-content' );
					cmnSet_class( aeTabContent, 'tab-content-hidden' );
				}
				cmnRemove_class( this, 'tab-hidden' );
				var aeTabContent = document.getElementById( this.id + '-content' );
				cmnRemove_class( aeTabContent, 'tab-content-hidden' );
			};
		}
		if( aeTabs.length > 1 ){
			cmnRemove_class( aeTabContainer, 'tabs-hidden' );
		}
	}
}

function detectUserCity() {
//	We run the city-detector script only if our user don't have city_detector cookie
	var cityCookie = readCookie('city_detector');
	if((cityCookie === null || getParam('ignore_cookie') == '1') && (window.pId && window.pId != '1071')){
		jQuery.ajax({
			url: '/_/ajax/_get_user_city.html?url=' + url_encode(getCleanUrl()) + '&city=' + city,
			type: 'GET',
			dataType: 'xml',
			cache: false,
			timeout: 60000,
			success: function(xml) {
				showDetectedCity(jQuery(xml));
			},

			error: function() {
			}
		});
	}
}

function hideDetectedCity(){
	jQuery('#city-detected').hide();
}

function showDetectedCity( xml ){
	var iResult = jQuery(xml).find('city').attr('detected');
	if(iResult == '1' && jQuery(xml).find('city').attr('same') == '0'){
		var sCityName = jQuery(xml).find('title').text();
		var sCityPath = url_decode(jQuery(xml).find('city').attr('path'));
		var sCurrentCity = jQuery('#city_name-gl').text();
		
		var sAlertDiv = '<div id="city-detected" class="frame-whole"><div class="frame-whole-tl"><spacer></spacer></div><div class="frame-whole-tr"><spacer></spacer></div><div class="frame-whole-br"><spacer></spacer></div><div class="frame-whole-bl"><spacer></spacer></div><div id="city-detected-content"><img id="detected_close_btn" width="13" height="13" border="0" src="/f/1/i/close-w.gif" title="Close" alt="Close" onclick="hideDetectedCity(); return false;"/><p>Вы смотрите сайт для города '+ sCurrentCity +'.<br />Для просмотра сайта другого города, выберите его в списке &#171;Ваш город&#187;: <a href="' + sCityPath + '">'+ sCityName +'</a></p></div></div>';
		
		jQuery('td.navigation').append(sAlertDiv);
		jQuery('#city-detected').show('normal');
//		alert(sCityName + ' -- ' + sCityPath);
	}
}

function loadChatState() {
	if(jQuery('div#bottom-nav img.chat-popup-right') && jQuery('div#bottom-nav img.chat-popup-right').length > 0){
		jQuery.ajax({
			url: '/_/ajax/_get_chat_status.html',
			type: 'GET',
			dataType: 'xml',
			cache: false,
			timeout: 60000,
			success: function(xml) {
				showChatState(jQuery(xml));
			},

			error: function() {
			}
		});
	}
}

function showChatState( code ) {
	if(jQuery(code).find('online').text() == 'true'){
	}else{
		jQuery('div#bottom-nav img.chat-popup-right').parent().hide();
	}
}

function loadProfile( doAnimate ) {
	if(doAnimate){
		animateFavorites('add');
		window.setTimeout(doLoadProfile, 1300);
	}else{
		doLoadProfile();
	}
}

function doLoadProfile() {
	var authCookie = readCookie('auth.name');
	var isLocal = (document.domain == 'alfabank.ru');
	if((document.domain != 'alfabank.ru' || !(window.pId === undefined)) && (authCookie != null && authCookie.length > 3) ){
		if(jQuery('div#ProfileHead') && pId){
			if(isCanCrossDomain){
				try{
					doLoadProfileAjax('http' + (isSecure() ? 's':'') + '://alfabank.ru/_/ajax/_get_auth_status.html?pageId='+pId+'&script=1&uuid='+getRandom(10000))
					isCanCrossDomain = true;
				} catch (err) {
					isCanCrossDomain = false;
					doLoadProfileAjax('/_/ajax/_get_auth_status.html?pageId='+pId+'&script=1&uuid='+getRandom(10000));
				}
			} else {
				doLoadProfileAjax('/_/ajax/_get_auth_status.html?pageId='+pId+'&script=1&uuid='+getRandom(10000));
			}
		}
	}else{
		showUnathorized();
	}
}

function doLoadProfileAjax(urlParam) {
			jQuery.ajax({
				url: urlParam,
				type: 'GET',
				dataType: 'script',
				scriptCharset: 'utf-8',
				cache: false,
				timeout: 60000,
				success: function(text) {
					/*  внутри того скрипта вызываем showLoadedProfile  */
				},
	
				error: function(xhr, ajaxOptions, thrownError){
//					alert('Check login status error, status: ' + xhr.status + ', Error: ' + ajaxOptions);
					showUnathorized();
				}
			});
}
function isSecure() {
   return window.location.protocol == 'https:';
}

function getRandom( total ){
	return(Math.floor(Math.random() * total) + 1);
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function showLoadedProfile() {
	var isAuthorized = aUser.auth;
	if(isAuthorized == 1){
		var userEmail = aUser.login;
		var userName = aUser.email.substring(0, aUser.email.indexOf('@'));
		if(!userName) userName = userEmail.substring(0, userEmail.indexOf('@'));
		
		var pageDomain = getLinkStart();
		var url = getCleanUrl();
		var addToFavorites = 1;

		var favoritesHead = '<div class="frame-whole helpful-links" id="favoritesBlock"><div class="frame-whole-tl"><spacer></spacer></div><div class="frame-whole-tr"><spacer></spacer></div><div class="frame-whole-br"><spacer></spacer></div><div class="frame-whole-bl"><spacer></spacer></div><noindex><p id="favoritesPLink"><a href="" class="pseudo-href" onclick="toggleFavoritesBlock(); return false;">Избранное</a></p><ul>';
		var favoritesFooter = '</ul></noindex></div>';
		var favorites = '';
		var favoritesFound = false;
		
		var i =0;
		if(aUser.favorites.length > 0){
			for(var i = 0; i < aUser.favorites.length; i++){
				favoritesFound = true;
				if(url != aUser.favorites[i].href){
					favorites += '<li id="fav-row-'+ i +'">';
					favorites += '<span class="fav-delete"><a href="" onclick="removeFromFavoriteByHref(\''+ aUser.favorites[i].href + '\',' + i +'); return false;" class="delete"><img src="/f/1/global/i-delete-r.gif" width="7" height="7" /></a></span>';
					favorites += '<a href="' + aUser.favorites[i].href + '" class="fav-link">' + aUser.favorites[i].title +  '</a>';
					if( aUser.favorites[i].updated )
						favorites += ' <span class="fav-updated">новое!</span>';
					favorites += '</li>';
				}else{
					addToFavorites = 0;
					favorites += '<li id="fav-row-'+ i +'" class="selected">';
					favorites += '<span class="fav-delete"><a href="" onclick="removeFromFavoriteByHref(\''+ aUser.favorites[i].href + '\',' + i +'); return false;" class="delete"><img src="/f/1/global/i-delete-r.gif" width="7" height="7" /></a></span>';
					favorites += aUser.favorites[i].title+ '</li>';
				}
			}
		}
		
		if(!favoritesFound){
			favorites += '<p id="favoritesNotFound">Здесь будут перечислены разделы, которые вы добавите в&#160;избранное (значок сердечка рядом с&#160;заголовком)</p>';
		}
	
		var body = '';
		var redBlockStart = '<div class="frame-whole" id="favoriteOpenerLink"><div class="frame-whole-bl"><spacer/></div><div class="frame-whole-br"><spacer/></div><div class="frame-whole-tr"><spacer/></div><div class="frame-whole-tl"><spacer/></div>';
		if(getCleanUrl() != '/private/')
			body = '<table><tr><td style="z-index: 19;">' + favoritesHead + favorites + favoritesFooter + '<img src="/f/1/global/i-profile.gif" id="profileImg" /><a href="'+pageDomain+'private/?guid='+getRandom(10000)+'" id="profileLink">' + userName + '</a>&#160;<a href="'+pageDomain+'private/?auth.logout=do" id="logoutLink" onclick="mainDeauthorize(); return false;"><img src="/f/1/i/i-logout.gif" /></a></td><td>'+ redBlockStart +'<a href="" onclick="toggleFavoritesBlock(); return false;" id="favoritesListLink">Избранное</a></div></td></tr></table>';
		else
			body = '<table><tr><td style="z-index: 19;">' + favoritesHead + favorites + favoritesFooter + '<img src="/f/1/global/i-profile.gif" id="profileImg" />' + userName + '&#160;<a href="'+pageDomain+'private/?auth.logout=do" id="logoutLink" onclick="mainDeauthorize(); return false;"><img src="/f/1/i/i-logout.gif" /></a></td><td>'+ redBlockStart +'<a href="" onclick="toggleFavoritesBlock(); return false;" id="favoritesListLink">Избранное</a></div></td></tr></table>';

		jQuery('div#ProfileHead').html(body);
		
		if(addToFavorites)
			showAddToFavorites();
		else
			showRemoveFromFavorites();
	}else{
		showUnathorized();
	}
}

function showUnathorized() {
	var body = '';
	var pageDomain = getLinkStart();
	var authDescriptionLink = '<p id="authTitle">Вход в&#160;личный кабинет<a onclick="window.open( \''+pageDomain+'private/register/?show=true\', \'popup\', \'width=520,height=550,resizable=yes,status=no,scrollbars=yes\'); return false;" href="'+pageDomain+'private/register/"><img src="/f/1/global/i-about-private.gif" width="10" height="10" alt="" /></a></p>';
	var authTable = '<div class="titleCross"><div class="ImgContainer"><a href="" onclick="hideAuthorizationBlock(); return false;"><img src="/f/1/global/ico_gl_close.gif" /></a></div></div>' + authDescriptionLink + '<form onsubmit="return mainAuthorize()" action="'+pageDomain+'private/?guid='+getRandom(10000)+'" id="mainAuthForm" method="POST"><input type="hidden" name="auth.logon" value="1"><table id="authTable"><tr><td class="authLabel">Логин</td><td><input name="auth.name" id="authName" placeholder="эл. почта" class="authText" /></td></tr><tr><td class="authLabel">Пароль</td><td><input name="auth.passwd" type="password" id="authPasswd" class="authText" /></td></tr><tr><td></td><td><input type="checkbox" id="authPersistent" name="auth.persistent" value="1"><label for="authPersistent">запомнить меня</label></td></tr><tr><td class="first"></td><td><input type="submit" id="authBtnSubmit" value="Войти"></td></tr></table>';
	var authBottomLinks = '<div id="AuthBottomLinks"><p style="margin-bottom: 8px;"><A class="Popup" onclick="window.open( \''+pageDomain+'private/register/\', \'popup\', \'width=520,height=550,resizable=yes,status=no,scrollbars=yes\'); return false;" href="'+pageDomain+'private/register/"><img border="0" alt="" width="11" height="9" src="/f/1/global/icon-gl-popup.gif" style="margin-right: 3px;" align="absmiddle" class="plain">Регистрация</A></p><p><A class="Popup" onclick="window.open( \''+pageDomain+'private/forget/\', \'popup\', \'width=520,height=550,resizable=yes,status=no,scrollbars=yes\'); return false;" href="'+pageDomain+'private/forget/"><img border="0" alt="" width="11" height="9" src="/f/1/global/icon-gl-popup.gif" style="margin-right: 3px;" align="absmiddle" class="plain">Забыл пароль</A></p></div></form><div><br clear="all"></div>';
	var authBlock = '<div class="frame-whole" id="authBlock"><div class="frame-whole-tl"><spacer></spacer></div><div class="frame-whole-tr"><spacer></spacer></div><div class="frame-whole-br"><spacer></spacer></div><div class="frame-whole-bl"><spacer></spacer></div><div id="authBlockInner">'+ authTable + authBottomLinks + '</div></div>';
	
	if(getCleanUrl() != '/private/')
		body = '<table id="profile-unauth"><tr><td><img src="/f/1/i/i-lock-b.gif" id="profileImg" /><a href="'+pageDomain+'private/?guid='+getRandom(10000)+'" class="pseudo-href" onclick="showAuthorizationBlock(); return false;">Личный кабинет</a></td></tr></table>' + authBlock;
	else
		body = '<table id="profile-unauth"><tr><td><img src="/f/1/i/i-lock-b.gif" id="profileImg" />Личный кабинет</td></tr></table>';
	jQuery('div#ProfileHead').html(body);
	
	var eAuthName = document.getElementById('authName');
	if( eAuthName ){
		cmnPlaceholder( eAuthName, eAuthName.getAttribute( 'placeholder' ), 'empty' );
	}
}

var fav_state = 0;

function showAuthorizationBlock() {
	var _keydown = document.onkeydown;
	
    document.onkeydown = function (e) {
        e = e || window.event;

		if ((e.keyCode == 27) && (!e.ctrlKey) && (!e.altKey)) {
			hideAuthorizationBlock(_keydown);
		}
	}
	
	jQuery('#authBlock').show('fast');
	
	window.setTimeout(authFocus, 300);
	
	if(jQuery.browser.msie){
		jQuery('#region-switch').hide();
	}
}

function authFocus() {
	//jQuery('#authName').focus();
}

function hideAuthorizationBlock(_keydown) {
	if(_keydown){
		document.onkeydown = _keydown;
	}
	
	jQuery('#authBlock').hide('fast');
	if(jQuery.browser.msie){
		jQuery('#region-switch').show();
	}
}

function toggleFavoritesBlock() {
	var _keydown = document.onkeydown;
	
	if(fav_state == 0){
	    document.onkeydown = function (e) {
	        e = e || window.event;

			if ((e.keyCode == 27) && (!e.ctrlKey) && (!e.altKey)) {
	        	document.onkeydown = _keydown;
	        	
				jQuery('#favoritesBlock').hide();
				fav_state = 0;
				if(jQuery.browser.msie){
					jQuery('#favoriteOpenerLink').show();
				}
			}
		}
		
		jQuery('#favoritesBlock').show('fast');
		fav_state = 1;
		if(jQuery.browser.msie){
			jQuery('#favoriteOpenerLink').hide();
		}
	}
	else{
		document.onkeydown = _keydown;
		
		jQuery('#favoritesBlock').hide();
		fav_state = 0;
		if(jQuery.browser.msie){
			jQuery('#favoriteOpenerLink').show();
		}
	}
}

function getLinkStart( hideSlash ) {
	var linkStart = '';
	var pageDomain = getDomain();
	if(pageDomain != 'https://www.alfabank.ru/' && pageDomain != 'https://alfabank.ru/'){
		linkStart = 'https://alfabank.ru';
		if(!(window.city === undefined) && city)
			linkStart += city;
		else
			linkStart += '/';
	}else{
		if(!(window.city === undefined) && city)
			linkStart = city;
		else
			linkStart = '/';
	}

	if(hideSlash){
		linkStart = linkStart.substring(0, linkStart.length - 1);
	}
	return (linkStart);
}

function getCleanUrl() {
	var url = document.URL;
	var pos = url.indexOf('//');
	url = url.substring(pos+2);
	pos = url.indexOf('/');
	url = url.substring(pos);
	
	var pageDomain = getDomain();
	/*
	if(pageDomain == 'http://ipoteka.alfabank.ru/') url = '/retail/mortgage/';
	if(pageDomain == 'http://cards.alfabank.ru/') url = '/retail/cards/';
	if(pageDomain == 'http://sme-credits.alfabank.ru/') url = '/sme/credits/';
	if(pageDomain == 'http://autocredits.alfabank.ru/') url = '/retail/auto/';
	if(pageDomain == 'http://auto.alfabank.ru/') url = '/retail/auto/';
	if(pageDomain == 'http://credits.alfabank.ru/') url = '/retail/creditcards/';
	if(pageDomain == 'http://deposits.alfabank.ru/') url = '/retail/savings/deposits/';
	if(pageDomain == 'http://aeroflot.alfabank.ru/') url = '/retail/cards/types/aeroflot/';
	if(pageDomain == 'http://cosmopolitan.alfabank.ru/') url = '/retail/cards/types/cosmopolitan/';
	if(pageDomain == 'http://career.alfabank.ru/') url = '/career/';
	if(pageDomain == 'http://internet.alfabank.ru/') url = '/retail/internet/';
	if(pageDomain == 'http://customer.alfabank.ru/') url = '/retail/customer/';
	if(pageDomain == 'http://atm.alfabank.ru/') url = '/atm/';
	*/
	return (url);
}

function getDomain() {
	var url = document.URL;
	var pos = url.indexOf('//');
	var urlN = url.substring(pos+2);
	var pos2 = urlN.indexOf('/');
	var domain = url.substring(0, (pos+pos2+3));
	
	return (domain);
}

function showAddToFavorites() {
	jQuery('#AddFavorite').html('<a href="" id="addFavoriteLink" onclick="addToFavorite(); return false;"><img src="/f/1/global/i-add-favorite.gif" /></a>');
	jQuery('#AddFavorite').show();
}

function addToFavorite() {
	var pageTitle = getCleanTitle();
	var pageHref = getCleanUrl();
	

	jQuery.post('/_/ajax/_add_favorite.html',{
		path: pageHref,
		title: pageTitle,
		pageId: pId},
		function(){
			showRemoveFromFavorites();
			loadProfile(1);
		});
}

function getCleanTitle() {
	var pageTitle = jQuery('h1').html();
	var pos = pageTitle.indexOf('<');
	pageTitle = pageTitle.substring(0, pos);
	pageTitle = pageTitle.replace(/«/g, "&#171;");
	pageTitle = pageTitle.replace(/»/g, "&#187;");
	return(pageTitle);
}

function animateFavorites( state ) {
//	jQuery('#favoritesListLink').css('color', '#FF0000');
	
	if(state == 'add' || fav_state != 1){
		jQuery('#favoritesListLink').css('color', '#FFFFFF');
		jQuery('#favoritesListLink').css('background-color', '#EF3124');
		jQuery('#favoritesListLink').css('font-weight', 'bold');
	}
	
	if(state == 'add'){
		if(fav_state == 1){
			jQuery('div#favoritesBlock').hide();
			fav_state = 0;
		}
		jQuery('#favoritesListLink').animate({opacity: 0}, 200 ).animate({opacity: 1}, 200 ).animate({opacity: 0}, 200 ).animate({opacity: 1}, 200);
		window.setTimeout(stopAnimateFavorites, 1400);
	}
	else{
		if(fav_state == 1){
			jQuery('div#favoritesBlock li.selected').css('color', '#EF3124');
			jQuery('div#favoritesBlock li.selected').css('background-color', '#FFFFFF');
			jQuery('div#favoritesBlock li.selected').fadeOut('slow');
		}else{
			jQuery('#favoritesListLink').animate({opacity: 0}, 1300 ).animate({opacity: 1}, 100);
			window.setTimeout(stopAnimateFavorites, 1300);
			window.setTimeout(reloadProfile, 1400);
		}
	}
	
//	jQuery('#favoritesBlock').fadeIn('fast').fadeOut('fast').fadeIn('fast').fadeOut('fast');

}

function stopAnimateFavorites() {
	jQuery('#favoritesListLink').css('color', '#08628C');
	jQuery('#favoritesListLink').css('font-weight', 'normal');
	jQuery('#favoritesListLink').css('background-color', '#FFFFFF');
}

function reloadProfile() {
	loadProfile(0);
}

function removeFromFavorite() {
	var pageHref = getCleanUrl();

	jQuery.post('http' + (isSecure() ? 's':'') + '://alfabank.ru/_/ajax/_remove_favorite.html',{
		path: pageHref},
		function(){
			showAddToFavorites();
			animateFavorites('remove');
		});
}

function removeFromFavoriteByHref( pageHref, id ) {
	jQuery.post('http' + (isSecure() ? 's':'') + '://alfabank.ru/_/ajax/_remove_favorite.html',{
		path: pageHref},
		function(){
			jQuery('li#fav-row-' + id).hide();
		});
	
}

function showRemoveFromFavorites() {
	jQuery('#AddFavorite').html('<a href="" id="addFavoriteLink" onclick="removeFromFavorite(); return false;"><img src="/f/1/global/i-remove-favorite.gif" /></a>');
	jQuery('#AddFavorite').show();
}

function mainAuthorize() {
	jQuery('#authBtnSubmit').attr('disabled', 'disabled');
	var persistent = jQuery('#authPersistent:checked').length;
	var sUrl = (isCanCrossDomain ? 'http' + (isSecure() ? 's':'') + '://alfabank.ru' : '') + '/_login.html';
	jQuery.ajax({
		url: sUrl,
		type: 'GET',
		dataType: 'script',
		cache: false,
		data: 'auth.logon=1&script=1&auth.name='+jQuery('#authName').val()+'&auth.passwd='+jQuery('#authPasswd').val()+'&auth.persistent='+persistent,
		timeout: 20000,
		 success: function() {
			mainAuthorizeResultCheck();
		},

		error: function(xhr, ajaxOptions, thrownError){
			jQuery('#authBtnSubmit').attr('disabled', '');
			alert('Login error, status: ' + xhr.status + ', Error: ' + ajaxOptions)
		}
	});
	return false;
}

function mainDeauthorize() {
	var pageHref = '';
	jQuery.ajax({
		url: 'http' + (isSecure() ? 's':'') + '://alfabank.ru/_login.html?auth.logout=do&script=1',
		type: 'GET',
		dataType: 'script',
		data: ' logout ',
		cache: false,
		timeout: 20000,
		 success: function() {
			pageHref = getCleanUrl();
			if(pageHref != '/private/')
				location.reload(true);
				// window.location = getCleanUrl();
			else
				window.location = "/";
		},
		error: function(xhr, ajaxOptions, thrownError){
			alert('Logout error, status: ' + xhr.status + ', Error: ' + ajaxOptions)
		}
	});
	return false;
}

function mainAuthorizeResultCheck() {
	var status = response_status;
	if(status == 1){
		shakeWindow();
		jQuery('#authPasswd').val('');
		jQuery('#authBtnSubmit').attr('disabled', '');
	}else{
		jQuery('#ProfileHead').fadeOut('fast');
		location.reload(true);
//		window.location = getCleanUrl();
//		jQuery('#mainAuthForm').submit();
//		loadProfile(0);
	}
}

function shakeWindow() {
	var limit = 5;
	var defaultOffset = -7;
	var time = 20;
	jQuery('#authBlock').animate({marginLeft: "-"+ limit +"px"}, (time/2)).animate({marginLeft: limit + "px"}, time).animate({marginLeft: "-"+ limit +"px"}, time).animate({marginLeft: limit + "px"}, time).animate({marginLeft: "-"+ limit +"px"}, time).animate({marginLeft: "-2 px"}, (time / 2));
}

function getParam(paramName) {
	if(window.pId && pId != '2984'){
		var url = decodeURI(document.URL) || false;
		
		if(url){
			url = url.replace(paramName,'');
			
			if ((left=url.indexOf('?='))<0) if ((left=url.indexOf('&='))<0) return '';
			
			return (right=url.indexOf('&',left+1))<0?url.substr(left+2):url.substr(left+2,right-left-2);
		}else{
			return '';
		}
	}
}


// For detailMap
function printDetailMap() { 
	document.getElementById('printLink').style.display = 'none';
	window.print();
}

function toggleCollsapseBlock( id ) {
	jQuery('#' + id).slideToggle('fast');
	jQuery('#header_' + id).toggleClass('opened');
}

var bWrongRegionsAlreadyWorked = false;

//	 Show the message "offer is unavailable in the region"
function wrongRegion( block_id ){
	if(!bWrongRegionsAlreadyWorked){
		bWrongRegionsAlreadyWorked = true;
	
		jQuery(document).ready(function() {
			jQuery('body').prepend('<div id="region_alert">Услуга недоступна в вашем городе.</div>');
			jQuery('td.body').addClass('city_mismatch');
			if(jQuery.browser.msie){
				jQuery('#docTitle').addClass('city_mismatch');
				jQuery('.content td').addClass('city_mismatch');
				jQuery('.content div').addClass('city_mismatch');
			}else{
				jQuery('div.city_mismatch').each(function(index) {
					jQuery(this).removeClass('city_mismatch');
				});
			}
			jQuery('#region_alert').slideDown('slow');
			jQuery.ajax({
				url: '/_/ajax/_get_nearest_city.html?block_id='+ block_id +'&city_id='+ cityId +'&url=' + url_encode(getCleanUrl()) + '&city=' + city,
				type: 'GET',
				dataType: 'xml',
				cache: false,
				timeout: 60000,
				success: function(xml) {
					showNearestCities(jQuery(xml));
				},
				error: function() {
				}
			});	
		});
	}
}

function showNearestCities( xml ){
	var bFound = jQuery(xml).find('cities').attr('found');
	if(bFound && jQuery(xml).find('city').length > 0){
		jQuery('#region_alert').append(' Ближайшие города, где она предоставляется: ');
		var iCount = jQuery(xml).find('city').length-1;
		jQuery(xml).find('city').each(function(index) {
			jQuery('#region_alert').append(' <a href="'+ url_decode(jQuery(this).attr('path')) +'">'+ jQuery(this).text() +'</a>');
			if(iCount == index){
				jQuery('#region_alert').append('.');
			}else{
				jQuery('#region_alert').append(',');
			}
		});
	}
}

function url_encode( string ){
	string = string.replace(/\?/g, "___");
	string = string.replace(/&/g, "____");
	return(string);
}

function url_decode( string ){
	string = string.replace(/___/g, "?");
	string = string.replace(/____/g, "&");
	return(string);
}

/* city_selector.js */

function citySelectorInit(){
	if(jQuery('#region-switch') && jQuery('#region-switch').length > 0){
		createLayer('#region-switch', '#region-switch-selector', 'city-selector-gl', 'city_name-gl', 'td.navigation', 0);
	}
	if(jQuery('#globalRegionSubmit')){
		jQuery('#globalRegionSubmit').hide();
	}
	// if(jQuery('#cityID') && jQuery('#cityID').length > 0){
	// 	createLayer('#cityID', '#row_cityID dd', 'city-selector', 'city_name', '.width-fix');
	// }
	jQuery('#cityID, .popup-selector').each(function(index) {
		var sID = jQuery(this).attr('id');
		createLayer('#' + sID, '#row_' + sID + ' dd',  sID + '-selector', sID + '-span', '.width-fix', 1);
	});
}

//	selectorID - имя конвертируемого SELECT'а, в формате jQuery (#...)
//	selectorRowID - имя контейнера, в который будет добавлен SPAN со ссылкой на выбор города, в формате jQuery
//	citySelectorID - id создаваемого слоя со списком городов
//	citySelectorLinkID - id самого SPAN'а, по клику на который открывается список городов
//	citySelectorWhereToAppend - имя объекта, внутрь которого будет добавлен слой со списком городов, в формате jQuery
function createLayer(selectorID, selectorRowID, citySelectorID, citySelectorLinkID, citySelectorWhereToAppend, bIsXForm)
{
	var pretyShadowDiv = "<div id='" + citySelectorID + "' class='framed city-selector'>\n <img id='close_btn' width='13' height='13' border='0' onclick='closeList(\""+citySelectorID+"\"); return false;' alt='Закрыть' title='Закрыть' src='/f/1/global/shadows/x.gif' />\n <div class='f_tt'></div>\n <div class='f_r'><div class='f_rr'></div>\n <div class='f_b'><div class='f_bb'><div></div></div>\n <div class='f_l'><div class='f_ll'><div></div></div>\n <div class='f_c'>\n <h2>Выберите ваш город</h2>\n </div>\n </div>\n </div>\n </div>\n </div>";
	
	jQuery(citySelectorWhereToAppend).append(pretyShadowDiv);
	
	// убить выпадающий список
	jQuery(selectorID).css("visibility", "hidden");
	jQuery(selectorID).css("position", "absolute");

	// показать выбранный горррррод
	jQuery(selectorRowID).append("<span id='"+citySelectorLinkID+"' class='pseudo-link city-selector-pseudo-link' onclick='showList(\""+citySelectorID+"\", "+bIsXForm+", \""+selectorRowID+"\")'></span>");
	
	updateLayerContent(selectorID, citySelectorID, citySelectorLinkID, bIsXForm);

	if(bIsXForm){
		var selectorRowPosition = jQuery(selectorRowID).offset();
			
		if(selectorRowPosition.top){
			if(jQuery('body div.popup-logo').length){
				var iOffset = 50;
			}else{
				var iOffset = 190;
			}
		
			jQuery('#'+citySelectorID).css('top', (selectorRowPosition.top - iOffset) + 'px');
		}
	}
}

function updatePopupSelector(sID){
	updateLayerContent('#' + sID, sID + '-selector', sID + '-span', 1);
}

//	selectorID - имя конвертируемого SELECT'а, в формате jQuery (#...)
//	citySelectorID - id создаваемого слоя со списком городов
//	citySelectorLinkID - id самого SPAN'а, по клику на который открывается список городов
function updateLayerContent(selectorID, citySelectorID, citySelectorLinkID, bReplace){
	var a = Array();
	var iLength = jQuery(selectorID).find('option[value!=""]').length;
	var bIsShortWindow = false;
	
	if(iLength < 10){
		bIsShortWindow = true;
	}
	
	// все значения списка городов
	jQuery(selectorID + " option").each(function() {
		if(this.value != ''){
			a.push({text: this.innerHTML, value: this.value, index: this.index});
		}
		
		if(this.selected){
			if(jQuery(this).attr('bigtext'))
				jQuery("#" + citySelectorLinkID).text(jQuery(this).attr('bigtext'));
			else
				jQuery("#" + citySelectorLinkID).text(this.innerHTML);
		}
	});

	// нужна сортировка по параметру text
	a.sort(sortNames);

	// добавляем города в таблицу
	var tableHtml = '';
	if(bReplace){
		var sTitle = 'Выберите&#160;' + jQuery(selectorID).parent().parent().find('dt label').html().toLowerCase();
		tableHtml += '<h2>' + sTitle + '</h2>';
	}
	tableHtml += '<table cellpadding="0" cellspacing="0"';
	if(bIsShortWindow){
		tableHtml += ' style="width:28em;"';
	}
	tableHtml +'>';
	var colCount = 4;
	if(bIsShortWindow){
		colCount = 3;
	}
	for (var i = 0; i < Math.ceil(a.length / colCount); i++){
		tableHtml+= "<tr>";
		for(var row = 0; row <= (colCount-1); row++){
			if(bIsShortWindow){
				tableHtml += '<td class="d"></td>';
			}
			tableHtml+= printRowPart(a, colCount, i, row, bIsShortWindow);
		}
		tableHtml+= "</tr>";
	}
	tableHtml+= "</table>";

	if(bReplace){
		jQuery("#" + citySelectorID + " .f_c").html(tableHtml);
	}else{
		jQuery("#" + citySelectorID + " .f_c").append(tableHtml);
	}
	
	jQuery("#"+ citySelectorID + " span").click(function() {
		jQuery(selectorID).get(0).selectedIndex = this.id;
		if(jQuery(selectorID + ' option:selected').attr('bigtext')){
			jQuery("#" + citySelectorLinkID).text(jQuery(selectorID + ' option:selected').attr('bigtext'));
		}else{
			jQuery("#" + citySelectorLinkID).text(this.innerHTML);
		}
		closeList(citySelectorID);
		if(citySelectorID == 'city-selector-gl'){
			jQuery('form#gotoForm').submit();
		}
		if(bReplace){
			jQuery(selectorID).change();
		}
	});
}

// сортировка объектов по тексту
function sortNames(a,b) {
	if(a.text < b.text) return -1;
	else if(a.text > b.text) return 1;
	else return 0;
}

// выводит часть строки таблицы
// номера строк и колонок от 0
function printRowPart(arr, colCount, row, col, bIsShortWindow){
	var colLength = Math.ceil(arr.length / colCount);
	var j = colLength*col + row;
	var html = '';
	if(typeof(arr[j]) != "undefined"){
		if(!bIsShortWindow){
			if(j == 0 || arr[j].text.substring(0,1) != arr[j-1].text.substring(0,1)){
				html+= "<td class='d'>" + arr[j].text.substring(0,1) + "</td>";
			} else {
				html+= "<td class='d'></td>";
			}
		}
		html+= "<td class='n'><span id='" + arr[j].index + "'>" + arr[j].text + "</span></td>";
	} else {
		if(!bIsShortWindow){
			html+= "<td class='d'></td>";
		}
		html+= "<td class='n'></td>";
	}
	return html;
}

// скрыть список городов
function closeList( citySelectorID ){
	document.onkeydown = _keydown;
	
	jQuery('#' + citySelectorID).hide();
	
	if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7){
		jQuery('.x_forms select').show();
		jQuery('.x_forms select.hidden').hide();
		jQuery('.ie6BugFixInput').remove();
	}
}

// показать список городов
function showList( citySelectorID, bIsXForm, selectorRowID ){
	//	сдвигаем
	if(bIsXForm){
		var selectorRowPosition = jQuery(selectorRowID).offset();
			
		if(selectorRowPosition.top){
			if(jQuery('body div.popup-logo').length){
				var iOffset = 50;
			}else{
				var iOffset = 190;
			}
		
			jQuery('#'+citySelectorID).css('top', (selectorRowPosition.top - iOffset) + 'px');
		}
	}
	
	if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7){
		var sIe6BugFixInput = "<input class='ie6BugFixInput' type='text' readonly='' />";
		jQuery('.x_forms select:visible').each(function(){
			var el = jQuery(sIe6BugFixInput).insertAfter(this);
			var eSelOption = jQuery(this).find("option:selected");
			el.attr("id", jQuery(this).attr("id"));
			el.val(eSelOption.text());
		});
		jQuery('.x_forms select:visible').hide();
	}
	
    document.onkeydown = function (e) {
        e = e || window.event;

		if ((e.keyCode == 27) && (!e.ctrlKey) && (!e.altKey)) {
        	closeList( citySelectorID );
		}
	}
	
	jQuery('#' + citySelectorID).show();
	
	jQuery('#' + citySelectorID + ' div.f_b').attr('style', 'margin-bottom: 0');
}

/*/city_selector.js */


/* alfa-consultant.js */
var consultantText;
var consultantTimeoutID;
	
function initAlfaConsultant(){
	if(document.getElementById('around')){
		var elem = jQuery('div.consultant');
		var currentHeight = document.getElementById('around').offsetHeight;

		if(elem){

		jQuery.each(jQuery.browser, function(i) {
			if(jQuery.browser.msie){
				elem.find('table').removeClass('main').addClass('main-noshadow');
			}else{
				elem.find('table').removeClass('main-noshadow').addClass('main');
			}
		});

		// Скрываем слой с плашкой
		jQuery('div.consultant').hide();
		//jQuery('#fadeBG').css('height', currentHeight);

		consultantText = jQuery('#consultant span').html();

		jQuery('#consultant-td').hover(function() {
			jQuery('#consultant span').text('Показать крупно');
		}, function() {
			jQuery('#consultant span').text(consultantText);
		});

		jQuery('#consultant').click(function() {
			if(jQuery.browser.msie) {
				jQuery('div.consultant').fadeIn(500);
			} else {
				jQuery('#around').css('opacity', 0.5);
				jQuery('div.consultant').fadeIn(500);
			}
			return false;
		});

		jQuery('div.consultant').click(function(){
			if(jQuery.browser.msie) {
				jQuery(this).fadeOut(500);
			} else {
				jQuery('#around').css('opacity', 1);
				jQuery(this).fadeOut(500);
			}
		});

		jQuery(document).click(function () {
			if(jQuery.browser.msie) {
				jQuery('div.consultant').fadeOut(500);
			} else {
				jQuery('#around').css('opacity', 1);
				jQuery('div.consultant').fadeOut(500);
			}
		});

		jQuery(window).resize(function(){
			var curWidth = document.body.offsetWidth;
			var fSize = curWidth / 12;
			jQuery('td.cc').css('font-size', fSize);
		});

		}
	}

	changeBigPhones();
}

function changeBigPhones()
{
	var phones = '';
	var count = 0;
	jQuery('div#contacts table.consultant div.consultant-tel').each(function(index) {
		if(count < 3)
			phones += jQuery(this).find('nobr').html() + '<br />';
		count++;
	});
	jQuery('div#big td.cc').html(phones);
}
/* /alfa-consultant.js */

function updateFeedbackLinks(){
	if($('td.navigation')){
		$('td.navigation a[href="/sendmail/"],td.navigation a[href="http://alfabank.ru/sendmail/"],td.navigation a[href="https://alfabank.ru/sendmail/"]').each(function(index) {
			var sHref = $(this).attr('href') + '?ref=' + document.URL;
			$(this).attr('href', sHref);
		});
	}
}
