if (typeof vtc != "object")
	vtc = new Object();

vtc.pntWin = null;

vtc.viewItem = function(strPath) {
	if (vtc.pntWin != null) { vtc.pntWin.close(); vtc.pntWin = null; }
	//vtc.pntWin = window.open(strPath,'pntwin','width=520,height=420,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,fullscreen=no');
	vtc.pntWin = window.open(strPath,'pntwin','width=515,height=420,toolbar=0,resizable=0,scrollbars=1');
}

vtc.win = (navigator.userAgent.toLowerCase().indexOf("win") > -1);
vtc.mac = (navigator.userAgent.toLowerCase().indexOf("mac") > -1);
vtc.ie = (navigator.userAgent.indexOf("MSIE") > -1);
vtc.w3c = (document.getElementById && !vtc.ie);
if (vtc.ie) vtc.version = parseFloat(navigator.appVersion.match(/MSIE\s(\d+\.\d+)/)[1]);
else if(vtc.w3c) vtc.version = parseFloat(navigator.userAgent.match(/[\d\.]+$/)[0]);

vtc.getObj = function(strLayer) {
	if(typeof(strLayer) == "object") return strLayer;
	var elmLayer = document.getElementById(strLayer);
	if (!elmLayer)
		elmLayer = document.getElementsByName(strLayer)[0];
	return elmLayer;
}

vtc.show = function() {
	for (var i=0; i<vtc.show.arguments.length; i++) {
		if ((elmLayer=vtc.getObj(vtc.show.arguments[i])))
			elmLayer.style.visibility = "visible";
	}
}

vtc.hide = function() {
	for (var i=0; i<vtc.hide.arguments.length; i++) {
		if ((elmLayer=vtc.getObj(vtc.hide.arguments[i])))
			elmLayer.style.visibility = "hidden";
	}
}

vtc.getX = function(strLayer,blnGlobal) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	var currentX = elmLayer.offsetLeft;
	if (blnGlobal) {
		while (elmLayer.offsetParent) {
			elmLayer = elmLayer.offsetParent;
			currentX += elmLayer.offsetLeft;
		}
	}
	return currentX;
}

vtc.getY = function(strLayer,blnGlobal) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	var currentY = elmLayer.offsetTop;
	if (blnGlobal) {
		while (elmLayer.offsetParent) {
			elmLayer = elmLayer.offsetParent;
			currentY += elmLayer.offsetTop;
		}
	}
	return currentY;
}

vtc.getW = function(strLayer) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	if (window.getComputedStyle) {
		var style=getComputedStyle(elmLayer, null);
		return parseInt(style.getPropertyValue('width'));
	}
	else if (elmLayer.style.pixelWidth)
		return elmLayer.style.pixelWidth;
	else if(elmLayer.offsetWidth)
		return elmLayer.offsetWidth;
}

vtc.getH = function(strLayer) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	if (window.getComputedStyle) {
		var style=getComputedStyle(elmLayer, null);
		return parseInt(style.getPropertyValue('height'));
	}
	else if (elmLayer.style.pixelHeight)
		return elmLayer.style.pixelHeight;
	else if(elmLayer.offsetHeight)
		return elmLayer.offsetHeight;
}

vtc.getScrollW = function(strLayer) {
	if (!(elmLayer=vtc.getObj(strLayer))) return false;
	if (vtc.ie)
		return (vtc.mac) ? elmLayer.offsetWidth : elmLayer.scrollWidth;
	else if(vtc.w3c)
		return elmLayer.offsetWidth;
}

vtc.moveTo = function(strLayer, x, y) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	if (x || x==0) elmLayer.style.left = x + "px";
	if (y || y==0) elmLayer.style.top = y + "px";
}

vtc.moveBy = function(strLayer, x, y) {
	vtc.moveTo(strLayer, vtc.getX(strLayer) + x, vtc.getY(strLayer) + y);
}

vtc.clip = function(strLayer,t,r,b,l) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	elmLayer.style.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)";
}

vtc.clipBy = function(strLayer,dt,dr,db,dl){
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	var c=elmLayer.style.clip.substr(5);
	c=c.substr(0,c.length-3).split("p");
	c[1] = c[1].substr(2);
	c[2] = c[2].substr(2);
	c[3] = c[3].substr(2);
	var t=dt+(c[0]*1);
	var r=dr+(c[1]*1)+dl;
	var b=db+(c[2]*1)+dt;
	var l=dl+(c[3]*1);
	elmLayer.style.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";
}
vtc.overlap = function(obj1,obj2) {
	var objFirst = { x: vtc.getX(obj1,true), y: vtc.getY(obj1,true), width: obj1.offsetWidth, height: obj1.offsetHeight }
	var objSecond = { x: vtc.getX(obj2,true), y: vtc.getY(obj2,true), width: obj2.offsetWidth, height: obj2.offsetHeight }
	var xOverlap = true;
	var yOverlap = true;
	
	if (objFirst.x < objSecond.x) {
		xOverlap = (objFirst.x + objFirst.width > objSecond.x) ? true: false;
	} else {
		xOverlap = (objSecond.x + objSecond.width > objFirst.x) ? true: false;
	}
	if (objFirst.y < objSecond.y) {
		yOverlap = (objFirst.y + objFirst.height > objSecond.y) ? true: false;
	} else {
		yOverlap = (objSecond.y + objSecond.height > objFirst.y) ? true: false;
	}
	return (xOverlap && yOverlap) ? true: false;
}

vtc.preload = function(strName, strSrc, blnDoNotPreload) {
	if(blnDoNotPreload) eval(strName + " = new Object();");
	else eval(strName + " = new Image();");
	eval(strName+".src = '"+strSrc+"';");
}


vtc.swapImage = function(strTarget, strNewPic, urlNewPic){
	var objImage=vtc.getObj(strTarget);
	if(objImage){
		if(strNewPic && eval("typeof(" + strNewPic +  ")") == "object")
			objImage.src=eval(strNewPic+".src");
		else if (urlNewPic)
			objImage.src = urlNewPic;
	}
}

vtc.setOpacity = function(strLayer, intValue) {
	var objLayer=vtc.getObj(strLayer)
	if(objLayer) {
		objLayer.style.filter = "alpha(opacity=" + intValue + ")";
	}
}

vtc.getDocumentWidth = function(blnContent) {
	var w
	if (window.innerWidth) // Mozilla
		w = (blnContent) ? document.documentElement.offsetWidth : window.innerWidth
	else // IE
		w = (blnContent) ? document.body.scrollWidth : document.body.clientWidth
	return w
}

vtc.getDocumentHeight = function(blnContent) {
	var w
	if (window.innerHeight) // Mozilla
		w = (blnContent) ? document.documentElement.offsetHeight : window.innerHeight
	else // IE
		w = (blnContent) ? document.body.scrollHeight : document.body.clientHeight
	return w
}


vtc.addEvent = function(strLayer, strEvent, strFunction) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	if (elmLayer.addEventListener) {
		elmLayer.addEventListener(strEvent, eval(strFunction), false);
	} else if (elmLayer.attachEvent) {
		elmLayer.attachEvent("on" + strEvent, eval(strFunction));
	} else { // For browsers that don't have any of the addEventListener or attachEvent methods, we create a attachEvent method (NN4.x and IE 5.x on Mac)
		if (!eval("elmLayer.addedEventFunctions_" + strEvent))
			eval("elmLayer.addedEventFunctions_" + strEvent + " = ''");
		eval("elmLayer.addedEventFunctions_" + strEvent + " += '" + strFunction + "(); '");
		eval("elmLayer.on" + strEvent + " = new Function('" + eval("elmLayer.addedEventFunctions_" + strEvent) + "')");
	}
}

// The attachEvent method does not exist on IE 5.x on Mac (or NN 4.x...), so we have to create it
vtc.createAttachEventMethod = function(strLayer, strEvent, strFunction) {
	if (!(elmLayer=vtc.getObj(strLayer)))
		return false;
	if (!eval("elmLayer.addedEventFunctions_" + strEvent))
		eval("elmLayer.addedEventFunctions_" + strEvent + " = ''");
	eval("elmLayer.addedEventFunctions_" + strEvent + " += '" + strFunction + "(); '");
	eval("elmLayer.on" + strEvent + " = new Function('" + eval("elmLayer.addedEventFunctions_" + strEvent) + "')");
}

vtc.getElementsByClassName = function (strClassName, strTagName, elmLayer) {
	strTagName = strTagName || "*";
	elmLayer = elmLayer || document;
	var arAllElements = elmLayer.getElementsByTagName(strTagName);
	var arElements = [];
	for (var i=0; i<arAllElements.length; i++) {
		if (arAllElements[i].className == strClassName)
			arElements[arElements.length] = arAllElements[i];
	}
	return arElements.slice(0);
}

vtc.openWindow = function(strURL,strName,strOptions) {
	if (!strOptions) strOptions = "location=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes,";
	open(strURL,strName,strOptions);
}