function showoverlay()
{
   obj = document.getElementById('overlay');
   pagesize = getPageSize();
   pagescroll = getPageScroll();

   obj.style.width = pagesize[0] + "px";
   obj.style.height = pagesize[1] + "px";
   obj.style.display = 'block';

   return pagescroll[1] + (pagesize[3] / 15);
}

function hideoverlay()
{
   obj = document.getElementById('overlay');
   obj.style.display = 'none';
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

function mobiledetection()
{
	var ua = navigator.userAgent.toLowerCase();
	var is_iphone = (ua.indexOf('iphone')!=-1);
	var is_ipad = (ua.indexOf('ipad')!=-1);
	var is_ipod = (ua.indexOf('ipod')!=-1);
	var is_android = (ua.indexOf('android')!=-1);
	var ios_pattern = /os (.*?) like/;
	var android_pattern = /android (.*?);/;
	if(is_iphone || is_ipod || is_ipad)
	{
		var matches = ua.match(ios_pattern);
		var version = matches[1].split("_");
		//alert(version[0]);
		if(parseFloat(version[0]) < 5)
		{
			var elem = document.getElementById('basefloating');
			if(elem)
			{
				var mobpos = function() 
				{
				      //var elem = document.getElementById('basefloating');
				      var npos = ((window.innerHeight + document.body.scrollTop) - elem.offsetHeight);
				      elem.style.top = npos + 'px';
				      elem.style.visibility = 'visible';
				}
				document.body.ontouchstart = function() {
				      document.getElementById('basefloating').style.visibility = 'hidden';
				};
				document.body.ontouchend = mobpos;
				window.onscroll = mobpos;
				mobpos();
			}
		}
	}
	else if(is_android)
	{
		var matches = ua.match(android_pattern);
		$version = parseFloat(matches[1].substr(0,3));
		if($version < 2.2)
		{
			var elem = document.getElementById('basefloating');
			if(elem)
			{
				document.getElementById('basefloating').style.display = 'none';	
			}
		}
	}
	else
	{
		// keep displaying floating bar
		return;
	}
}
if(window.onload)
{
	loadstack = window.onload;
}
else
{
	loadstack = null;
}
window.onload = function (){
	if(loadstack){ loadstack.apply(); }
		mobiledetection();	
	};
