/*
			
	url = url of page to load via ajax and display in the modal
	blackback = (t/f) shows black background around the modal; defaults to true
	posx = position of box from the top of the window; defaults to center of window
	posy = position of box from the left of the window; defaults to center of window

*/

function domodal(url,blackback,posx,posy){
	if (typeof blackback == 'undefined' ) blackback = true;
	if (typeof posx == 'undefined' ) posx = window.getSize().x/2;
	if (typeof posy == 'undefined' ) posy = window.getSize().y/2;
	if(blackback == true){
		black = new Element('div', {id: 'modal_bg'});
		document.body.adopt(black);
		black.set('opacity',0).setStyle('height',window.getScrollSize().y).set('display','block').fade(0.3);
	}
	var doublecheckload = true;
	var myHTMLRequest = new Request.HTML({onComplete:function(responseTree, responseElements, responseHTML, responseJavaScript){
		if(doublecheckload == true){
			doublecheckload = false;
			white = new Element('div', {id: 'modal_white'});
			white.setStyles({
				'opacity': 0,
				'display': 'block',
				'top': '0px',
				'left': '0px'
			});
			document.body.adopt(white);
			white.setStyle('left',posx - (white.getSize().x/2) + "px");
			if(blackback == true){
				funcor = "black.fireEvent('click');return false;"
			} else {
				funcor = "white.dispose(); return false;"
			}
			white.set('html',"<div><div class=\"contentwins\">" + responseHTML + "</div><a href=\"#\" class=\"closeme\" onclick=\"" + funcor + "\">Close</a></div>");
			if(white.getElement('div').getSize().y > window.getSize().y - 20){
				white.setStyle('height', window.getSize().y - 200);
				white.getElement('div').getElement('div').setStyle('overflow','auto').setStyle('height', white.getSize().y - white.getElement('div').getElement('a').offsetHeight.toInt() - white.getElement('div').getElement('div').getStyle('padding-top').toInt() - white.getElement('div').getElement('div').getStyle('padding-top').toInt() - white.getElement('div').getStyle('padding-top').toInt() - white.getElement('div').getStyle('padding-top').toInt());
			} else {
				white.setStyle('height',white.getElement('div').getSize().y);
			}
			white.setStyle('top',posy - (white.getSize().y/2) - 20 + window.getScroll().y + "px");
			white.setStyle('background-color',white.getElement('div').getStyle('background-color'));
			white.setStyle('opacity',1);
			
			white.getElement('div').setStyle('opacity',0);
			var myEffect = new Fx.Morph('modal_white', {duration: 1500, transition: Fx.Transitions.Elastic.easeOut, onComplete:function(){
				white.getElement('div').fade(1);
			}});
			
	
			myEffect.start({
				'top': [white.getStyle('top').toInt() + (white.getSize().y/2 - 20), white.getStyle('top')],
				'left': [white.getStyle('left').toInt() + (white.getElement('div').getSize().x/2 - 20), white.getStyle('left')],
				'height': [20, white.getSize().y], //Morphs the 'height' style from 10px to 100px.
				'width': [20, white.getElement('div').getSize().x]  //Morphs the 'width' style from 900px to 300px.
			});
		}
	}}).get(url);
	if(blackback == true){
		black.addEvent('click',function(){
			if (typeof white != 'undefined' ){
				white.fade(0).dispose();
			} else {
				myHTMLRequest.cancel();
			}
			black.fade(0).dispose();
		});
	}
}