// JavaScript Document

// Functions for localizing the cursor

var cX = 0; var cY = 0; var rX = 0; var rY = 0;

function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}

if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }

function AssignPosition(d) {
if(self.pageYOffset) {
	rX = self.pageXOffset;
	rY = self.pageYOffset;
	}
else if(document.documentElement.scrollLeft && document.documentElement.scrollTop) {
	rX = document.documentElement.scrollLeft;
	rY = document.documentElement.scrollTop;
	}
else if(document.body) {
	rX = document.body.scrollLeft;
	rY = document.body.scrollTop;
	}
if(document.all) {
	cX += rX; 
	cY += rY;
	}
if (cX>700) cX=700;
if (cY>500) cY=500;
alert(cX+" "+cY);
d.style.left = (cX+10) + 'px';
d.style.top  = (cY+10) + 'px';
}

// ---

function getXYpos(elem) {
   if (!elem) {
      return {"x":0,"y":0};
   }
   if (getStyle(elem,'position') == 'relative')  var xy={"x":0,"y":0}
   else                                          var xy={"x":elem.offsetLeft,"y":elem.offsetTop}
   var par=getXYpos(elem.offsetParent);
   //alert('###'+xy.x+'###');
   //if (getStyle(elem,'position') != 'relative') 
   {   //alert('***'+getStyle(elem,'position')+'***');
	   for (var key in par) {
           xy[key]+=par[key];
	   }
   }
   //alert(elem.id+" "+elem.offsetLeft+" "+getStyle(elem,'position')+" "+getStyle(elem,'left')+" "+xy.x);
   return xy;
}


function getStyle(el,styleProp)
{
	//var x = document.getElementById(el);
	var x = el;
	if (x.currentStyle)
		var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	return y;
}


function Submask_wait(element)
                 {   var greyDiv = document.createElement('div');
                     greyDiv.id = element+'_greyDiv';
	
	                 greyDiv.style.position = 'absolute';
	                 greyDiv.style.zIndex   = 90;
                     greyDiv.style.display  = 'block';

                     //var coords = findPos(document.getElementById(element));
                     var coords = getXYpos(document.getElementById(element));
					 
	                 //greyDiv.style.left   =document.getElementById(element).offsetLeft+'px';
	                 //greyDiv.style.top    =document.getElementById(element).offsetTop+'px';
	                 greyDiv.style.left   =coords.x+'px';
	                 greyDiv.style.top    =coords.y+'px';
					 greyDiv.style.width  =document.getElementById(element).offsetWidth+'px';
	                 greyDiv.style.height =document.getElementById(element).offsetHeight+'px';
	
	                 //alert(greyDiv.style.left+" "+greyDiv.style.top+" "+greyDiv.style.width+" "+greyDiv.style.height);
					 //alert(document.getElementById(element).offsetWidth+'px *'+getStyle(document.getElementById(element), 'text-align')+'*');
	                 greyDiv.style.backgroundImage = 'url(images/blank_dark.png)';
	 
	                 var waitImg = document.createElement('img');
                     waitImg.id = 'waitImg';
					 if (document.getElementById(element).offsetHeight > 40)
					 {  waitImg.src = 'images/waiting_2.gif';
					 }
					 else
					 {  waitImg.src = 'images/waiting_2_small.gif';
					 }
					 if (getStyle(document.getElementById(element), 'text-align') == 'center' ||
	                     getStyle(document.getElementById(element), 'text-align') == 'justify')
					 {   waitImg.style.marginLeft = 0;
					 }
					 else
					 {   waitImg.style.marginLeft = (document.getElementById(element).offsetWidth / 2 - 10)+'px';
					 }
	                 waitImg.style.marginTop = (document.getElementById(element).offsetHeight / 2 - 10)+'px';
	  
	                 greyDiv.appendChild(waitImg);
	  
	                 var up = document.getElementById(element).parentNode;
	                 up.appendChild(greyDiv);
	

                 }
				 
function Submask_stopwait(element)
                 {   var greyDiv = document.getElementById(element+'_greyDiv');
                     var up = document.getElementById(element).parentNode;
					 //alert('qui');
	                 up.removeChild(greyDiv);

                 }
				 
// ---

	            function IsIE()
		        {  if (navigator.appName == 'Microsoft Internet Explorer')
				   {  return true;
				   }
				   else
				   {  return false;
				   }
			    }
				
	            function IsIE6()
		        {  if (navigator.appName != 'Microsoft Internet Explorer')
				   {  return false;
				   }
				   var i = navigator.appVersion.indexOf('MSIE ');
				   var n = navigator.appVersion.substr(i+5,1);
				   //alert(i+', '+n);
				   if (n > '6')
				   {  return false;
				   }
				   else
				   {  return true;
				   }
			    }


function MyGet(url, data, callback, type)
{  if (data===undefined)
   {  data = {};
   }
   if (callback===undefined)
   {  callback=function(data){};
   }
   if (type===undefined)
   {  type = 'text';
   }
   var queryString = "";
    var n=0;
	for (i in data)
	{  if (n++>0)
	   {  queryString += "&";
	   }
	   else
	   {  queryString += "?";
	   }
	   queryString += i+"="+data[i];
	}
    //alert(queryString);

    var AJAX = null;

    if (window.XMLHttpRequest) AJAX = new XMLHttpRequest();
    else AJAX = new ActiveXObject("Microsoft.XMLHTTP");

    AJAX.onreadystatechange = function () {
	     if (AJAX.readyState == 4 && AJAX.status == 200) 
		 {  if (type=='json')
		    {  var data = eval('(' + AJAX.responseText + ')');
			}
			else
			{  var data = AJAX.responseText;
			}
		    callback(data);
		 }
   }
		
   AJAX.open("GET", url+queryString, true);
   AJAX.send(null);

}


