var cmInitialized = false;
var cmLinks = [];
cm_category_id = 'Toughbook FTP';

function cmLink(file,cmName){
	this.file = file;
	this.cmName = cmName;
}

var lnkNum = 0;
var liveView = (window.details.queryString()['live_view']=='true');

function liveView_init(){
	var div = document.createElement('div');
	div.style.border = '2px solid black';
	div.style.position = 'absolute';
	div.display = 'none';
	div.style.backgroundColor = '#fff';
	div.style.fontFamily = 'tahoma';
	div.style.fontSize = '8pt';
	div.style.padding = '3px';
	div.id = 'cm_info';
	document.body.appendChild(div);
}

function monitorCMLinks(){

	if(liveView) liveView_init();

	$$('a').each(
		function(elt){

			// SKIP LINK IF ALREADY TOOK INTO CONSIDERATION; THIS IS SO WE CAN CALL monitorCMLinks() MORE THAN ONCE IF NEEDED
			if(elt.getAttribute('cm_inited')=='true') return;
			elt.setAttribute('cm_inited','true');

			// GET ALL APPLICABLE ANCHORS
			var ext = elt.href.getExtension();
			// CONVERSION EVENT:

			// TARGET SPECIFIC EXTENSIONS, EXCLUDE LINKS TO CONTACT FORMS
			if(ext.isAnyOf(['pdf','jpg','swf','bmp','doc','asp','exe','txt','rmv','php','lnk'])&&!elt.href.contains('contact')){
				// ADD ONCLICK EVENT TO ANCHOR
				Event.observe(elt,'click',invokeCMConversionEvent,false);

				if(liveView&&getCoremetricsData(elt.href)){
					elt.style.backgroundColor = '#ffffdd';
					elt.style.border = '1px solid #ddddbb';
					Event.observe(elt,'mouseover',function(){cm_show_data(this)});
					Event.observe(elt,'mouseout',cm_hide_data);
				}

			}
			// SITE PROMO TAGS:
			var href = '';
			var sitePromo = elt.getAttribute("tpg_cm_sp");
			var sitePromoData = sitePromo;

			if(sitePromo){
				href = elt.getAttribute('href');

				if(sitePromo.indexOf('cm_sp=')==-1){
					if(href.getServer().isAnyOf(['localhost','206.135.80.110','140.212.202.147','panasonic.com','www.panasonic.com'])) href = href.getFilePath();
					if(href.indexOf('?')==-1){
						sitePromo = href + '?cm_sp=' + sitePromo
					}else{
						sitePromo = href + '&cm_sp=' + sitePromo
					}
				}else{
					sitePromoData = window.details.queryString(sitePromo.substr(sitePromo.indexOf('?cm_sp=')+1))['cm_sp'];
					sitePromoData = sitePromoData.gsub(' ','%20');
				}
				// KICK OUT LINK IMPRESSION TAG
				//if((typeof pi)=='string'&&pi) cmCreateManualImpressionTag(pi,sitePromoData);

				var lnkID = elt.getAttribute('id');
				if(!lnkID){
					lnkNum++;
					lnkID = 'tpgCmLnk'+lnkNum;
					elt.setAttribute('id',lnkID);
				}
				Event.observe(lnkID,'click',function(){cmCreateManualLinkClickTag(sitePromo);},false);
			}

			// CONVERSION EVENTS
			var conversionEvent = elt.getAttribute('tpg_cm_ce');
			if(conversionEvent){
				Event.observe(lnkID,'click',function(){cmCreateConversionEventTag(conversionEvent,'2',cm_category_id,'1');},false);
			}

		}
	);
	cmInitialized = true;
}

/*
function invokeCMConversionEvent(evt){
	var invoked = false;
	if(typeof(evt)=='object'){
		try{
			if(Event.element(evt).parentNode.tagName=='A'){
				// FOR IMAGES WITHIN ANCHORS
				evt = Event.element(evt).parentNode.toString();
			}else{
				// FOR TEXT ANCHORS
				evt = Event.element(evt).toString();
			}
		}catch(err){

		}
	}

	var itemName = (typeof(evt)=='string')?evt.toLowerCase():Event.element(evt).toString().toLowerCase();
	var pageUrl = location.href.toLowerCase();
	itemName = unescape(itemName);
	pageUrl = unescape(pageUrl);
	cmLinks.each(
		function(item){
			if(invoked) return;
			var thisItemFile = unescape(item.file.toLowerCase());
			var thisItemPageUrl = unescape(item.pageUrl.toLowerCase());
			if(itemName.contains(thisItemFile)&&pageUrl.contains(thisItemPageUrl)){
				try{
					//if(location.href.contains('206.135.80.110')) alert(item.cmName);
					cmCreateConversionEventTag(item.cmName,'2',item.param3,'1');
					invoked = true;
					return;
				}catch(err){
				}
			}
		}
	);
}
*/

function flash_cm_sp_clickthrough(url){
	cmCreateManualLinkClickTag(url);
	location.href = url;
}

Event.observe(window,'load',monitorCMLinks,false);












function cm_show_data(evt){
	$('cm_info').style.display = 'block';
	$('cm_info').style.top = (Element.positionedOffset(evt)[1] - 5) + 'px';
	$('cm_info').style.left = (Element.positionedOffset(evt)[0] + evt.getWidth() + 2) + 'px';

	try{
		if(evt.parentNode.tagName=='A'){
			// FOR IMAGES WITHIN ANCHORS
			evt = Event.element(evt).parentNode.toString();
		}else{
			// FOR TEXT ANCHORS
			evt = evt.toString();
		}
	}catch(err){

	}

	var cm_data = getCoremetricsData(evt)
	$('cm_info').innerHTML = cm_data.cm_id;
}

function cm_hide_data(){
	$('cm_info').style.display = 'none';
}

function invokeCMConversionEvent(evt){
	var test_mode = (location.href.contains('localhost'));
	var cm_data = getCoremetricsData(evt);
	if(cm_data){
		if(test_mode||liveView) alert(cm_data.cm_id);
		cmCreateConversionEventTag(cm_data.cm_id,'2',cm_data.cm_cat,'1');
	}
}

function getCoremetricsData(evt){
	if(typeof(evt)=='object'){
		try{
			if(Event.element(evt).parentNode.tagName=='A'){
				// FOR IMAGES WITHIN ANCHORS
				evt = Event.element(evt).parentNode.toString();
			}else{
				// FOR TEXT ANCHORS
				evt = Event.element(evt).toString();
			}
		}catch(err){

		}
	}

	var itemName = (typeof(evt)=='string')?evt.toLowerCase():Event.element(evt).toString().toLowerCase();
	var pageUrl = location.href.toLowerCase();
	itemName = unescape(itemName);
	pageUrl = unescape(pageUrl);

	var ret;
	cmLinks.each(
		function(item){
			if(itemName.contains(unescape(item.file.toLowerCase()))){
				try{
					var cm_id = item.cmName;
					ret = {'cm_id':cm_id,'cm_cat':cm_category_id};
					return;
				}catch(err){
				}
			}
		}
	);
	return ret;
}


// INCLUDE GLOBAL LIBRARIES
var libs = ['/business/toughbook/javascript/coremetrics_data.asp?location=' + unescape(window.location.pathname.toLowerCase())];

for(var i=0;i<libs.length;i++){
	document.write('<script src="'+libs[i]+'" type="text/javascript"></script>');
}