/* ------------------------------------------------------------------------------------
	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 action menu for a portlet
function __showLayer(parent, id, position, offsetLeft, offsetTop){

	// check layer existing first
	var obj = document.getElementById(id);
	if(!obj)
		return;
		
	// computing positions
	var nTop = 0, nLeft = 0;
	var objParent = parent;	
	while (objParent.tagName!="BODY")
	{
		nTop = nTop + objParent.offsetTop;
		nLeft = nLeft + objParent.offsetLeft;
		objParent = objParent.offsetParent;
	}
	
	// computing offset for the positions
	var nWidth = 0, nHeight = 0;
	switch(position)
	{
		case "left":
			nWidth = 0 - parent.offsetWidth;
			break;

		case "right":
			nWidth = parent.offsetWidth;
			break;
		break;

		case "top":
			nHeight = 0 - parent.offsetHeight;
		break;

		case "under":
			nHeight = parent.offsetHeight;
			break;

		default:
			break;
	}
	
	// re-position and show the layer
	obj.style.top = nTop + nHeight + offsetTop;
	obj.style.left = nLeft + nWidth + offsetLeft;
	obj.style.display = "";
	obj.style.visibility = "visible";
}

// hide a layer by Id on a webpage
function __hideLayer(id){
	var obj = document.getElementById(id);
	if(!obj)
		return;
	obj.style.visibility = "hidden";
}

// show an inline element in the HTML document (by Id)
function __show(){
	var id = arguments[0]||'';
	if(id=='') return;
	var objElement = document.getElementById(id);
	if(!objElement) return;
	if(!objElement.style) return;
	var left = arguments[1]||-1;
	var top = arguments[2]||-1;
	var offsetLeft = arguments[3]||0;
	var offsetTop = arguments[4]||0;
	objElement.style.display = "";
	objElement.style.visibility = "visible";
	if(left>=0) objElement.style.left = left + offsetLeft;
	if(top>=0) objElement.style.top = top + offsetTop;
}

// hide an inline element in the HTML document (by Id)
function __hide(id){
	var objElement = document.getElementById(id);
	if(!objElement) return;
	if(!objElement.style) return;
	objElement.style.display = "none";
	objElement.style.visibility = "hidden";
}

// show an element itself
function __showMe(obj){
	obj.style.visibility = "visible";
}

// hide an element itself
function __hideMe(obj){
	obj.style.visibility = "hidden";
}
function showHide(shID) {
	if (document.getElementById(shID)) {
		if (document.getElementById(shID+'-show').style.display != 'none') {
			document.getElementById(shID+'-show').style.display = 'none';
			document.getElementById(shID).style.display = 'block';
		}
		else {
			document.getElementById(shID+'-show').style.display = 'inline';
			document.getElementById(shID).style.display = 'none';
		}
	}
}
function FloatTopDiv()
    {
        startLX = ((document.body.clientWidth -MainContentW)/2)-LeftBannerW-LeftAdjust , startLY = TopAdjust+80;
        startRX = ((document.body.clientWidth -MainContentW)/2)+MainContentW+RightAdjust , startRY = TopAdjust+80;
        var d = document;
        function ml(id)
        {
            var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
            el.sP=function(x,y){this.style.left=x + 'px';this.style.top=y + 'px';};
            el.x = startRX;
            el.y = startRY;
            return el;
        }
        function m2(id)
        {
            var e2=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
            e2.sP=function(x,y){this.style.left=x + 'px';this.style.top=y + 'px';};
            e2.x = startLX;
            e2.y = startLY;
            return e2;
        }
        window.stayTopLeft=function()
        {
            if (document.documentElement && document.documentElement.scrollTop)
                var pY =  document.documentElement.scrollTop;
            else if (document.body)
                var pY =  document.body.scrollTop;
            if (document.body.scrollTop > 30){startLY = 3;startRY = 3;} else {startLY = TopAdjust;startRY = TopAdjust;};
            ftlObj.y += (pY+startRY-ftlObj.y)/16;
            ftlObj.sP(ftlObj.x, ftlObj.y);
            ftlObj2.y += (pY+startLY-ftlObj2.y)/16;
            ftlObj2.sP(ftlObj2.x, ftlObj2.y);
            setTimeout("stayTopLeft()", 1);
        }
        ftlObj = ml("divAdRight");
        //stayTopLeft();
        ftlObj2 = m2("divAdLeft");
        stayTopLeft();
    }
    function ShowAdDiv()
    {
        var objAdDivRight = document.getElementById("divAdRight");
        var objAdDivLeft = document.getElementById("divAdLeft");        
        
        if (document.body.clientWidth < 1000)
        {
            objAdDivRight.style.display = "none";
            objAdDivLeft.style.display = "none";
        }
        else
        {
            objAdDivRight.style.display = "block";
            objAdDivLeft.style.display = "block";
            FloatTopDiv();
        }
    } 
