function toggle_track_contact(mode, track_user, div_id) 
{
    var target_url = '/users/track_contact.php';
    var div_id_text = "";
    
    if ( div_id ) {
        div_id_text = '_' + div_id;        
    }
    if (supportsAjax()) {
    	
    	switch (mode) {
    		case 'track':
    			var track = document.getElementById("track_button"+div_id_text);
    			if ( track && track.style.display != "none" && track.style.visibility != "hidden" ) {
            		track.style.display = "none";
        		}
        		break;
    		case 'stop_track':
    			var stop_track = document.getElementById("stop_track_button"+div_id_text);
    			if ( stop_track && stop_track.style.display != "none" && stop_track.style.visibility != "hidden" ) {
            		stop_track.style.display = "none";
        		}
        		break;
    		case 'ignore':
    			var ignore = document.getElementById("ignore_button"+div_id_text);
    			if ( ignore && ignore.style.display != "none" && ignore.style.visibility != "hidden" ) {
            		ignore.style.display = "none";
        		}
        		break;
    		case 'stop_ignore':
    			var stop_ignore = document.getElementById("stop_ignore_button"+div_id_text);
    			if ( stop_ignore && stop_ignore.style.display != "none" && stop_ignore.style.visibility != "hidden" ) {
            		stop_ignore.style.display = "none";
        		}
        		break;        		        		        		
    	}
    	var processing = document.getElementById("processing"+div_id_text);
    	if ( processing && (processing.style.display == "none" || processing.style.visibility == "hidden" )) {
        	fadeIn(processing);
        }
        post_data = 'mode=' + mode + '&track_user=' + track_user;
        if ( div_id_text ) {
            post_data = post_data + '&div_id=' + div_id;
        }

        new Ajax(target_url, {method: 'post', postBody: post_data, onComplete: process_track_contact_results}).request();
        return true;
    }
    
}

function process_track_contact_results(results) 
{
    if ( results ) {
        // set the data array to be the response of the ajax
        var json_results = eval( '(' + results + ')' );
        
        var div_id_text = "";
        if ( json_results['div_id'] ) {
            div_id_text = "_" + json_results['div_id'];
        }

        var track = document.getElementById("track_button"+div_id_text);
        var stop_track = document.getElementById("stop_track_button"+div_id_text);
        var ignore = document.getElementById("ignore_button"+div_id_text);
        var stop_ignore = document.getElementById("stop_ignore_button"+div_id_text);
        var processing = document.getElementById("processing"+div_id_text);
        processing.style.display = "none";
            if ( json_results['success'] ) {
            var results_msg = document.getElementById("track_msg"+div_id_text);
            results_msg.style.display = "block";
            if ( json_results['mode'] == "track" ) {
                stop_track.style.display = "";
                if ( json_results['dw_url'] ) {
                    var dw_url = json_results['dw_url'];
                }
                else {
                    var dw_url = 'http://dw.com.com/redir?ltype=&siteid=31&edid=31&ptid=6558&onid=9139&useract=137&destURL=http://dw.com.com/clear/c.gif';
                }
                var clrgif = document.createElement('img');
                clrgif.setAttribute('src', dw_url);
                document.body.appendChild(clrgif);   
            }
            else if ( json_results['mode'] == "stop_track" ) {
                track.style.display = "";
            }
            else if ( json_results['mode'] == "ignore" ) {
                stop_ignore.style.display = "";
            }
            else if ( json_results['mode'] == "stop_ignore" ) {
            	ignore.style.display = "";
            }
            results_msg.innerHTML = json_results['msg'];
            delay(function(){results_msg.style.display = "none";},3);            
        }
        else {
            if ( json_results['error_msg'] ) {
                alert(json_results['error_msg']);
            }
            else {
                alert("There was an error, please try again.");
            }
        }
    
    }
    else {
        alert("There was an unknown error.");
    }
    
}