
var TinyUrl = function() {

    this.init = function() {
	
	    var self = this
		
		$('a').noContext()
	    $('a').rightClick(function(e) {
		    var href = $(this).attr('href')
			if (confirm('Create TinyUrl for this link?')) {
			    self.createTinyUrl(href)
		    }
	    })
	}
	
	this.createTinyUrl = function(url) {
	
	    var self = this
		
		if (! url.match(/^http/)) {
		    params = url.split('?')
			url = params[0]
			if (params.length == 2) {
			    params = '?' + params[1]
			}
		    url  = url.replace(/^[\/]+/, '')
			path = location.pathname.replace(/\/[^\/]*$/, '').replace(/^[\/]+/, '')
		    url = location.protocol + '//' + location.hostname + '/' + path + '/' + url + params
		}
				
		url = escape(url) 
				
		$.ajax({
                  type:     'POST',
                  url:      AJAXURL,
                  data:     'Action=getTinyUrl&Url=' + url,
                  dataType: 'json',
                  timeout:  40000,
            error:
                function() {
                    return false
                },
            success:
                function(data) {
                    if (data.Error) {
                        jAlert(data.Message, 'AJAX Error')
                    } else {
                        jAlert(data.TinyUrl, 'Alert')
                    }
                }
        })
	}
}

var tiny = new TinyUrl()
tiny.init()
