$(document).ready(function () {
    $(".NoAutocomplete").attr("autocomplete", "off");
    $(".ColouredFocus").bind("focus blur", function(){$(this).toggleClass("Focused")});
    $("body").bind("resize load", function(){$(".Resizable").each(function(){resizeIframe(this)})});
});

var resizeIframe = function(elem){
	try {
		var height;
		if (elem.contentDocument && elem.contentDocument.body && elem.contentDocument.body.offsetHeight) {
			height = elem.contentDocument.body.offsetHeight + 32;
		} else if (elem.Document && elem.Document.body && elem.Document.body.scrollHeight) {
			height = elem.Document.body.scrollHeight + 32;
		} else {
			return;
		}
		$(elem).css("height", height);
	} catch (e) { }
}

var rewriteWicketAjaxRequest = function() {
	if (rewriteWicketAjaxRequest.timer) {
		clearTimeout(rewriteWicketAjaxRequest.timer);
		rewriteWicketAjaxRequest.counter++;
	}
	
	// console.log("Trying to patch...");
	if (typeof Wicket != "undefined" && typeof Wicket.Ajax != "undefined" && typeof Wicket.Ajax.Request != "undefined" && typeof Wicket.Ajax.Request.prototype != "undefined") {
		// console.log("Patching...");
		Wicket.Ajax.Request.prototype.oldCreateUrl = Wicket.Ajax.Request.prototype.createUrl;
		Wicket.Ajax.Request.prototype.createUrl = function() {
			var url = this.oldCreateUrl();
			return url + (url.indexOf("?")>-1 ? "&" : "?") + "time=" + new Date().getTime();
		}
	} else {
		if (!rewriteWicketAjaxRequest.counter) {
			rewriteWicketAjaxRequest.counter = 1;
		}
		
		if (rewriteWicketAjaxRequest.counter < 100) {
			// console.log("Not loaded, repeating ("+rewriteWicketAjaxRequest.counter+")...");
			rewriteWicketAjaxRequest.timer = setTimeout(rewriteWicketAjaxRequest, 100);
		} else {
			// console.log("Tried " + rewriteWicketAjaxRequest.counter + " times, giving up...");
		}
	}
}
rewriteWicketAjaxRequest();
