
jQuery(document).ready( function() {

    jQuery('.sm_list_entry').live( 'click', function() {

        jQuery('.sm_list_entry').removeClass('sm_selected');
        jQuery(this).addClass('sm_selected');

        var type = jQuery(this).parent().attr('type');

        if (! type) { alert("Error: no type specified for this list."); }
        else if (type == 'domain') { get_domain_info( jQuery(this).attr('item_id') ); }

    } );

} );



function get_domain_info( domain_id ) {

    if ( domain_id == 'new' ) {
        jQuery('#sm_domain_name').val( '' );
        jQuery('#sm_client').val( '' );
        jQuery('#sm_contact').val( '' );
        jQuery('#sm_contact_number').val( '' );
        jQuery('#sm_contact_email').val( '' );
        jQuery('#sm_expiry_date').val( '' );
        jQuery('#sm_domain_name').removeAttr('readonly');
        jQuery('#sm_check_expiry').show(); 
        return;
    }

    // Prepare the http connection
    var data = { 
        action:         'spectramanage_ajax',
        subaction:      'get_domain_info',
        domain_id:      domain_id,
        _ajax_nonce:    jQuery('#sm_nonce').val()
    };
 
    jQuery.getJSON(ajaxurl, data, function(response) { 

        var domain = response.domain;

        jQuery('#sm_domain_name').val( domain.domain ? domain.domain : '' );
        jQuery('#sm_client').val( domain.client ? domain.client : '' );
        jQuery('#sm_contact').val( domain.contact ? domain.contact : '' );
        jQuery('#sm_contact_number').val( domain.contact_number ? domain.contact_number : '' );
        jQuery('#sm_contact_email').val( domain.contact_email ? domain.contact_email : '' );
        jQuery('#sm_expiry_date').val( domain.expiry != '0000-00-00' ? domain.expiry : '' );

        if ( domain.domain ) {
            jQuery('#sm_domain_name').attr('readonly', 'readonly');
        } else {
            jQuery('#sm_domain_name').removeAttr('readonly');
        }

        if ( domain.expiry != '0000-00-00' ) { 
            jQuery('#sm_check_expiry').hide(); 
        } else { 
            jQuery('#sm_check_expiry').show(); 
        }

    } );

}


function check_expiry_date() {

    if ( ! jQuery('#sm_domain_name').val() ) { 
        alert("Please specify a valid domain name before checking the expiry date."); 
        return; 
    }

    jQuery('#sm_expiry_date').val( "Checking..." );

    // Prepare the http connection
    var data = { 
        action:         'spectramanage_ajax',
        subaction:      'check_expiry_date',
        domain:         jQuery('#sm_domain_name').val(),
        _ajax_nonce:    jQuery('#sm_nonce').val()
    };
 
    jQuery.getJSON(ajaxurl, data, function(response) { 
    
        if ( response.expiry_date == -1 ) {
            jQuery('#sm_expiry_date').val('');
            alert("Unfortunately, an expiry date for this domain cannot be automatically retrieved.");
            return;
        } else {
            jQuery('#sm_expiry_date').val( response.expiry_date );
        }

    } );
        

}


function save_domain() {

    if ( ! jQuery('#sm_domain_name').val() ) { 
        alert("Please specify a valid domain name before saving."); 
        return; 
    }

    // Prepare the http connection
    var data = { 
        action:         'spectramanage_ajax',
        subaction:      'save_domain',
        domain:         jQuery('#sm_domain_name').val(),
        expiry_date:    jQuery('#sm_expiry_date').val(),
        enabled:        (jQuery('#sm_domain_enabled').is(':checked') ? 1 : 0),
        host_dns:       (jQuery('#sm_host_dns').is(':checked') ? 1 : 0),
        host_email:     (jQuery('#sm_host_email').is(':checked') ? 1 : 0),
        host_web:       (jQuery('#sm_host_web').is(':checked') ? 1 : 0),
        _ajax_nonce:    jQuery('#sm_nonce').val()
    };
 
    jQuery.getJSON(ajaxurl, data, function(response) { 


    } );

}







