var popupOptions = new Array();

/*
// example:
popupOptions['popupStyle'] = {
    width:xyz,
    height:xyz,
    left:'center',
    top:'center',
    scrollbars:0,
    location:0
}
// usage in site:
<a href="url" target="_popup:popupStyle" onclick="return popupLink(this)">Link</a>
*/

popupOptions['demo'] = {
    width:535,
    height:800,
    left:'center',
    top:'center',
    scrollbars:1,
    location:0,
    resizable:'no'
}

popupOptions['recommendationPopup'] = {
    width:300,
    height:500,
    left:'center',
    top:'center',
    scrollbars:1,
    location:0,
    resizable:'no'
}

popupOptions['screenshotGallery'] = {
    width:300,
    height:600,
    left:0,
    top:0,
    scrollbars:0,
    location:0,
    resizable:'no'
}

popupOptions['screenshotPopup'] = {
    width:600,
    height:600,
    left:310,
    top:0,
    scrollbars:0,
    location:0,
    resizable:'yes'
}

popupOptions['faqsPopup'] = {
    width:700,
    height:550,
    left:'center',
    top:'center',
    scrollbars:1,
    location:1,
    resizable:'yes'
}

popupOptions['contestPopup'] = {
    width:535,
    height:580,
    left:'left',
    top:'center',
    scrollbars:0,
    location:0
}

popupOptions['privacyPopup'] = {
    width:700,
    height:550,
    left:'center',
    top:'center',
    scrollbars:1,
    location:1,
    resizable:'yes'
}

popupOptions['mmsPopup'] = {
    width:535,
    height:580,
    left:'left',
    top:'center',
    scrollbars:0,
    location:0
}

popupOptions['test'] = {
    width:500,
    height:500,
    left:'center',
    top:'center',
    scrollbars:0,
    location:0
}

function initializePopups(){
var a,i
for(i=0;a=document.links[i];i++)
if (a.target && a.target.indexOf("_popup:") == 0)
a.onclick = popupHandler
}

function parsePopupTarget(t){
var a,s,i,o,p
a=new Array()
s=t.substring(7)
if(s.indexOf(',')>=0){
    s = s.split(',')
    for(i in s){
        p=s[i].split('=')
        a[p[0]]=p[1]
    }
    return a
}
else if(popupOptions[s]){
    o=popupOptions[s]
    if(!o.name)o.name=s
    return o
}
else alert("Unknown popup style: '"+s+"'")
}

function serializePopupOptions(options){
var s,sw,sh,key,v
s=''
sw=screen.availWidth? screen.availWidth : 800;
sh=screen.availHeight? screen.availHeight : 600;
for(key in options) {
v=options[key]
if(key=='left' && v=='center' && options['width'])v=Math.round(sw/2 - options['width']/2)
if(key=='top' && v=='center' && options['height'])v=Math.round(sh/2 - options['height']/2)
if(key!='name')s+=key+'='+v+','
}
return s
}

function popup(url, options){
var n=options['name']
if(!n)n=String(new Date().getTime())
if(n=='dialog') url='/popup/popup.jsp?url='+escape(url)
var w=window.open(url,n,serializePopupOptions(options))
if(n!='dialog' && w.focus)w.focus()
return w
}

function popupOpenerLocation(url){
opener.location.href=url;
}

function predefinedPopup(url, style){
return popup(url, popupOptions[style])
}

function popupLink(a) {
popup(a.href, parsePopupTarget(a.target))
return false
}
