function _inwEnterPressToButtonClick(buttonId, evt)
{
	if (evt == null)
	{
		evt = window.event; 
	}
	
	if(!evt)
	{
		return; 
	}

	var key = 0; 
	
	if (evt.keyCode) 
	{ 
		key = evt.keyCode; 
	}
	else if (typeof(evt.which)!= 'undefined') 
	{
		// for moz if keyCode==0 use 'which'
		key = evt.which;		
	}
	
	if (key == 13)
	{
		var btn = document.getElementById(buttonId);
		
		if (btn != null)
		{
			btn.click();
		}
		
		return false;
	}
}


function _inwEnterPressToNull(evt)
{
	if (evt == null)
	{
		evt = window.event; 
	}
	
	if(!evt)
	{
		return; 
	}

	var key = 0; 
	
	if (evt.keyCode) 
	{ 
		key = evt.keyCode; 
	}
	else if (typeof(evt.which)!= 'undefined') 
	{
		// for moz if keyCode==0 use 'which'
		key = evt.which;		
	}
	
	if (key == 13)
	{
		return false;
	}
}

function _inwKeyPressToPostBack(keyCode, ctrlTarget,  ctrlArgument, evt)
{
	if (evt == null)
	{
		evt = window.event; 
	}
	
	if(!evt)
	{
		return; 
	}

	var key = 0; 
	
	if (evt.keyCode) 
	{ 
		key = evt.keyCode; 
	}
	else if (typeof(evt.which)!= 'undefined') 
	{
		// for moz if keyCode==0 use 'which'
		key = evt.which;		
	} 
	
	if (key == keyCode)
	{
		__doPostBack(ctrlTarget,ctrlArgument);
		return false;
	}
};


function setTodayDate(cbDayId,cbMonthId,cbYearId)
{
	var d = new Date()
	var ctrlDay = document.getElementById(cbDayId);
	var ctrlMonth = document.getElementById(cbMonthId);
	var ctrlYear = document.getElementById(cbYearId);
	
	if (ctrlDay != null) ctrlDay.value = d.getDate();
	if (ctrlMonth != null) ctrlMonth.value = d.getMonth() + 1;
	if (ctrlYear != null) ctrlYear.value = d.getFullYear();
}


function ino_IsValidEmail(email)
{
    return email.match('^.+@.+[.].+$');
}

function ino_CopyrightYear(startYear)
{
	d = new Date();
	
	if (startYear != d.getFullYear())
		{
		return startYear + " - " + d.getFullYear();
		}
	else
		{
		return startYear;
		}
}

// Variables to hold mouse x-y pos.s
var ino_MouseLocation = new Object();
    ino_MouseLocation.X = 0;
    ino_MouseLocation.Y = 0;

//document.onmousemove = ino_GetMouseXY;

// Main function to retrieve mouse x-y pos.s
function ino_GetMouseXY(e)
{
    // Detect if the browser is IE or not.
    // If it is not IE, we assume that the browser is NS.
    var IE = document.all ? true : false;
    
	if (IE) { // grab the x-y pos.s if browser is IE
		ino_MouseLocation.X = window.event.clientX + document.body.scrollLeft;
		ino_MouseLocation.Y = window.event.clientY + document.body.scrollTop;
	} else {  // grab the x-y pos.s if browser is NS
		ino_MouseLocation.X = e.pageX;
		ino_MouseLocation.Y = e.pageY;
	}  
	// catch possible negative values in NS4
	if (ino_MouseLocation.X < 0){ino_MouseLocation.X = 0;}
	if (ino_MouseLocation.Y < 0){ino_MouseLocation.Y = 0;}  
}

// ****************************************************************
// AJAX functions
// ****************************************************************

var ns4 = (document.layers);
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);

var PreCallBackRequestFunctions = new Array();
var AfterCallBackRequestFunctions = new Array();

function ReceiveCallBackData(callBackResult, context) 
{
    var controlsMatches = new Array();
    controlsMatches = callBackResult.match(/<control>(.*?)<\/control>/gi);

    var functionCounter = 0;
    for(functionCounter=0; functionCounter < PreCallBackRequestFunctions.length; functionCounter++)
    {
        PreCallBackRequestFunctions[functionCounter](callBackResult, context);
    }

    var xmlNodeCounter = 0;
    for(xmlNodeCounter=0; xmlNodeCounter < controlsMatches.length; xmlNodeCounter++)
    {

        var controlId = controlsMatches[xmlNodeCounter].match(/<id>(.*?)<\/id>/)[1];
        var controlProperty = controlsMatches[xmlNodeCounter].match(/<property>(.*?)<\/property>/)[1];
        var controlSubProperty = controlsMatches[xmlNodeCounter].match(/<subproperty>(.*?)<\/subproperty>/)[1];
        var propertyValue = controlsMatches[xmlNodeCounter].match(/<value>(.*?)<\/value>/)[1];

        if(controlId == 'errormessage')
        {
            ErrorMessage(controlsMatches[xmlNodeCounter]);
        }
        else
        {
            if(ns4)
            {
                if(controlSubProperty == '')
                {
                    document.layers[controlId][controlProperty] = propertyValue;
                }
                else
                {
                    document.layers[controlId][controlProperty][controlSubProperty] = propertyValue;
                }
            }
            else if(ie4)
            {
                if(controlSubProperty == '')
                {
                    document.all[controlId][controlProperty] = propertyValue;
                }
                else
                {
                    document.all[controlId][controlProperty][controlSubProperty] = propertyValue;
                }
            }
            else if(ie5 || ns6)
            {
                // W3C - Explorer 5+ and Netscape 6+
                if(controlSubProperty == '')
                {
                    document.getElementById(controlId)[controlProperty] = propertyValue;
                }
                else
                {
                    document.getElementById(controlId)[controlProperty][controlSubProperty] = propertyValue;
                }
            }
        }
    }

    for(functionCounter=0; functionCounter < AfterCallBackRequestFunctions.length; functionCounter++)
    {
        AfterCallBackRequestFunctions[functionCounter](callBackResult, context);
    }

}

function ErrorMessage(node)
{
    //var controlId = node.match(/<id>(.*?)<\/id>/)[1];
    //var controlProperty = node.match(/<property>(.*?)<\/property>/)[1];
    //var controlSubProperty = node.match(/<subproperty>(.*?)<\/subproperty>/)[1];
    var propertyValue = node.match(/<value>(.*?)<\/value>/)[1];

    alert(propertyValue);
}

