function bName() {
  if (navigator.appName == "Microsoft Internet Explorer")
    return 1;
  if (navigator.appName == "Netscape")
    return 2;
  return 0;
}

function bVer() {
  // return version number (e.g., 4.03)
  return parseFloat(navigator.appVersion)
}

var nameCode = bName();
var versionCode = bVer();
var mac = (navigator.userAgent.indexOf("Mac")!=-1);
var activeX = (nameCode == 1 && versionCode >= 4.0) ? true : false; 

var currentStream = 0;

//STREAMS
function makeStream(url, name) {
	this.url = url;
	this.name = name;
    this.slides = new Array();
}

//STREAMS
function setFileName(url) {
  if (activeX) {
    document.MediaPlayer.fileName = url
  }
  else {
    document.MediaPlayer.SetFileName(url);
  }
}

function setMTitle(id) {
    document.getElementById("mTitle").innerHTML = streams[id].name;
}

function changeStream(id) {
  currentStream = id;
  setMTitle(currentStream);
  var streamURL = streams[id].url;
  document.MediaPlayer.Stop();
  setFileName(streamURL);
}

function seekToMarker(iWhichMarker){
    if ((navigator.userAgent.indexOf("IE") > -1) && (navigator.platform == "Win32")) {
        // This is an error handler.  If the user tries to scan to a marker which doesn't
        //     exist, the player will pop an error message.  By using this code, we
        //     can create a custom error message.
        if (iWhichMarker <= document.MediaPlayer.MarkerCount) {
             // This resets the current marker in the file.
             document.MediaPlayer.CurrentMarker = iWhichMarker;
             document.MediaPlayer.play();
        } else {  
             alert("This Marker doesn't exist.");
        }
    } else {
        if (iWhichMarker <= document.MediaPlayer.GetMarkerCount()) {
            document.MediaPlayer.SetCurrentMarker(iWhichMarker);
        } else {
            alert("This Marker doesn't exist.");
        }
    }
}


function setSlide(slide) {
    slide = parseInt(slide);
    if(slide) {
        seekToMarker(slide);
    }
}

function setMSlide(slideId) {
//    document.getElementById("mSlideFrame").src = streams[currentStream].slides[slideId];
      document.frames['mSlideFrame'].document.location.href = streams[currentStream].slides[slideId];
}

function tempSlide(slideId) {
    var slideId = parseInt(slideId);
    if(streams[currentStream].slides[slideId]) {
	    document.getElementById("mSlideFrame").src = streams[currentStream].slides[slideId];
    }
}
function tempSlideReturn() {
    setMSlide(getCurrentSlideNum());
}

function setMSlideCount(currentMarker,numMarkers) {
    document.getElementById("mSlideCount").innerHTML = currentMarker + "/" + numMarkers;
}

function setMSlideNumbers() {
    var numMarkers = document.MediaPlayer.MarkerCount;
    var currentMarker = document.MediaPlayer.CurrentMarker;
	var tmp = "";
    for(i=1; i<=numMarkers; i++) {
        tmp += "<a class=\"mSlideNum\" href=\"javascript:setSlide(" + i + ");\"";
        if(i==currentMarker) {
            tmp += " id=\"currentSlideNum\"";
        }
		else {
            tmp += " onMouseOver=\"tempSlide(" + i + ");\" onMouseOut=\"tempSlideReturn();\"";
        }
        tmp += ">" + i + "</a> ";
    }
	setMSlideCount(currentMarker,numMarkers);
	document.getElementById("mSlideNumbers").innerHTML = tmp;
}

function setMStreamSelector(){
     var tmp = '<select onchange="if(this.options[selectedIndex].value!=\'false\') changeStream(this.options[selectedIndex].value); return(false);" id="selekti" name="leikinvalinta">';

    for(i=0; i<streams.length; i++) {
        tmp += '<option value="' + i + '">' + streams[i].name + '</option>';
    }
	tmp +='</select>';
    document.getElementById("mStreamSelector").innerHTML = tmp;
}

function mInit() {
    setMStreamSelector();
    setMSlide(1);
    setMSlideNumbers();
    setMTitle(currentStream);
}

function getCurrentSlideNum() {
    return document.MediaPlayer.CurrentMarker;
}
