	var AccountLoadInfo = { /* contains tabs info */		
		'personal' : {},		
		'usage' : {}		
		};
	
	var AccountMenu = {     /* contains menu items */
		'personal' : 'Personal Information',
		'usage'    : 'Account Usage'
		};
		
	function account_setAjaxBusy(busy)
	{
		if (busy)
		{
			xmlHttpRequester_isBusy = 1;
			document.getElementById('central_busy_sign').style.display = 'inline';
			document.getElementById('central_busy_sign').style.top =  Math.round(screen.height / 2 - 100) + 'px';
			document.getElementById('central_busy_sign').style.left = Math.round(screen.width / 2 - 100) + 'px';

			//document.getElementById('account_busySignId').style.display='inline';
		}
		else
		{
			xmlHttpRequester_isBusy = 0;
			document.getElementById('central_busy_sign').style.display = 'none';
			//document.getElementById('account_busySignId').style.display='none';
		}		
	};
	
	function account_setAjaxBusy_(tab, busy, show_results)
	{
		var central_busy_sign = document.getElementById('central_busy_sign');
		var div = document.getElementById('account_' + tab + 'Area');		
		if (busy)
		{
			div.appendChild(central_busy_sign);
			xmlHttpRequester_isBusy = 1;			
			central_busy_sign.style.display = 'inline';		
			document.getElementById('account_' + tab + '_resultsDiv').style.display = 'none';
		}
		else
		{
			//div.removeChild(central_busy_sign);
			xmlHttpRequester_isBusy = 0;
			central_busy_sign.style.display = 'none';	
			if(show_results)
				document.getElementById('account_' + tab + '_resultsDiv').style.display = '';		
		};

	};
	
	function account_fadeTabArea(tab)
	{
		var faderTab = document.getElementById('account_fading');
		faderTab.style.display = 'block';
	};
	
	function account_unfadeTabArea(tab)
	{
		var fadedTab = document.getElementById('account_' + tab + 'Area');
		var fadingTab = document.getElementById('account_fading');
		fadingTab.style.display = 'none';
	};
	
	/* is called when tab header is clicked */
	function account_tabClick(tab, name, email, old_password, new_password, new_password2, receive_mail)
	{
		if(typeof index_body_loaded == "undefined" || !index_body_loaded) return;
		name = typeof name == 'undefined' ? '' : name;
		email = typeof email == 'undefined' ? '' : email;
		old_password = typeof old_password == 'undefined' ? '' : old_password;
		new_password = typeof new_password == 'undefined' ? '' : new_password;
		new_password2 = typeof new_password2 == 'undefined' ? '' : new_password2;
		receive_mail = typeof receive_mail == 'undefined' ? '' : receive_mail;

		hideLoginForm();
		hideReachedLimit();
		document.getElementById('div_cabinet_main').style.display = 'none';
		document.getElementById('div_cabinet_content').style.display = '';
		document.getElementById('div_cabinet_content').className = 'cabinet_content';		
		
		document.getElementById('path_firstLevelTabID').innerHTML = '&nbsp;&raquo;&nbsp;Account';        /* path */
		document.title = 'Account '+String.fromCharCode(0x2013)+' '+AccountMenu[tab]+' '+String.fromCharCode(0x2014)+' SERP Analytics'; /* title */		
				
		document.getElementById('additional_firstLevelTab').className = '';
		document.getElementById('tracking_firstLevelTab').className = '';
		
		document.getElementById('path_secondLevelTabID').innerHTML = '&nbsp;&raquo;&nbsp;' + AccountMenu[tab]; /* path */	
		document.getElementById('path_formEntryID').innerHTML = '';
		
		document.getElementById('additional_searchAreaId').style.display = 'none';                 /* hide other blocks */
		document.getElementById('competitor_searchAreaId').style.display = 'none';                 /* hide other blocks */
		document.getElementById('keyword_searchAreaId').style.display = 'none';                 /* hide other blocks */
		document.getElementById('tracking_searchAreaId').style.display = 'none';        /* hide other blocks */
		document.getElementById('serp_searchAreaId').style.display = 'none';		
		document.getElementById('pricing_searchAreaId').style.display = 'none';
		document.getElementById('subscribe_searchAreaId').style.display = 'none';

		document.getElementById('account_searchAreaId').style.display = 'inline';            /* show required block */
		document.getElementById('account_thead_tabs').style.display = '';
		
		var menuItem2url = {
			'personal'	: '/cabinet/account/personal.php?name=__name__&email=__email__&old_password=__old_password__&new_password=__new_password__&new_password2=__new_password2__',
			'usage'	: '/cabinet/account/usage.php?receive_mail=__receive_mail__'
			};
		var url = menuItem2url[tab];
		url = url.replace('__name__', name);
		url = url.replace('__email__', email);
		url = url.replace('__old_password__', old_password);
		url = url.replace('__new_password__', new_password);
		url = url.replace('__new_password2__', new_password2);
		url = url.replace('__receive_mail__', receive_mail);
		
		//alert(url);
			
		account_showTab(tab);
		
		if (xmlHttpRequester_isBusy) { alert('Previous request is not done yet'); return false; };
		
		xmlHttpRequester = createXMLHttpRequestObject(); // needed for IE. Who knows why?
		var show_results = true;
		xmlHttpRequester.onreadystatechange = function()
		{
			if (xmlHttpRequester.readyState != 4) return;
//				alert(xmlHttpRequester.responseText);
			document.getElementById('account_'+tab+'_resultsDiv').innerHTML = xmlHttpRequester.responseText;				
			var error_code = document.getElementById('account_'+tab+'_authentication').innerHTML.split(';');
//				alert(error_code);
			if (error_code[0] == 'not_logged_in')
			{
				show_results = false;
				showLoginForm('account', tab);
				document.getElementById('account_'+tab+'_resultsDiv').style.display = 'none';
			}
			else
			{					
				document.getElementById('account_'+tab+'_resultsDiv').style.display = '';
				//account_unfadeTabArea(tab);
			}
			
			document.getElementById('account_'+tab+'TabLink').href = '#account/'+tab;
			account_setAjaxBusy_(tab,0, show_results);
		};
		
		/* send data */
		//account_fadeTabArea(tab);
		account_setAjaxBusy_(tab,1);		
		xmlHttpRequester.open('GET', url, true);
		xmlHttpRequester.send(null);
		Cabinet.History.add({'menu': 'account', 'tab': tab});
				
	};

	
	/* shows specified tab */
	var account_header_tabs = {};
	function account_showTab(tab)
	{
		if (!account_header_tabs['personal']) account_header_tabs['personal'] = $('#account_personalTab');
		if (!account_header_tabs['usage']) account_header_tabs['usage'] = $('#account_usageTab');
		
		/* hide all the tabs */
		for (var i in AccountMenu)
		{
			if (i == tab) continue;
			account_header_tabs[i].removeClass('active_tab_header');
			document.getElementById('account_' + i + 'Area').style.display = 'none';
		};
		
		/* show required one */
		account_header_tabs[tab].addClass('active_tab_header');
		document.getElementById('account_' + tab + 'Area').style.display = 'inline';

		/* get the beginning of the page */
		window.scroll(0, 0);

		return false;
	};

