document.observe("dom:loaded", function() {

	var longUrls = "";	
	$$('a[title*="Permanent"]').each(function(e) { 
		longUrls += "&longUrl=" + e.href
 	});
	getScript('http://api.bit.ly/shorten?version=2.0.1'+longUrls+'&login=moviechronicles&apiKey=R_8e3aaa7ecfac1a67e4112ce48908e8cc&output=json&callback=updateTwitterLinks');

 	
 	$('mcBar').select('span.show a').each(function(topLink) {
		mcTrackEvent(topLink, false, 'Internal Link', 'Top Categories', topLink.href);		
 	});
 	
 	$('sidebar').select('.cat-item a').each(function(sideLink) {
		mcTrackEvent(sideLink, false, 'Internal Link', 'Sidebar Categories', sideLink.href);		
 	});
 	
 	$('content').select('.meta li a[rel^="category"]').each(function(metaLink) {
		mcTrackEvent(metaLink, false, 'Internal Link', 'Meta Categories', metaLink.href);		
 	});
 	
 	$('content').select('.meta ul.share a').each(function(metaLink) {
		mcTrackEvent(metaLink, false, 'Share Link', metaLink.innerHTML.replace(/(<([^>]+)>)/ig,""), metaLink.href);		
 	});

	$$('a:not(a[href*="moviechronicles.com"]):not(a[href*="trivialbeing.org"])').each(function(outboundLink) {
		mcTrackEvent(outboundLink, false, 'Outbound Link', outboundLink.innerHTML.replace(/(<([^>]+)>)/ig,""), outboundLink.href);		
 	});
 	
 	$$('a[href*="trivialbeing.org"]').each(function(hostLink) { 	
 		var mediaType = 'Other';
 		if(hostLink.select('img').first()) {
 			mediaType = 'Image';
 		}
		mcTrackEvent(hostLink, true, 'Host Link', mediaType, hostLink.href);			
 	});


	if(movie) {
	
		var inputTxtStart = '<div style="text-align: center"><a href="'+window.location+'?from=embed">';
		var inputTxtEnd = '</a><br /><a href="'+window.location+'?from=embed">'+document.title+'</a><br/ >See more <a href="http://'+chronicle+'/?from=embed">'+movie+'</a> images at Movie Chronicles</div>';
		
		var bbStart = '[url='+window.location+'?from=embed][img]';
		var bbEnd = '[/img]'+document.title+'[/url] See more [url=http://'+chronicle+'/?from=embed]'+movie+'[/url] images at Movie Chronicles';
	
		$$('div.post img').each(function(img) { 
			if(img.width > 150) {
				var link = new Element('img', {'src':'http://sources.moviechronicles.com/images/embedImage.png', 'class':'embedImg'});
							
				var inputTxt = inputTxtStart + '<img src="'+img.src+'" alt="'+document.title+'" width="'+img.width+'" height="'+img.height+'" />' + inputTxtEnd;
				var bbTxt = bbStart + img.src + bbEnd;
				
				var codeContainer = new Element('div', {'class':'codeContainer'});
				var shareCode = new Element('div');
				var shareHeader = new Element('h4')
				shareHeader.update('Share Image');
				
				var closeLink = new Element('a', {'href': '#'});
				closeLink.update('Hide');
				
				shareHeader.appendChild(closeLink);			
				shareCode.appendChild(shareHeader);
				
				var codeLabel = new Element('label');
				codeLabel.update('HTML');				
				var input = new Element('input', {'type':'textbox', 'value':inputTxt});				
				codeLabel.appendChild(input);				
				shareCode.appendChild(codeLabel);
				
				var bbLabel = new Element('label');
				bbLabel.update('BB Code');				
				var bbInput = new Element('input', {'type':'textbox', 'value':bbTxt});				
				bbLabel.appendChild(bbInput);				
				shareCode.appendChild(bbLabel);
				
				
				codeContainer.appendChild(shareCode);
				codeContainer.hide();
				
				if(img.up().href != null) {
					Element.insert(img, {after: link});
					Element.insert(img.up(), {after: codeContainer});
				} else {
					Element.insert(img, {after: link});	
					Element.insert(img, {after: codeContainer});
				}			
				
				link.up().setStyle('position:relative');			
						
				Event.observe(link, 'click', function (event) {
					event.stop();					
					link.hide();
					codeContainer.show();
					pageTracker._trackEvent('Embed Image', 'Click embed link', img.src);
				});
				
				Event.observe(closeLink, 'click', function (event) {
					event.stop();
					link.show();
					codeContainer.hide();
				});
				
				Event.observe(input, 'click', function() {
					input.select();
					pageTracker._trackEvent('Embed Image', 'Select html box', img.src);
				});
				Event.observe(bbInput, 'click', function() {
					bbInput.select();
					pageTracker._trackEvent('Embed Image', 'Select bbCode box', img.src);
				});
			}
	 	});
	 	
	 	/* issues when flash is on page - dom loaded triggers early? */
	 	if($('movChronNav')) {
	 		$('movChronNav').select('li.cat-item a').each(function(botLink) {
				mcTrackEvent(botLink, false, 'Internal Link', 'Bottom Categories', botLink.href);		
	 		});
 		}
	 	
	}
     
});

function mcTrackEvent(element, isPageTrack, category, action, label) {	
	Event.observe(element, 'click', function(event) {
	
		pageTracker._trackEvent(category, action, label);		
		
		if(isPageTrack) {		
			var pageEnd = label;
			if(label.match("http")) {
				pageEnd = label.substring(7);
			}
			
			var url = '/track/'+category+'/'+action+'/'+pageEnd;
			url = url.replace(/[\s\.]/g, "-").toLowerCase();
			mcTrackPage(url);
		}
	});	
}

function mcTrackPage(url) {
	pageTracker._trackPageview(url);
}

function getScript(url){
	var scriptTag = document.createElement("script");
	scriptTag.setAttribute("type", "text/javascript");
	scriptTag.setAttribute("src", url);
	document.getElementsByTagName("head")[0].appendChild(scriptTag);
}

function updateTwitterLinks(jsonData) {
	if(jsonData.errorCode == 0) {
		$$('a.twitterLink').each(function(link) {
			var shortUrl = jsonData.results[link.up('div').previous('h1').select('a').first().href]['shortUrl'];
			if (shortUrl) {
				link.href = link.href.replace("http://www.moviechronicles.com",shortUrl);
			}
		});
	}
}