﻿<!--
var d = document;
var isIE = navigator.appName.indexOf("Microsoft") > -1;

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 = 'chi';
	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 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];}
}


// -----------------------------------------------------------------------------
// Globals
	// Major version of Flash required
	var requiredMajorVersion = 9;
	// Minor version of Flash required
	var requiredMinorVersion = 0;
	// Revision of Flash required
	var requiredRevision = 0;
	// the version of javascript supported
	var jsVersion = 1.0;

	var popupIsOpen = false;
	
	var version = 1;
	
// -----------------------------------------------------------------------------
/*
// Visual basic helper required to detect Flash Player ActiveX control version information
Function VBGetSwfVer(i)
  on error resume next
  Dim swControl, swVersion
  swVersion = 0
  
  set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
  if (IsObject(swControl)) then
    swVersion = swControl.GetVariable("$version")
  end if
  VBGetSwfVer = swVersion
End Function
*/

// Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
var checkPopupID = 0;
var checkinterval = 100;

function loadAction()
{
	if (GetParam('shop') != null)	shopid = GetParam('shop');
	if (GetParam('facid') != null)	facid = GetParam('facid');
	genFlash(path+"img/swf/interactive_map.swf", 765, 400, "map", ('path='+path+'&shopid='+shopid+'&facid='+facid));
}

function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function checkPopup()
{

	if (subWin.closed)
		{
			if (popupIsOpen)
				{
					//alert("pop up closed");
					popupIsOpen = false;
					var flashMovie=getFlashMovieObject("homeFlash");
					flashMovie.SetVariable("gameIsUp", 0);
					clearInterval(checkPopupID);
				}
		}
}


// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Can't detect in all other cases
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 
// If called with no parameters this function returns a floating point value 
// which should be the version of the Flash Player or 0.0 
// ex: Flash Player 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// loop backwards through the versions until we find the newest version	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}

/*
var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if (hasRightVersion)
	{
		loadAction();
	}
else
	{
		
		document.write('no Flash');
		
	}
*/

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="transparent">';
	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" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'" wmode="transparent"></embed>';
	} else {
		tempHtml += '<embed src="'+file+'" salign="TL" quality="high" scale="noscale" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" id="'+id+'" name="'+id+'" wmode="transparent"></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="transparent">';
	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="transparent" 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="transparent" 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 searchQ(qy) {
	//alert(qy);
	location.href= "/cc/chi/search/search.do?q="+escape(qy)+"&lang=EN";
}


function createImg(src, alt, w, h, link, t, className)
{
	var img = d.createElement('img');
	if (src)	img.setAttribute('src', src);
	if (alt)	img.setAttribute('alt', alt);
	if (w)	img.setAttribute('width', w);
	if (h)	img.setAttribute('height', h);
	if (className)	img.className = className;
	
	if (link)
	{
		img.setAttribute('border', 0);
		
		var a = d.createElement('a');
		a.setAttribute('href', link);
		if (t && typeof(t) != 'undefined')	a.setAttribute('target', t);
		a.appendChild(img);
		return a;
	}
	else
	{	
		return img;
	}
}

function createA(link, t, txt, id, className)
{		
	var a = d.createElement('a');
	if (link)	a.setAttribute('href', link);
	if (t && typeof(t) != 'undefined')	a.setAttribute('target', t);
	
	if (txt)	a.appendChild(d.createTextNode(txt));
	if (id)	a.setAttribute('id', id);
	if (className)	a.className = className;
	
	return a;
}

function createDiv(id, className, txt)
{		
	var div = d.createElement('div');
	if (id)	div.setAttribute('id', id);
	if (className)	div.className = className;
	//if (txt)	div.appendChild(d.createTextNode(txt));
	if (txt)	div.innerHTML = txt;
	return div;
}

function createTag(tag, id, className)
{		
	var div = d.createElement(tag);
	if (id)	div.setAttribute('id', id);
	if (className)	div.className = className;
	return div;
}

function createInput(name, type, value, className)
{		
	var input = d.createElement('input');
	if (name)	input.setAttribute('name', name);
	if (type)	input.setAttribute('type', type);
	if (value)	input.setAttribute('value', value);
	if (className)	input.className = className;
	return input;
}

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(); }
}


//Begin Google Site Search
//polyu_site = "http://www.google.com/search?hl=en&btnG=Google+Search&as_sitesearch=polyu.edu.hk/htm&q=";
//internet = "http://www.google.com/search?hl=en&btnG=Google+Search&q=";

var hex_chr = "0123456789ABCDEF";
function hex(num)
{
	var str = "";
  	for(var j = 4; j >= 0; j--) {
		str += hex_chr.charAt((num >>> (j * 4)) & 0x0F);
	}

	len = str.length;
  	return "%" + str.substring((len - 2),len);
}

function toUTF8(tchar) {
	var k = 0;
	var str = "";
	var mask = 0;
	var pattern = 0;


	if (tchar< 0x80) {
		k = 0;
	} else if ((tchar > 0x7F) && (tchar< 0x800)) {
		k = 1;
	} else if ((tchar > 0x7FF) && (tchar< 0x10000)) {
		k = 2;
	} else if ((tchar > 0xFFFF) && (tchar< 0x200000)) {
		k = 3;
	} else if ((tchar > 0x1FFFFF) && (tchar< 0x4000000)) {
		k = 4;
	} else if ((tchar > 0x3FFFFFF) && (tchar<= 0x7FFFFFFF)) {
		k = 5;
	}

	for (i = 0; i< k; i++) {
		num = ((tchar >> (6 * i)) & 0xBF) | 0x80;
		str = hex(num) + str;
	}

	if (k == 1) {
		mask = 0xDF;
		pattern = 0xC0;
	} else if (k == 2) {
		mask = 0xEF;
		pattern = 0xE0;
	} else if (k == 3) {
		mask = 0xF7;
		pattern = 0xF0;
	} else if (k == 4) {
		mask = 0xFB;
		pattern = 0xF8;
	} else if (k == 5) {
		mask = 0xFD;
		pattern = 0xFC;
	}

	if (k > 0) {
		num = ((tchar >> (6 * k)) & mask) | pattern;
		str = hex(num) + str;
	} else {
		str = hex(tchar);
	}
	return str;
}

function encode(val)
{
	var len     = val.length;
	var i       = 0;
	var newStr  = "";
	for (i=0;i<len;i++) {
		tval1=val.substring(i,i+1);
		newStr = newStr + toUTF8(tval1.charCodeAt(0));
	}
    return newStr;
}

function search() {
	var temp = document.getElementById("search1").value;
    var txt = encode(temp);
    window.open("http://www.google.com/search?hl=en&ie=UTF8&oe=UTF8&btnG=Google+Search&as_sitesearch=polyu.edu.hk&safe=images&as_q=" + txt);
}
//End Google Site Search

-->
