var package_out = new Array ();
var package_count = 0;

//parses a Pando Package URL containing package id and key
function parsePandoUrl(url) {
        var parts = url.split('?',2);
        var args = parts[1];
        parts = args.split('&amp;');
        for(var i=0; i<parts.length; i++) {
                //TODO validate package ID and key by length
                if(parts[i].match(/^id=[A-Z0-9]*/))
                        packageId = parts[i].substring(3);
                if(parts[i].match(/^key=[A-Z0-9]*/))
                        packageKey = parts[i].substring(4);
        }
}
function showPackage(url) {
  parsePandoUrl(url);
  PandoAPI.getPackageInfo(packageId,printPackageCallBack,packageKey);
  package_count++
}
//PandoAPI call back function
function printPackageCallBack(packageInfo) {
        //Get number of days till expiration (negative = expired)
        var days = Math.round( (new Date(packageInfo['expirationDate']) - new Date()) / 86400000);
        //store expiration status
        var expired = (days >= 0) ? 0 : 1;
        //use absolute values of days for a readable string
        days = Math.abs(days);
        //get title from package info
        var title = packageInfo['title'];
        var title2 = packageInfo['title'];
        if (title.length > 33) {
                title = title.substring(0,30) + '...';
        }
        //id
        var id=packageInfo['packageId'];
        //key
        var key=packageInfo['key'];
        //size
        var archivos = Math.round(packageInfo['packageSize']/1048576);
        //uploader
        var uploader = packageInfo['packager'];
                //fecha expiracion
        var expiracion = packageInfo['expirationDate'];
        //generate img tag with thumbnail from package info
        var thumb = "<img src='"+ packageInfo['thumbnailURL'] +"' alt='' />";
        //generate anchor tag from package URL; assumes packageKey is set
        var packageA ="<a href='http://anonym.to/?"+PandoAPI.getPackageURL(packageId,packageKey) +  "&tt=S2W ' target='_blank' title='"+ title2 +"'>";
        //get appropriately pluralized X day(s) string
        var daystring = days +' día'+ ( (days > 1) ? ('s') : ('') );
        //get # of downloads from package info
        var dl = packageInfo['downloads'];
        //if package is not expired, link the title and thumbnail to the package URL
        //  and set the expiration days string accordingly
        if(!expired) {
                title = packageA + title + '</a>';
                thumb = packageA + thumb + '</a>';
                days = '<span style="color: green;">'+ daystring +'</span>';
        //otherwise, do not link the title/thumbnail, and set expiration string accordingly
        }
        else if (!packageInfo['expirationDate']) {
				days = '<span style="color: red;">Expirado</span>'
                title = packageA + title + '</a>';
                thumb = packageA + thumb + '</a>';
        }
        else {
                days = '<span style="color: green;"><strong>Nunca</span></strong>';
        }
        //generate human-friendly Downloaded X times / Never Download string
        if(dl == 1) {
                dlstring = 'Descargado <strong>'+dl+'</strong> vez';
        } else if (dl > 1) {
        	    dlstring = 'Descargado <strong>'+dl+'</strong> veces';
        } else {
                dlstring = 'Nunca descargado';
        }
        //write out the package preview
       package_out[package_count] = "<table class='pandopackage' width='260px'><tr><td align='center' colspan='2'><span class='ptitle'><b>"+ title +"</b></span></td></tr><tr><td valign='center' align='center' class='packagethumb'>"+ thumb +"</td><td valign='center' class='packagemeta'>"+ dlstring +"<br /><b>Expira en:</b> "+ days +" <br/><b>Uploader:</b> "+ uploader +" <br/><b>Tamaño:</b> "+ archivos +" MB<br /></td></tr><tr><td align='center' colspan='2'><a href=http://cache.pando.com/soapservices/SendToWeb?action=info&format=xml&id="+ id +"&key="+ key +" target='_blank'>Más información</a></td></tr></table>";
        document.write(package_out[package_count]);
}


