function webtv(url)
{
/*
	if(!url){
		url = "http://app.hkatv.com/webtv/control.php";
	} else {
		if(url.search(/www.hkatv.com/gi)>0)
			url = url.replace ('www.hkatv.com', 'app.hkatv.com');
		else if(url.search(/app.hkatv.com/gi)<0) {
			url = 'http://app.hkatv.com' + url;
		}	
	}
*/
	remote = window.open(url, "webtv", 
		"toolbar=0,width=600,height=430,resizable=1,status=0," +
		"menubar=0,toolbar=0," 
		+ "scrollbars=0,directories=0,copyhistory=no,top=0,left=0");
	if(remote != null) remote.focus()
}





























function openWin(url, w, h)
{
	if(!w)                  w = screen.width - 50;
	else if(w>screen.width)	w = screen.width;

	if(!h)                    h = screen.height - 100;
	else if(h>screen.height)  h = screen.height;

	win = window.open(url, "newwin","width=" + w + ",height=" + h + ",resizable=1,scrollbars=1");
	win.focus()
}

   // CONSTANTS
  var separator = ",";  // use comma as 000's separator
  var decpoint = ".";  // use period as decimal point
  var percent = "%";
  var currency = "$";  // use dollar sign for currency

  function formatNumber(number, format, print) {  // use: formatNumber(number, "format")
    if (print) document.write("formatNumber(" + number + ", \"" + format + "\")<br>");

    if (number - 0 != number) return null;  // if number is NaN return null
    var useSeparator = format.indexOf(separator) != -1;  // use separators in number
    var usePercent = format.indexOf(percent) != -1;  // convert output to percentage
    var useCurrency = format.indexOf(currency) != -1;  // use currency format
    var isNegative = (number < 0);
    number = Math.abs (number);
    if (usePercent) number *= 100;
    format = strip(format, separator + percent + currency);  // remove key characters
    number = "" + number;  // convert number input to string

     // split input value into LHS and RHS using decpoint as divider
    var dec = number.indexOf(decpoint) != -1;
    var nleftEnd = (dec) ? number.substring(0, number.indexOf(".")) : number;
    var nrightEnd = (dec) ? number.substring(number.indexOf(".") + 1) : "";

     // split format string into LHS and RHS using decpoint as divider
    dec = format.indexOf(decpoint) != -1;
    var sleftEnd = (dec) ? format.substring(0, format.indexOf(".")) : format;
    var srightEnd = (dec) ? format.substring(format.indexOf(".") + 1) : "";

     // adjust decimal places by cropping or adding zeros to LHS of number
    if (srightEnd.length < nrightEnd.length) {
      var nextChar = nrightEnd.charAt(srightEnd.length) - 0;
      nrightEnd = nrightEnd.substring(0, srightEnd.length);
      if (nextChar >= 5) nrightEnd = "" + ((nrightEnd - 0) + 1);  // round up

 // patch provided by Patti Marcoux 1999/08/06
      while (srightEnd.length > nrightEnd.length) {
        nrightEnd = "0" + nrightEnd;
      }

      if (srightEnd.length < nrightEnd.length) {
        nrightEnd = nrightEnd.substring(1);
        nleftEnd = (nleftEnd - 0) + 1;
      }
    } else {
      for (var i=nrightEnd.length; srightEnd.length > nrightEnd.length; i++) {
        if (srightEnd.charAt(i) == "0") nrightEnd += "0";  // append zero to RHS of number
        else break;
      }
    }

     // adjust leading zeros
    sleftEnd = strip(sleftEnd, "#");  // remove hashes from LHS of format
    while (sleftEnd.length > nleftEnd.length) {
      nleftEnd = "0" + nleftEnd;  // prepend zero to LHS of number
    }

    if (useSeparator) nleftEnd = separate(nleftEnd, separator);  // add separator
    var output = nleftEnd + ((nrightEnd != "") ? "." + nrightEnd : "");  // combine parts
    output = ((useCurrency) ? currency : "") + output + ((usePercent) ? percent : "");
    if (isNegative) {
      // patch suggested by Tom Denn 25/4/2001
      output = (useCurrency) ? "(" + output + ")" : "-" + output;
    }
    return output;
  }

  function strip(input, chars) {  // strip all characters in 'chars' from input
    var output = "";  // initialise output string
    for (var i=0; i < input.length; i++)
      if (chars.indexOf(input.charAt(i)) == -1)
        output += input.charAt(i);
    return output;
  }

  function separate(input, separator) {  // format input using 'separator' to mark 000's
    input = "" + input;
    var output = "";  // initialise output string
    for (var i=0; i < input.length; i++) {
      if (i != 0 && (input.length - i) % 3 == 0) output += separator;
      output += input.charAt(i);
    }
    return output;
  }



















function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		but_news_over = newImage("_image/but-news-over.gif");
		but_drama_over = newImage("_image/but-drama-over.gif");
		but_event_over = newImage("_image/but-event-over.gif");
		but_discovery_over = newImage("_image/but-discovery-over.gif");
		but_sport_over = newImage("_image/but-sport-over.gif");
		but_menu_over = newImage("_image/but-menu-over.gif");
		but_power_over = newImage("_image/but-power-over.gif");
		preloadFlag = true;
	}
}

function MM_findObj(n, d) { //v4.0
	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 && document.getElementById) 
		x=document.getElementById(n); 
	return x;
}

//horz (true/false: auto adjust horizontal), vert, 
//offsetX, offsetY, 
//negX (true/false, allow negative X value), negY
function BW_centerLayers(id, horz, vert, offsetX, offsetY, negX, negY) { //v4.1.1
	if (document.layers || document.all || document.getElementById){
		var winWidth, winHeight, i, x, y, width, height;
		
		onresize = BW_reload;
		winWidth = (document.all) ? document.body.clientWidth : window.innerWidth;
		winHeight = (document.all) ? document.body.clientHeight : window.innerHeight;
				
		layerObj = (document.getElementById) ? document.getElementById(id) : MM_findObj(id);
			
		if (layerObj!=null) {
			height = parseInt(layerObj.style.height);

			x = (winWidth/2) + offsetX;
			y = ((winHeight - height)/2) + offsetY;
						
			x = (negX=='false' && (x < 0)) ? 0:x;
			y = (negY=='false' && (y < 0)) ? 0:y;
			layerObj = (layerObj.style) ? layerObj.style:layerObj;
			layerObj.left = (horz=="true") ? x:layerObj.left;
			layerObj.top = (vert=="true") ? y:layerObj.top;
		}
	}
}

function BW_reload() {location.reload();}
/////////////////////////

function showOnly(Layer) { // written by Fung on 2003-11-15
	var obj, i;

	//Hide all layers
	for(i=0; i<5; i++) {
		if ((obj = MM_findObj(Menus[i]))!=null) { 
			if (obj.style) { 
				obj = obj.style;	
			}
			obj.visibility = 'hidden';
		}
	}
	
	//show this one
	if ((obj = MM_findObj(Layer))!=null) { 
		if (obj.style) { 
			obj = obj.style;	
		}
		obj.visibility = 'visible';
	}
}

function toggleDisplay() { // written by Fung on 2003-11-15
	var obj, args=toggleDisplay.arguments;

	for(i=0; i<(args.length); i++) {
		if ((obj = MM_findObj(args[i]))!=null) { 
			if (obj.style) { 
				obj = obj.style;	
			}
			(obj.visibility=='hidden') ? obj.visibility='visible' : obj.visibility = 'hidden';
		}
	}
}

function togglePlay()
{
	if(document.MediaPlayer.playState==2)	// now playing
		document.MediaPlayer.Stop();
	else {
		if( document.MediaPlayer.fileName )
			document.MediaPlayer.Play();
	}
}

function showHideLayers() { //v3.0
	var i, p, v, obj, args=showHideLayers.arguments;
  
	for(i=0; i<(args.length-1); i+=2) 
		if ((obj = MM_findObj(args[i]))!=null) { 
			v=args[i+1];
			if (obj.style) { 
				obj=obj.style; 
			}
			obj.visibility=v; 
		}
}

function changeVideo(formObj)
{
	showOnly('');	// hide all sub menus
	// hide MainMenu, display Screen
	showHideLayers('MainMenu', 'hidden', 'Screen', 'visible');

	i = formObj.Select_Program.selectedIndex;
	if(streamURL = formObj.Select_Program.options[i].value) {
		document.MediaPlayer.Stop();
		document.MediaPlayer.fileName = streamURL; 
	}
}


var Menus = new Object();
Menus[0] = 'NewsMenu';
Menus[1] = 'DramaMenu';
Menus[2] = 'EventMenu';
Menus[3] = 'DiscoveryMenu';
Menus[4] = 'SportMenu';


