﻿/*Taken From:
http://webdevel.blogspot.com/2005/12/getelementdimensions-javascript.html
Licensed under Creative Commons
*/
function trace( msg )
{
    if( typeof( jsTrace ) != 'undefined' )
    {
        jsTrace.send( msg );
    }
}

        
function getElementDimensions(el)
{
 if(typeof(el) == "string")
 {
  el = document.getElementById(el);
 }
 if(!el || !el.offsetParent) return false;
 var left = el.offsetLeft, top = el.offsetTop, width = el.offsetWidth, height = el.offsetHeight;
 do
 {
  el = el.offsetParent, left+= el.offsetLeft, top+= el.offsetTop;
 }
 while (el.offsetParent);
 return {"left" : left, "right" : left + width, "top" : top, "bottom" : top + height, "width" : width, "height" : height};
}


function getMouseClickLocation(e)
{
    if(e.pageX && e.pageY)
    {
        return {"x" : e.pageX, "y" : e.pageY};
    }
    else if(e.clientX && e.clientY)
    {
        return {"x" : e.clientX + document.documentElement.scrollLeft, "y" : e.clientY + document.documentElement.scrollTop};
    }
    
    return {"x" : 0, "y" : 0};
}



function SearchIntranet(SearchTextItemID)
{
    var Element =
        document.getElementById(SearchTextItemID);
        
    if(Element)
    {        
        var SearchString = 
            "http://searchi.wsdot.wa.gov/search?q=" + Element.value + "&site=Intranet&client=default_frontend&proxystylesheet=default_frontend&output=xml_no_dtd";
        
        //alert(SearchString);
        window.location = SearchString;
    }
}

var AllowFormToSubmit = true;

function AllowFormSubmittal()
{  
    var RetVal = AllowFormToSubmit;
    
    AllowFormToSubmit = true;
    
    return RetVal;
}


function SearchKeyDown(ev, SearchTextItemID)
{
    if(ev.keyCode)
    {
        if(ev.keyCode == 13)
        {
            //alert('Enter');
            AllowFormToSubmit = false;
            SearchIntranet(SearchTextItemID);
        }
    }
}










/*
From:
http://www.webreference.com/programming/javascript/mk/column2/
document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;

var dragObject  = null;
var mouseOffset = null;
var mouseDragged = false;

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}

function mouseMove(ev){
	ev           = ev || window.event;
	var mousePos = mouseCoords(ev);

	if(dragObject){
	    mouseDragged = true;
		dragObject.style.position = 'absolute';
		dragObject.style.top      = mousePos.y - mouseOffset.y + 'px';
		dragObject.style.left     = mousePos.x - mouseOffset.x + 'px';

		return false;
	}
}
function mouseUp(){
	dragObject = null;
}

function makeDraggable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		return false;
	}
}

/* End From: */