
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
}