var preloadedImages;

function PreloadImages(imageUrls)
{
    //Preload images
    if (document.images)
    {
        preloadedImages = new Array();
        for(i=0; i<=imageUrls.length-1; i++)
        {
            preloadedImages[i] = new Image();
            preloadedImages[i].src = imageUrls[i];
        }
    }
}

function GetHttpRequest()
{
    var xmlHttp;
    try
    {    
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();    
    }
    catch (e)
    {    
        // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    return xmlHttp;
}

function OpenWindow(url, name, features)
{
    //Open blank window first because when the window is already opened, we need to refresh
    //it's content (win.location = url;). If we open the window (and the window is closed)
    //using the url and we set location (win.location = url;), two refreshes will happen.
    win = window.open('', name, features);
    win.location = url;
    win.focus();
}

document.onkeypress = HandleKeyPress;
function HandleKeyPress(e)
{
    var eventArgs;
    if (IsIE())
        eventArgs = event;
    else if (IsFirefox())
        eventArgs = e;
    else
	    return;
    
    var isOutsideTextArea;
    if (IsIE())
        isOutsideTextArea = document.activeElement.type != 'textarea';
    else if (IsFirefox())
        isOutsideTextArea = eventArgs.target.type != 'textarea';
    else
	    return;
	    
    var defaultControl = document.getElementById('defaultControl');
    if (eventArgs.keyCode == 13 && defaultControl.value != "" && isOutsideTextArea)
    {
        var control = document.getElementById(defaultControl.value);
        if (control != null)
        {
            control.click();
            return false;
        }
    }

    var escapeControl = document.getElementById('escapeControl');
    if (eventArgs.keyCode == 27 && escapeControl.value != "")
    {
        var control = document.getElementById(escapeControl.value);
        if (control != null)
        {
            control.click();
            return false;
        }
    }
}

function TrapEnterKey(button, event)
{
    if (document.all)
    {
		if (event.keyCode == 13)
		{
			event.returnValue = false;
			event.cancel = true;
			button.click();
		}
	}
	else if (document.getElementById)
	{
	    if (event.which == 13)
	    {
			event.returnValue = false;
			event.cancel = true;
			button.click();
		}
	}
	else if(document.layers)
	{
	    if(event.which == 13)
	    {
			event.returnValue = false;
			event.cancel = true;
			button.click();
    	}
	}
}

function IsIE()
{
    return navigator.userAgent.toLowerCase().indexOf("msie") != -1;
}

function IsFirefox()
{
    return navigator.userAgent.toLowerCase().indexOf("firefox") != -1;
}

function OpenWindow(url)
{
    window.open(url, 'window1', 'resizable=1,menubar=1,toolbar=0,status=1,scrollbars=1,top=0,left=0,height=600,width=800');
}

function FindCoordinates(element)
{
    var curleft = curtop = 0;
    if (element.offsetParent) {
	    curleft = element.offsetLeft
	    curtop = element.offsetTop
	    while (element = element.offsetParent) {
		    curleft += element.offsetLeft
		    curtop += element.offsetTop
	    }
    }
    return [curleft,curtop];
}

function ValidateControlsWidth()
{
    for (i=0;i<ControlsToValidate.length;i++)
    {
        var split = ControlsToValidate[i].split('|');
        ValidateWidth(split[0], split[1]);
    }
}

function ValidateWidth(elementId, maximumWidth)
{
    var element = document.getElementById(elementId);
    var shortenedWidth = element.offsetWidth > maximumWidth;
    while (element.offsetWidth > maximumWidth)
    {
        element.innerHTML = element.innerHTML.substr(0, element.innerHTML.length-1);
    }
    if (shortenedWidth)
        element.innerHTML += '...';
}
