		jQuery.fn.backgroundX = function(newX) {
			return $(this).each(function() {
				if ($(this).css('background-position') == 'undefined' || $(this).css('background-position') == null) {
					var pos = $(this).css('background-position-y');
				} else {
					var pos = $(this).css('background-position').split(' ')[1];
				}
				$(this).css('backgroundPosition', newX + ' ' + pos);
			});
		}
		jQuery.fn.backgroundY = function(newY) {
			return $(this).each(function() {
				if ($(this).css('background-position') == 'undefined' || $(this).css('background-position') == null) {
					var pos = $(this).css('background-position-x');
				} else {
					var pos = $(this).css('background-position').split(' ')[0];
				}
				$(this).css('backgroundPosition', pos + ' ' + newY);
			});
		}		

		function repeat(num, text) {
			return new Array(isNaN(num) ? 1 : ++num).join(text);
		}
		
		function inArray(v, a) { for (var i in a) { if (a[i] == v) { return true; } } return false; }
function isset(v) { return (typeof(v) != 'undefined'); }

function trim(s) {return s.replace(/^\s+|\s+$/g,""); }

function ajax(url, data, success, error) {
	$.ajax({
		url: url,
		data: data,
		dataType: 'json',
		success: success,
		error: error
	});
}

function cep(a, b) {
	a = trim(a);
	var d = /^[0-9]{5}-[0-9]{3}$/;
	var e = /^[0-9]{8}$/;
	if (e.test(a)) { a = a.substr(0,5) + '-' + a.substr(5,8); }
	else if (!d.test(a)) { throw 'CEP inválido.'; }
	
	var f = 'http://query.yahooapis.com/v1/public/yql?q=select * from brazil.correios.ceplivre where cep = "' + a + '"&format=json&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys';
	ajax(f, null, function(data) {
		if (isset(data.query) && isset(data.query.count) && isset(data.query.results) && isset(data.query.results.cep) && isset(data.query.results.cep.sucesso) && (data.query.results.cep.sucesso == '1')) {
			b(true, data.query.results.cep);
		} else {
			b(false);
		}		
	}, function() {
		b(false);
	});
}

(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery);
