/**
* *
* *  AJAX IFRAME METHOD (AIM)
* *  http://www.webtoolkit.info/
* *
* **/

AIM = {

	frame : function(callbacks) {
		var n = 'f' + Math.floor(Math.random() * 99999);

		var i = $('<iframe />').attr({
			style: "display:none",
			src: "about:blank",
			id: n,
			name: n,
			onload: "AIM.loaded('"+n+"')"}).appendTo('body').wrap('<div />');

		// var i = $('#'+n);
		// i.data('callbacks', callbacks);
		if (callbacks && typeof(callbacks.onComplete) == 'function') {
			// i.onComplete = callbacks.onComplete;
			i.data('onComplete', callbacks.onComplete);
		}

		return n;
	},

	form : function(form, url, name) {
		form.attr('action', url);
		form.attr('target', name);
	},

	submit : function(formid, url, callbacks) {
		var form = $('#'+formid);
		AIM.form(form, url, AIM.frame(callbacks));
		var s = true;
		if (callbacks && typeof(callbacks.onStart) == 'function') {
			s = callbacks.onStart();
		} 
		if (s)
			form.submit();
	},

	loaded : function(id) {
		var i = $('#'+id);
		var f = i.contents();
		var d = f.get(0);

		if (d.location.href == "about:blank") {
			return;
		}

		var c = i.data('onComplete');
		if (typeof(c) == 'function') {
			c(f.find('body').html());
		}
	}

}

