﻿<!--

function GetParam(name)
{
	var start=location.search.indexOf("?"+name+"=");
	if (start<0) start=location.search.indexOf("&"+name+"=");
 	if (start<0) return '';
 	start += name.length+2;
 	var end=location.search.indexOf("&",start)-1;
 	if (end<0) end=location.search.length;
 	var result=location.search.substring(start,end);
 	var result='';
 	for(var i=start;i<=end;i++)
 	{
 		var c=location.search.charAt(i);
 		result=result+(c=='+'?' ':c);
 	}
 	//alert(unescape(result));
 	return unescape(result);
}


function changeLanguage(target) {
	var nowL = 'eng';
	var url = location.href.replace((nowL+'/'), (target+'/'));
	location.href = url;
}

var motion;
var goSpeed = 30;
var tempNum;
var frameBody;
var tempL;
var tempW;
var temp = 0;

var parentWindow;

function autoScrollStart(name, goNum) {	
	scrollStop();
	tempNum = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
    	frameBody  = document.getElementById(name);
    } else {
    	frameBody  = document.getElementById(name);
    }
	//window.status = frameBody.scrollWidth;
	autoScrollMotion();
}

function autoScrollMotion(){
	frameBody.scrollLeft += tempNum;
	
	tempL = frameBody.scrollLeft;
	tempW = frameBody.scrollWidth;
	
	//window.status = tempW + "  :  " + tempL;
	
	if (temp == 0) {
		if (tempL == tempW - 300) {
			if (frameBody.scrollWidth > 300) {
				document.getElementById('storeLoop').innerHTML = otherStores;
			}
			temp = 1;
		}
	} else if (temp == 1) {
		if (tempL >= tempW/2 - 2) {
			//alert(frameBody.scrollLeft);
			frameBody.scrollLeft = 0;
		}
	}
	
	motion = setTimeout("autoScrollMotion()",goSpeed);
}

function scrollStart(name, goNum) {
	document.getElementById('storeLoop').innerHTML = '';
	
	scrollStop();
	tempNum = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
    	frameBody  = document.getElementById(name);
    } else {
    	frameBody  = document.getElementById(name);
    }
	scrollMotion();
}

function scrollMotion(){
	frameBody.scrollLeft += tempNum;
	motion = setTimeout("scrollMotion()",goSpeed);
}

function scrollStop() {
	clearTimeout(motion);
	temp = 0;
}


function leftOver(i, j, over, isSect) {
	var obj = sectionArray[section][i];
	if (document.getElementById('mainNavMenu'+j))	var layer = document.getElementById('mainNavMenu'+j);
	if (over == 1) {
		if (layer) {
			if (!isSect)	document.getElementById('txt'+j).style.fontWeight = 'bold';
			document.getElementById('tdL'+j).style.backgroundColor = obj.color1;
			document.getElementById('tdR'+j).style.backgroundColor = obj.color1;
			layer.style.visibility = 'visible';
		}
	} else {
		if (layer) {
			if (!isSect)	document.getElementById('txt'+j).style.fontWeight = 'normal';
			document.getElementById('tdL'+j).style.backgroundColor = obj.color;
			document.getElementById('tdR'+j).style.backgroundColor = obj.color;
			layer.style.visibility = 'hidden';
		}
	}
}

function NewWindow(mypage, myname, w, h, scroll,resizable) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable+','
	win = window.open(mypage, myname, winprops)
	win.self.focus()
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function genFlash(file, width, height, id, vars) {
	var tempHtml = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'">';
	tempHtml += '<param name="movie" value="'+file+'">';
	tempHtml += '<param name="quality" value="high">';
	tempHtml += '<param name="menu" value="false">';
	tempHtml += '<param name="wmode" value="opaque">';
	tempHtml += '<param name="scale" value="noscale">';
	tempHtml += '<param name="salign" value="TL">';
	
	if (vars != null) {
		tempHtml += '<param name="flashVars" value="'+vars+'">';
		tempHtml += '<embed src="'+file+'" flashVars="'+vars+'" salign="TL" quality="high" scale="noscale" wmode="opaque" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'"></embed>';
	} else {
		tempHtml += '<embed src="'+file+'" salign="TL" quality="high" scale="noscale" wmode="opaque" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'"></embed>';
	}
	
	tempHtml += '</object>';
	
	document.write(tempHtml);
}

function innerFlash(file, width, height, id, vars) {
	tempHtml += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'">';
	tempHtml += '<param name="movie" value="'+file+'">';
	tempHtml += '<param name="quality" value="high">';
	tempHtml += '<param name="menu" value="false">';
	tempHtml += '<param name="wmode" value="opaque">';
	tempHtml += '<param name="scale" value="noscale">';
	tempHtml += '<param name="salign" value="TL">';
	
	if (vars != null) {
		tempHtml += '<param name="flashVars" value="'+vars+'">';
		tempHtml += '<embed src="'+file+'" flashVars="'+vars+'" salign="TL" quality="high" scale="noscale" wmode="opaque" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'"></embed>';
	} else {
		tempHtml += '<embed src="'+file+'" salign="TL" quality="high" scale="noscale" wmode="opaque" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'"></embed>';
	}
	
	tempHtml += '</object>';
	
//	document.write(tempHtml);
}

var motion;
var goSpeed = 20;
var tempNum;
var frameBody;
var tempX;
var tempY;
var isIFrame = false;

function scrollStart(name, goNum, iFrame) {
	tempNum = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		if (iFrame != null) {
    		frameBody  = document.frames(name).document.body;
    		isIFrame = true;
    	} else {
    		frameBody  = document.getElementById(name);
    	}
	} else {
		if (iFrame != null) {
    		frameBody  = document.all(name);
    	//	frameBody.contentWindow.scrollTo(0, 0);
    		isIFrame = true;
    	} else {
    		frameBody  = document.getElementById(name);
    	}
	}
	scrollMotion();
}

function scrollMotion(){
//	window.status = document.getElementById("contentIFrame").document.body.scrollHeight +"  :  "+ frameBody.offsetHeight;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		frameBody.scrollTop += tempNum;
	} else {
		if (isIFrame) {
			tempX = frameBody.contentWindow.pageXOffset;
			tempY = frameBody.contentWindow.pageYOffset;
			tempY += tempNum;
			frameBody.contentWindow.scrollTo(tempX, tempY);
		} else {
			frameBody.scrollTop += tempNum;
		}
	}
	
	motion = setTimeout("scrollMotion()", goSpeed);
}

function scrollStop() {
	clearTimeout(motion);
}	



function Clickheretoprint()
{ 
	var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
	disp_setting+="scrollbars=yes,width=650, height=600, left=100, top=25"; 
	var content_vlue = document.getElementById("content").innerHTML; 

	if (!(content_vlue)) return;
	
	var docprint=window.open("","",disp_setting); 
	docprint.document.open(); 
	docprint.document.write('<html><head><title>The Hong Kong University of Science &amp; Technology</title>'); 
	docprint.document.write('<link href="../include/styles.css" rel="stylesheet" type="text/css">'); 
	docprint.document.write('</head><body onLoad="self.print()" style="background:url('+path+'images/common/spacer.gif);"><center>'); 
	docprint.document.write('<table width="572" border="0" cellpadding="0" cellspacing="0">');
	docprint.document.write('	<tr>');
	docprint.document.write('		<td><img src="'+path+'images/common/logo.gif" alt="The Hong Kong University of Science &amp; Technology" width="246" height="60"></td>');
	docprint.document.write('	</tr>');
	docprint.document.write('</table>'); 
	docprint.document.write(' 	<table width="572" border="0" cellpadding="0" cellspacing="0">');  
	disablehref(docprint.document);
	var content_new = content_vlue;


	content_new = removeHTMLblock(content_new, 'script');
	content_new = removeHTMLblock(content_new, 'MAP');
	
	if (content_new.indexOf('href')!=-1)
		{
			content_new = removeHREFs(content_new);
		}
	//content_new = removeMouseOver(content_new);
	//content_new = removeMouseOut(content_new);

	docprint.document.write(content_new);
	docprint.document.write('</table>');

	docprint.document.write('<table width="572" border="0" cellpadding="0" cellspacing="0">');
	docprint.document.write('	<tr>');
	docprint.document.write('		<td class="footer" align="right">Copyright &copy; 2007 HKUST. All rights reserved.</td>');
	docprint.document.write('	</tr>');
	docprint.document.write('</table>');
	
	docprint.document.write('</center></body></html>'); 
	docprint.document.close(); 
	docprint.focus();
}


function sliceText(content_vlue)
{
	var len = content_vlue.length;
	var content_array = new Array();
	var c1 = content_vlue.slice(0,100);
	var c2 = content_vlue.slice(100,len);
	var i = 0;
	var sLen = 100;
	var lastIndex = i*sLen;
	var nextIndex = lastIndex;
	while (nextIndex < len)
		{
			i++;
			var nextIndex = i*sLen;
			content_array[i] = content_vlue.slice(lastIndex, nextIndex);
			lastIndex = nextIndex;
		}

	//var content_new = content_vlue;

	var content_new = content_array.join("");
}

function disablehref(doc)
{ 
 for (var i=0; i<doc.getElementsByTagName("a").length; i++)
	{
		doc.getElementsByTagName("a")[i].disabled = true;
		doc.getElementsByTagName("a")[i].removeAttribute("href");
	}
 
 return true;
}

function removeHREFs(aSourceHTML)
{
	var regexp=/href\s*=\s*\"*[^\s>]*/ig;
	var vArray = aSourceHTML.match(regexp);

	if(vArray != null)
	{
		for(i = 0; i < vArray.length; i++)
			{
				aSourceHTML = aSourceHTML.replace(vArray[i], "");
			}
		return aSourceHTML;
	}
}

function removeTarget(aSourceHTML)
{
	var regexp=/target\s*=\s*\"*[^\">]*/ig;
	var vArray = aSourceHTML.match(regexp);
	
	
	if(vArray != null)
	{
		var vLinks = vArray.join("\n").replace(/target\s*=\s*\"*/g,"");
		
		var mySplitResult = vLinks.split("\n");
		for(i = 0; i < mySplitResult.length; i++)
			aSourceHTML = aSourceHTML.replace(mySplitResult[i], "_self");
		return aSourceHTML;
	}
}

function removeMouseOver(aSourceHTML)
{
	var regexp=/onmouseover\s*=\s*\"*[^\s>]*/ig;
//	var regexp = new RegExp (attr + '\\s*=\\s*\\"*[^\\s>]*', "ig");
	var vArray = aSourceHTML.match(regexp);

	if(vArray != null)
	{
		for(i = 0; i < vArray.length; i++)
			{
				aSourceHTML = aSourceHTML.replace(vArray[i], "");
			}
		return aSourceHTML;
	}
}

function removeMouseOut(aSourceHTML)
{
	var regexp=/onmouseout\s*=\s*\"*[^\s>]*/ig;
//	var regexp = new RegExp (attr + '\\s*=\\s*\\"*[^\\s>]*', "ig");
	var vArray = aSourceHTML.match(regexp);

	if(vArray != null)
	{
		for(i = 0; i < vArray.length; i++)
			{
				aSourceHTML = aSourceHTML.replace(vArray[i], "");
			}
		return aSourceHTML;
	}
}

function removeHTMLblock(aSourceHTML, aTagName)
{
	var regexp= new RegExp ("<" + aTagName + "[^.]*\/" + aTagName + ">", "gi");
	aSourceHTML = aSourceHTML.replace(regexp,"");
	return aSourceHTML;
}	

function popupVideo(file, w, h) {
 var popUpPage2 = window.open('', 'popupSound', 'width='+w+',height='+(Number(h)+68)+',left=0,top=0,screenX=0,screenY=0,scrollbars=0,resizable=1');
 popUpPage2.document.open();
 popUpPage2.document.write('<html>');
 popUpPage2.document.write('<head><title>HKU Centennial Campus</title></head>');
 popUpPage2.document.write('<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">');
 popUpPage2.document.write('<OBJECT id=MPlay1 codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 type=application/x-oleobject height='+(Number(h)+68)+' standby="Loading Microsoft Windows Media Player components..." width='+w+' classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95>');
 popUpPage2.document.write('<PARAM NAME="FileName" VALUE="'+path+'images/videos/'+file+'">');
 popUpPage2.document.write('<PARAM NAME="AutoStart" VALUE="1">');
 popUpPage2.document.write('<PARAM NAME="AutoSize" VALUE="false">');
 popUpPage2.document.write('<PARAM NAME="ShowControls" VALUE="true">');
 popUpPage2.document.write('<PARAM NAME="ShowDisplay" VALUE="0">');
 popUpPage2.document.write('<PARAM NAME="ShowAudioControls" VALUE="true">');
 popUpPage2.document.write('<PARAM NAME="ShowStatusBar" VALUE="true">');
 popUpPage2.document.write('<PARAM NAME="Volume" VALUE="-100">');
 popUpPage2.document.write('<embed src="'+path+'images/videos/'+file+'" ShowStatusBar="1" ShowCaptioning=1 ShowDisplay="0" ShowAudioControls="1" ShowControls="1" width="'+w+'" height="'+(Number(h)+68)+'" autostart="true"></embed>');
 popUpPage2.document.write('</OBJECT>');
 popUpPage2.document.write('</body>');
 popUpPage2.document.write('</html>');
 popUpPage2.document.close();
 popUpPage2.focus();
 

}

//Specify affected tags. Add or remove from list:
var tgs = new Array('div', 'td', 'strong', 'a', 'span', 'li');
var startSz;

function getFontSize(trgt) {
	if (document.cookie.indexOf("fontSize") < 0) {
		startSz = 0;
	} else {
		var startStr = document.cookie.indexOf("fontSize") + 9;
		var endStr = document.cookie.indexOf(";", startStr);
		if (endStr == -1) {
			endStr = document.cookie.length;
		}
		startSz = unescape(document.cookie.substring(startStr, endStr));
		
//		alert(startSz);
		changeFontSize(trgt, startSz, true);
	}
}


function changeFontSize( trgt, inc, start ) {
	
	//Specify spectrum of different font sizes:
	var szs = new Array('11px', '12px', '14px', '16px');
	
	if (!document.getElementById) return;
	var d = document,cEl = null,sz = eval(startSz),i,j,cTags;
	
	if (!start) {
		sz += inc;
		//sz = inc;
		
		if ( sz < 0 ) sz = 0;
		if ( sz > (szs.length-1) ) sz = (szs.length-1);
		startSz = sz;
	//	alert(sz);
	} else {
		sz = inc;
	}
	
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];
	cEl.style.fontSize = szs[ sz ];
		
	for ( i = 0 ; i < tgs.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) {
//			alert(cTags[ j ].className);
			
			if (!cTags[ j ].id) {
				cTags[ j ].style.fontSize = szs[ sz ];
			}
		}
	}
	
	//document.cookie = "fontSize=" + sz;
	setCookie("fontSize", sz, nd, cpath, cdomain);
}

nd= new Date();
nd.setTime (nd.getTime()+(365*24*60*60*1000));
//cdomain = (location.domain) ? location.domain : null;
cdomain = (location.domain) ? location.domain : null;
cpath = "/";

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
  //alert(curCookie);
}


var motion;
var motion1;
var goSpeed = 20;
var tempNum;
var tempNum1;
var frameBody;
var frameBody1;
var temp1 = 0;
var temp2 = 0;
var isIFrame = false;

function autoScrollStart(name) {
	setTimeout("autoScrollGo()", 1000);
//	scrollStop();
	frameBody  = document.getElementById(name);
	
	//window.status = frameBody.scrollWidth;
}

function autoScrollGo() {
	autoScrollMotion();
}

function autoScrollMotion(){
	if (frameBody.scrollTop < (frameBody.scrollHeight - 128)) {
		frameBody.scrollTop += 1;
	} else {
		if (temp1 - frameBody.scrollHeight > 85) {
			frameBody.scrollTop = 0
			temp1 = 0;
			clearTimeout(motion);
			setTimeout("autoScrollMotion()", 4000);
			return false;
		}
	}
	temp1 += 1;
	
	//window.status = frameBody.scrollTop + "  :  " + frameBody.scrollHeight;
	//window.status = temp1;
	
	
	motion = setTimeout("autoScrollMotion()", (goSpeed*3));
}

function autoScrollMotion1(){
	if (frameBody1.scrollTop < (frameBody1.scrollHeight - 68)) {
		frameBody1.scrollTop += 1;
	} else {
		if (temp2 - frameBody1.scrollHeight > 25) {
			frameBody1.scrollTop = 0
			temp2 = 0;
			clearTimeout(motion1);
			setTimeout("autoScrollMotion1()", 4000);
			return false;
		}
	}
	temp2 += 1;	
	
	motion1 = setTimeout("autoScrollMotion1()", (goSpeed*3));
}

function scrollStart(name, goNum, iFrame) {
	scrollStop();
	tempNum = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		if (iFrame != null) {
    		frameBody  = document.frames(name).document.body;
    		isIFrame = true;
    	} else {
    		frameBody  = document.getElementById(name);
    	}
	} else {
		if (iFrame != null) {
    		frameBody  = document.all(name);
    	//	frameBody.contentWindow.scrollTo(0, 0);
    		isIFrame = true;
    	} else {
    		frameBody  = document.getElementById(name);
    	}
	}
	scrollMotion();
}

function scrollMotion(){
//	window.status = document.getElementById("contentIFrame").document.body.scrollHeight +"  :  "+ frameBody.offsetHeight;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		frameBody.scrollTop += tempNum;
	} else {
		if (isIFrame) {
			tempX = frameBody.contentWindow.pageXOffset;
			tempY = frameBody.contentWindow.pageYOffset;
			tempY += tempNum;
			frameBody.contentWindow.scrollTo(tempX, tempY);
		} else {
			frameBody.scrollTop += tempNum;
		}
	}
	
	motion = setTimeout("scrollMotion()", goSpeed);
}

function scrollStart1(name, goNum, iFrame) {
	scrollStop1();
	tempNum1 = goNum;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		if (iFrame != null) {
    		frameBody1  = document.frames(name).document.body;
    		isIFrame = true;
    	} else {
    		frameBody1  = document.getElementById(name);
    	}
	} else {
		if (iFrame != null) {
    		frameBody1 = document.all(name);
    	//	frameBody.contentWindow.scrollTo(0, 0);
    		isIFrame = true;
    	} else {
    		frameBody1  = document.getElementById(name);
    	}
	}
	scrollMotion1();
}

function scrollMotion1(){
//	window.status = document.getElementById("contentIFrame").document.body.scrollHeight +"  :  "+ frameBody.offsetHeight;
	if (navigator.appName.indexOf("Microsoft") > -1) {
		frameBody1.scrollTop += tempNum1;
	} else {
		if (isIFrame) {
			tempX = frameBody1.contentWindow.pageXOffset;
			tempY = frameBody1.contentWindow.pageYOffset;
			tempY += tempNum1;
			frameBody1.contentWindow.scrollTo(tempX, tempY);
		} else {
			frameBody1.scrollTop += tempNum1;
		}
	}
	
	motion1 = setTimeout("scrollMotion1()", goSpeed);
}

function scrollStop() {
	temp1 = frameBody.scrollTop;
	clearTimeout(motion);
}

function scrollStop1() {
	temp2 = frameBody1.scrollTop;
	clearTimeout(motion1);
}

-->