function tiny()
{
	this.baseurl = '';
	this.max_length = Array();
	this.max_length['title_chars'] = 50;
	this.max_length['shortname_chars'] = 20;
	this.max_length['desc_chars'] = 5000;
}

tiny.prototype.checkTitle = function(obj)
{
	obj = $(obj);
	
	var value = $(obj).val();
	if(value.length > this.max_length['title_chars'])
	{
		obj.val(obj.value.substr(0, this.max_length['title_chars']));
	}
	
	var length = obj.val().length;
	var left = this.max_length['title_chars']-length;
	
	$('#title_chars').html(left);
	
	if(left == 0)
	{
		$('#title_chars_parent').attr('class', 'red');
	}
	else
	{
		$('#title_chars_parent').attr('class', 'green');
	}
}

tiny.prototype.checkShortname = function(obj)
{
	
	obj = $(obj);
	
	var value = $(obj).val();
	if(value.length > this.max_length['shortname_chars'])
	{
		obj.val(obj.val().substring(0, this.max_length['shortname_chars']));
	}
	
	var length = obj.val().length;
	var left = this.max_length['shortname_chars']-length;
	
	$('#shortname_chars').html(left);
	
	if(left == 0)
	{
		$('#shortname_chars_parent').attr('class', 'red');
	}
	else
	{
		$('#shortname_chars_parent').attr('class', 'green');
	}
	
	obj.val(tiny.seo_clean(obj.val()));
}

tiny.prototype.checkDescription = function(obj)
{
	obj = $(obj);
	
	var value = $(obj).val();
	if(value.length > this.max_length['desc_chars'])
	{
		obj.val(obj.val().substring(0, this.max_length['desc_chars']));
	}
	
	
	var length = obj.val().length;
	var left = this.max_length['desc_chars']-length;
	
	$('#desc_chars').html(tiny.number_format(left));
	
	if(left == 0)
	{
		$('#desc_chars_parent').attr('class', 'red');
	}
	else
	{
		$('#desc_chars_parent').attr('class', 'green');
	}
	
}

var largestTitle = '';
tiny.prototype.pickMyShortname = function()
{
	var title = $('#tinyTitle').val();
	if(typeof title != 'string' || title == '')
	{
		alert("You must pick a title before we can suggest a shortname.");
		return false;
	}
	
	var title_split = Array();
	
	title_split = title.split(' ');
	var largestTitle = '';
	
	$(title_split).each(function(i, o)
	{
		if(o.length > largestTitle.length)
		{
			largestTitle = o;
		}
	});
	
	if(largestTitle.length < 5)
	{
		var shortname = tiny.seo_clean(title);
	}
	else
	{
		var shortname = largestTitle;
	}
	
	$('#tinyShortname').removeData('shortname');
	$('#tinyShortname').data('shortname', shortname);
	

	var req = function(response)
	{
		if(response == 'TRUE')
		{

			var req = function(response)
			{
				if(response == 'TRUE')
				{
				
					alert("We were not able to suggest a shortname.");
					return false;
				}
				else
				{
					$('#tinyShortname').val($('#tinyShortname').data('shortname').substring(0, tiny.max_length['shortname_chars']));
					$('#tinyShortname').keyup();
				}
			};
			
			$('#tinyShortname').data('shortname', tiny.seo_clean(title));
			var url = tiny.baseurl+"index.php?act=ajax&code=_shortname_exists&shortname="+tiny.seo_clean(title);
			$.get( url, req );
		}
		else
		{
			$('#tinyShortname').val($('#tinyShortname').data('shortname').substring(0, tiny.max_length['shortname_chars']));
			$('#tinyShortname').keyup();
		}
	};
	
	var url = tiny.baseurl+"index.php?act=ajax&code=_shortname_exists&shortname="+$('#tinyShortname').data('shortname');
	$.get( url, req );
	
}

tiny.prototype.shortnameExists = function()
{

	var req = function(response)
	{
		if(response == 'TRUE')
		{
			$('#shortname_err').html("That shortname is already in use.");
			$('#tinyShortname').css('color', 'red');
		}
		else
		{
			$('#tinyShortname').css('color', 'green');
			$('#shortname_err').html('');
		}
	};
	
	var shortname = $('#tinyShortname').val();
	var url = tiny.baseurl+"index.php?act=ajax&code=_shortname_exists&shortname="+shortname;
	$.get( url, req );
	
}


tiny.prototype.oauth = function(surl)
{
	var req = function(response)
	{
		location.href = response;
	};
	
	var url = this.baseurl+"oauth/auth_url.php";
	$.get( url, {url: surl}, req );
	
	return false;
}


tiny.prototype.startValidEmail = function()
{
	var email = $('#tinyEmail');
	filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email.val()))
	{
		$('#tinyEmail').css('color', 'green');
	}
	else
	{
		$('#tinyEmail').css('color', 'red');
	}

}

tiny.prototype.getOAuthLink = function()
{
	var req = function(response)
	{
		location.href = response;
	}
	
	var url = tiny.baseurl+"oauth/index.php";
	$.get( url, req );
}

tiny.prototype.seo_clean = function(str)
{
	var re = /^[0-9a-zA-Z]$/;
	if(!re.test(str))
	{
		str = str.replace(/[^0-9a-zA-Z]+/g,'');
	}
	
	return str;
}

tiny.prototype.number_format = function(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}