// JavaScript Document

//JS DETECT
var BrowserDetect = {
	init: function () {
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

// MORE LESS FUNCTIONALITY
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
	var element = arguments[i];
	if (typeof element == 'string')
	element = document.getElementById(element);
	if (arguments.length == 1)
	return element;
	elements.push(element);
	}
	return elements;
}


function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}


var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();

function getUniKey(varName){
	var varName_a = new Array();
	varName_a = varName.split('_');
	return varName_a[1];
}


function moreLessButton(element,minSize,type,more) {
	targetElement = "box_"+getUniKey(element);
	if(more == 1){
		var linkLabel = "了解更多";
		var imgLink = "/shared/images/seeMore.gif";	
		var title = "了解更多" ; //added by b05535 for cct43571 on 23 Apr 2007
	} else {
		var linkLabel = "了解部分";
		var imgLink = "/shared/images/seeLess.gif";
		var title = "了解部分" ; //added by b05535 for cct43571 on 23 Apr 2007
	}
//changed by b05535 for metrics calculation(cct43571) start : 23 Apr 2007
//	var linkContent = "<a href=\"Javascript:resizeBox('"+targetElement+"','"+minSize+"','"+type+"','"+more+"');\">"+linkLabel+" <img src='"+imgLink+"'></a>";
	var linkContent = "<a href=\"Javascript:onClickMoreLess('"+targetElement+"','"+minSize+"','"+type+"','"+more+"','"+title+"');\">"+linkLabel+" <img src='"+imgLink+"'></a>";
//changed by b05535 for metrics calculation(cct43571) end : 23 Apr 2007
	var divBox = document.getElementById(element);
	divBox.innerHTML = linkContent;
}


function pageLoad() {
//	resizeBox('box_1',9,1,0); //box id, em or lines, type (ems=0,lines=1,bulets=2), default state (more=1)
//	resizeBox('box_2',6,2,0);
	resizeBox('box_5',3,1,0);
}

addEvent(window,'load',pageLoad);
addEvent(window,'unload',EventCache.flush);

function resizeBox(id,minSize,type,more){

//set up static variables
	var baseVal = 3.6;
	var bulletBaseVal = 4;
	var linesCorrection = 0.2;

	
	if(BrowserDetect.OS == "Mac"){
		var lineMultiplier = 1.15;
		var bulletMultiplier = 1.3;
	} else if(BrowserDetect.OS == "Linux") {
		var lineMultiplier = 1.15;
		var bulletMultiplier = 1.3;
	} else {
		var bulletBaseVal = 3.7;
		var lineMultiplier = 1.25;
		var bulletMultiplier = 1.4;
	}

if(more == 1){
	var newMore = 0;
	var newHeight = "auto";
} else {
	var newMore = 1;
	if(type > 0){ //lines or bullets
		if(type == 1){
			var baseVal = baseVal;
			var lineMultiplier = lineMultiplier;
		} else {
			var baseVal = bulletBaseVal;
			var lineMultiplier = bulletMultiplier;
		}
		var actualSize = (minSize-linesCorrection)
		var newHeight = baseVal+(lineMultiplier*actualSize);
		newHeight = newHeight+"em";
	} else { //em values
		var newHeight = minSize+"em";
	}
}
	nObj = document.getElementById(id);
	if(nObj!=null)
	{
		nObj.style.height = newHeight;
		targetElement = "button_"+getUniKey(id);
		moreLessButton(targetElement,minSize,type,newMore);
	}
}

// Added by b05535 for metrics consideration for cct43571 start : 23 Apr 2007
function onClickMoreLess(id,minSize,type,more,title)
{
	resizeBox(id,minSize,type,more);
	var nObj = document.getElementById("tabBaseUrl");
	if(nObj!=null)
	{
	if(title == "See More" ){
	 dcsMultiTrack('DCS.dcsuri','/seemore.html','WT.ti',title,'DCS.dcsref',nObj.innerHTML);
	}
	else if(title == "See Less")
	{
	 dcsMultiTrack('DCS.dcsuri','/seeless.html','WT.ti',title,'DCS.dcsref',nObj.innerHTML);
	}
	}
}	
// Added by b05535 for metrics consideration for cct43571 end : 23 Apr 2007