function formatDate(_control, _dateFormat, _dateSeparator, Event){
	var key = Event.keyCode;
	var str = new String(_control.value);
	if (! ((key > 47 && key < 58) || (key > 95 && key < 106)) ){
		if(key == 8 || key == 9 || key == 13 || key == 16 || key == 17 || key == 18 || key == 20 || key == 27 || key == 35 || key == 36 || key == 37 || key == 38 || key == 39 || key == 40 || key == 45 || key == 46 || key == 144){
		}
		else{
			_control.value = str.substring(0, str.length - 1);
		}
	}
	if(((str.length == 2 || str.length == 5) && (key != 8)) && (_dateFormat == "month-day-year" || _dateFormat == "day-month-year")){
		_control.value = str + _dateSeparator;
	}
	if(((str.length == 4 || str.length == 7) && (key != 8)) && _dateFormat == "year-month-day"){
	_control.value = str + _dateSeparator;
	}
}

function validateDate(_control, _dateFormat, _invalidDateErrorMessage){
	var day;
	var month;
	var year;
	var HasErrors = false;
	if(_control.value == ""){
		return true;
	}
	else{
		var date = new String(_control.value);
		switch(_dateFormat){
			case "year-month-day":
				day = date.substring(8,10);
				month = date.substring(5,7);
				year = date.substring(0,4);
				break;
			case "month-day-year":
				day = date.substring(3,5);
				month = date.substring(0,2);
				year = date.substring(6,10);
				break;
			case "day-month-year":
				var reg = new RegExp("^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$");
				if (reg.test(date))
				{
					day = RegExp.$1;
					month = RegExp.$2;
					year = RegExp.$3;
				}
				else
				{
					day = 1;
					month = 1;
					year = 1;
				}
				break;
		}
	    if((day > 31) || (day < 01)){
			HasErrors = true;
		}
		if(day == 31){
			if((month == 04) || (month == 06) || (month == 09) || (month == 11)){
				HasErrors = true;
			}
		}
		if((year%4) == 0){
			if((day > 29) && (month == 02)){
				HasErrors = true;
			}
		}
		else{
			if((day > 28) && (month == 02)){
				HasErrors = true;
			}
		}
		if((month < 01) || (month > 12)){
			HasErrors = true;
		}
		if((year) < 1800){
				HasErrors = true;
		}
		if(HasErrors == true){
			if (_invalidDateErrorMessage != "") alert(_invalidDateErrorMessage);
			_control.focus();
			return false;
		}
		else{
			return true;
		}
	}
}


window.onmousedown =getMouseHandler;

var coorX=0;var coorY=0;
function getMouseHandler(e)
{
if (window.Event)
	{
		coorX = e.screenX;
		coorY = e.screenY;

	}
	else
	{
		coorX = window.event.clientX;
		coorY = window.event.screenY;

	}

}


    function OpenCalendar(sendTo,dialogGatewayUrl,url,dialogParamFields,dialogProp) {
			
			var x=0;
			var y=0;
						
			if(navigator.appName=='Netscape')
			{			
				x = coorX;
		    	y = coorY;
		    }
		    else		    
		    {
		        x=window.event.screenX;
		        y=window.event.screenY;
		    }
		    
		    
		        var names = new Array();
				var values = new Array();
				for (var i=0;i<dialogParamFields.length;i++){
					if (document.getElementById(dialogParamFields[i][1])!=undefined){
						names[i]=dialogParamFields[i][0];
						values[i]=document.getElementById(dialogParamFields[i][1]).value;
					}
				 }
				var dialogArguments = new Object();
				dialogArguments.action=url;
				dialogArguments.names=names;
				dialogArguments.values=values;
				var returnvalue=window.showModalDialog(dialogGatewayUrl, dialogArguments,'dialogLeft='+x+';dialogTop='+y+';'+dialogProp);
				if (returnvalue!=undefined)
					 document.getElementById(sendTo).value=returnvalue;
    }


