var old_ajax_names=[];

function getDocumentHeight() { return (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight:document.body.offsetHeight; }
function getDocumentWidth() { return (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth:document.body.offsetWidth; }
function getClientWidth() { return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth; }
function getClientHeight() { return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight; }
function getClientCenterX() { return parseInt(getClientWidth() / 2) + getBodyScrollLeft(); }
function getClientCenterY() { return parseInt(getClientHeight() / 2) + getBodyScrollTop(); }
function getBodyScrollTop() { return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop); }
function getBodyScrollLeft() { return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft); }

function in_array(needle, haystack, strict) {
    var found = false, key, strict = !!strict;
 
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
    return found;
}

function ajax_block_hide_all() {
  document.getElementById('ajax_bg').style.visibility="hidden";
  for (key in old_ajax_names) {
  	if (document.getElementById(old_ajax_names[key]) != undefined) document.getElementById(old_ajax_names[key]).style.visibility='hidden';
  }
}

function ajax_block_hide(name) {
  document.getElementById('ajax_bg').style.visibility="hidden";
  document.getElementById(name).style.visibility='hidden';
}

function ajax_block_show(name, fade) {
  document.getElementById('ajax_bg').style.width = getDocumentWidth() + 'px';
  document.getElementById('ajax_bg').style.height = getDocumentHeight() + 'px';
  document.getElementById(name).style.width = '550px';
  document.getElementById(name).style.left = ( getClientCenterX() - (parseInt(document.getElementById(name).style.width) / 2) ) + 'px';
  //alert(getClientCenterX() - (parseInt(550) / 2));
  document.getElementById(name).style.top = (getBodyScrollTop() + 100) + 'px';
  
  if (fade) {
  	initFade('ajax_bg');
  	initFade(name);
  } else {
  	document.getElementById('ajax_bg').style.visibility="visible";
  	document.getElementById(name).style.visibility="visible";
  }
  
  if (!in_array(name, old_ajax_names)) {
    //jsAjaxUtil.InsertDataToNode(url,name,false);
    old_ajax_names[name]=name;
  }
}

function initFade(name) {
  obj = document.getElementById(name);
  obj.style.opacity = 0;
  obj.style.filter = 'alpha(opacity=0)';
  obj.style.visibility="visible";
  
  for (var i=0;i<11;i++) setTimeout('setOpacity('+i+',"'+name+'")', 100*i);
  return false;
}

function setOpacity(value,name) {
  obj = document.getElementById(name);
  obj.style.opacity = value/10;
  obj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

/* SITE FUNCTIONS */
function get_excl(id, text) {
	var req = new JsHttpRequest();
	
	document.getElementById('ajax_container').innerHTML = "<span class=\"green\"><table class=\"data-table\" cellspacing=\"30\" cellpadding=\"0\" border=\"0\"><tr><td valign=\"middle\"><img align=\"middle\" src=\"/theme/images/loading9.gif\" border=\"0\" style=\"margin:5px;\"></td><td>Пожалуйста, подождите.<br />Загружается информация...</td></tr></table></span>";
	ajax_block_show('ajax_container', true);
		
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            //document.getElementById('check_login').innerHTML = req.responseJS.res;
            document.getElementById('ajax_container').innerHTML = req.responseText;
        }
    }
    req.open('GET', '/ajax/exclusive.php', true);
    req.send( { id: id, text: text } );
}

function get_leader(id, text) {
	var req = new JsHttpRequest();
	
	document.getElementById('ajax_container').innerHTML = "<span class=\"green\"><table class=\"data-table\" cellspacing=\"30\" cellpadding=\"0\" border=\"0\"><tr><td valign=\"middle\"><img align=\"middle\" src=\"/theme/images/loading9.gif\" border=\"0\" style=\"margin:5px;\"></td><td>Пожалуйста, подождите.<br />Загружается информация...</td></tr></table></span>";
	ajax_block_show('ajax_container', true);
		
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            //document.getElementById('check_login').innerHTML = req.responseJS.res;
            document.getElementById('ajax_container').innerHTML = req.responseText;
        }
    }
    req.open('GET', '/ajax/leader.php', true);
    req.send( { id: id, text: text } );
}
 
function adv_up(action, id) {
	var req = new JsHttpRequest();

	document.getElementById('user_result'+id).innerHTML = "<span class=\"green\"><table class=\"data-table\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td valign=\"middle\"><img align=\"middle\" src=\"/theme/images/loading2.gif\" border=\"0\" style=\"margin:5px;\"></td><td>Обработка...</td></tr></table></span>";
		
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            //document.getElementById('check_login').innerHTML = req.responseJS.res;
            document.getElementById('user_result'+id).innerHTML = req.responseText;
        }
        /* Инициализация запроса
        if (req.readyState == 1) {
            document.getElementById('user_result'+id).innerHTML = "TEST1";
        }
        */
        if (req.readyState == 2) {
            document.getElementById('user_result'+id).innerHTML = "TEST2";
        }
        if (req.readyState == 3) {
            document.getElementById('user_result'+id).innerHTML = "TEST3";
        }
        if (req.readyState == 5) {
            document.getElementById('user_result'+id).innerHTML = "TEST5";
        }
    }
    
    req.open('GET', '/ajax/user.php', true);
    req.send( { action: action, id: id } );
}

function change_region2(country, region, city, finish, top_div_name) {
	if (finish == 0 && country==0 && region==0 && city==0) {
		//alert("Вы не выбрали элемент из списка!");
		return false;
	} else {
		change_region(country, region, city, finish, top_div_name);
	}
}

function change_region(country, region, city, finish, top_div_name) {
	var req = new JsHttpRequest();
	
	if (finish > 0) {
		ajax_block_hide_all();
		document.getElementById(top_div_name).innerHTML = "<span class=\"green\" style=\"text-align:right;\"><table align=\"right\" class=\"data-table\" cellspacing=\"2\" cellpadding=\"0\" border=\"0\"><tr><td valign=\"middle\"><img align=\"middle\" src=\"/theme/images/loading2.gif\" border=\"0\" style=\"margin:5px;\"></td><td>Смена региона...</td></tr></table></span>";
				
	    req.onreadystatechange = function() {
	        if (req.readyState == 4) {
	            //document.getElementById('check_login').innerHTML = req.responseJS.res;
	            document.getElementById(top_div_name).innerHTML = req.responseText;
	        }
	    }
	} else {
		document.getElementById('ajax_container').innerHTML = "<span class=\"green\"><table class=\"data-table\" cellspacing=\"30\" cellpadding=\"0\" border=\"0\"><tr><td valign=\"middle\"><img align=\"middle\" src=\"/theme/images/loading9.gif\" border=\"0\" style=\"margin:5px;\"></td><td>Пожалуйста, подождите.<br />Загружается информация...</td></tr></table></span>";
		//if (country==0 && region==0 && city==0) 
		ajax_block_show('ajax_container', false);
		
	    req.onreadystatechange = function() {
	        if (req.readyState == 4) {
	            //document.getElementById('check_login').innerHTML = req.responseJS.res;
	            document.getElementById('ajax_container').innerHTML = req.responseText;
	        }
	    }
	}
    req.open('GET', '/ajax/region.php', true);
    req.send( { country: country, region: region, city: city, finish: finish, top_div_name: top_div_name} );
}
