	/*
	 * Variables for tab. 
	 */
	var selectedTab = null;
	var lastPreview = null;
	var preview = null;
	var hide = null;
	var heightChange = 20;
	var maxHeight = 185;
	var preview_hide_ratio = 100;
	var previewAjax = null;
	var tab_preview_pages = new Array(6);
	tab_preview_pages[0] = ["adv_earn", ""];
	tab_preview_pages[1] = ["adv_qualify", ""];
	tab_preview_pages[2] = ["adv_join", ""];
	tab_preview_pages[3] = ["aff_earn", ""];
	tab_preview_pages[4] = ["aff_qualify", ""];
	tab_preview_pages[5] = ["aff_join", ""];
	
	//Gets tab content from array
	function getTab(tabName){
		for(t = 0;t < tab_preview_pages.length;t++){
			if(tab_preview_pages[t][0] == tabName){
				return tab_preview_pages[t][1];
			}
		}
	}
	
	//Stores tab content in array
	function setTab(tabName, content){
		for(t = 0;t < tab_preview_pages.length;t++){
			if(tab_preview_pages[t][0] == tabName){
				tab_preview_pages[t][1] = content;
				return;
			}
		}
	}
	
	//Recieves tab preview page
	function got_tab(){
		var resp = previewAjax.response;
		var nameStart = resp.indexOf("[TAB_NAME]") + 10;
		var nameEnd = resp.indexOf("[TAB_NAME]", nameStart);
		var tab_name = resp.substring(nameStart, nameEnd);
		var preview_content = document.getElementById(preview.id + "_cnt");
		
		document.getElementById(preview.id + "_ldr").style.display = "none";

		setTab(tab_name, resp);
		preview_content.innerHTML = resp;
		preview_content.style.display = "block";
	}
	
	//Loads tab content
	function loadTab(){
		if(preview && selectedTab){
			var tab_content = getTab(selectedTab.id);
			var preview_content = document.getElementById(preview.id + "_cnt");
			if(tab_content == ""){
				preview_content.style.display = "none";
				document.getElementById(preview.id + "_ldr").style.display = "block";
				
				//Load tab page
				previewAjax = new sack();
				previewAjax.onCompletion = got_tab;
				previewAjax.requestFile = "tab_page.php?tab="+selectedTab.id;
				previewAjax.runAJAX();
			}else{
				preview_content.innerHTML = tab_content;
			}
		}
	}
	
	//Selects first tab and shows first preview
	function initFirstTab(tab_id, preview_id){
		var tab = document.getElementById(tab_id);
		selectedTab = tab;
		lastPreview = preview_id;

		tab.className = addClass(tab.className, "tab-on");
		preview = document.getElementById(preview_id);
		
		preview.className = addClass(preview.className, " preview-on");
		preview.style.height = maxHeight + "px";
		loadTab();
	}
	
	//Changes styles of selected and unselected tabs
	//and starts preview div animation
	function turnTabOn(tab, preview_id, hide_preview){
		if(selectedTab == tab || preview_hide_ratio < 100) return;
		if(selectedTab != null)
			selectedTab.className = removeClass(selectedTab.className, "tab-on");

		selectedTab = tab;
		tab.className = addClass(tab.className, "tab-on");
		
		if(preview_id != lastPreview){
			lastPreview = preview_id;
			preview = document.getElementById(preview_id);
			hide = document.getElementById(hide_preview);
		
			animatePreview();
		
			preview.style.display = "block";
			hide.style.display = "block";
			preview.className = addClass(preview.className, "preview-on");
			hide.className = removeClass(hide.className, "preview-on");
		}else{
			loadTab();
		}
	}
	
	//slowly opens preview div
	function animatePreview(){
		if(preview_hide_ratio > 0){//animating
			preview_hide_ratio -= heightChange;
			setHeights();
			setTimeout("animatePreview()", 100);
		}else{//end animation
			preview_hide_ratio = 100;
			hide.style.display = "none";
			loadTab();
		}
	}
	
	//Sets heights two of preview divs(one that should be hidden and one that should be shown)
	function setHeights(){
		preview.style.height = (100 - preview_hide_ratio) * maxHeight / 100 + "px";
		hide.style.height = preview_hide_ratio * maxHeight / 100 + "px";
	}

	//empty
	function turnTabOff(tab, preview_id){
	}
	
	//Adds name of the class to string with class names
	function addClass(origClassName, className){
		if(origClassName.indexOf(className) != -1){
			return origClassName;
		}
		if(origClassName){
			origClassName += " ";
		}
		origClassName += className;
		
		return origClassName;
	}
	
	//Removes class name from string with class names
	function removeClass(origClassName, className){
		var classes = origClassName.split(" ");
		
		origClassName = "";
		
		for(i = 0;i < classes.length;i++){
			if(classes[i] != className){
				if(i > 0) origClassName += " ";
				origClassName += classes[i];
			}
		}
		
		return origClassName;
	}

	/*
	 * Login tabs functions
	 */
	//Changes styles for selected login tab
	function loginSelect(interface){
		var admin = document.getElementById("admin");
		var user = document.getElementById("user");
		var forgot_pass = document.getElementById("forgot_pass");
		
		if(interface == 1){
			user.className = "selected_tab";
			admin.className = "";
			document.login_form.action="/user/index.php";
			forgot_pass.href = "/user/ForgotPwd.php";
		}else{
			admin.className = "selected_tab";
			user.className = "";
			document.login_form.action="/admin/index.php";
			forgot_pass.href = "/admin/ForgotPwd.php";
		}
	}
	
	function clearField(obj, default_value){
		if(obj.value == default_value){
			obj.value = "";
		}
	}
	
	function restoreValue(obj, default_value){
		if(obj.value == ""){
			obj.value = default_value;
		}
	}
	
	//Changes password field with text field if no password was entered
	function showPassword(obj){
		if(obj.id == "password_text"){
			var real_pass = document.getElementById("password");
			obj.style.display = "none";
			real_pass.style.display = "inline";
			real_pass.focus();
		}else if(obj.id == "password" && obj.value == ""){
			var pass_text = document.getElementById("password_text");
			obj.style.display = "none";
			pass_text.style.display = "inline";
		}

	}
	
	/*
	 * Variables for active user's logos animation
	 */
	var activeUsersAjax;
	var users;
	var current_opacity;
	var current_user;
	var image;
	var text;
	var opacityChange = -0.02;
	
	function initUsersAnimation(from, num, type){
		current_opacity = 1;
		current_user = 0;
		image = document.getElementById("user_logo");
		text = document.getElementById("ad_text");
		
		activeUsersAjax = new sack();
		activeUsersAjax.onCompletion = got_users;
		activeUsersAjax.requestFile = "get_users.php";
		activeUsersAjax.method = "GET";
		if(num > 0){
			if(from >= 0){
				activeUsersAjax.setVar("from", from);
				activeUsersAjax.setVar("num", num);
			}
		}
		if(type >= 0){
			activeUsersAjax.setVar("type", type);
		}
		activeUsersAjax.runAJAX();
	}
	
	//Redirect to user link
	function gotoUser(){
		var users_data = users[current_user];
		document.location = users_data[2];
	}
	
	function ParseXML(xmlstring){
		var xmlTempObject;
		
		if (document.implementation.createDocument){
			xmlTempObject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
		} else if (window.ActiveXObject){ 
			// Internet Explorer, create a new XML document using ActiveX 
			// and use loadXML as a DOM parser. 
			xmlTempObject = new ActiveXObject("Microsoft.XMLDOM") 
			xmlTempObject.async="false"; 
			xmlTempObject.loadXML(xmlstring);   
		}
		
		return xmlTempObject;
	}
	
	//Finished loading users data - start animations
	function got_users(){
		var xmlobject = ParseXML(activeUsersAjax.response);
		var root = xmlobject.getElementsByTagName('users')[0];//users
		users = new Array();
		usersIndex = 0;
		
		for (var iNode = 0; iNode < root.childNodes.length; iNode++) {//each user
			var node = root.childNodes.item(iNode);
			var userDetails = new Array();
			var userDetailsIndex = 0;

			if(node.childNodes.length > 0){
				for (i = 0; i < node.childNodes.length; i++) {//user details
					var sibling = node.childNodes.item(i);
	
					if(sibling.childNodes.length > 0){
						userDetails[userDetailsIndex] = sibling.childNodes.item(0).data;
						userDetailsIndex++;
					}
				}//user details
				
				users[usersIndex] = userDetails;
				usersIndex++;
			}
		}//each user

		if(users.length){
			circle_users();
		}
	}
	
	//Set opacity for IE and firefox
	function setOpacity(op){
		if (navigator.userAgent.indexOf("Firefox")!=-1){
			image.style.MozOpacity = op;
		}
		if (navigator.userAgent.indexOf("MSIE")!=-1){
			image.style.filter = 'alpha(opacity=' + op * 100 + ')';
		}
	}
	
	//Slowly changes opacity and when unvisible changes user's logo
	function updateOpacity(){
		var timeOut = 1000;
		
		if(current_opacity >= 0 && current_opacity <= 1){
			setOpacity(current_opacity);
			current_opacity += opacityChange;
			setTimeout("updateOpacity()", 20);
		}
		else{
			if(current_opacity < 0){
				current_opacity = 0;
				current_user++;
				
				if(current_user >= users.length) current_user = 0;
				
				var users_data = users[current_user];
				image.src = users_data[1];
				text.innerHTML = users_data[0];
				timeOut = 20;
			}else{
				current_opacity = 1;
			}

			opacityChange *= -1;
			setOpacity(current_opacity);
			setTimeout("updateOpacity()", timeOut);
		}
	}
	
	//Starts user's logos animations
	function circle_users(){
		var users_data;
		
		users_data = users[0];
		image.src = users_data[1];
		text.innerHTML = users_data[0];
			
		setTimeout("updateOpacity()", 1000);
	}

	//This function is to show FAQ about finance.
	function faqSelect(id2show, id2hide){
		var show_div = document.getElementById(id2show);
		var hide_div = document.getElementById(id2hide);
		var show_link = document.getElementById(id2show+"_link");
		var hide_link = document.getElementById(id2hide+"_link");
		
		show_div.style.display = "block";
		hide_div.style.display = "none";
		
		show_link.className = "";
		hide_link.className = "not_selected";
	}
