var cmInitialized = false;
var cmLinks = [];

function cmLink(file,cmName){
	this.file = file;
	this.cmName = cmName;
}

var lnkNum = 0;

function is_live_view(obj){
	try {
		if(obj.location.href.indexOf('live_view=true')>-1){
			return true;
		}else if(top){
			return (top.location.href.indexOf('live_view=true')>-1);
		}
	}catch(err){
		return;
	}
}

var liveView = is_live_view(window); //(window.details.queryString()['live_view']=='true');

function liveView_init(){
	var div = document.createElement('div');
	div.setStyle({
		'border':'2px solid black',
		'position':'absolute',
		'display':'none',
		'backgroundColor':'#fff',
		'fontFamily':'tahoma',
		'fontSize':'8pt',
		'padding':'3px'
	});
	div.id = 'cm_info';
	document.body.appendChild(div);
}

function monitorCMLinks(){

	if(liveView) liveView_init();

	$$('a:not([cm_inited="true"])').each(
		function(elt){

			// SKIP LINK IF ALREADY TOOK INTO CONSIDERATION; THIS IS SO WE CAN CALL monitorCMLinks() MORE THAN ONCE IF NEEDED
			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',invokeCMPageView,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");

			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
					}
				}
				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(elt,'click',function(){cmCreateConversionEventTag(conversionEvent,'2','TOUGHBOOK CONVERSION EVENTS','1');},false);
			}

		}
	);
	cmInitialized = true;

	// USE CM FUNCTIONS FROM PARENT WINDOW IF NOT DEFINED HERE
	if(parent){
		if((typeof cmCreateManualLinkClickTag)=='undefined') cmCreateManualLinkClickTag = parent.cmCreateManualLinkClickTag;
		if((typeof cmCreateConversionEventTag)=='undefined') cmCreateConversionEventTag = parent.cmCreateConversionEventTag;
		if((typeof cmCreatePageviewTag)=='undefined') cmCreatePageviewTag = parent.cmCreatePageviewTag;
	}
}

function flash_cm_sp_clickthrough(url){
	cmCreateManualLinkClickTag(url);
	location.href = url;
}

Event.observe(window,'load',monitorCMLinks,false);

/*
function  determine_cm_category(obj){
	try{
		if((typeof obj.cmCategoryId)=='string'&&obj.cmCategoryId){
			return obj.cmCategoryId;
		}else if(top){
			return top.cmCategoryId;
		}
	}catch(err){
		return;
	}
}
*/

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 invokeCMPageView(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+', '+cm_data.cm_cat);
		if((typeof cmCreatePageviewTag)=='function') cmCreatePageviewTag(cm_data.cm_id,cm_data.cm_cat);
	}
}

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':'Toughbook Downloads'};
					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>');
}
