if (!window.console) {
	(function() {
	    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
	      "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	    window.console = {};
	    for (var i = 0; i < names.length; ++i)
	      window.console[names[i]] = function() {}
	})();
}

function openPopup(url, width, height) {
	var _screenwidth = screen.width;
	var _screenheight = screen.height;

	_width = width + 20;
	_height = height + 20;

	if(_width > _screenwidth)
	{
		_width = _screenwidth;
		_height = _screenwidth * (_height / _width);
	}
	if(_height > _screenheight)
	{
		_width = _screenheight * (_width / _height);
		_height = _screenheight;
	}

	var _posx = (_screenwidth / 2) - (_width / 2);
	var _posy = (_screenheight / 2) - (_height / 2);

	w = window.open(url, 'picture', 'width=' + _width + ',height=' + _height + ',left=' + _posx + ',top = ' + _posy + ',dependent=yes,status=no,toolbar=no,location=no,menubar=no');
	if (typeof w != "undefined") {	
		w.focus();
	}
}

var $j = jQuery.noConflict();

$j(document).ready(function($) {
	var oldFn = $.ui.autocomplete.prototype._renderItem;
	
	$.ui.autocomplete.prototype._renderItem = function(ul, item) {
	    var re = new RegExp(
			"(?![^&;]+;)(?!<[^<>]*)(" +
			$.ui.autocomplete.escapeRegex(this.term) +
			")(?![^<>]*>)(?![^&;]+;)", "gi"
		);

	    var t = item.label.replace(re, "<span style='font-weight: bold; color: #111987;'>$1</span>");
	    return $("<li></li>")
	    	.data( "item.autocomplete", item)
	        .append("<a>" + t + "</a>")
	        .appendTo(ul);
	};
});

$j(document).ready(function($) {
	$("textarea, select, input[type=text]").bind({
		focus: function() {
			$(this).addClass("input-element-active");
		},
		blur: function() {
			$(this).removeClass("input-element-active");
		}			
	});
});

/*!Author: Jacek Becela
Website: http://github.com/ncr/at_intervals
License: cc-by-sa*/
(function($) {
	$.fn.PeriodicalExecuter = function(fn, options) {
		var settings = $.extend({}, $.fn.PeriodicalExecuter.defaults, options);

		return this.each(function() {
			var e = $(this)
			var name = settings.name
			var delay = settings.delay

			var helper = {
				should_stop: function() { // used to completely remove the interval
					return !this.element_in_dom() || this.user_wants_to_stop()
				},
				should_work: function() { // used to pause/resume the interval
					return this.element_visible() && !this.user_wants_to_pause()
				},
				user_wants_to_stop: function() {
					return e.data(name).should_stop == true
				},
				user_wants_to_pause: function() {
					return e.data(name).should_pause == true
				},
				element_in_dom: function() {
					return e.parents("html").length > 0
				},
				element_visible: function() {
					return e.parents("*").andSelf().not(":visible").length == 0
				},
				stop: function(interval_id) {
					clearInterval(interval_id)
					e.removeData(name)
				}
			}

			if(e.data(name)) {
				helper.stop(e.data(name).interval_id) // remove previous executer
			}

			e.data(name, { delay: delay }) // initialize data cache

			if(helper.should_work()) {
				//fn() // call fn immediately (setInterval applies the delay before calling fn for the first time)
			}

			var interval_id = setInterval(function() {
				if(helper.should_stop()) {
					helper.stop(interval_id)
				} else {
					if(helper.should_work()){
						fn()
					}
				}
			}, delay);
			e.data(name).interval_id = interval_id
		})
	};
	$.fn.PeriodicalExecuter.defaults = {
		name:  "PeriodicalExecuter",
		delay: 1000 // one second
	}
})(jQuery);

$j(document).ready(function() {
	$j("a.zoomimage").fancybox({
		openEffect	: 'elastic',
		closeEffect	: 'elastic'
	});
});

/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Thanks to: Seamus Leahy for adding deltaX and deltaY
 *
 * Version: 3.0.6
 *
 * Requires: 1.2.2+
 */
(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=
d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);

/*!
 * Page visibility html5
 */
var hidden, visibilityChange, isPageHidden;
if (typeof document.hidden !== "undefined") {
	hidden = "hidden";
	visibilityChange = "visibilitychange";
} else if (typeof document.mozHidden !== "undefined") {
	hidden = "mozHidden";
	visibilityChange = "mozvisibilitychange";
} else if (typeof document.msHidden !== "undefined") {
	hidden = "msHidden";
	visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
	hidden = "webkitHidden";
	visibilityChange = "webkitvisibilitychange";
} else {
	isPageHidden = false;
}

if (typeof document.addEventListener !== "undefined" &&
	typeof hidden !== "undefined") {
	function handleVisibilityChange() {
		if (document[hidden]) {
			isPageHidden = true;
		} else {
			isPageHidden = false;
		}
	}
	document.addEventListener(visibilityChange, handleVisibilityChange, false);
}
