

function displayRemotePopup(url,id,height,width){
var popup = $(id);
var popupText = popup.select('div[class="popupbg"]')[0];
new Ajax.Request(url, {
onSuccess: function(response) {
popupText.innerHTML = response.responseText;
displayPopup(id,height,width);
}
});

}

function displayPopup(id,height,width){

var popupId = id;
var popup = $(id);
var main = $('main');
hidePopups();
//IE6 hack
if (Prototype.Browser.IE) {
var selects = $A(document.getElementsByTagName("select"));
selects.each(function(sel) {
	sel.style.display = "none";
});
}

if (popup.style.display == 'none') {
var popupText = popup.select('div[class="popupbg"]')[0];
popupText.style.width = width + 'px';
popupText.style.height= height + 'px';
popup.style.width = (width + 24) + 'px';
popup.style.height= (height + 24) + 'px';

popup.style.top = document.viewport.getHeight() + 'px';
popup.style.left = ((document.viewport.getWidth()  - width + 24) / 2 ) +'px';
var movement = (document.viewport.getHeight()  + height + 24)/2;
popup.style.display = "";

new Effect.Move(popup,{x:0, y:-movement , mode:'relative',
        duration:0.4,
        transition:popupTransition,
        afterFinish:function() {  Event.observe(document,'click',hidePopups); }

});
}

return false;
}

function closePopup(popup) {
try{
        popup.style.display = "none";

}catch(e) {alert(e);}
try{
        Event.stopObserving(document, 'click', hidePopups);
}catch(e) {alert(e);}

}

function hidePopups(e) {
//IE6 hack
if (Prototype.Browser.IE) {
var selects = $A(document.getElementsByTagName("select"));
selects.each(function(sel) {
	sel.style.display = "block";
});
}
var source ;
if(e == null){
source = document;
} else {
source= Event.element(e);
}
var popups = $$('div[class="popup"]');
popups.each(function (popup) {
if (popup.style.display != 'none') {

if (Element.descendantOf(source,popup) ) {
if (source.nodeName == "A" && source.parentNode.hasClassName('close')) {
        closePopup(popup);
}
}
else {
closePopup(popup);
}
}
});
}

function onPopupLoaded(e) {
Event.stop(e);
Event.observe(document,'click',hidePopups);
}

function popupTransition(pos) {
return Math.sin(pos*2)+0.1*pos;
}

