﻿// Common Functions Library ----------------------------------------------------
function stoperror(){ 
	return true ;
} 
window.onerror=stoperror; 
function HTMLcode(v){
	if (v) {
		var set = [ 
				[255,254,252,251,248,247,246,241,240,239,238,235,231,230,229,228,223,222,220,219,216,215,214,209,207,206,203,199,198,197,196,191,190,189,188,187,186,185,184,183,182,181,180,179,178,177,176,175,174,172,171,169,168,167,166,165,164,163,162,161,376,339,353,8482,732,8211,8212,8226,8221,8220,8217,8216,338,352,8240,710,8224,8225,8230,8222,402,8218,8364,8249,8250,170],
				["&yuml;","&thorn;","&uuml;","&ucirc;","&oslash;","&divide;","&ouml;","&ntilde;","&eth;","&iuml;","&icirc;","&euml;","&ccedil;","&aelig;","&aring;","&auml;","&szlig;","&THORN;","&Uuml;","&Ucirc;","&Oslash;","&times;","&Ouml;","&Ntilde;","&Iuml;","&Icirc;","&Euml;","&Ccedil;","&AElig;","&Aring;","&Auml;","&iquest;","&frac34;","&frac12;","&frac14;","&raquo;","&ordm;","&sup1;","&cedil;","&middot;","&para;","&micro;","&acute;","&sup3;","&sup2;","&plusmn;","&deg;","&macr;","&reg;","&not;","&laquo;","&copy;","&uml;","&sect;","&brvbar;","&yen;","&curren;","&pound;","&cent;","&iexcl;","&Yuml;","&oelig;","&scaron;","&trade;","&tilde;","&mdash;","&ndash;","&bull;","&rdquo;","&ldquo;","&rsquo;","&lsquo;","&OElig;","&Scaron;","&permil;","&circ;","&Dagger;","&dagger;","&hellip;","&bdquo;","&fnof;","&sbquo;","&euro;","&lsaquo;","&rsaquo;","&ordf;"]
			];
			for(var j = 0; j < set[0].length; j++){
				v = v.replace(eval("/"+String.fromCharCode(set[0][j])+"/g"),set[1][j]);
			}
		var set = [
		[192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254],
		['Agrave','Aacute','Acirc','Atilde','Auml','Aring','AElig','Ccedil','Egrave','Eacute','Ecirc','Euml','Igrave','Iacute','Icirc','Iuml','ETH','Ntilde','Ograve','Oacute','Ocirc','Otilde','Ouml','times','Oslash','Ugrave','Uacute','Ucirc','Uuml','Yacute','THORN','szlig','agrave','aacute','acirc','atilde','auml','aring','aelig','ccedil','egrave','eacute','ecirc','euml','igrave','iacute','icirc','iuml','eth','ntilde','ograve','oacute','ocirc','otilde','ouml','divide','oslash','ugrave','uacute','ucirc','uuml','yacute','thorn']
		];
		for(var i = 0; i < set[0].length; i++){
			v = v.replace(eval("/"+String.fromCharCode(set[0][i])+"/g"),"&"+set[1][i]+";");
		}
		for(var i=256;i<=297;i++){
			v = v.replace(eval("/"+String.fromCharCode(i)+"/g"),"&#"+i+";");		 	 
		}
		for(var i=7840;i<=7929;i++){
			v = v.replace(eval("/"+String.fromCharCode(i)+"/g"),"&#"+i+";");		 	 
		}
		var set = [34,60,62,360,361,416,417,431,432,297];
		for(var i = 0; i < set.length; i++){
			v = v.replace(eval("/"+String.fromCharCode(set[i])+"/g"),"&#"+set[i]+";");
		}
	}
	return v || "";
}
function toQueryString(fm) {
	if (typeof(fm) != 'object')
		return (false);

	var form_length = fm.elements.length;
	var myform = fm;
	var mytype = '';
	var temp = '';

	for (var i = 0; i < form_length; i++) {
		mytype = myform.elements[i].type
		mytype = mytype.toLowerCase();
		if (mytype == 'text' || mytype == 'hidden' || mytype == 'select-one' ||
		    mytype == 'checkbox' || mytype == 'radio' || mytype == 'select-multiple') {
			var t = myform.elements[i].name;
			var q = '';
			if (t == null || t == '')
				t = myform.elements[i].id
			if (mytype == 'text' || mytype == 'hidden')
				q = t + "=" + escape(myform.elements[i].value);
			else if (mytype == 'checkbox' || mytype == 'radio') {
				if (myform.elements[i].checked)
					q = t + "=" + escape(myform.elements[i].value);
			} else if (mytype == 'select-one' || mytype == 'select-multiple')
				q = t + "=" + escape(myform.elements[i][myform.elements[i].selectedIndex].value);

			temp = temp + ((q!='') ? (q + ((i<form_length-1) ? '&' : '')) : '');
		}
	}
	temp = temp.substring(temp, temp.length - 1)

	return temp;
}

function toURL(fm) {
	var sAxn = fm.action;
	var spr = '', lastChar = sAxn.charAt(sAxn.length-1);
	if (sAxn.indexOf('?') >= 0) {
		if (lastChar == '?' || lastChar == '&')
			spr = '';
		else
			spr = '&';
	} else
		spr = '?';
	return sAxn + spr + toQueryString(fm);
}


function loadSelectData(oSelect, DataItems, sDefault) {
	var i, a = typeof(DataItems)=='string' ? items2Array(DataItems) : DataItems;
	var sOptions = '';
	while (oSelect.options.length>0) oSelect.options.remove(0);
	
	for (i=0; i<a.length; i+=2) {
		var oOption = document.createElement('OPTION');
		oOption.text = a[i];
		oOption.value = a[i+1];
		oSelect.options.add(oOption);
	}
	for (i=0; i<oSelect.options.length; i++) 
		if (oSelect.options[i].value == sDefault) {
			oSelect.options[i].selected = true;
		}
}

function leadZero(n, units) {
	var sN = new String(n);
	var i, sRet = sN;
	for (i=sN.length; i<units; i++) {
		sRet = '0' + sRet;
	}
	return sRet;
}

function displayDate(dDate) {
	var today;
	if (dDate)
		today = new Date(dDate);
	else
		today = new Date(); 
	var dow = new Array('Chủ Nhật','Thứ Hai','Thứ Ba','Thứ Tư','Thứ Năm','Thứ Sáu','Thứ Bảy');
	var months = new Array('01','02','03','04','05','06','07','08','09','10','11','12');
	var year = today.getYear();
	year = (year <= 1888) ? (1900 + year) : year;
	document.write(dow[today.getDay()] + ' ngày ' + today.getDate() + '/' + months[today.getMonth()] + '/' + year + ', ' + leadZero(today.getHours(), 2) + 'h' + leadZero(today.getMinutes(), 2) + ' GMT+7');
}

function displayPageNavigator(pageCount, offsetName, link, iconString) {
	var previousOffset, nextOffset, offsetBegin, offsetEnd, nPage, currentOffset, currentLink;
	var htmlGoFirst = '|&lt;&lt;', htmlGoBack = '&lt;&lt;', htmlGoNext = '&gt;&gt;', htmlGoLast = '&gt;&gt;|', htmlSeparator = '&nbsp;';

	// extracts [current offset] from querystring
	var moffs = location.search.match(new RegExp(offsetName + '=[0-9]*','ig'));
	if (moffs != null)
		currentOffset = moffs[0].split('=')[1];
	else
		currentOffset = 1;
	currentOffset = currentOffset=='' ? 1 : parseInt(currentOffset);

	pageCount = pageCount == '' ? 1 : parseInt(pageCount);
	if(pageCount>1){
		if (currentOffset - 5 > 1) {
			if (currentOffset + 5 <= pageCount)
				offsetBegin = currentOffset - 5;
			else {
				if (pageCount - 10 >= 1)
					offsetBegin = pageCount - 10;
				else
					offsetBegin = 1;
			}
		} else
			offsetBegin = 1;
		
		if (offsetBegin + 10 < pageCount)
			offsetEnd = offsetBegin + 10;
		else
			offsetEnd = pageCount;
		
		if (currentOffset - 1 > 1)
			previousOffset = currentOffset - 1;
		else
			previousOffset = 1;
		
		if (currentOffset + 1 < pageCount)
			nextOffset = currentOffset + 1;
		else
			nextOffset = pageCount;
		
		currentLink = link ? link : location.href;
		currentLink = currentLink.replace(new RegExp(offsetName + '=[0-9]*[\&]*','ig'), '');
		separatorMark = currentLink.match(/(\&|\?)/) == null ? '?' : (currentLink.match(/(\&|\?)$/) != null ? '' : '&') ;
	
		if (iconString) {
			var dcp = iconString.split(',');
			if (dcp.length == 5) {
				htmlGoFirst = dcp[0];
				htmlGoBack = dcp[1];
				htmlGoNext = dcp[2];
				htmlGoLast = dcp[3];
				htmlSeparator = dcp[4];
			}
		}
	
		var html = '';
		
		html += '<span  class="tahoma-page">';
		html += currentOffset > 1 ? '<a href="' + currentLink + separatorMark + offsetName +'=1">' + htmlGoFirst + '</a>' : htmlGoFirst;
		html += htmlSeparator;
		html += previousOffset < currentOffset ? '<a href="' + currentLink + separatorMark + offsetName +'=' + previousOffset + '">' + htmlGoBack + '</a>' : htmlGoBack;
		html += htmlSeparator + '| ';
	
		for (nPage=offsetBegin; nPage<=offsetEnd; nPage++) {
			if (nPage-currentOffset == 0)
				html += '<font color="#FF33CC">' + nPage + '</font> |';
			else
				html += '<a href="' + currentLink + separatorMark + offsetName +'=' + nPage + '">' + nPage + '</a> |';
			html += htmlSeparator;
		}
		html += currentOffset < nextOffset ? '<a href="' + currentLink + separatorMark + offsetName +'=' + nextOffset + '">' + htmlGoNext + '</a>' : htmlGoNext;
		html += htmlSeparator;
		html += currentOffset < pageCount ? '<a href="' + currentLink + separatorMark + offsetName +'=' + pageCount + '">' + htmlGoLast + '</a>' : htmlGoLast;
		html += '</span>';
		document.write(html);
	}
	else{
		document.write('');	
	}
}

function getBaseLocation() {
    var oBaseColl = document.all.tags('BASE');
    return ( (oBaseColl && oBaseColl.length) ? oBaseColl[0].href : '');
}

// Restrict input alphabetic letters only ////////////////
// USAGE: onKeyPress="checkAlphabetic();"
function checkAlphabetic() {
	if ((event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 65+32 && event.keyCode <= 90+32))
		return; 
	else
		event.returnValue = null;
}

// Restrict input numeric letters only /////////////////
// USAGE: onKeyPress="checkNumeric();"
function checkNumeric() {
	if ( (event.keyCode >= 48 && event.keyCode <= 57) || event.keyCode == 46 )	// 0-9 and "."
		return; 
	else
		event.returnValue = null;
}

function hasChars(str, charStr) {
	var i;
	for (i=0; i<charStr.length; i++) {
		if (str.indexOf(charStr.charAt(i)) >= 0)
			return true;
	}
	return false;
}

function isUsername(str) {
	return (str.length >= 4 && str.match(/[^0-9a-z_\.]/) == null);
}

function isPassword(str) {
	return (str.length >= 4 && str.match(/[^0-9a-z_\.]/) == null);
}

function UCC(s) {	// convert Unicode string into &#CODE; format string
	var i, sOut = '';
	for (i=0; i<s.length; i++) {
		var charCode = s.charCodeAt(i);
		var charLtr = s.charAt(i);
		if (charCode > 128)
			sOut += '&#' + charCode + ';';
		else
			sOut += charLtr;
	}
	return sOut;
}

function csv2Array(str, separator) {
	if (!separator) separator = ',';
	return str.split(separator);
}

function items2Array(sItems) {
	var index = 0, aRet = new Array();
	var i, a, sRowSeparator, sColumnSeparator;
	if (sItems.indexOf('[=]') >= 0 && sItems.indexOf('[;]') >= 0) {
		sRowSeparator = '[;]';
		sColumnSeparator = '[=]';
	} else {
		sRowSeparator = ';';
		sColumnSeparator = '=';
	}
	a = sItems.split(sRowSeparator);
	
	for (i=0; i<a.length; i++) 
		if (a[i] != '') {
			var b = a[i].split(sColumnSeparator);
			aRet[index++] = b[0];
			aRet[index++] = b[1];
		}
	return aRet;
}

function searchArray(arr, val) {
	if (arr)
		{
			var i;
			for (i=0; i<arr.length; i++)
				if (arr[i] == val)
					return i;
		}
	return -1;
}

function getName(aArgs, sValue) {
	for (i=0; i<aArgs.length-1; i+=2) {
		if (sValue == aArgs[i+1])
			return aArgs[i];
	}
	return null;
}

function getSelect(sName, args, sSelect, sAttr) {
	var strHTML = '';
	var aArgs;
	if (typeof(args) == 'string')
		aArgs = items2Array(args);
	else
		aArgs = args;
	strHTML += '<select name="' + sName + '" ' + (sAttr==null ? '' : sAttr) + '>';
	for (i=0; i<aArgs.length; i+=2) {
		if (sSelect == aArgs[i+1])
			strHTML += '<option' + (aArgs[i+1]!=null ? ' value="' + aArgs[i+1] + '"' : '') + ' selected>' + aArgs[i] + '</option>\r\n';
		else
			strHTML += '<option' + (aArgs[i+1]!=null ? ' value="' + aArgs[i+1] + '"' : '') + '>' + aArgs[i] + '</option>\r\n';
	}
	strHTML += '</select>';
	return strHTML;
}

function writeSelect(sName, aArgs, sSelect, sAttr) {
	document.write(getSelect(sName, aArgs, sSelect, sAttr));
}

function getSingleChoices(sName, args, selectedValue, sType, sAttr) {
	var html = '';
	var aArgs;
	if (typeof(args) == 'string')
		aArgs = items2Array(args);
	else
		aArgs = args;
	
	if (sType == 'radio') {
		for (i=0; i<aArgs.length; i+=2)
			html += '<input ' + (i==0 ? 'checked' : '') + ' type=radio name="'+ sName +'" ' + (aArgs[i+1]!=null ? ' value="' + aArgs[i+1] + '"' : '') + ' ' + (aArgs[i+1] == selectedValue ? 'checked' : '') + '>' + aArgs[i] + '&nbsp;&nbsp;\r\n';
	} else if (sType == 'select') {
		html = '<select name="' + sName + '" ' + (sAttr==null ? '' : sAttr) + '>';
		for (i=0; i<aArgs.length; i+=2)
			html += '<option value="' + aArgs[i+1] + '" ' + (aArgs[i+1] == selectedValue ? 'selected' : '') + '>' + aArgs[i] + '</option>\r\n';
		html += '</select>';
	}

	return html;
}

function getMultiChoices(sName, args, selectedValues, sType, sAttr) {
	var html = '';
	var aArgs, aSelectedValues;
	if (typeof(args) == 'string')
		aArgs = items2Array(args);
	else
		aArgs = args;
	if (typeof(selectedValues) == 'string')
		aSelectedValues = csv2Array(selectedValues, ';');
	else
		aSelectedValues = selectedValues;
	if (sType == 'checkbox') {
		for (i=0; i<aArgs.length; i+=2)
			html += '<input type=checkbox name="'+ sName +'" ' + (aArgs[i+1]!=null ? ' value="' + aArgs[i+1] + '"' : '') + ' ' + (searchArray(aSelectedValues, aArgs[i+1]) >= 0 ? 'checked' : '') + '>' + aArgs[i] + '&nbsp;&nbsp;\r\n';
	} else 	if (sType == 'checkbox-array') {
		var ca = new Array();
		for (i=0; i<aArgs.length; i+=2)
			ca[ca.length] = '<input type=checkbox name="'+ sName +'" ' + (aArgs[i+1]!=null ? ' value="' + aArgs[i+1] + '"' : '') + ' ' + (searchArray(aSelectedValues, aArgs[i+1]) >= 0 ? 'checked' : '') + '>' + aArgs[i] + '';
		return ca;
	} else if (sType == 'select') {
		html = '<select name="' + sName + '" multiple ' + sAttr + '>';
		for (i=0; i<aArgs.length; i+=2)
			html += '<option value="' + aArgs[i+1] + '" ' + (searchArray(aSelectedValues, aArgs[i+1]) >= 0 ? 'selected' : '') + '>' + aArgs[i] + '</option>\r\n';
		html += '</select>';
	}
	return html;
}

function writeSingleChoices(sName, args, selectedValue, sType, sAttr) {
	document.write(getSingleChoices(sName, args, selectedValue, sType, sAttr));
}

function writeMultiChoices(sName, args, selectedValues, sType, sAttr) {
	document.write(getMultiChoices(sName, args, selectedValues, sType, sAttr));
}

function writeDate(name, dateMDY, specs) {
	var defaultDate;
	var today = new Date();

	var d = today.getDate();
	var m = today.getMonth() + 1;
	var y = today.getYear();

	if (isNaN(new Date(dateMDY))) {
		defaultDate = new Date((today.getMonth()+1) + '/' + today.getDate() + '/' + today.getYear() + ' 00:00');
		if (typeof(dateMDY) == 'string') {
			var a = dateMDY.split('/');
			if (a.length >= 3) {
				m = a[0]; d = a[1]; y = a[2];
			}
		}
	} else {
		defaultDate = new Date(dateMDY);
		var d = defaultDate.getDate();
		var m = defaultDate.getMonth() + 1;
		var y = defaultDate.getYear();
	}

	var hr = defaultDate.getHours();
	var mn = defaultDate.getMinutes();

	var hasEmptyItem	= false;
	var emptyItemText	= '..';
	var emptyItemValue	= '';
	var month		= 'en';
	var yearFrom		= today.getYear() - 10;
	var yearTo		= today.getYear() + 10;
	var dayOrder		= 'dmy';
	var sDisabled		= '';

	if (specs) {
		var aSpecs = specs.split(',');
		for (i=0; i<aSpecs.length; i++) {
			var aPair = aSpecs[i].split('=');
			var sKey = aPair[0].toLowerCase(), sValue = aPair[1];
			switch(sKey) {
				case 'emptyitem':		var a = sValue.split(':'); emptyItemText=a[0]; emptyItemValue=a[1]; hasEmptyItem = true; break;
				case 'month':			month = sValue; break;
				case 'year':			var a = sValue.split('-'); yearFrom = a[0]; yearTo = a[1]; break;
				case 'order':			dayOrder = sValue; break;
				case 'disabled':		sDisabled = (sValue=='1') ? 'disabled' : ''; break;
			}
		}
	}

	var aDays = new Array('1','1','2','2','3','3','4','4','5','5','6','6','7','7','8','8','9','9','10','10','11','11','12','12','13','13','14','14','15','15','16','16','17','17','18','18','19','19','20','20','21','21','22','22','23','23','24','24','25','25','26','26','27','27','28','28','29','29','30','30','31','31');
	var aMonths;
	switch(month) {
		case 'vn':
			aMonths = new Array('Thang Gieng','1','Thang Hai','2','Thang Ba','3','Thang Tu','4','Thang Nam','5','Thang Sau','6','Thang Bay','7','Thang Tam','8','Thang Chin','9','Thang Muoi','10','Thang Muoi Mot','11','Thang Muoi Hai','12'); break;
		case 'sort-vn':
			aMonths = new Array('Thang 1','1','Thang 2','2','Thang 3','3','Thang 4','4','Thang 5','5','Thang 6','6','Thang 7','7','Thang 8','8','Thang 9','9','Thang 10','10','Thang 11','11','Thang 12','12'); break;
		case 'en':
			aMonths = new Array('January','1','February','2','March','3','April','4','May','5','June','6','July','7','August','8','September','9','October','10','November','11','December','12'); break;
		case 'sort-en':
			aMonths = new Array('Jan.','1','Feb.','2','Mar.','3','Apr.','4','May','5','Jun.','6','Jul.','7','Aug.','8','Sep.','9','Oct.','10','Nov.','11','Dec.','12'); break;
		case 'number':
			aMonths = new Array('1','1','2','2','3','3','4','4','5','5','6','6','7','7','8','8','9','9','10','10','11','11','12','12'); break;
	}

	var aYears = new Array();
	var i, j=0;
	for (i=yearFrom; i<=yearTo; i++) { aYears[j++] = i; aYears[j++] = i; }

	if (hasEmptyItem) {
		var emptyItem = new Array(emptyItemText, emptyItemValue);
		aDays = aDays.concat(emptyItem);
		aMonths = aMonths.concat(emptyItem);
		aYears = aYears.concat(emptyItem);
	}

	document.write('<input type="hidden" name="'+ name +'" value="'+m+'/'+d+'/'+y+'">');
	document.write('<input type="hidden" name="'+ name +'_vn" value="'+d+'/'+m+'/'+y+'">');

	function _dispD(){
		writeSelect(name + '_fpt_wdmy_d', aDays, d, 
			'onclick="document.all(\''+ name +'\').value = document.all(\'' + name + '_fpt_wdmy_m\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_d\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_y\').value;"' +
			'onchange="document.all(\''+ name +'_vn\').value = document.all(\'' + name + '_fpt_wdmy_d\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_m\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_y\').value;" ' + sDisabled);
	}
	function _dispM() {
		writeSelect(name + '_fpt_wdmy_m', aMonths, m, 
			'onclick="document.all(\''+ name +'\').value = document.all(\'' + name + '_fpt_wdmy_m\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_d\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_y\').value;"' +
			'onchange="document.all(\''+ name +'_vn\').value = document.all(\'' + name + '_fpt_wdmy_d\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_m\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_y\').value;" ' + sDisabled);
	}
	function _dispY() {
		writeSelect(name + '_fpt_wdmy_y', aYears, y, 
			'onclick="document.all(\''+ name +'\').value = document.all(\'' + name + '_fpt_wdmy_m\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_d\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_y\').value;"' +
			'onchange="document.all(\''+ name +'_vn\').value = document.all(\'' + name + '_fpt_wdmy_d\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_m\').value + \'/\' + document.all(\'' + name + '_fpt_wdmy_y\').value;" ' + sDisabled);
	}
	function _dispBlank() { document.write('&nbsp'); }

	switch(dayOrder) {
		case 'dmy': _dispD(); _dispBlank(); _dispM(); _dispBlank(); _dispY(); break;
		case 'mdy': _dispM(); _dispBlank(); _dispD(); _dispBlank(); _dispY(); break;
		case 'ymd': _dispY(); _dispBlank(); _dispM(); _dispBlank(); _dispD(); break;
	}

}

function writeDayMonthYear(name, d, m, y) {
	writeDate(name, m+'/'+d+'/'+y);
}


// User Interface functions -------------------------------------------

function getTop (o) {
	var nTop=0;
	while (o.tagName != "BODY") {
		nTop += o.offsetTop;
		o = o.offsetParent;
	}
	return nTop;
}

function getLeft (o) {
	var nLeft=0;
	while (o.tagName != "BODY") {
		nLeft += o.offsetLeft;
		o = o.offsetParent;
	}
	return nLeft;
}

var ppimgNW;
function popupImage(src, note, title, css, border,adverURL) {
  if (border==null) border = 0;
  if (note==null) note = '';
  if (ppimgNW != null) ppimgNW.close();

  ppimgNW = window.open('','POPUPIMAGE','width=1,height=1');
  var doc = ppimgNW.document;
  doc.write('<html>');
  doc.write('<head>');
title = (title!=null)?title:'MucTim Online';	
  if (title!=null) doc.write('<title>'+ title +'</title>');
  doc.write('<style> body {'+css+'} #ppImgText{'+ css +'} #ppImg{cursor:hand}</style></head>');
  doc.write('<body leftmargin="0" topmargin="' + border + '">');
  doc.write('<div align="center">');
  if((adverURL!=null)&&(adverURL!='')){
	  doc.write('<img src="' + src + '" id="ppImg" onclick="window.open(\''+adverURL+'\');window.close();" title="Close">');	
  }else{
	  doc.write('<img src="' + src + '" id="ppImg" onclick="window.close();" title="Close">');
  }
  doc.write('</div>');
  doc.write('<div style="height:1; width:' + border + '; font-size:4pt;">');
  doc.write('</div>');
  doc.write('<div id="ppImgText" align="center">');
  doc.write(note);
  doc.write('</div>');
  doc.write('</body>');
  doc.write('</html>');

  doc.write('<' + 'script>');
  doc.write('var resized = false;');
  doc.write('function doResize() {');
  doc.write('  var imgW = ppImg.width, imgH = ppImg.height;');     
  doc.write('  window.resizeTo(imgW + 8 +' + border*2 +', imgH + ppImgText.offsetHeight + 36 + '+ border*2 +');');
  doc.write('  setTimeout("doResize()",1000);');

  doc.write('}');
  doc.write('doResize(); ');
  doc.write('</' + 'script>');

}

function popupFlash(src, sWidth, sHeight,border) {
  if ((src==null)||(src=='')) return ;
  if ((border==null)||(border=='')) border = 0;
  if (ppimgNW != null) ppimgNW.close();
  var w = ((sWidth==null)||(sWidth==''))?200:parseInt(sWidth);
  var h = ((sHeight==null)||(sHeight==''))?200:parseInt(sHeight);
  ppimgNW = window.open('','POPUPFLASH','width='+w+',height='+ h);
  var doc = ppimgNW.document;
  doc.write('<html>');
  doc.write('<head>');
  doc.write('<title>'+ 'MucTim Online' +'</title>');
  doc.write('</head>');
  doc.write('<body leftmargin="0" topmargin="' + border + '">');
  doc.write('<div align="center">');
   var objTag = '<OBJECT id="popFlash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="' + w + '" HEIGHT="' + h + '"'
	   objTag +=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" id="flashOnly" >'
	   objTag +='  <PARAM NAME=movie VALUE="' + src + '"><PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high>'
	   objTag +='  <param name="AllowScriptAccess" value="always"> '
	   objTag +='  <EMBED src="" menu=false quality=high wmode=transparent bgcolor=#FFFFFF NAME="flashOnly" ALIGN="" ' 
	   objTag +='  TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT> ' 
  doc.write(objTag);
  doc.write('</div>');
  //doc.write('<div align="center"><a href="" onclick="window.close();" title="Close">Close</a></div>');

  doc.write('</body>');
  doc.write('</html>');
}

function popupMovie(src, sWidth, sHeight) {
  if ((src==null)||(src=='')) return ;
  if (ppimgNW != null) ppimgNW.close();
  var w = ((sWidth==null)||(sWidth==''))?200:parseInt(sWidth);
  var h = ((sHeight==null)||(sHeight==''))?200:parseInt(sHeight);
  ppimgNW = window.open('','POPUPMOVIE','width='+w+',height='+h);
  var doc = ppimgNW.document;
  doc.write('<html>');
  doc.write('<head>');
  doc.write('<title>'+ 'MucTim Online' +'</title>');
  doc.write('</head>');
  doc.write('<body leftmargin="0" topmargin="0">');
  doc.write('<div align="center">');
   var objTag = '<object ID="popMediaPlayer" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"  width="'+w+'" height="'+h+'">'
	   objTag +='  <param NAME="FileName" VALUE="'+src+'"><param NAME="AutoStart" VALUE="true">'
	   objTag +='  <embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" SRC="" name="popMediaPlayer" AutoStart="true">'
	   objTag +='  </OBJECT> ' 
  doc.write(objTag);
  doc.write('</div>');
 //doc.write('<div align="center"><a href="" onclick="window.close();" title="Close">Close</a></div>');

  doc.write('</body>');
  doc.write('</html>');
}
function LTrim(Str) {
	return Str.replace(/^\s+/, '');
}

function RTrim(Str) {
	return Str.replace(/\s+$/, '');
}

function Trim(Str) {
	return RTrim(LTrim(Str));
}