﻿//begin***initialize_public_vars-browser_name_&_version//
var browser;
if (navigator.userAgent.search(/opera/i) == -1 && navigator.userAgent.search(/firefox/i) == -1)
{
    if (navigator.appName == "Microsoft Internet Explorer")
    {
        browser = "IE";
    }
    else
    {
        browser = navigator.appName;
    }
}
else
{
    if (navigator.userAgent.search(/opera/i) != -1)
    {
        browser = "Opera";
    }
    else if (navigator.userAgent.search(/firefox/i) != -1)
    {
        browser = "FireFox";
    }
}
var brVersion;
if (navigator.userAgent.search(/opera/i) == -1 && navigator.userAgent.search(/firefox/i) == -1)
{
    if (browser == "IE")
    {
        brVersion = navigator.appVersion.toString().substring(navigator.appVersion.toString().indexOf("MSIE"),
            navigator.appVersion.toString().indexOf("MSIE") + 8);
    }
    else
    {
        brVersion = navigator.appVersion.toString();
    }
}
else
{
    if (navigator.userAgent.search(/opera/i) != -1)
    {
        brVersion = navigator.userAgent.substring(navigator.userAgent.search(/opera/i) + 6, navigator.userAgent.search(/opera/i) + 9);
    }
    else if (navigator.userAgent.search(/firefox/i) != -1)
    {
        brVersion = navigator.userAgent.substring(navigator.userAgent.search(/firefox/i) + 8, navigator.userAgent.search(/firefox/i) + 11);
    }
}
if (brVersion.indexOf("Chrome") > 0)
{
    browser = "Chrome";
}
else
{
    if (brVersion.indexOf("Safari") > 0)
    {
        browser = "Safari";
    }
}
if (browser == "IE")
{
    brVersion = brVersion.replace(/MSIE/i, "");
}
if (browser == "Chrome")
{
    var tStr = brVersion.match(/Chrome.{3}/g, "");
    brVersion = tStr[0].replace(/Chrome\//g, "");
}
if (browser == "Safari")
{
    var tStr = brVersion.match(/Safari.{2}/g, "");
    brVersion = tStr[0].replace(/Safari\//g, "");
}
if (browser == "IE" || browser == "O" || browser == "FF" || browser == "Chrome" || browser == "Safari")
{
    brVersion = brVersion * 1;
}
//end***initialize_public_vars-browser_name_&_version//

var elements_id = "random_ban_container_0";
var belements = [];
var banners_array = [];
var banner_index = 0;
var bi = 0;
var banner = [];
var change_index = 0;
var initTimer = null;

var AjaxObject = function()
{
	this.http_request = null;
	initialize();

	function initialize()
	{
		http_request = null;
		if (window.XMLHttpRequest)
		{//Mozilla,Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType)
			{
				http_request.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject)
		{//IE
			try
			{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e){}
			}
		}
		if (!http_request)
		{
			//alert('Cannot create XMLHTTP instance');
			return false;
		}
		http_request.onreadystatechange = parse_Contents;
	}

	function parse_Contents()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var arr1, arr2 = [];
				arr1 = http_request.responseText.split("~");
				for (var i = 0; i != arr1.length; i++)
				{
					var file = arr1[i].split("!");
					var other_i = file[1].split("|");
					banners_array.push([file[0], other_i[0], other_i[1]]);
				}
				if (banners_array.length > 0)
				{
					changeBanner();
				}
			}
			else
			{
				//alert('Возникла ошибка: ' + http_request.status);
			}
		}
	}

	this.send_data = function(file)
	{
		path = "http://" + document.domain + file + "?rand=" + Math.random();
		http_request.open('GET', path, true);
		if (browser != "Opera")
		{
			http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		}
		else if (brVersion > 8)
		{
			http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		}
		http_request.send(null);
	}
}

function changeBanner()
{
	banner = banners_array[banner_index];
	for (bi = 0; bi != belements.length; bi++)
	{
		$(document.getElementById(belements[bi][1])).fadeTo(800, 0,
			function ()
			{
					this.parentNode.href = banner[1];
					this.src = "http://" + document.domain + "/file/banner/" + banner[0];
					this.title = banner[2];
					this.alt = banner[2];
					change_index ++;
					$(this).load(
						function()
						{
							$(this).fadeTo(1700, 1,
								function ()
								{
									if (change_index == belements.length)
									{
										setTimeout(function()
													{
														banner_index ++;
														if (banner_index == banners_array.length)
														{
															banner_index = 0;
														}
														changeBanner();
													}, 3000);
										change_index = 0;
									}
								});
						});
					this.style.visibility = "visible";
					if (browser == "IE" && brVersion < 8)
					{
						this.style.position = "relative";
						this.style.top = (((200 - this.offsetHeight)/2) + "px");
					}
			});
	}
}

function getBanners()
{
	var AJAX = new AjaxObject();
	change_index = 0;
	AJAX.send_data('/rbanner_module.php');
}

function initOnLoad()
{
	var repeat = true;
	var elements = elements_id.split(",");
	if (document.body != null && document.body != undefined)
	{
		if (document.getElementById(elements[(elements.length - 1)]) != null && document.getElementById(elements[(elements.length - 1)]) != undefined)
		{
			if(initTimer)
			{
				clearTimeout(initTimer);
				repeat = false;
			}
			initTimer = null;
			for (var i = 0; i != elements.length; i++)
			{
				var tArr = [];
				var href = document.createElement("a");
				var href2 = document.createElement("a");
				href2.href = "all_ban.php";
				href2.target = "_blank";
	            if (href2.textContent != undefined)
	            {
	                href2.textContent = "Все баннеры...";
	            }
	            if (href2.innerText != undefined)
	            {
	            	try
	            	{
	                	href2.innerText = "Все баннеры...";
	                }
	                catch(e){}
	            }
	            if (href2.text != undefined)
	            {
	            	try
	            	{
	                	href2.text = "Все баннеры...";
	                }
	                catch(e){}
	            }
				href.id = "random_ban_link_" + i;
				tArr[0] = href.id;
				href.href = "#";
				href.target = "_blank";
				var div = document.createElement("div");
				div.style.height = "200px";
				div.style.width = "300px";
				div.style.verticalAlign = "middle";
				div.style.textAlign = "center";
				div.style.display = "table-cell";
				var img = document.createElement("img");
				img.id = "random_ban_" + i;
				tArr[1] = img.id;
				img.style.border = "0px";
				img.style.opacity = "1";
				img.style.visibility = "hidden";
				href.appendChild(img);
				div.appendChild(href);
				var br = document.createElement("br");
				var div2 = document.createElement("div");
				div2.style.textAlign = "right";
				div2.style.paddingTop = "3px";
				if (browser == "Opera")
				{
					if (brVersion < 11)
					{
						div2.style.display = "table-row";
					}
				}
				div2.appendChild(href2);
				document.getElementById(elements[i]).appendChild(div);
				document.getElementById(elements[i]).appendChild(div2);
				belements.push(tArr);
			}
			getBanners();
		}
	}
	if (repeat)
	{
		initTimer = setTimeout(function()
								{
									initOnLoad();
								}, 100);
	}
}
initOnLoad();
