abcf = {};
abcf.PublicProfile = {
	color1: '#004C73',
	color2: '#666666',
	time: null,
	date: null,
	querystring: [],
	topTabs: [
		{tab: 'aboutMeTab', layer: 'aboutMe'},
		{tab: 'favoritesTab', layer: 'favorites'},
		{tab: 'photosTab', layer: 'photos'}
	],
	bottomTabs: [
		{tab: 'commentsToMeTab', layer: 'commentsToMe'},
		{tab: 'commentsByMeTab', layer: 'commentsByMe'}
	],
	getTarget: function(target) {
		return typeof(target) == typeof('string') ? document.getElementById(target) : target;
	},
	init: function() {
		var photoSubmit = getTarget('photoSubmit');
		if ( photoSubmit ) {
			addEvent(photoSubmit, 'click', abcf.PublicProfile.eventSubmit);
		}
		abcf.PublicProfile.getQueryString();
		abcf.PublicProfile.sifr();
		abcf.PublicProfile.setupTabs(abcf.PublicProfile.topTabs, abcf.PublicProfile.changeTopTab);
		abcf.PublicProfile.setupTabs(abcf.PublicProfile.bottomTabs, abcf.PublicProfile.changeBottomTab);
	},
	eventSubmit: function(e) {
		var file = getTarget('mediaFile');
		var aForm = getTarget('uploadForm');
		if ( file && file.value ) {
			aForm.submit();
		}
		return false;
	},
	setupTabs: function(tabs, action) {
		for ( i = 0; i < tabs.length; i++ ) {
			var tab = getTarget(tabs[i].tab);
			var layer = getTarget(tabs[i].layer);
			if ( tab && layer ) {
				addEvent(tab, 'click', action);
				addEvent(tab, 'click', function() { return false; });
				var a = tab.getElementsByTagName('a');
				if ( a.length > 0 ) {
					a[0].onclick = function() {return false;};
				}
			}
		}
	},
	
	addClass: function(objTarget, strClass) {
		var objTarget = typeof(objTarget) == typeof('string') ? document.getElementById(objTarget) : objTarget;
		if ( !objTarget ) { return false; };
		var objRegEx = new RegExp('\\b' + strClass + '\\b');
		if ( !objTarget.className.match(objRegEx) ) {
			objTarget.className += ' ' + strClass;
		}
	},
	
	changeTopTab: function(e) {
		var source = e.srcElement || e.target;
		abcf.PublicProfile.changeTab(source, abcf.PublicProfile.topTabs);
	},
	
	changeBottomTab: function(e) {
		var source = e.srcElement || e.target;
		abcf.PublicProfile.changeTab(source, abcf.PublicProfile.bottomTabs);
	},
	
	changeTab: function(source, tabs) {
		var sourceTab = source && source.parentNode && source.parentNode.id ? source.parentNode.id : null;
		var sourceLayer;
		for ( i = 0; i < tabs.length; i++ ) {
			var tab = getTarget(tabs[i].tab);
			var layer = getTarget(tabs[i].layer);
			if ( tab && layer ) {
				if ( tab.id == sourceTab ) {
					sourceLayer = layer;
					sourceTab = getTarget(sourceTab);
				}
				var a = tab.getElementsByTagName('a');
				if ( a.length > 0 ) {
					abcf.PublicProfile.removeClass(a[0], 'active');
				}
				abcf.PublicProfile.addClass(layer, 'hidden');
			}
		}
		if ( sourceTab && sourceLayer ) {
			abcf.PublicProfile.removeClass(sourceLayer, 'hidden');
			if ( sourceTab.getElementsByTagName ) {
				var a = sourceTab.getElementsByTagName('a');
				if ( a.length > 0 ) {
					abcf.PublicProfile.addClass(a[0], 'active');
				}
			}
		}		
	},
	
	getQueryString: function() {
		var qS = window.location.search;
		if ( !qS ) { 
			return false;
		}
		qS = qS.substring(1);
		var pairs = qS.split('&');
		for ( var index = 0; index < pairs.length; index++ ) {
			if ( pairs[index].indexOf('=') != -1 ) {
				abcf.PublicProfile.querystring.push(pairs[index].split('=')[0]);
				abcf.PublicProfile.querystring[pairs[index].split('=')[0]] = pairs[index].split('=')[1];
			}
		}
	},
	
	removeClass: function(objTarget, strClass) {
		var objTarget = typeof(objTarget) == typeof('string') ? document.getElementById(objTarget) : objTarget;
		if ( !objTarget ) { return false; };
		var objRegEx = new RegExp('\\b' + strClass + '\\b');
		objTarget.className = objTarget.className.replace(objRegEx, ' ');
	},
	
	sifr: function() {
		if ( sIFR ) {
			sIFR.replaceElement(named({sSelector:'#mainpane h1', sFlashSrc: globalObj.mediaServer + '/abcfamily/images/flash/abc.swf', sColor:abcf.PublicProfile.color2, sLinkColor:abcf.PublicProfile.color1, sBgColor:"#FFFFFF", sHoverColor:abcf.PublicProfile.color1, nPaddingTop:0, nPaddingBottom:0, sFlashVars:'textalign=left', sWmode:'transparent' }));
		}
	}
};
addEvent(document, 'readystatechange', abcf.PublicProfile.init);