
/* /assets/1.1.26/ctx/static/js/ajax_progress.js */;
AjaxProgressTracker = {
	init: function() {
		Ajax.Responders.register({
			onCreate: function(requesterObject, xhrObject) {
				// ajax request is sent
				Ajax.activeRequestCount++;
				AjaxProgressTracker.ajaxCalled(requesterObject);
			},
			onComplete: function() {
				// ajax response is back. 
				Ajax.activeRequestCount--;
				AjaxProgressTracker.ajaxEnded();
			}
		});
	},
	ajaxCalled : function (requesterObject) {
		bodyEl = $$('body')[0];
		if(!bodyEl.hasClassName('ajaxInProgress')) {
			bodyEl.addClassName('ajaxInProgress');
		}
		if ( _gaq ) { 
			_gaq.push(['_trackPageview', '/AJAX' + requesterObject.url]);
		}
	},
	ajaxEnded : function () {
		bodyEl = $$('body')[0];
		if(bodyEl.hasClassName('ajaxInProgress')) {
			bodyEl.removeClassName('ajaxInProgress');
		}
	}
};

//Once the tapestry error catch is out of the way this will give us nice js error logging
//window.onerror = function(errorMessage, url, line) {
//  var loggerUrl = "https://localhost:8443/jsportal-projectportal-client-tapestry/jserrorlogger";
//  var parameters = "?description=" + escape(errorMessage)
//      + "&amp;url=" + escape(url)
//      + "&amp;line=" + escape(line)
//      + "&amp;parent_url=" + escape(document.location.href)
//      + "&amp;user_agent=" + escape(navigator.userAgent);
// 
//  /** Send error to server */
//  new Image().src = loggerUrl + parameters;
//};

/* /assets/1.1.26/ctx/static/js/ContextualHelp.js */;
Tapestry.Initializer.ContextualHelp = function (parameters) {
	new ContextualHelp(parameters);
};

var ContextualHelp = { };
ContextualHelp = Class.create({
	initialize:function(parameters) {
		var domHilighters = $$('.domHilighterTrigger');
		
		for(i = 0; i<domHilighters.size() ;i++) {
			
			domHilighters[i].observe('mouseover', this.hilight);
			domHilighters[i].observe('mouseout', this.hide);
			domHilighters[i].observe('click', this.scrollTo);
		}
	},
	hilight : function(event) {
		targets = $$(event.element().readAttribute('hilight_target'));
		cloneContainer = new Array();
		$T(event.element()).cloneContainer = cloneContainer;
		for(i = 0; i<targets.size() ;i++) {
			
			clonedElement = new Element('div', { 'class': 'targetHilight'});
			clonedElementRingtwo = new Element('div', { 'class': 'targetHilightRingTwo'});
			clonedElementRingthree = new Element('div', { 'class': 'targetHilightRingThree'});
			
			var bod = $$('body')[0];
			bod.insert({top: clonedElement});
			bod.insert({top: clonedElementRingtwo});
			bod.insert({top: clonedElementRingthree});

			clonedElement.clonePosition(targets[i]);
			clonedElementRingtwo.clonePosition(targets[i]);
			clonedElementRingthree.clonePosition(targets[i]);
			cloneContainer.push(clonedElement);
			cloneContainer.push(clonedElementRingtwo);
			cloneContainer.push(clonedElementRingthree);
		}
	},
	hide : function(event) {
		cloneContainer = $T(event.element()).cloneContainer;
		for(i = 0; i< cloneContainer.length ;i++) {
			Effect.Fade(cloneContainer[i]);
			//cloneContainer[i].remove();
		}
		$T(event.element()).cloneContainer = null;
	},
	scrollTo : function(event) {
		$T(event.element()).cloneContainer[0].scrollTo();
	}
});
/* /assets/1.1.26/ctx/static/js/components/template/links/CancelLink.js */;
Tapestry.Initializer.CancelLink = function (parameters) {
	new CancelLink(parameters);
};

var CANCEL_LINK_TRIGGERED_EVENT_NAME = "yanomo:CANCEL_LINK_TRIGGERED_EVENT";

var CancelLink = { };
CancelLink = Class.create({
	initialize:function(parameters) {
		this.cancelLinkEl = $(parameters.clientId);
		this.cancelLinkEl.observe('click', function(event) {
				event.element().fire(CANCEL_LINK_TRIGGERED_EVENT_NAME);
			}
		);
	}
});
;/**/
Tapestry.markScriptLibrariesLoaded([
  "/assets/1.1.26/ctx/static/js/ajax_progress.js",
  "/assets/1.1.26/ctx/static/js/ContextualHelp.js",
  "/assets/1.1.26/ctx/static/js/components/template/links/CancelLink.js"
]);

