<?php if (isset($this->params["remote_access_hash"])):?>
<div id="<?php echo $this->renderTo; ?>"></div>
<?php endif;?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
	new Jsw.Panel({
        title: <?php echo $this->safetyJs('TRANS_PACKAGES'); ?>,
        cls: 'list-box',
        renderTo: '<?php echo $this->renderTo; ?>',
        items: [
        	new Jsw.Hint({
		        renderTo: '<?php echo $this->renderTo; ?>',
		        hint: <?php echo $this->safetyJs('TRANS_SUBSCRIPTIONS_HINT'); ?>
		    }),
            new Jsw.List({
                id: 'subscriptions-list',
                data: <?php echo Zend_Json::encode($this->subscriptionsList->fetchData()); ?>,
                dataUrl: Smb.Billing.Link.getDataLink('/subscriptions/' + '<?php echo $this->listData; ?>'),
                searchFilters: <?php echo Zend_Json::encode($this->subscriptionsList->getSearchFilterConfig()); ?>,
                columns: [{
                        header: <?php echo $this->safetyJs('TRANS_ID');?>,
                        cls: 'minor',
                        sortable: true,
                        dataIndex: 'id',
                       	renderer: function(item) {
                              if (item.child === undefined) {
									return item.id.escapeHTML();
                              }
                              return '';
                        }
                    },
                    {
                        header: <?php echo $this->safetyJs('TRANS_PACKAGE');?>,
                        sortable: true,
                        dataIndex: 'package_name',
                        renderer: function(item) {
                        	var package_type_image = '';
                        	switch (item.package_type) {
                        		case '<?php echo Product::TYPE_DOMAIN;?>': //domains
                    				package_type_image = '<img class="b-indent-icon" src="' + Jsw.skinUrl + '/img/icons/small/website_16.gif"/> ';
                    				break;
                        		case '<?php echo Product::TYPE_CERT;?>': //certs
                        		case '<?php echo Product::TYPE_SSL_CERT;?>': //ssl plugin certs
                        			package_type_image = '<img class="b-indent-icon" src="' + Jsw.skinUrl + '/img/icons/small/ssl-cert_16.gif"/> ';
                        	}
                        	if (item.child === undefined) {
                            	if (item.api_url === false) {
	                        		var link = '<a href="' + Smb.Billing.Link.getPageLink('/subscriptions/item/id/' + item.id) + '">'
	                                + item.package_name.escapeHTML() + '</a>';
                            	} else {
	                        		var link = '<a href="' + item.api_url + '/smb/account/show/externalId/' + item.guid + '">'
	                                + item.package_name.escapeHTML() + '</a>';
                            	}
                        	}
                            else {
                            	var link = '<div class"b-indent b-subitem">' + package_type_image + '<a href="' + Smb.Billing.Link.getPageLink('/subscriptions/item/id/' + item.id) + '">' +
                                item.package_child_name.escapeHTML() + '</a>';
                            }
                            if (item.use_own_domains !== undefined) {
                            	package_type_image = '<img class="b-indent-icon" src="' + Jsw.skinUrl + '/img/icons/small/website_16.gif"/> ';
                            	var domain_count = item.use_own_domains.length;
                            	var domains = '';
                            	for (i=0; i<domain_count; i++)
                            	{
                            		domains = domains + '<div class="b-indent b-subitem">' + package_type_image + '<b>' + item.use_own_domains[i] + '</b></div>';
                            	}
								link = link + domains;
                            }
                            return link;
                        }
                    },  {
                        header: <?php echo $this->safetyJs('TRANS_LAST_RENEWAL');?>,
                        sortable: true,
                        dataIndex: 'package_last_renewal'
                    },	{
                        header: <?php echo $this->safetyJs('TRANS_NEXT_RENEWAL');?>,
                        dataIndex: 'package_next_renewal'
                    }, 	{
                        header: <?php echo $this->safetyJs('TRANS_STATUS');?>,
                        sortable: true,
                        dataIndex: 'package_status_name'
                    }, {
                        header: '',
                        sortable: false,
                        cls: 'action-btns-set',
                        renderer: function(item) {
                            var link = '';

                    	    if (item.api_url !== false) {
                        		var href = item.api_url + '/smb/account/switch/externalId/' + item.guid;
                        		link = link + '<a class="s-btn sb-switch" href="' + href + '"><span>'	+ '<?php echo blmsg('TRANS_SWITCH_TO_SUBSCRIPTION');?>' + '</span></a> ';
                        	}
                            if ('<?php echo Package::STATUS_TRANSFERRED;?>' != item.package_status) {
	                            switch (item.package_type) {
	                        		case '<?php echo Product::TYPE_DOMAIN;?>': //domains
	                    				link = link + ' ' + '<a class="s-btn sb-billing-info" href="' + Smb.Billing.Link.getPageLink('/domains/show/id/' + item.domain_id) + '">'
                                		 + '<span><?php echo blmsg('TRANS_VIEW_DOMAIN_DETAILS');?></span>' + '</a>';
	                    				break;
	                        		case '<?php echo Product::TYPE_CERT;?>':
	                        			//certs
	                        			switch (item.package_status)
	                        			{
	                        				case '<?php echo Package::STATUS_ACTIVE;?>':
	                        				link = link + ' ' + '<a class="s-btn sb-billing-info" href="' + Smb.Billing.Link.getPageLink('/certs/show/subscriptionId/' + item.id) + '">'
                                			 + '<span><?php echo blmsg('TRANS_MANAGE_CERT');?></span>' + '</a>';
	                        				break;
	                        				case '<?php echo Package::STATUS_PENDING;?>':
	                        				link = link + ' ' + '<a class="s-btn sb-modify-selected" href="' + Smb.Billing.Link.getPageLink('/certs/edit/subscriptionId/' + item.id) + '">'
                                			+ '<span><?php echo blmsg('TRANS_TODO_BEGIN_CERT_REQUEST');?></span>' + '</a>';
	                        				break;
	                        			}
	                        			break;
	                        		case '<?php echo Product::TYPE_SSL_CERT;?>':
	                        			if ('<?php echo Package::STATUS_USER_INPUT_REQUIRED;?>' == item.package_status) {
	                        				link = link + ' ' + '<a class="s-btn sb-modify-selected" href="' + Smb.Billing.Link.getPageLink('/sslcerts/input/subscriptionId/' + item.id) + '">'
                                			+ '<span><?php echo blmsg('TRANS_SSL_CERT_EDIT_REQUIRED_PARAMS');?></span>' + '</a>';
	                        			}
	                        			break;
	                        			
	                        	}
                            }

                            return link;
                        }
                    }
                ], operations: [{
                    componentType: 'Jsw.SmallButton',
                    title: <?php echo $this->safetyJs('TRANS_BUY_NEW_SUBSCRIPTION');?>,
                    description: <?php echo $this->safetyJs('TRANS_BUY_NEW_SUBSCRIPTION'); ?>,
                    addCls: 'sb-btn sb-buy-subscription',
                    target: '_blank',
                    handler: function() {
                        var request = new Ajax.Request(
                            Smb.Billing.Link.getDataLink('/subscriptions/buy'),
                            {
                                method:'post',
                                onSuccess: function(transport) {
                                    var result = transport.responseText.evalJSON();
                                    if (result.url) {
                                        Jsw.redirect(result.url);
                                    } else {
                                        Jsw.clearStatusMessages();
                                        Jsw.addStatusMessage('error', <?php echo $this->safetyJs('TRANS_ORDER_SHOP_IS_NOT_AVAILABLE');?>);
                                    }
                                },
                                onFailure: function() {
                                    Jsw.clearStatusMessages();
                                    Jsw.addStatusMessage('error', <?php echo $this->safetyJs('TRANS_ORDER_SHOP_IS_NOT_AVAILABLE');?>);
                                }
                            }
                        );
                    }
                }]
            })
        ]
    });
});
//]]>
</script>


