﻿// VARIABLES AND CONSTANTS
var BRW_MSIE = "MSIE";
var BRW_FIREFOX = "FireFox";
var BRW_SAFARI = "Safari", BRW_SAFARI_IPAD = "iPad", BRW_SAFARI_IPHONE = "iPhone";
var BRW_OPERA = "Opera";
var BRW_CHROME = "Chrome";
var destBrowser, destBrowserVer;

// VARIABLES FOR MENUS
var MNU_HOME = "HME";
var MNU_PRODUCTS = "PRD";
var MNU_SERVICES = "SVC";
var MNU_CLIENTS = "CLI";
var MNU_PROJECTS = "PRJ";
var MNU_NEWS = "IFO";
var MNU_INTRODUCTION = "ITR";
var MNU_CONTACT = "CON";
var XMLHorzMenu, XMLVertMenu;

// VARIABLES FOR BANNERS
var bannerIdArr = new Array();

// OTHER VARIABLES
var isMapRequested;

//
//

function Init()
{
	currBrowser();
	for(i = 0; i < bannerIdArr.length; i++)
	{
		playBanner(bannerIdArr[i]);
	}
	
	if(window.XMLHttpRequest)
		xmlhttp = new XMLHttpRequest();
	else
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	
	xmlhttp.open("GET", "LoadMenu.asp?prm=h", false);
	xmlhttp.send();
	if(xmlhttp.responseXML == null) XMLHorzMenu = ""; else XMLHorzMenu = xmlhttp.responseXML;
	
	if(isMapRequested)
	{
		drawMapBox("mapHN", 105.847544, 21.022546);
		drawMapBox("mapSG", 106.691741, 10.796857);
		drawMapBox("mapDN", 108.222675, 16.080223);
	}
}

function InitCnt()
{
	Init();
	createFadingLinesMarquee("mrqShortListNewest");
	createFadingLinesMarquee("mrqShortListMostViewed");
}

function setGradientMenu(srcObj, srcLang)
{
	if(destBrowser == BRW_MSIE)
	{
		srcObj.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.Gradient(gradientType=1, startColorStr=#004080, endColorStr=lightgrey)";
		srcObj.runtimeStyle.color = "white";
	}
	drawSubmenuStrip(srcObj.id, srcLang);
}

function releaseGradientMenu(srcObj)
{
	if(destBrowser == BRW_MSIE)
	{
		srcObj.runtimeStyle.filter = "none";
		srcObj.runtimeStyle.backgroundColor = "#E7E7E7";
		srcObj.runtimeStyle.color = "#000060";
	}
}

function setGradientMenuVert(srcObj)
{
	if(destBrowser == BRW_MSIE)
	{
		srcObj.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.Gradient(gradientType=1, startColorStr=#004080, endColorStr=lightgrey)";
		srcObj.runtimeStyle.color = "white";
	}
}

function releaseGradientMenuVert(srcObj)
{
	if(destBrowser == BRW_MSIE)
	{
		srcObj.runtimeStyle.filter = "none";
		srcObj.runtimeStyle.backgroundColor = "#E7E7E7";
		srcObj.runtimeStyle.color = "#000060";
	}
}

function redirectIt(srcObj)
{
	alert(srcObj.id);
}

function createFadingLinesMarquee(srcMarqueeId)
{
	var mrqPosX, mrqPosY;
	
	if(!document.getElementById(srcMarqueeId)) return false;
	// Create fading lines on top of the marquee
	mrqPosX = findPosX(document.getElementById(srcMarqueeId));
	mrqPosY = findPosY(document.getElementById(srcMarqueeId));
	
	// MSIE does not return right ElementsByName so:
	if(destBrowser == BRW_MSIE)
		var colDiv = getElementsByName_iefix("DIV", "divOpac" + srcMarqueeId);
	else
		var colDiv = document.getElementsByName("divOpac" + srcMarqueeId);
	
	if(colDiv.length > 0)
	{
		for(i=0; i < colDiv.length; i++)
		{
			colDiv[i].style.left = mrqPosX;
		}
		return false;
	}
	else
	{
		for(i=1; i <= 10; i++)
		{
			var objDiv = document.createElement("DIV");
			objDiv.setAttribute("name", "divOpac" + srcMarqueeId);
			objDiv.style.position = "absolute";
			objDiv.style.left = mrqPosX; objDiv.style.top = mrqPosY + (i - 1) * 2;
			objDiv.style.width = document.getElementById(srcMarqueeId).offsetWidth; objDiv.style.height = "2px";
			objDiv.style.overflow = "hidden";
			objDiv.style.backgroundColor = "white";
			objDiv.style.opacity = 1 - ((i - 1) * 0.1); objDiv.style.filter = "alpha(opacity=" +  (100 - ((i - 1) * 10)) + ")";
			document.body.appendChild(objDiv);
		}
		
		// Create fading lines on bottom of the marquee
		mrqPosX = findPosX(document.getElementById(srcMarqueeId));
		mrqPosY = findPosY(document.getElementById(srcMarqueeId)) + document.getElementById(srcMarqueeId).offsetHeight;
		for(i=1; i <= 10; i++)
		{
			var objDiv = document.createElement("DIV");
			objDiv.setAttribute("name", "divOpac" + srcMarqueeId);
			objDiv.style.position = "absolute";
			objDiv.style.left = mrqPosX; objDiv.style.top = mrqPosY - (i - 1) * 2;
			objDiv.style.width = document.getElementById(srcMarqueeId).offsetWidth; objDiv.style.height = "2px";
			objDiv.style.overflow = "hidden";
			objDiv.style.backgroundColor = "white";
			objDiv.style.opacity = 1 - ((i - 1) * 0.1); objDiv.style.filter = "alpha(opacity=" +  (100 - ((i - 1) * 10)) + ")";
			document.body.appendChild(objDiv);
		}
		
		return false;
	}
}

function findPosX(srcObj)
{
	var curleft = 0;
	var obj = srcObj;
	
	if(obj.offsetParent)
	{
		while(1) 
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	}
	else if(obj.x)
	{
		curleft += obj.x;
	}
		
	return curleft;
}

function findPosXagainst(srcObj, destObjId)
{
	var curleft = 0;
	var obj = srcObj;
	
	if(obj.offsetParent)
	{
		while(1) 
		{
			curleft += obj.offsetLeft;
			
			if(!obj.offsetParent) break;
			if(obj.id == destObjId) break;
			
			obj = obj.offsetParent;
		}
	}
	else if(obj.x)
	{
		curleft += obj.x;
	}
		
	return curleft;
}

function findPosY(srcObj)
{
	var curtop = 0;
	var obj = srcObj;
	
	if(obj.offsetParent)
	{
		while(1)
		{
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	}
	else if(obj.y)
	{
		curtop += obj.y;
	}
	
	return curtop;
}

function currBrowser()
{
	var tmpAgentStr, startPos;

	tmpAgentStr = navigator.userAgent;
	
	if (tmpAgentStr.toUpperCase().indexOf(BRW_FIREFOX.toUpperCase()) > -1)
	{
		destBrowser = BRW_FIREFOX;
		destBrowserVer = tmpAgentStr.substr(tmpAgentStr.toUpperCase().indexOf(BRW_FIREFOX.toUpperCase()) + BRW_FIREFOX.length + 1);
	}
	else if (tmpAgentStr.toUpperCase().indexOf(BRW_MSIE.toUpperCase()) > -1)
	{
		destBrowser = BRW_MSIE;
		destBrowserVer = parseFloat(tmpAgentStr.substr(tmpAgentStr.toUpperCase().indexOf(BRW_MSIE.toUpperCase()) + BRW_MSIE.length + 1, 4)).toFixed(1);
	}
	else if (tmpAgentStr.toUpperCase().indexOf(BRW_CHROME.toUpperCase()) > -1)
	{
		destBrowser = BRW_CHROME;
		startPos = tmpAgentStr.toUpperCase().indexOf(BRW_CHROME.toUpperCase());
		destBrowserVer = tmpAgentStr.substr(startPos + BRW_CHROME.length + 1, tmpAgentStr.indexOf(" ", startPos) - (startPos + BRW_CHROME.length + 1));
	}
	else if (tmpAgentStr.toUpperCase().indexOf(BRW_SAFARI.toUpperCase()) > -1)
	{
		if(tmpAgentStr.toUpperCase().indexOf(BRW_SAFARI_IPAD) > -1)
			destBrowser = BRW_SAFARI_IPAD;
		else if (tmpAgentStr.toUpperCase().indexOf(BRW_SAFARI_IPHONE) > -1)
			destBrowser = BRW_SAFARI_IPHONE;
		else
			destBrowser = BRW_SAFARI;
		
		startPos = tmpAgentStr.toUpperCase().indexOf("VERSION");
		destBrowserVer = tmpAgentStr.substr(startPos + 8, tmpAgentStr.indexOf(" ", startPos) - (startPos + 8));
	}
	else if (tmpAgentStr.toUpperCase().indexOf(BRW_OPERA.toUpperCase()) > -1)
	{
		destBrowser = BRW_OPERA;
		destBrowserVer = tmpAgentStr.substr(tmpAgentStr.toUpperCase().indexOf("VERSION") + 8);
	}
	else
	{
		destBrowser = "Unknown";
		destBrowserVer = "1.0";
	}
	
	return true;
}

function getElementsByName_iefix(tag, srcName)
{
	var elem = document.getElementsByTagName(tag);
	var arr = new Array();
	var iarr = 0;
	
	for(i = 0; i < elem.length; i++)
	{
		att = elem[i].getAttribute("name");
		if(att == srcName)
		{
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr;
}

function drawSubmenuStrip(srcId, srcLang)
{
	var objSubmenus, objMenu;
	var spanLeft = 0;
	var tmpStr = "";
	var tmpLang = false;
	
	objSubmenus = document.getElementById("Submenus");
	objMenu = document.getElementById(srcId);
	
	if(srcLang.toUpperCase() == "EN") tmpLang = true;
	
	if(!XMLHorzMenu) return false;
	
	for(i = 0; i < XMLHorzMenu.getElementsByTagName("Menu").length; i++)
	{
		if(XMLHorzMenu.getElementsByTagName("Menu")[i].getAttribute("id") == srcId)
		{
			var tmpSubmenu = XMLHorzMenu.getElementsByTagName("Menu")[i];
			var colSubmenu = tmpSubmenu.getElementsByTagName("SubMenu");
			
			
			for(j = 0; j < colSubmenu.length; j++)
			{
				if(j == 0)
				{
					if(destBrowser != BRW_MSIE)
						tmpStr = IIF(tmpLang, tmpSubmenu.getElementsByTagName("ShortNameEng")[0].textContent, tmpSubmenu.getElementsByTagName("ShortName")[0].textContent);
					else
						tmpStr = IIF(tmpLang, tmpSubmenu.getElementsByTagName("ShortNameEng")[0].text, tmpSubmenu.getElementsByTagName("ShortName")[0].text);
					
					tmpStr = "<font color='red'>" + tmpStr.toUpperCase() + ": ";
				}
				else
				{
					tmpStr = tmpStr + "<font color='red'>&diams;</font> ";
				}
				
				tmpStr = tmpStr + "<a href='cnt.asp?prm=" + colSubmenu[j].getAttribute("id") + "'>";
				if(destBrowser != BRW_MSIE)
					tmpStr = tmpStr + IIF(tmpLang, colSubmenu[j].getElementsByTagName("ShortNameEng")[0].textContent, colSubmenu[j].getElementsByTagName("ShortName")[0].textContent);
				else
					tmpStr = tmpStr + IIF(tmpLang, colSubmenu[j].getElementsByTagName("ShortNameEng")[0].text, colSubmenu[j].getElementsByTagName("ShortName")[0].text);
				
				tmpStr = tmpStr + "</a>&nbsp;";
			}
			break;
		}
	}
	
	if(tmpStr == "") tmpStr = "&nbsp;";
	objSubmenus.innerHTML = "<b>" + tmpStr + "</b>";
	
	spanLeft = findPosXagainst(objMenu, "tblMenu") + parseInt((objMenu.offsetWidth - objSubmenus.offsetWidth) / 2);
	if(spanLeft < 10)
		spanLeft = 10;
	else if(spanLeft + objSubmenus.offsetWidth > objSubmenus.offsetParent.offsetWidth)
		spanLeft = objSubmenus.offsetParent.offsetWidth - objSubmenus.offsetWidth;
	
	objSubmenus.style.position = "relative";
	objSubmenus.style.left = spanLeft;
}

function focusSearchBox(srcInp)
{
	if(srcInp.value == "Search" || srcInp.value == "Tìm")
	{
		srcInp.value = "";
		srcInp.style.color = "black";
	}
}

function blurSearchBox(srcInp, srcNewVal)
{
	if(srcInp.value == "")
	{
		srcInp.value = srcNewVal;
		srcInp.style.color = "gray";
	}
}

function IIF(srcExpression, srcTruePart, srcFalsePart)
{
	if(srcExpression)
		return srcTruePart;
	else
		return srcFalsePart;
}

function playBanner(srcBannerId)
{
	var tmpObj = document.getElementById(srcBannerId);
	var colImg = tmpObj.getElementsByTagName("IMG");
	
	for(i = 0; i < colImg.length; i++)
	{
		colImg[i].style.display = "none";
		if(i == 0) colImg[i].style.display = "";
	}
	
	window.setInterval(function(){arrangeSlides(srcBannerId, colImg.length);}, 6000);
}

function arrangeSlides(srcBannerId, NoSlides)
{
	var oldIdx, currIdx;
	
	var tmpObj = document.getElementById(srcBannerId);
	var colImg = tmpObj.getElementsByTagName("IMG");
	
	oldIdx = document.getElementById(srcBannerId).getAttribute("currSlide");
	if(oldIdx == null) oldIdx = 0;
	currIdx = parseInt(oldIdx) + 1;
	
	if(currIdx > NoSlides - 1) currIdx = 0;
	
	colImg[currIdx].style.left = tmpObj.offsetWidth;
	colImg[currIdx].style.zIndex = 99; colImg[currIdx].style.display = ""; if(destBrowser == BRW_MSIE) colImg[currIdx].style.filter = "alpha(opacity=100)"; else colImg[currIdx].style.opacity = 1;
	colImg[oldIdx].style.zIndex = 98; colImg[oldIdx].style.display = ""; if(destBrowser == BRW_MSIE) colImg[oldIdx].style.filter = "alpha(opacity=100)"; else colImg[oldIdx].style.opacity = 1;
	
	var tmpIntervalId = window.setInterval(function(){moveIt(srcBannerId, oldIdx, currIdx);}, 25);
	document.getElementById(srcBannerId).setAttribute("intervalId", tmpIntervalId);
	
	document.getElementById(srcBannerId).setAttribute("currSlide", currIdx);
}

function moveIt(srcBannerId, srcBackIdx, srcFrontIdx)
{
	var tmpObj = document.getElementById(srcBannerId);
	var colImg = tmpObj.getElementsByTagName("IMG");
	
	if(colImg[srcFrontIdx].offsetLeft - parseInt(tmpObj.offsetWidth / 25) <= 0)
	{
		colImg[srcFrontIdx].style.left = 0 + "px";
		window.clearInterval(document.getElementById(srcBannerId).getAttribute("intervalId"));
		if(destBrowser == BRW_MSIE)
		{
			colImg[srcBackIdx].filters.alpha.opacity = 100;
			colImg[srcFrontIdx].filters.alpha.opacity = 100;
		}
		else
		{
			colImg[srcBackIdx].style.opacity = 1;
			colImg[srcFrontIdx].style.opacity = 1;
		}
		return false;
	}
	
	colImg[srcFrontIdx].style.left = (colImg[srcFrontIdx].offsetLeft - parseInt(tmpObj.offsetWidth / 25)) + "px";
	if(destBrowser == BRW_MSIE)
	{
		colImg[srcBackIdx].filters.alpha.opacity = Math.abs(colImg[srcBackIdx].filters.alpha.opacity - Math.round(100 / 25));
	}
	else
	{
		colImg[srcBackIdx].style.opacity = Math.abs(colImg[srcBackIdx].style.opacity - (1 / 25));
	}
}

function drawMapBox(srcId, srcLong, srcLat)
{
	var map = new GMap(document.getElementById(srcId));
	map.centerAndZoom(new GPoint(srcLong, srcLat), 1);
	map.setMapType(G_NORMAL_MAP);
	
	// Create a marker!
	var TechIcon = new GIcon();
	TechIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";
	TechIcon.shadow = "http://chart.apis.google.com/chart?chst=d_map_pin_shadow";
	TechIcon.iconSize = new GSize(28, 28);
	TechIcon.shadowSize = new GSize(42, 28);
	TechIcon.iconAnchor = new GPoint(14, 28);
	TechIcon.infoWindowAnchor = new GPoint(14, 0);
	
	// Set up our GMarkerOptions object
	markerOptions = { icon:TechIcon };
	
	var point = new GPoint(srcLong, srcLat);
	map.addOverlay(new GMarker(point, markerOptions));
	
	map.setUIToDefault();
}

function drawVNMapBox(srcId, srcLong, srcLat)
{
	var map = new GMap(document.getElementById(srcId));
	map.centerAndZoom(new GPoint(srcLong, srcLat), 11);
	map.setMapType(G_NORMAL_MAP);
	
	// Create a marker!
	var TechIcon = new GIcon();
	TechIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";
	TechIcon.shadow = "http://chart.apis.google.com/chart?chst=d_map_pin_shadow";
	TechIcon.iconSize = new GSize(28, 28);
	TechIcon.shadowSize = new GSize(42, 28);
	TechIcon.iconAnchor = new GPoint(12, 28);
	TechIcon.infoWindowAnchor = new GPoint(12, 0);
	
	// Set up our GMarkerOptions object
	markerOptions = { icon:TechIcon };
	
	var point = new GPoint(srcLong, srcLat);
	var GM = new GMarker(point, markerOptions);
	map.addOverlay(GM);
	GM.openInfoWindowHtml("Trụ sở TECHNIMEX JSC:<br>70 Trần Hưng Đạo, q. Hoàn Kiếm, Hà Nội");
	
	var point1 = new GPoint(106.691741, 10.796817);
	var GM1 = new GMarker(point1, markerOptions);
	map.addOverlay(GM1);
	
	var point1 = new GPoint(105.847553, 21.022658);
	var GM1 = new GMarker(point1, markerOptions);
	map.addOverlay(GM1);

	map.setUIToDefault();
}
