var xHRObject = false;
if (window.ActiveXObject) {
	xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest){
	xHRObject = new XMLHttpRequest();
}

var NAV_PREV = 0;
var NAV_CUR = 1;
var NAV_NEXT = 2;

var banners_id = "";
var banners_image_url_nodes = false;
var banners_url_nodes = false;
var banners_title_nodes = false;
var num_of_banners = 0;
var cur_banner_id = 0;

var max_nav_chars= 25;
var show_current_title = false;

function init_banner_swapper(bannerId) {
	if (window.ActiveXObject) {
		xHRObject.open("GET","AJAX_servers/AJAX_banner_swapper_server.php?action=loadBanners&banners_id=" + bannerId + "&id=" + Number(new Date), true);
		xHRObject.onreadystatechange = getData;
	}
	else if (window.XMLHttpRequest){
		xHRObject.onreadystatechange = getData;
		xHRObject.open("GET","AJAX_servers/AJAX_banner_swapper_server.php?action=loadBanners&banners_id=" + bannerId + "&id=" + Number(new Date), true);
	}
	xHRObject.send(null);
}

function getData() {
	if (xHRObject.readyState == 4 && xHRObject.status == 200) {
		var serverResponse = xHRObject.responseXML;
		response = xHRObject.responseXML;
		if (serverResponse != null) {
			var itemsNode = serverResponse.getElementsByTagName('items');
			if (itemsNode.length > 0) {
				var attribute = itemsNode[0].attributes[0].value;
				if (attribute == 'loadBanners') {
					var banners_id_nodes = serverResponse.getElementsByTagName('banners_id');
					banners_image_url_nodes = serverResponse.getElementsByTagName('banners_image_url');
					banners_url_nodes = serverResponse.getElementsByTagName('banners_url');
					banners_title_nodes = serverResponse.getElementsByTagName('banners_title');
					num_of_banners = serverResponse.getElementsByTagName('item').length;

					if (window.ActiveXObject) {
						banners_id = banners_id_nodes[0].text;
					}
					else if (window.XMLHttpRequest){
						banners_id = banners_id_nodes[0].textContent;
					}
					//set up banners, if there are three banners or more, show the second banner
					//so the navigation would look like <<banner1<< banner2 >>banner3>>
					if (num_of_banners >= 3) {
						set_banners_image(1);
						set_banners_nav(NAV_PREV, 0);
						set_banners_nav(NAV_CUR, 1);
						set_banners_nav(NAV_NEXT, 2);
					}
					else {
						set_banners_nav(NAV_CUR, 0);
						if (num_of_banners ==2)
							set_banners_nav(NAV_NEXT, 1);
					}
				}
			}
		}
	}
}

function set_banners_image(index) {
	//set up banner image
	if (window.ActiveXObject) {
		document.getElementById(banners_id + "Image").innerHTML = html_entity_decode(banners_image_url_nodes[index].text);
	}
	else if (window.XMLHttpRequest){
		document.getElementById(banners_id + "Image").innerHTML = html_entity_decode(banners_image_url_nodes[index].textContent);
	}
}

function hideNav() {
	document.getElementById(banners_id + "NavPrev").style.display = 'none';
	document.getElementById(banners_id + "NavCur").style.display = 'none';
	document.getElementById(banners_id + "NavNext").style.display = 'none';
}

function showPrev() {
	hideNav();

	--cur_banner_id;
	set_banners_image(cur_banner_id);
	if (cur_banner_id > 0) {
		set_banners_nav(NAV_PREV,cur_banner_id-1);
	}

	set_banners_nav(NAV_CUR,cur_banner_id);
	set_banners_nav(NAV_NEXT,cur_banner_id+1);
}

function showNext() {
	hideNav();

	++cur_banner_id;
	set_banners_image(cur_banner_id);

	set_banners_nav(NAV_PREV,cur_banner_id-1);
	set_banners_nav(NAV_CUR,cur_banner_id);

	if (cur_banner_id < num_of_banners-1) {
		set_banners_nav(NAV_NEXT,cur_banner_id+1);
	}
}

function set_banners_nav(pos, index) {
	if (window.ActiveXObject) {
		var navTitle = banners_title_nodes[index].text;
		var url = banners_url_nodes[index].text;
		var title = banners_title_nodes[index].text;
	}
	else if (window.XMLHttpRequest){
		var navTitle = banners_title_nodes[index].textContent;
		var url = banners_url_nodes[index].textContent;
		var title = banners_title_nodes[index].textContent;
	}

	if (navTitle.length > max_nav_chars) {
		navTitle = navTitle.substr(0, max_nav_chars);
		navTitle += "...";
	}

	if (pos == NAV_PREV) {
		var navText = '<a href="javascript:showPrev()" title="' + title +'">' + navTitle + '</a>';
		document.getElementById(banners_id + "NavPrev").innerHTML = navText;
		document.getElementById(banners_id + "NavPrev").style.display = 'block';
	}
	if (pos == NAV_CUR) {
		cur_banner_id = index;
		if (show_current_title) {
			var navText = navTitle;
			document.getElementById(banners_id + "NavCur").innerHTML = navText;
			document.getElementById(banners_id + "NavCur").style.display = 'block';
		}
	}
	if (pos == NAV_NEXT) {
		var navText = '<a href="javascript:showNext()" title="' + title +'">' + navTitle + '</a>';
		document.getElementById(banners_id + "NavNext").innerHTML = navText;
		document.getElementById(banners_id + "NavNext").style.display = 'block';
	}
}

function html_entity_decode(str) {
  var ta=document.createElement("textarea");
  ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}


function bs_rotate(){
  ++cur_banner_id;
  cur_banner_id= (cur_banner_id%num_of_banners)-1;
  showNext();
}

var message="";

function clickIE()
 
{if (document.all)
{(message);return false;}}
 
function clickNS(e) {
if
(document.layers||(document.getElementById&&!document.all))
{
if (e.which==2||e.which==3) {(message);return false;}}}
if (document.layers)
{document.captureEvents(Event.MOUSEDOWN);document.  onmousedown=clickNS;}
else
{document.onmouseup=clickNS;document.oncontextmenu  =clickIE;}
 
document.oncontextmenu=function(){return false}


function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
    target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
    target.style.MozUserSelect="none"
else //All other route (ie: Opera)
    target.onmousedown=function(){return false}
target.style.cursor = "default"
}