﻿ItvJs.Video.Mercury.Guidance = function() { }

ItvJs.Video.Mercury.Guidance.prototype = 
{
    pageWidth:null,
    pageHeight:null,
    playerContainerId:null,
    videoPlayerId:null,
    flashBasePath:null,
    
    getAbsoluteTop:function(objectId) {
	    o = document.getElementById(objectId);
	    oTop = o.y ? o.y : o.offsetTop; 
	    while(o.offsetParent!=null) { 
		    oParent = o.offsetParent 
		    oTop += o.y ? o.y : oParent.offsetTop; 
		    o = oParent
	    }
	    return oTop
    },
     
    insertGuidance: function()
    {
	    var cDiv = document.getElementById('itv-videoGuidance');
	    var url = ItvJs.Video.Mercury.flashBasePath + 'Guidance.swf?v=' + ItvJs.Video.Mercury.version;
	    var cFlash = new SWFObject(url, "cDiv", "600", "600", "10", "#000000");
	    cFlash.addParam("wmode", "opaque");
	    cFlash.addParam("flashvars", "basePath="+ItvJs.Video.Mercury.Guidance.flashBasePath); 
	    cFlash.addParam("allowScriptAccess", "always");
	    cFlash.write(cDiv);
    },
    
    
    getDimensions:function () {
	
	    if (document.documentElement.clientWidth)  {  
		    ItvJs.Video.Mercury.Guidance.pageWidth = document.documentElement.clientWidth;	
	    }
	    else if (document.body.scrollWidth) {//IE6 & 7
		    ItvJs.Video.Mercury.Guidance.pageWidth = document.body.scrollWidth;
	    }

	    if( window.innerHeight && window.scrollMaxY ) // Firefox with scroll bar
		    ItvJs.Video.Mercury.Guidance.pageHeight = window.innerHeight + window.scrollMaxY;
	    else if( document.body.scrollHeight > document.body.offsetHeight ) // all but Explorer Mac
	    {
		    ItvJs.Video.Mercury.Guidance.pageHeight = document.body.scrollHeight;
		    if (window.innerHeight > ItvJs.Video.Mercury.Guidance.pageHeight)
			     ItvJs.Video.Mercury.Guidance.pageHeight=window.innerHeight;
	    }
	    else 
	    { 
		    ItvJs.Video.Mercury.Guidance.pageHeight = document.body.offsetHeight + document.body.offsetTop;
		    if (document.documentElement.clientHeight > ItvJs.Video.Mercury.Guidance.pageHeight)
			    ItvJs.Video.Mercury.Guidance.pageHeight=document.documentElement.clientHeight;		 
	    }
    },
    
    setGuidanceCover:function(){
	    ItvJs.Video.Mercury.Guidance.getDimensions();
    	
	    if (document.all){
		    document.getElementById('itv-guidanceCover').style.width=ItvJs.Video.Mercury.Guidance.pageWidth;
	    }
	    else {
		    document.getElementById('itv-guidanceCover').style.width=ItvJs.Video.Mercury.Guidance.pageWidth+"px";
	    }
	    document.getElementById('itv-guidanceCover').style.height=ItvJs.Video.Mercury.Guidance.pageHeight+"px";
    },
    
    
     moveAndDisplayGuidance:function(){
	    playerPosition = ItvJs.Video.Mercury.Guidance.getAbsoluteTop(ItvJs.Video.Mercury.Guidance.playerContainerId);
	    if (playerPosition+620 > ItvJs.Video.Mercury.Guidance.pageHeight)
		    playerPosition = ItvJs.Video.Mercury.Guidance.pageHeight - 630;
    	
	    document.getElementById('itv-videoGuidance').style.top = playerPosition + 20 + "px";
	    document.getElementById('itv-videoGuidance').style.left = ItvJs.Video.Mercury.Guidance.pageWidth/2-300+"px";
	    document.getElementById('itv-videoGuidance').style.display="block";
	    document.getElementById('itv-guidanceCover').style.display="block";
	    window.scrollTo(0,playerPosition - 20);
    },
    
    
    closeGuidance:function(){
	    document.getElementById('itv-guidanceCover').style.display ="none";
	    document.getElementById('itv-videoGuidance').style.display="none";
	    document.getElementById('itv-videoGuidance').innerHTML='';
    }
   
}

ItvJs.Video.Mercury.Guidance = new ItvJs.Video.Mercury.Guidance();


/* these are called from flash, so can not be namespaced */
function flashExt_playVideo() {
    ItvJs.Video.Mercury.Guidance.closeGuidance();
    VideoPlayer = eval('document.Mercury_VideoPlayer' + ItvJs.Video.Mercury.Guidance.videoPlayerId);
    VideoPlayer.guidanceAproved(); 
}

function flashExt_noVideo() {
    ItvJs.Video.Mercury.Guidance.closeGuidance();
    VideoPlayer = eval('document.Mercury_VideoPlayer'+ItvJs.Video.Mercury.Guidance.videoPlayerId);
    VideoPlayer.guidanceDenied();
}

function showGuidance(playerContainerIdLocal,basePath){
    ItvJs.Video.Mercury.Guidance.playerContainerId=playerContainerIdLocal;
	ItvJs.Video.Mercury.Guidance.videoPlayerId=playerContainerIdLocal.replace(/-/g,'');
	ItvJs.Video.Mercury.Guidance.flashBasePath = basePath;
   
    if(ItvJs.Video.Mercury.noGuidance)
        flashExt_playVideo();
    else {
		ItvJs.Video.Mercury.Guidance.setGuidanceCover();
		ItvJs.Video.Mercury.Guidance.insertGuidance();
		ItvJs.Video.Mercury.Guidance.moveAndDisplayGuidance();
	}	
}




