/**
 * ozLancer Pro
 *
 * Copyright (c) 2011 OzLancer Pro (ozlancer.com)
 * All terms, conditions and copyrights as defined
 * in the ozLancer License Agreement
 * http://www.ozlancer.com/
 *
 */
$(document).ready(function(){
						   
	$("[placeholder]").focus(function() {
	  var input = $(this);
	  if (input.val() == input.attr("placeholder")) {
		input.val("");
		input.removeClass("placeholder");
	  }
	}).blur(function() {
	  var input = $(this);
	  if (input.val() == "" || input.val() == input.attr("placeholder")) {
		input.addClass("placeholder");
		input.val(input.attr("placeholder"));
	  }
	}).blur();

	$("[placeholder]").parents("form").submit(function() {
	  $(this).find("[placeholder]").each(function() {
		var input = $(this);
		if (input.val() == input.attr("placeholder")) {
		  input.val("");
		}
	  })
	});


});

$.fn.idle = function(time)
{
  var o = $(this);
  o.queue(function()
  {
	 setTimeout(function()
	 {
		o.dequeue();
	 }, time);
  });
  return this;            
};

$.fn.sort = function()
{
	return this.pushStack([].sort.apply(this, arguments), []);
};

$.fn.sortOptions = function(sortCallback)
{
	jQuery('option', this)
	.sort(sortCallback)
	.appendTo(this);
	return this;
};

$.fn.sortOptionsByText = function()
{
	var byTextSortCallback = function(x, y)
	{
		var xText = jQuery(x).text().toUpperCase();
		var yText = jQuery(y).text().toUpperCase();
		return (xText < yText) ? -1 : (xText > yText) ? 1 : 0;
	};
	return this.sortOptions(byTextSortCallback);
};

$.fn.sortOptionsByValue = function()
{
	var byValueSortCallback = function(x, y)
	{
		var xVal = jQuery(x).val();
		var yVal = jQuery(y).val();
		return (xVal < yVal) ? -1 : (xVal > yVal) ? 1 : 0;
	};
	
	return this.sortOptions(byValueSortCallback);
};



function urlTitle(text)
{
    return text.toLowerCase().replace(/[^\w ]+/g,'').replace(/ +/g,'-');
}
