// Simple follow the mouse script
// ajax request object

function createRequest() 
{
     try 
	 {
       request = new XMLHttpRequest();
     } 
	 catch (trymicrosoft) 
	 {
       try 
	   {
         request = new ActiveXObject("Msxml2.XMLHTTP");
       } 
	   catch (othermicrosoft) 
	   {
         try 
		 {
           request = new ActiveXObject("Microsoft.XMLHTTP");
         } 
		 catch (failed) 
		 {
           request = null;
         }
       }
     }

	if (request == null)
	{
       alert("Error creating request object!");
	} 
	else 
	{
		return request;
	}
}




function display(clientid)
{		
	var obj = document.getElementById(divName).style; 
	obj.display = 'block';
	
	createRequest(); 
	var loggfile = "quote_request.php?";
	request.open("POST", loggfile, true);
	request.onreadystatechange = function updatepage()
	{
		if (request.readyState == 4) 
		{
			var newinfo = request.responseText;
			document.getElementById("main_quote").innerHTML = newinfo;					
		}
	}

	request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "sendrequest=getquote" + "&clientid=" + clientid;
	request.send(data);	
}

function hide()
{
	var obj = document.getElementById(divName).style; 
	obj.display = 'none';
	document.getElementById("main_quote").innerHTML = "";	
}


////// Mouse floolow with edge stopper.////////////
var divName = 'pop_up';
                      
var offX = 15;         
var offY = -20;

var edgestopBottom = 220;         
var edgestopRight = 450;    
	
function mouseX(evt) 
{
	if (!evt) evt = window.event; 
	if (evt.pageX) return evt.pageX; 
	else if (evt.clientX)
	return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); 
	else return 0;
}

function mouseY(evt) 
{
	if (!evt) evt = window.event; 
	if (evt.pageY) 
	return evt.pageY; 
	else if (evt.clientY)
	return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
	else return 0;
}

function follow(evt) 
{
	if (document.getElementById) 
	{
		var obj = document.getElementById(divName).style; 
		
		if((parseInt(mouseY(evt))+offY) < windowSize('H') + getScrollXY('SY') - edgestopBottom)
		{
			obj.top = (parseInt(mouseY(evt))+offY) + 'px';	
		}

		obj.left = (parseInt(mouseX(evt))+offX) + 'px';	

	}
}

function windowSize(type) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) 
  {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } 
  else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
  {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } 
  else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
  {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  
  if(type == 'W')
  {
	  return myWidth;
  }
  else if(type == 'H')
  {
	   return myHeight;
  }
}

function getScrollXY(type) 
{
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) 
  {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } 
  else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
  {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } 
  else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
  {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
    
  if(type == 'SX')
  {
	  return scrOfX;
  }
  else if(type == 'SY')
  {
	   return scrOfY;
  }
  
}

document.onmousemove = follow;
		