

/* get the flash player application object*/ 
function getApp(appName) { 
	if (navigator.appName.indexOf ("Microsoft") !=-1) { 
		return window[appName]; 
	} else { 
		return document[appName]; 
	} 
} 


self.newPosition = function (pos){	    
    if ($('format').value=='rm') {
        if (document.RealPlayer.GetPlayState() == 3 ) {
            document.RealPlayer.SetPosition(pos);			     
            return;
        } else {
            document.RealPlayer.DoPlay();
            window.setTimeout('newPosition('+pos+')', 200);
        }
    } else if ($('format').value=='flv'){
        //getFlashMovieObject("FlashMovie").SetVariable("mySeek", pos);
        getApp('FlashMovie').setPosition(pos);
        
    } else if ($('format').value=='mov'){
        if (document.QuicktimePlayer.GetPluginStatus() == 'Complete') {		
            document.QuicktimePlayer.Stop();		
            document.QuicktimePlayer.SetTime(Math.round(pos*document.QuicktimePlayer.GetTimeScale()/1000));	
            document.QuicktimePlayer.Play();
            // setFormattedTimeForQuicktimePlayer();	
            return;
        } else {
            // document.QuicktimePlayer.Play();
            window.setTimeout('newPosition('+pos+')', 200);
        }
    } else if ($('format').value=='google'){            
        getFlashMovieObject("FlashMovie").SetVariable("seekTime", pos/1000);
    }
}

function disableTagButton() {
    $("ButtonTag").disabled = true;
}       

function doPause() {
    if ($('format').value=='rm') {
        document.RealPlayer.DoPause();
    } else if ($('format').value=='flv') {
        //getFlashMovieObject("FlashMovie").SetVariable("myPause", 1);
         getApp('FlashMovie').doPause(); 	
    } else if ($('format').value=='google') {
        getFlashMovieObject("FlashMovie").SetVariable("doPause", 1);	
    } else if ($('format').value=='mov') {
        document.QuicktimePlayer.Stop();	
    }
}

function doPlay() {	
    if ($('format').value=='rm') {
        if (document.RealPlayer.GetPlayState() != 3) {
            document.RealPlayer.DoPlay();
        }	
    } else if ($('format').value=='flv') {
        //getFlashMovieObject("FlashMovie").SetVariable("myPlay", 1);
        getApp('FlashMovie').doPlay();
        	
    } else if ($('format').value=='mov') {
        if (document.QuicktimePlayer.GetPluginStatus()=='Complete') {
            document.QuicktimePlayer.Play();
        }	
    } else if ($('format').value=='google') {
        getFlashMovieObject("FlashMovie").SetVariable("doPlay", 1);	
    }
}	

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 {
        return $(movieName);
    }
}


self.loadPlayer = function (vid,start,from){

		//alert(vid + " " +start+ " " +from);
	    $("current_vid").value = vid;
	    $("startPosition").value = start;
	    $("show_video_ID").innerHTML = "[video:"+vid+"]";
	    
	    var browser = "";
	    if (_ie) {
	        browser = "IE";
	    }
	    
	    var url = '/player;jsessionid=' + jsid;
	    var pars = 'vid=' + vid + '&start=' + start + '&browser=' + browser + '&from=' + from;
	   
	    var myAjax = new Ajax.Request( url, {
	        method: 'get', 
	        parameters: pars, 
	        onComplete: loadPlayerCallback
	    });  	   
	    
	    $("Link_Slides_Menu").href = 'javascript:showVideoSlides('+vid+')';  
	    $("VideoInformationLink").href = 'javascript:showVideoInformation('+vid+')';
	    $("Comments_Info").href = 'javascript:showCommentInformation('+vid+')';
	
}




//-----


self.loadPlayerCallback = function (transport) {
    var msg = transport.responseText;
    $("playerPlugin").innerHTML = msg;
    resWidth = $("x").value;
    resHeight = $("y").value;
    resWidthOri = $("x").value;
    resHeightOri = $("y").value;
    sliderWidth = $("sliderWidthDef").value;
    sliderWidthOri = $("sliderWidthOri").value;
    sliderWidthDef = $("sliderWidthDef").value;
    resWidthDef = $("resWidthDef").value;
    resHeightDef = $("resHeightDef").value;    
    $("titleVideo").innerHTML = $("videoTitle").value;      
    
    //document.body.setAttribute('onload','javascript:loadPlayer(' + $("vid").value +','+ $("pos").value +',\''+$("requestMode").value+'\');');
    
    getVideoInformation($("vid").value);
    getVideoRating($("vid").value);
    getAutoSuggestion($("vid").value);
    
    if ($('format').value=='google') checkPlugins('flash');
    if ($('format').value=='flv') checkPlugins('flash');
    if ($('format').value=='mov') checkPlugins('qt');
    if ($('format').value=='rm') checkPlugins('rm');
    
    if ($('format').value=='google') {
        window.setTimeout('doPlay()', 500);
        window.setTimeout('newPosition($("startPosition").value)', 1000);
        //window.setTimeout('doPlay()', 3000);
    } else if ($('format').value=='mov') {
        window.setTimeout('newPosition($("startPosition").value)', 1000);
    } else {
    	window.setTimeout('newPosition($("startPosition").value)', 1000);
        //newPosition($("startPosition").value); 
    }
    initBookmarks();
	
}

function startPlay(){
	if ($("format")){
			
			var videoPosition = 0;
		    var vid = $("current_vid").value;
			if ($('format').value=='rm')  {
			    videoPosition = document.RealPlayer.GetPosition();
			} else if ( $('format').value=='google') {
			    videoPosition = getFlashMovieObject("FlashMovie").GetVariable("myTime")*1000;			 	
			} else if ($('format').value=='flv') {
			    videoPosition = getApp("FlashMovie").getPosition()*1000;			 	
			} else if ($('format').value=='mov' ) {
			    videoPosition = document.QuicktimePlayer.GetTime()*1000/document.QuicktimePlayer.GetTimeScale();
			}
	
		var url = '/Play;jsessionid=' + jsid  ; 
		var pars = 'vid=' + vid + '&pos=' + Math.round(videoPosition);

		var myAjax = new Ajax.Request( url, {
    		parameters: pars,   		
    		method: 'get',
		    onComplete: nothing
	   });
	}
    window.setTimeout("startPlay()", 10000)	 
}
function nothing(){}

function closePlayer(){
    window.setTimeout('doPause()', 200);
    history.back();
}

/* for the slides module */
var slidesTrackingActive = true;

function checksSlidesPosition() {
    if (slidesTrackingActive) {
        if ($('format').value=='rm') {
            if (document.RealPlayer.GetPlayState() == 3 ) {
                setCurrentSlideOnPlayer(); // for slides view  	           
            }
        } else if ($('format').value=='flv'){
            setCurrentSlideOnPlayer(); // for slides view  	     
        } else if ($('format').value=='mov'){
            if (document.QuicktimePlayer.GetPluginStatus() == 'Complete') {
                setCurrentSlideOnPlayer(); // for slides view  	           
            }
        }
        window.setTimeout('checksSlidesPosition()', 2000);	
    }
}

// ----
function setCurrentSlideOnPlayer() {
    var pos;
    if ($('format').value=='rm') {
        pos = document.RealPlayer.GetPosition();
    } else if ($('format').value=='flv'){ 
        //pos = getFlashMovieObject("FlashMovie").GetVariable("myTime")*1000;
        pos = getApp('FlashMovie').getPosition()*1000;
    } else if ($('format').value=='mov'){
        pos = document.QuicktimePlayer.GetTime()*1000/document.QuicktimePlayer.GetTimeScale();
    } else if ($('format').value=='google'){ 
        pos = getFlashMovieObject("FlashMovie").GetVariable("myTime")*1000;
    }
    //var timeSlide = slidesTimes[currentSlide+1];
    var targetSlideNumber = 1;
    var slideHigth = 87; 
    
    for (var i=0; i<slidesTimes.length; i++) {
        if ( pos > slidesTimes[i]) {
            if (i+1==slidesTimes.length) { // if the last slide
                _setClassValue('Slides_Tr_'+(i+1), 'Slides_Active');
                _setClassValue('SlidesActivText_'+(i+1), 'Slides_Active_Text');				
                for (var j=1; j<slidesTimes.length; j++) {
                    _setClassValue('Slides_Tr_'+j, '');
                    _setClassValue('SlidesActivText_'+j, '');					
                    targetSlideNumber = i+1;
                }
            } else {
                if (pos <= slidesTimes[i+1]) {
                    _setClassValue('Slides_Tr_'+(i+1), 'Slides_Active');
                    _setClassValue('SlidesActivText_'+(i+1), 'Slides_Active_Text');					
                    for (var j=1; j<=slidesTimes.length; j++) {
                        if ((i+1)!=j) {
                            _setClassValue('Slides_Tr_'+j, '');
                            _setClassValue('SlidesActivText_'+j, '');								
                            targetSlideNumber = i+1;
                        }
                    }
                }				   
            }
        }
    }	
    
    var currentPage = Math.ceil( (targetSlideNumber)/5 );
    if (!slides_pause) {
        if (currentPage!=onPage) {
            if (currentPage>onPage) {
                ScrollSlides('slides', '+', (currentPage-onPage)*435, (currentPage-onPage));
            } else if (currentPage<onPage) {
                ScrollSlides('slides', '-', (onPage-currentPage)*435, (onPage-currentPage));
            }
        }
    }
}

function FlashMovie_DoFSCommand(command, args) {
    
}	

function setFormattedTimeForQuicktimePlayer() {
    if (document.QuicktimePlayer) {
        if (document.QuicktimePlayer.GetPluginStatus() == 'Complete') {		
            document.getElementById('QuicktimeTime').innerHTML = _getTimeFromMs(document.QuicktimePlayer.GetTime()*1000/document.QuicktimePlayer.GetTimeScale()) + " | "+_getTimeFromMs(document.QuicktimePlayer.GetDuration()/document.QuicktimePlayer.GetTimeScale()*1000);
        }
    }
    setTimeout("setFormattedTimeForQuicktimePlayer()",500);	
}


function min() {
	resWidth  = Math.round( Number(resWidth) - (resWidth/10) );
	resHeight = Math.round( Number(resHeight) - (resHeight/10) );			 
	sliderWidth = resWidth - 110;	
	setValues(resWidth,resHeight,sliderWidth);	
}

function max() {  
    resWidth  = Math.round( Number(resWidth) + (resWidth/10) );
	resHeight = Math.round( Number(resHeight) + (resHeight/10) );
	sliderWidth = resWidth - 110;
	setValues(resWidth,resHeight,sliderWidth);
}
	
function reset() {
    resWidth = resWidthDef;
    resHeight = resHeightDef;
    sliderWidth = sliderWidthDef;	
	setValues(resWidth,resHeight,sliderWidth);		
}

function ori() {   
    resWidth = resWidthOri;
    resHeight = resHeightOri;
	sliderWidth = sliderWidthOri;
	setValues(resWidth,resHeight,sliderWidth);	
}


function setValues(resWidth, resHeight, sliderWidth) {
	// for MS IE
	if (_ie) {
	    if ($('format').value == 'rm') {
	        $('RealPlayer').setAttribute('width',resWidth); 
	        $('RealPlayer').setAttribute('height',resHeight); 
			$('ControlPanel').setAttribute('width',sliderWidth); 
		} else if ($('format').value == 'flv') {
		    $('FlashMovie').setAttribute('width',resWidth); 
	        $('FlashMovie').setAttribute('height',resHeight);
		    $('ControlPanelID').setAttribute('width',sliderWidth);			
		}
	} else {
	    // for Mozilla
	    $('embPlayer').setAttribute('width',resWidth);  
	    $('embPlayer').setAttribute('height',resHeight);
		if ($('format').value == 'rm') {		
		    $('ControlPanelID').setAttribute('width',sliderWidth); 
		}
	}
}



function performInVideoSearch(){
    var q = $('searchInVideoText').value;
    var vid = $("current_vid").value;
    var dur = $('duration').value;
    var url = '/InVideoSearch;jsessionid=' + jsid;
	var pars = 'q=' + q + "&vid="+vid+'&dur='+dur; 
	var myAjax = new Ajax.Request( url, {
	    method: 'get', 
	    parameters: pars, 
	    onComplete: performInVideoSearchCallback
	    });
}
function performInVideoSearchCallback(transport){
    var msg = transport.responseText;    
    if (msg == "false"){
        // nothing
    } else {
       $("inVideoSearchResult").innerHTML = msg; 
    }   
}


function getAutoSuggestion(vid){
    var url = '/InVideoSearch;jsessionid=' + jsid;
    var pars = 'do=suggest'+ "&vid="+vid; 

	var myAjax = new Ajax.Request( url, {
	        method: 'get', 
	        parameters: pars, 
	 	    onComplete: getAutoSuggestionCallback
	       });
}
function getAutoSuggestionCallback(transport){
   var msg = transport.responseText;
   var customarray= msg.split(' ');
   actb($('searchInVideoText'),customarray);
}


function onEnterInVideoSearch(ev) {
    if (navigator.appName == "Netscape"){
        if (ev.which == 13){
            performInVideoSearch();
            return false;
        }
    } else if (navigator.appName == "Microsoft Internet Explorer"){
       if (window.event.keyCode == 13){
            performInVideoSearch();
            return false;   
        }
    }
}
function detectIE(ClassID,name) {
	result = false;
	document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); 
	if (result) return name+',';
	else return ''; 
}
function detectNS(ClassID,name) { 
	n = ""; 
	if (nse.indexOf(ClassID) != -1) 
		if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; 
	return n; 
}


function checkPlugins(format){
	//This script detects the following:
	//Flash
	//Windows Media Player
	//Java
	//Shockwave
	//RealPlayer
	//QuickTime
	//Acrobat Reader
	//SVG Viewer
	
	
	var agt=navigator.userAgent.toLowerCase();
	var ie  = (agt.indexOf("msie") != -1);
	var ns  = (navigator.appName.indexOf("Netscape") != -1);
	var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
	var mac = (agt.indexOf("mac")!=-1);
	
	//if (ie && win) {	pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader"); }
	if (ns || !win) {
			nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
			pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
	}
	
		
	pluginlist += navigator.javaEnabled() ? "Java," : "";
	if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
	
	
	
	//SAMPLE USAGE- detect "Flash"
	if (format=="flash")
		if (pluginlist.indexOf("Flash")==-1)
			$("playerPlugin").innerHTML = "<div height='100' width='100'><br><br><br><br><font color='red'>You have not installed the Flash plugin.</font><br><br> To view this content you need to install the Flash plugin into your web browser.<br> Follow this link and download the free Flash plugin: <br><br>&nbsp;&nbsp;&nbsp; <a href='http://get.adobe.com/flashplayer' target='parent'>http://get.adobe.com/flashplayer</a><br><br><br><br><br><br><br><br></div>";
	
	if (format=="qt")
		if (pluginlist.indexOf("QuickTime")==-1)
			$("playerPlugin").innerHTML = "<div height='100' width='100'><br><br><br><br><font color='red'>You have not installed the QuickTime plugin.</font><br><br> To view this content you need to install the QuickTime plugin into your web browser.<br> Follow this link and download the free QuickTime player: <br><br>&nbsp;&nbsp;&nbsp; <a href='http://www.apple.com/quicktime/download/' target='parent'>http://www.apple.com/quicktime/download/</a><br><br><br><br><br><br><br><br></div>";
	
	if (format=="rm")
		if (pluginlist.indexOf("Real")==-1)
			$("playerPlugin").innerHTML = "<div height='100' width='100'><br><br><br><br><font color='red'>Sorry. You have not installed the RealPlayer plugin.</font><br><br> To view this content you need to install the RealPlayer plugin into your web browser.<br> Follow this link and download the free RealPlayer: <br><br>&nbsp;&nbsp;&nbsp; <a href='http://www.realplayer.com' target='parent'>http://www.realplayer.com</a><br><br><br><br><br><br><br><br></div>";
			
}
