function showPopup(page,name,noret)
{
	if(!page) page='registration.aspx';
	if(!name) name='wizard';
	window.open(page,name,'menubar=no,status=no,toolbar=no,width=800,height=575,resizable=no').focus();
	if(!noret) return false;
}

//Function to add a listener funtion to an event
function addEvent(element,eventType,listenerFunction,useCapture)
{
	if(!document.getElementById) return;
	if(element.addEventListener)
	{
		element.addEventListener(eventType,listenerFunction,useCapture);
		return true;
	}
	else if(element.attachEvent)
	{
		return element.attachEvent('on'+eventType,listenerFunction);
	}
	else
	{
		var oldHandler = element['on'+eventType];
		if (typeof element['on'+eventType]!='function')
		{
			element['on'+eventType]=listenerFunction;
		}
		else
		{
			element['on'+eventType]=function()
			{
				oldHandler();
				listenerFunction();
			}
		}
	}
}

var events=new Array()

function EventToAdd(source,type,fn)
{
	this.source=source;
	this.type=type;
	this.fn=fn;
}

function newEvent(source,type,fn)
{
	events[events.length]=new EventToAdd(source,type,fn);
}

function newEvents(name,type,fn)
{
	addEvent(window,'load',function(){
		items=document.getElementsByName(name);
		if(!items) return;
		for(n=0;n<items.length;n++) addEvent(items[n],type,fn);
	});
}

//Add all submit listener function to keydown events of all <input> tags except buttons
function addHandlers()
{
	for(n=0;n<events.length;n++)
	{
		var source=document.getElementById(events[n].source);
		if(!source) return;
		var type=events[n].type;
		var fn=events[n].fn;
		addEvent(source,type,fn,false);
	}
}

addEvent(window,'load',addHandlers,false);

function limitTextToInt(id)
{
	newEvent(id,'keydown',function(e){
		if(!window.event) event=e;
		var allowed=[8,9,37,39,46,47,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105]
		for(var n=0;n<allowed.length;n++) if(allowed[n]==event.keyCode) return true;
		return false;
	})
}

function getRadioListValue(name)
{
	radios=document.getElementsByName(name);
	if(!radios) return false;
	for(n=0;n<radios.length;n++) if(radios[n].checked) return radios[n].value;
	return false;
}

function URLEncode(url)
{
	var chars=[[/\+/g,'%2B'],[/\"/g,'%22'],[/\'/g, '%27'],[/\//g,'%2F']]
	for(n=0;n<chars.length;n++) url=url.replace(chars[n][0],chars[n][1]);
	return escape(url).replace(/\+/g,'%20');
 }
 
function ShowObject(obj,numdisp,title)
{
	var display,count;

	if(!numdisp) numdisp=20;	
	count=0;
	display=(title?title:obj)+"\n";
	for(n in obj)
	{
		display+="\n"+n+": "+obj[n];
		count++;
		if(count==numdisp)
		{
			alert(display);
			display=(title?title:obj)+"\n"
			count=0;
		}
	}
	alert(display)
}

function getListValue(id)
{
	var list=document.getElementById(id);
	
	return list.options[list.selectedIndex].value;
}

function checkDate(day,month,year)
{
	var lastDayInMonth=31;
	
	day=parseInt(day);
	month=parseInt(month);
	year=parseInt(year);
	
	if(isNaN(day)||isNaN(month)||isNaN(year)) return false;

	switch(month)
	{
		case 4:
		case 6:
		case 9:
		case 11:
			lastDayInMonth=30;
			break;
		case 2:
			lastDayInMonth=(year%4==0&&(year%100!=0||year%1000==0)?29:28);
			break;
	}

	return day>=1&&day<=lastDayInMonth&&month>=1&&month<=12&&year>=1950&&year<=9999;
}

function getEventTarget(e)
{
	if(window.event)
	{
		return event.srcElement;
	}
	else
	{
		return e.target;
	}
}