/* ------------------------------------------------------------------------------------
	WEB++ - The System for Web Content Management, Online Community & E-Commerce
	
	Copyright(c) 2003-2004 by Hanoi Software JSC. All Rights Reserved.

	System Services - Java Script Library for Client

	Created: Jul-20, 2003 by Quynh Nguyen
------------------------------------------------------------------------------------ */

// Do nothing
function doNothing(){window.status='';}

// Open popup window
function doOpenLinkToPopupWindow(){
	var url = arguments[0]||'/';
	var width = arguments[1]||400;
	var height = arguments[2]||400;
	var resizable = arguments[3]||'yes';
	var scrollbars = arguments[3]||'yes';
	var left = ((document.body.clientWidth - width) / 2) + window.screenLeft;
	var top = (((document.body.clientHeight - height) / 2)) + window.screenTop;
	window.open(url, '', 'width='+width+',height='+height+',left='+left+',top='+top+',resizable='+resizable+',scrollbars='+scrollbars);
}

// Open banner
function doOpenWebPlusBanner(id,isGroup){
	if(isGroup==1)
	{
		eval("var current=crt" + id);
		eval("var itemID=bnrID" + id + current);
	}
	else
		var itemID=id;
	frmWebPlusHiddenForm.txtID.value = itemID;
	frmWebPlusHiddenForm.txtLocation.value = location.href;
	frmWebPlusHiddenForm.action = '../banner.asp?subobject=item&action=open';
	frmWebPlusHiddenForm.submit();
}

// Change banner (for web banner or special banner)
function doChangeWebPlusBanner(id,max){
	eval("var current=crt" + id);
	if(current<max)
	{
		eval("crt" + id + "++");
		current++;
	}
	else
	{
		eval("crt" + id + "=0");
		current=0;
	}	
	eval("var nextImg = bnr" + id + current);
	document.images['imgWebPlus'+id].src = nextImg.src;
}

// Open web link
function doOpenWebPlusLink(url){
	frmWebPlusHiddenForm.txtLocation.value = location.href;
	frmWebPlusHiddenForm.action = url;
	frmWebPlusHiddenForm.submit();
}

// Information for updating hits counter
function doGetWebPlusCounterInfo(){
	// Browser
	var browser = '';
	if(navigator.appName=='Netscape')
		browser = 'NS';
	if(navigator.appName=='Microsoft Internet Explorer')
		browser = 'MSIE';
	if(navigator.appVersion.indexOf('MSIE 3')>0)
		browser = 'MSIE';
	// Screen resolution
	var screenWidth = screen.width;
	var screenHeight = screen.height; 
	// Color depth
	var colorDepth = 256;
	if (navigator.appName != 'Netscape')
		colorDepth = screen.colorDepth;
	else 
		colorDepth = screen.pixelDepth;
	// Referer
	var referer = '' + escape(document.referrer);
	// Counter URL
	return '&w=' + screenWidth + '&h=' + screenHeight + '&c=' + colorDepth + '&b=' + browser + '&r=' + referer
}

// Return the string determines full date of client (International)
function getFullDate(){
	var now = new Date();
	var month = "";
	var day = "";
	var first_date_num="";

  if (now.getDate() < 10)
		first_date_num="0";
	else
		first_date_num="";
			
	switch (now.getDay()){
		case 0: day="Sunday";break;
		case 1: day="Monday";break;
		case 2: day="Tuesday";break;
		case 3: day="Wednesday";break;
		case 4: day="Thursday";break;
		case 5: day="Friday";break;
		case 6: day="Saturday";break;
	}
	
	switch (now.getMonth()){
		case  0: month="January";break;
		case  1: month="February";break;
		case  2: month="March";break;
		case  3: month="April";break;
		case  4: month="May";break;
		case  5: month="June";break;
		case  6: month="July";break;
		case  7: month="August";break;
		case  8: month="September";break;
		case  9: month="October";break;
		case 10: month="November";break;
		case 11: month="December";break;
	}
	
	return day + ", " + month + " " + first_date_num + now.getDate() + ", " + now.getFullYear();
}

// Return the string determines full date of client (Vietnamese)
function getFullDateInVietnamese(){
	var now = new Date();
	var month = "";
	var day = "";
	var first_date_num="";

  if (now.getDate() < 10)
  	first_date_num="0";
	else
		first_date_num="";
			
	switch (now.getDay()){
		case 0: day="Ch&#7911; nh&#7853;t";break;
		case 1: day="Th&#7913; hai";break;
		case 2: day="Th&#7913; ba";break;
		case 3: day="Th&#7913; t&#432;";break;
		case 4: day="Th&#7913; n&#259;m";break;
		case 5: day="Th&#7913; s&#225;u";break;
		case 6: day="Th&#7913; b&#7843;y";break;
	}
	
	return day + " ng&#224;y " + first_date_num + now.getDate() + " th&#225;ng " + (now.getMonth()+1) + " n&#259;m " + now.getFullYear();
}

// Return the string determines full date & time of client (GMT)
function getFullDateTimeInGMT(){
	var now = new Date();
	var month = "";
	var day = "";
	var date = now.getDate();

	if ((date==1)||(date==21)||(date==31)) {date = date + "st"};
	if ((date==2)||(date==22)) {date = date + "nd"};
	if ((date==3)||(date==23)) {date = date + "rd"};
			
	switch (now.getDay()){
		case 0: day="Sunday";break;
		case 1: day="Monday";break;
		case 2: day="Tuesday";break;
		case 3: day="Wednesday";break;
		case 4: day="Thursday";break;
		case 5: day="Friday";break;
		case 6: day="Saturday";break;
	}
	
	switch (now.getMonth()){
		case  0: month="January";break;
		case  1: month="February";break;
		case  2: month="March";break;
		case  3: month="April";break;
		case  4: month="May";break;
		case  5: month="June";break;
		case  6: month="July";break;
		case  7: month="August";break;
		case  8: month="September";break;
		case  9: month="October";break;
		case 10: month="November";break;
		case 11: month="December";break;
	}

	var time = new String(now.getUTCHours());
	if (time.length < 2){ time = "0"+ time};
		
	var minute = new String(now.getMinutes());
	if (minute.length < 2) {minute = "0"+ minute};
	
	time = time  + ":" + minute + " (GMT)"; 
	
	return day + ", " + date + " " + month + " " + now.getFullYear() + " " + time;
}

// Show scroll banner at the left/right of a webpage
function doShowScrollBanner(divId, type)
{
	// width of the scroll baner (pixels)
	var bannerWidth = arguments[2]||130;

	// computing the starting positions
	var startX, startY = 0;
	
	// hide banner if screen width is less than 980 pixels	
	if(document.body.clientWidth < 980)
		startX = -115;
	else
	{
		if (type==0)		// scroll left
			startX = 5;
		else						// scroll right
			startX = document.body.clientWidth - bannerWidth;
	}

	// define the method for displaying/scrolling the banner
	window.stayFloat = function(ftlObj, type, bannerWidth)
	{
		var ns = (navigator.appName.indexOf("Netscape") != -1);
		
		var startX, startY;
		if(type==0)		// scroll left
			startX = 1;
		else
			startX = document.body.clientWidth - bannerWidth - 2;
		
		// hide banner if screen width is less than 980 pixels	
		if (document.body.clientWidth < 980)
			ftlObj.style.display = 'none';

		else		// display the banner and re-computing the positions
		{
			// display the banner
			ftlObj.style.display = '';			
			
			// computing offset
			if (document.documentElement && document.documentElement.scrollTop)
				var pY = ns ? pageYOffset : document.documentElement.scrollTop;
				
			else if (document.body)
				var pY = ns ? pageYOffset : document.body.scrollTop;

			// computing top position
			if (document.body.scrollTop > 50)
				startY = 3;
			else 
				startY = 50;

			// re-positions		
			ftlObj.y += (pY + startY - ftlObj.y)/8;
			ftlObj.style.left = startX;
			ftlObj.style.top = ftlObj.y;
		}
		
		// for smoothly
		setTimeout(function(){stayFloat(ftlObj,type,bannerWidth)}, 30);
	}

	// get the scroll banner by Id
	var ftlObj = document.getElementById ? document.getElementById(divId) : document.all ? d.all[divId] : document.layers[divId];
	if(!ftlObj)
		return;
		
	// set positions and scrolling
	ftlObj.x = startX;
	ftlObj.y = startY;
	stayFloat(ftlObj, type, bannerWidth);
}

// Show/Hide a drop-down menu
function doShowDropDownMenu(parent, id){
	_showMenu(parent, id);
}

function doHideDropDownMenu(id){
	_hideMenu(id);
}

function _showMenu(parent, id){
	var nTop = 0, nLeft = 0;
	var objParent = parent;	
	while (objParent.tagName!="BODY")
	{
		nTop = nTop + objParent.offsetTop;
		objParent = objParent.offsetParent;
	}
	objParent = parent;
	while (objParent.tagName!="BODY")
	{
		nLeft = nLeft + objParent.offsetLeft;
		objParent = objParent.offsetParent;
	}
	
	var objMenuLayer = document.getElementById(id);
	var objMenu = objMenuLayer.style;
	objMenu.top = nTop + parent.offsetTop + 18;
	objMenu.left = nLeft + 5;
	objMenu.visibility = "visible";
	objMenu.display = "";
	
}

function _hideMenu(id){
	var objMenuLayer = document.getElementById(id);
	var objMenu = objMenuLayer.style;
	objMenu.visibility = "hidden";
	objMenu.display = "";
}

function _showMe(actionMenu){
	var objMenu = actionMenu.style;
	objMenu.visibility = "visible";
}

function _hideMe(actionMenu){
	var objMenu = actionMenu.style;
	objMenu.visibility = "hidden";
}