var screenOffset=[0,0];
var previewThumbOffset = -50;
var cachedPreviews = new Array();
var loadedMenus = new Array();
var xcoord,ycoord;
var currentLoader = false;

document.onmousemove = followCursor;


function objGet(x)
{
	if (typeof x != 'string') return x;
	else if (Boolean(document.getElementById)) return document.getElementById(x);
	else if (Boolean(document.all)) return eval('document.all.'+x);
	else return false;
}

function sh(id)
{
	oS = objGet(id).style.display;
	if (oS=="block")
		objGet(id).style.display = "none";
	else
		objGet(id).style.display = "block";
}

function editEr_hide(id) { objGet(id).style.display = "none"; }
function show(id) { objGet(id).style.display = "block"; }


function loadMenu(id,lvl)
{
	if (!loadedMenus[id])
	{
		objGet("par"+id).innerHTML = "<i>Loading...</i>";
		getPageContent("/getMenu.php?i="+id+"&l="+lvl,"par"+id);
		objGet("par"+id).style.display = "block";
		loadedMenus[id] = true;
	}
	else
		sh("par"+id);
	return false;
}


function getPageContent(url, eid)
{
	var ai = new AJAXInteraction(url, eid, "");
	ai.doGet();
}

function AJAXInteraction(url, objectName, callback) {

    var req = init();
    req.onreadystatechange = processRequest;
        
    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    
    function processRequest () {
      if (req.readyState == 4) {
        if (req.status == 200) {
          if (objectName)
          	objGet(objectName).innerHTML = req.responseText;
          if (callback)
          	callback(req.responseText);
        }
      }
    }

    this.doGet = function() {
      req.open("GET", url, true);
      req.send(null);
    }
    
    this.doPost = function(body) {
      req.open("POST", url, true);
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      req.send(body);
    }
}


function loadPic(id,file)
{
	objGet('prodpic').src =   'getPic.php?id='+id+'&file='+file;
	objGet('prodlink').href = '/productFiles/prod_'+id+'/'+file;
}

function showPic(file)
{
	window.open("/showPic.php?pic="+file,"dtcShowPic","alwaysRaised=yes,dependent=yes,directories=no,location=no,scrollbars=yes,menubar=no,resizable=yes,status=no,toolbar=no,width=800,height=600");
}


function followCursor(e)
{
	getWindowPosition();
	if (!e)
	{
		e = window.event;
		Xpos = e.x;
		Ypos = e.y;
		Xpos += screenOffset[0];
		Ypos += screenOffset[1];
	}
	else
	{
		if (typeof e != "undefined")
		{
			Xpos=e.pageX
			Ypos=e.pageY
		}
	}
	
}

function getWindowPosition()
{
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	screenOffset[0] = x;
	screenOffset[1] = y;
}


function oldshowPreview(id)
{
	objGet('prodpreview').innerHTML = "<img src='/images/loadingpic.jpg' alt=''/>";
	objGet('prodpreview').style.top = Ypos + previewThumbOffset + "px";
	currentLoader = id;
	if (!cachedPreviews[id])
	{
		var ai = new AJAXInteraction("/getPP.php?i="+id, "", function (retval)
			{
				if (retval.length)
				{
					if (currentLoader == id)
					{
						objGet('prodpreview').innerHTML = "<img src='"+retval+"' alt=''/>";
						cachedPreviews[id] = retval;
						show('prodpreview');
					}
				}
				else
					cachedPreviews[id] = -1
			}
		);
		ai.doGet();
	}
	else
	{
		if (cachedPreviews[id] != -1)
		{
			objGet('prodpreview').innerHTML = "<img src='"+cachedPreviews[id]+"' alt=''/>";
			show('prodpreview');
		}
	}
}

function showPreview(f)
{
	objGet('prodpreview').innerHTML = "<img src='/images/loadingpic.jpg' alt=''/>";
	objGet('prodpreview').style.top = Ypos + previewThumbOffset + "px";
	currentLoader = f;
	if (!cachedPreviews[f])
	{
		var ai = new AJAXInteraction("/getPP.php?f="+f, "", function (retval)
			{
				if (retval.length)
				{
					if (currentLoader == f)
					{
						objGet('prodpreview').innerHTML = "<img src='"+retval+"' alt=''/>";
						cachedPreviews[f] = retval;
						show('prodpreview');
					}
				}
				else
					cachedPreviews[f] = -1
			}
		);
		ai.doGet();
	}
	else
	{
		if (cachedPreviews[f] != -1)
		{
			objGet('prodpreview').innerHTML = "<img src='"+cachedPreviews[f]+"' alt=''/>";
			show('prodpreview');
		}
	}
}

