function trackLinkClickPageview(evt){
_trackLinkClick(evt, function(link){pageTracker._trackPageview('/outgoing/'+link)})
}
function trackLinkClickEvent(evt) {
_trackLinkClick(evt, function(link){trackEvent("outgoing", link)})
}
function trackLinkClickDebug(evt) {
_trackLinkClick(evt, function(link){console.debug("tracking: "+link)})
}
function _trackLinkClick(e, tracker) {
var link;
var label;
if (!e) var e = window.event;
if (e.target) link = e.target;
else if (e.srcElement) link = e.srcElement;
if (link.nodeType == 3)  link = link.parentNode;
while (link && link.nodeName != 'A') {
 if (link.className && link.className.indexOf("trackLabel") > -1) {
label = link.innerHTML;
}
link = link.parentNode;
}
if(!link || link.href.indexOf(location.host) > -1 || link.href.indexOf('javascript:') > -1) return
if (link.className && link.className.indexOf("trackLabel") > -1) {
label = link.innerHTML;
}
var toTrack = link.href.replace(/http:\/\//g, "").replace(/\/$/g, "");
if (toTrack.indexOf('/') < 0) {
 toTrack = toTrack + '/'
}
if (label) {
toTrack = toTrack + (toTrack.indexOf('?') > 0 ? '&' : '?') + "trackLabel=" + encodeURIComponent(label);
}
try{
tracker(toTrack);
} catch(err){
if (window.console) window.console.debug("error: " + err)
}
}
function buildCustomPath(path, params) {
if (!params && !path) return;
var cp = !path ? window.location.pathname : path;
var search = window.location.search;
if (search) cp = cp + search;
if (params) cp = cp + (search ? '&' : '?') + params;

return cp;
}
function trackEvent(category, action, label, value) {
pageTracker._trackEvent(category, action, label, value);
}

if (typeof(Molindo) == "undefined")
Molindo = { };
if (typeof(Molindo.Facebook) == "undefined")
Molindo.Facebook = { };
Molindo.Facebook._state = {
_uid : null,
	getUid : function() {return this._uid},
setUid : function(uid) {this._uid = uid;},
getSessionUID : function() {
return FB.ensureInit(function() {
return FB.Connect.get_loggedInUser()
})
},
	log : function(o) {
if (window.console) window.console.log(o);
},
sync : function() {
syncSession()
},
	init : function(uid) {
sessionUid = this.getSessionUID()
this.log("seesionUID: " + sessionUid + ", initUID: " + uid)
if (uid != sessionUid) {
this.setUid(sessionUid)
this.sync()
} else {
this.setUid(uid)
}
},
updateUid : function(uid) {
if (this.getUid() != uid) {
this.log("new uid: "+uid+ " (was "+this.getUid()+")")
this.setUid(uid)
this.sync()
}
}
}
Molindo.Facebook.init = function(uid) {
FB.ensureInit(function() {
Molindo.Facebook._state.init(uid)
})
}
Molindo.Facebook.onConnected = function(uid) {
FB.ensureInit(function() {
Molindo.Facebook._state.updateUid(uid);
})
}
Molindo.Facebook.onNotConnected = function() {
FB.ensureInit(function() {
Molindo.Facebook._state.updateUid(null);
})
}
Molindo.Facebook.logout = function(){
	var retVal = false;
	FB.Connect.logout(function() {
retVal = true;
})
return retVal
}
Molindo.Facebook.feed = function(template_bundle_id, template_data, target_ids, body_general, story_size, require_connect, callback) {
return FB.ensureInit(function() {
debugCallback = function() {
if (callback) callback()
}
return FB.Connect.showFeedDialog (template_bundle_id, template_data, target_ids, body_general, story_size, require_connect, debugCallback)
})
}
Molindo.Facebook.prompMail = function() {
return FB.ensureInit(function() {
return FB.Connect.showPermissionDialog('email')
})
}

function writeDayOfWeek(dayId, monthId, yearId, markupId, dayArr) {
var dayEle = document.getElementById(dayId);
var monthEle = document.getElementById(monthId);
var yearEle = document.getElementById(yearId);
if (dayEle != null && monthEle != null && yearEle != null) {
var day = parseInt(dayEle.value);
var month = parseInt(monthEle.value);
var year = parseInt(yearEle.value);
if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
var d = new Date();
var fullYears = d.getFullYear() - year;
var backThen = new Date(fullYears, month, (day + 1));
document.getElementById(markupId).innerHTML = dayArr[backThen.getDay()];
return false;
}
}
document.getElementById(markupId).innerHTML = '';
return false;
}

function search(query) {
var f = document.forms['searchBox']
if (f) {
if (f.elements['q']) {
f.elements['q'].value = query
} else if (f.elements['query']) {
f.elements['query'].value = query
} else {
f.elements[0].value = query
}
f.submit();
return null;
} else return query
}


if (typeof(Wicket) == "undefined")
Wicket = { };
Wicket.AutoCompleteSettings = {
enterHidesWithNoSelection : false
};
Wicket.AutoComplete=function(elementId, callbackUrl, cfg, indicatorId){
var KEY_TAB=9;
var KEY_ENTER=13;
var KEY_ESC=27;
var KEY_LEFT=37;
var KEY_UP=38;
var KEY_RIGHT=39;
var KEY_DOWN=40;
var KEY_SHIFT=16;
var KEY_CTRL=17;
var KEY_ALT=18;
var selected=-1;  var elementCount=0;  var visible=0;  var mouseactive=0;		var	hidingAutocomplete=0; 
 var objonkeydown;
var objonblur;
var objonkeyup;
var objonkeypress;
var objonchange;
var objonchangeoriginal;
var objonfocus;
var ignoreOneFocusGain = false; 
		var localThrottler = new Wicket.Throttler(true);
var throttleDelay = 300;
function initialize(){
    var choiceDiv=document.getElementById(getMenuId());
if (choiceDiv != null) {
choiceDiv.parentNode.parentNode.removeChild(choiceDiv.parentNode);
}
var obj=wicketGet(elementId);
objonkeydown=obj.onkeydown;
objonblur=obj.onblur;
objonkeyup=obj.onkeyup;
objonkeypress=obj.onkeypress;
objonfocus=obj.onfocus;
 objonchangeoriginal=obj.onchange;
obj.onchange=function(event){
if(mouseactive==1)return false;
if(typeof objonchangeoriginal=="function")objonchangeoriginal.apply(this,[event]);
}
objonchange=obj.onchange;
obj.onblur=function(event){ 
if(mouseactive==1){
ignoreOneFocusGain = true;
Wicket.$(elementId).focus();
return killEvent(event);
}
hideAutoComplete();
if(typeof objonblur=="function")objonblur.apply(this,[event]);
}
obj.onfocus=function(event){
if (!ignoreOneFocusGain && cfg.showListOnFocusGain) {
if (cfg.showCompleteListOnFocusGain) {
updateChoices(true);
} else {
updateChoices();
}
}
ignoreOneFocusGain = false;
if(typeof objonfocus=="function")objonfocus.apply(this,[event]);
}
obj.onkeydown=function(event){
switch(wicketKeyCode(Wicket.fixEvent(event))){
case KEY_UP:
if(selected>-1) selected--;
if(selected==-1){
hideAutoComplete();
} else {
render();
}
if(Wicket.Browser.isSafari())return killEvent(event);
break;
case KEY_DOWN:
if(selected<elementCount-1) selected++;
if(visible==0){
updateChoices();
} else {
render();
showAutoComplete();
}
if(Wicket.Browser.isSafari())return killEvent(event);
break;
case KEY_ESC:
hideAutoComplete();
return killEvent(event);
break;
case KEY_ENTER:
if(selected > -1) {
var value = getSelectedValue();
if(value = handleSelection(value)) {
obj.value = value;
if(typeof objonchange=="function") objonchange.apply(this,[event]);
}
hideAutoComplete();
hidingAutocomplete = 1;
} else if (Wicket.AutoCompleteSettings.enterHidesWithNoSelection) {
hideAutoComplete();
hidingAutocomplete = 1;
}
mouseactive = 0;
if(typeof objonkeydown=="function") objonkeydown.apply(this,[event]);
return true;
break;
default:
}
}
obj.onkeyup=function(event){
switch(wicketKeyCode(Wicket.fixEvent(event))){
case KEY_ENTER:
return killEvent(event);
case KEY_TAB:
break;
case KEY_UP:
case KEY_DOWN:
case KEY_ESC:
case KEY_RIGHT:
case KEY_LEFT:
case KEY_SHIFT:
case KEY_ALT:
case KEY_CTRL:
break;
default:
updateChoices();
}
if(typeof objonkeyup=="function")objonkeyup.apply(this,[event]);
return null;
}
obj.onkeypress=function(event){
if(wicketKeyCode(Wicket.fixEvent(event))==KEY_ENTER){
if(selected>-1 || hidingAutocomplete==1){
hidingAutocomplete=0;
return killEvent(event);
}
}
if(typeof objonkeypress=="function")objonkeypress.apply(this,[event]);
}
}
function handleSelection(input) {
var menu = getAutocompleteMenu();
var attr = menu.firstChild.childNodes[selected].attributes['onselect'];
return attr ? eval(attr.value) : input;
}
function getMenuId() {
return elementId+"-autocomplete";
}
function getAutocompleteMenu() {
var choiceDiv=document.getElementById(getMenuId());
if (choiceDiv==null) {
var container = document.createElement("div");
container.className ="wicket-aa-container";
if(cfg.className)
container.className += ' ' + cfg.className;
document.body.appendChild(container);
container.style.display="none";
container.style.overflow="auto";
container.style.position="absolute"; 
container.id=getMenuId()+"-container";
container.show = function() { wicketShow(this.id) };
container.hide = function() { wicketHide(this.id) };
choiceDiv=document.createElement("div");
container.appendChild(choiceDiv);
choiceDiv.id=getMenuId();
choiceDiv.className="wicket-aa";
 container.onmouseout=function() {mouseactive=0;};
container.onmousemove=function() {mouseactive=1;};
}
return choiceDiv;
}
function getAutocompleteContainer() {
var node=getAutocompleteMenu().parentNode;
return node;
}
function killEvent(event){
if(!event)event=window.event;
if(!event)return false;
if(event.cancelBubble!=null){
event.cancelBubble=true;
}
if(event.returnValue){
event.returnValue=false;
}
if(event.stopPropagation){
event.stopPropagation();
}
if(event.preventDefault){
event.preventDefault();
}
return false;
}
function updateChoices(showAll){
if(cfg.preselect==true){
selected = 0;
}
else{
selected=-1;
}
if (showAll) {
localThrottler.throttle(getMenuId(), throttleDelay, actualUpdateChoicesShowAll);
} else {
localThrottler.throttle(getMenuId(), throttleDelay, actualUpdateChoices);
}
}
function actualUpdateChoicesShowAll()
{
showIndicator();
var request = new Wicket.Ajax.Request(callbackUrl+"&q=", doUpdateChoices, false, true, false, "wicket-autocomplete|d");
request.get();
}
function actualUpdateChoices()
{
showIndicator();
var value = wicketGet(elementId).value;
var request = new Wicket.Ajax.Request(callbackUrl+"&q="+processValue(value), doUpdateChoices, false, true, false, "wicket-autocomplete|d");
request.get();
}
function showIndicator() {
if (indicatorId!=null) {
Wicket.$(indicatorId).style.display='';
}
}
function hideIndicator() {
if (indicatorId!=null) {
Wicket.$(indicatorId).style.display='none';
}
}
function processValue(param) {
return (encodeURIComponent)?encodeURIComponent(param):escape(param);
}
function showAutoComplete(){
var position=getPosition(wicketGet(elementId));
var container = getAutocompleteContainer();
var input=wicketGet(elementId);
var index=getOffsetParentZIndex(elementId);
container.show();
if (!isNaN(new Number(index))) {
container.style.zIndex=(new Number(index)+1);
}
container.style.left=position[0]+'px';
container.style.top=(input.offsetHeight+position[1])+'px';
if(cfg.adjustInputWidth)
container.style.width=input.offsetWidth+'px';
visible=1;
hideShowCovered();
}
function hideAutoComplete(){
visible=0;
selected=-1;
if ( getAutocompleteContainer() )
{
getAutocompleteContainer().hide();
hideShowCovered();
}
}
function getPosition(obj) {
var leftPosition = obj.offsetLeft || 0;
var topPosition = obj.offsetTop || 0;
obj = obj.offsetParent;
while (obj && obj != document.documentElement && obj != document.body) {
topPosition += obj.offsetTop || 0;
topPosition -= obj.scrollTop || 0;
leftPosition += obj.offsetLeft || 0;
leftPosition -= obj.scrollLeft || 0;
obj = obj.offsetParent;
}
return [leftPosition,topPosition];
}
function doUpdateChoices(resp){
 var input=wicketGet(elementId);
if ((Wicket.Focus.getFocusedElement() != input) || !cfg.showListOnEmptyInput && (input.value==null || input.value=="")) {
hideAutoComplete();
return;
}
var element = getAutocompleteMenu();
element.innerHTML=resp;
if(element.firstChild && element.firstChild.childNodes) {
elementCount=element.firstChild.childNodes.length;
var clickFunc = function(event) {
mouseactive = 0;
var value = getSelectedValue();
if(value = handleSelection(value)) {
wicketGet(elementId).value = value;
if(typeof objonchange=="function") objonchange.apply(wicketGet(elementId),[event]);
}
hideAutoComplete();
if (Wicket.Focus.getFocusedElement() != input)
{
ignoreOneFocusGain = true;
input.focus();
}
};
var mouseOverFunc = function(event) {
mouseactive=1;  selected = getElementIndex(this);
render();
showAutoComplete();
};
var parentNode = element.firstChild;
for(var i = 0;i < elementCount; i++) {
var node = parentNode.childNodes[i];
node.onclick = clickFunc;
node.onmouseover = mouseOverFunc;
}
} else {
elementCount=0;
}
if(elementCount>0){
showAutoComplete();
} else {
hideAutoComplete();
}
render();
scheduleEmptyCheck();
Wicket.Log.info("Response processed successfully.");
Wicket.Ajax.invokePostCallHandlers();
hideIndicator();
}
function scheduleEmptyCheck() {
window.setTimeout(function() {
var input=wicketGet(elementId);
if (!cfg.showListOnEmptyInput && (input.value==null || input.value=="")) {
hideAutoComplete();
}
}, 100);
}
function getSelectedValue(){
var element=getAutocompleteMenu();
var attr=element.firstChild.childNodes[selected].attributes['textvalue'];
var value;
if (attr==undefined) {
value=element.firstChild.childNodes[selected].innerHTML;
} else {
value=attr.value;
}
return stripHTML(value);
}
function getElementIndex(element) {
for(var i=0;i<element.parentNode.childNodes.length;i++){
var node=element.parentNode.childNodes[i];
if(node==element)return i;
}
return -1;
}
function stripHTML(str) {
return str.replace(/<[^>]+>/g,"");
}
function adjustScrollOffset(menu, item) { 
if (item.offsetTop + item.offsetHeight > menu.scrollTop + menu.offsetHeight) {
menu.scrollTop = item.offsetTop + item.offsetHeight - menu.offsetHeight;
} else
 if (item.offsetTop < menu.scrollTop) {
menu.scrollTop = item.offsetTop;
}
}
function render(){
var menu=getAutocompleteMenu();
var height=0;
var node=menu.firstChild.childNodes[0];
var re = /\bselected\b/gi;
for(var i=0;i<elementCount;i++)
{
var origClassNames = node.className;
var classNames = origClassNames.replace(re, "");
if(selected==i){
classNames += " selected";
adjustScrollOffset(menu.parentNode, node);
}
if (classNames != origClassNames)
node.className = classNames;
if (cfg.maxHeight > -1)
height+=node.offsetHeight;
node = node.nextSibling;
}
if (cfg.maxHeight > -1) {
if (height<cfg.maxHeight) {
menu.parentNode.style.height="auto";
} else {
menu.parentNode.style.height=cfg.maxHeight+"px";
}
}
}
 function getStyle(obj,cssRule) {
var cssRuleAlt = cssRule.replace(/\-(\w)/g,function(strMatch,p1){return p1.toUpperCase();});
var value=obj.style[cssRuleAlt];
if (!value) {
if (document.defaultView && document.defaultView.getComputedStyle) {
value = document.defaultView.getComputedStyle(obj,"").getPropertyValue(cssRule);
}
else if (obj.currentStyle)
{
value=obj.currentStyle[cssRuleAlt];
}
}
return value;
}
function isVisible(obj) {
return getStyle(obj,"visibility");
}
function getOffsetParentZIndex(obj) {
obj=typeof obj=="string"?Wicket.$(obj):obj;
obj=obj.offsetParent;
var index="auto";
do {
var pos=getStyle(obj,"position"); 
if(pos=="relative"||pos=="absolute"||pos=="fixed") {
index=getStyle(obj,"z-index");
}
obj=obj.offsetParent; 
} while (obj && index == "auto");
return index;
}
function hideShowCovered(){
if (!/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {
return;
}
  setTimeout(hideShowCoveredTimeout,1);
}
function hideShowCoveredTimeout(){
var el=getAutocompleteContainer();
var p=getPosition(el);
var acLeftX=p[0];
var acRightX=el.offsetWidth+acLeftX;
var acTopY=p[1];
var acBottomY=el.offsetHeight+acTopY;
var hideTags=new Array("select","iframe","applet");
for (var j=0;j<hideTags.length;j++) {
var tagsFound=document.getElementsByTagName(hideTags[j]);
for (var i=0; i<tagsFound.length; i++){
var tag=tagsFound[i];
p=getPosition(tag);
var leftX=p[0];
var rightX=leftX+tag.offsetWidth;
var topY=p[1];
var bottomY=topY+tag.offsetHeight;
if (this.hidden || (leftX>acRightX) || (rightX<acLeftX) || (topY>acBottomY) || (bottomY<acTopY)) {
if(!tag.wicket_element_visibility) {
tag.wicket_element_visibility=isVisible(tag);
}
tag.style.visibility=tag.wicket_element_visibility;
} else {
if (!tag.wicket_element_visibility) {
tag.wicket_element_visibility=isVisible(tag);
}
tag.style.visibility = "hidden";
}
}
} 
}
initialize();
}
