﻿/*Contains common utility functions for this project*/
/*-------------------------------------------------------------*/

function initPage(){

    
    setDivWidth('divPrev1',330);
    setDivWidth('divPrev2',330);
    setDivWidth('divPrev3',330);
    setDivWidth('divPrev4',330);
    setDivWidth('divPrev5',330);
    setDivWidth('divPrev6',330);
    setDivWidth('divPrev7',330);
    setDivWidth('divPrev8',330);

   
}
/*-------------------------------------------------------------*/
function setDivWidth(id,width){    
    var obj =document.getElementById(id);    
    if(obj && obj.parentNode  && obj.parentNode.parentNode && obj.parentNode.parentNode.parentNode){        
        
        obj.parentNode.parentNode.parentNode.style.width= width +'px';
        /*obj.parentNode.parentNode.style.width= width +'px';*/
        
    }
    if(obj && obj.parentNode.tagName=="A"){
        obj.onclick=function(){
            document.location=obj.parentNode.href;
        }
    }
    
}
/*-------------------------------------------------------------*/
function InfoItem (){};

//InfoItem.HTTPRequest	= null;
InfoItem.Initialised	= false;
InfoItem.Layer			= null;
InfoItem.Content		= null;
InfoItem.DropShadow		= null;
InfoItem.ContainerID	= "InfoUnit_InfoUnitContainer";
InfoItem.ContentID		= "InfoUnit_InfoContentFrame";

InfoItem.Init = function ()
{
	if(InfoItem.Initialised) return;
	
	InfoItem.Initialised				= true;
	InfoItem.Layer						= document.getElementById(InfoItem.ContainerID);
	//InfoItem.Layer.className			= "InfoItem";
	InfoItem.Layer.style.display		= "none";
	
	InfoItem.Content					= document.getElementById(InfoItem.ContentID);
	//InfoItem.Content.className			= "InfoContent";
	InfoItem.Content.style.display		= "none";
}

InfoItem.Show = function(o,banerImage,titleImage,popupTitle)
{
	var y = getScrolTop();
	document.getElementById("InfoUnit_InfoUnitContainer").style.top = (y+60)+"px";

	InfoItem.Layer.style.display			= "block";
	InfoItem.Content.style.display			= "block";
	InfoItem.Content.style.visibility		= "visible";
    var iframeDoc = getIframeDoc(InfoItem.Content);
    var contentObject=  getContent(o);
    
    if (iframeDoc) {
        iframeDoc.open();
        iframeDoc.write('<html><head><link rel="stylesheet" href="css/mulliner/mulliner.css" type="text/css" id="AdaptersInvariantImportCSS" /></head><body>' );
        iframeDoc.write('<div class="wrapper" id="InfoLayerContent" ><div id="HeaderTop">');
        iframeDoc.write('<div id="Panel_Print"><a id="Link_Print" href="javascript:window.print();">Print</a></div>');
        iframeDoc.write('<div id="Panel_Close"><a id="Link_Close" href="javascript:window.top.InfoItem.Close()">Close</a></div></div>');
        iframeDoc.write('<div id="MainContent" class="InfoContentMainContent"><div id="MainImagePanel"><img alt="'+ popupTitle +'" src="'+ banerImage +'" border="0"></div>');
        iframeDoc.write('<br/><div class="DisplayContent" id="DisplayContent"><span class="PageHeader" id="ArticleTitle"><img class="PopUpTitleImage" alt="'+ popupTitle +'" src="'+ titleImage + '" border="0"></span> ');
        iframeDoc.write('<br/><div class="PageContent" id="PageContent">'  + contentObject +'</div></div></div></div>');
        iframeDoc.write('</body></html>' );
                
        //iframeDoc.getElementById("PageContent").appendChild(contentObject);
        iframeDoc.close();
    }

    InfoItem.Initialised				= false;        
}

InfoItem.Close = function()
{
	InfoItem.Layer.style.display		= "none";
	InfoItem.Content.style.display		= "none";
	InfoItem.Content.style.visibility	= "hidden";
	InfoItem.Content.src				= "about:blank";
}

InfoItem.Create = function (o,banerImage,titleImage,popupTitle)
{
	InfoItem.Init();
	InfoItem.Show(o,banerImage,titleImage,popupTitle);
	o.onmouseover	= function(){window.status = o.innerText};
	o.onmouseout	= function(){window.status = ""};
}

InfoItem.ClearEvent = function(e)
{
	if(!e)e=window.event;
	e.cancelBubble = true;
	if(e.stopPropagation) e.stopPropagation();
}

/*-------------------------------------------------------------*/

function getContent(objLink){
    try
    {
        var objParentDiv;
        var objFirstChildDiv;
        var i;

        for(i=0;i<10;i++){
            objParentDiv= objLink.parentNode;
            if(objParentDiv.tagName.toLowerCase()=="div" && objParentDiv.className=="PreviewItem"){
                break;
            }
            objLink=objLink.parentNode;
        }

        for(i=0;i<10;i++){
            if(objParentDiv.childNodes[i]){
                objFirstChildDiv=objParentDiv.childNodes[i];
            }
            else{
                break;
            }
            if(objFirstChildDiv.tagName && objFirstChildDiv.id){
               if(objFirstChildDiv.tagName.toLowerCase()=='div' && objFirstChildDiv.id.indexOf("Panel1")>0){
                    break;
                }
             }
        }

        if(objFirstChildDiv){
            if(document.all){
                return objFirstChildDiv.innerHTML;
            }
             else{
             
                    try
                    {
                        return objFirstChildDiv.innerHTML;
                    }
                    catch(err)
                    {
                        return objFirstChildDiv.textContent;
                    }
            }
        }

        return "";
    }
    catch(err){
        alert(err);
    }
}
/*-------------------------------------------------------------*/
function getIframeDoc(obj){
    //debugger
    if (obj.contentDocument) {
       return InfoItem.Content.contentDocument;
    }
    else if (obj.contentWindow) {
       return  obj.contentWindow.document;
    }
    else if (window.frames[obj.name]) {
        return  window.frames[obj.name].document;
    }
    return ;
}
/*-------------------------------------------------------------*/
function getScrolTop(){

    switch(navigator.appName)
    {
        case 'Microsoft Internet Explorer':
            var myregex = /MSIE 7.0/i;
            var myArray = navigator.appVersion.match(myregex);
            if(myArray && myArray.length && myArray.length > 0) {
                return document.documentElement.scrollTop;
            }
            else
            {
                return document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ;
            }
            break;
        default:
            return window.pageYOffset;
    }
    return 0;
}

/*############################################################################################
##									Rich Media Unit Functions								##
############################################################################################*/
function RichMediaUnit()
{
	this.m_Index = RichMediaUnit.m_Instances.length;
	RichMediaUnit.m_Instances[this.m_Index] = this;
}
RichMediaUnit.m_Instances				= new Array();
RichMediaUnit.prototype.RMUID			= null;
RichMediaUnit.prototype.RMU				= null;
RichMediaUnit.prototype.m_CurrentSrc	= "";
RichMediaUnit.prototype.m_RetryCount	= 0;
RichMediaUnit.prototype.m_RetryMax		= 50;
RichMediaUnit.prototype.m_RetryItvl		= null;

RichMediaUnit.CallInstance = function (i,method,p0,p1,p2)
{
	RichMediaUnit.m_Instances[i][method](p0,p1,p2);
}

RichMediaUnit.prototype.GetSrcUrl = function(root,src)
{
	if(root.indexOf("?")==-1)
	{
		return root+"?mediaSrc="+src;
	} else {
		return root.indexOf("mediaSrc")==-1 ? root+"&mediaSrc="+src : root.split("mediaSrc=")[0]+"mediaSrc="+src;
	}
}

RichMediaUnit.prototype.SetMediaSrc=function(src,captionLeft,captionRight)
{
	var tmp = src+captionLeft+captionRight;
	if(tmp==this.m_CurrentSrc) return;
	
	if(window[this.RMUID])
	{
		this.RMU = window.document[this.RMUID] ? window.document[this.RMUID] : window[this.RMUID];
	} else if(document[this.RMUID]) {
		this.RMU = document[this.RMUID];
	} else {
		this.RMU = document.getElementById(this.RMUID);
	}
	
	var s = src.toLowerCase();
	if(!RichMediaUnit.FlashEnabled&&(s.indexOf(".flv")!=-1||s.indexOf(".swf"))!=-1)
	{
		self.location.href = this.GetSrcUrl(self.location.href,src);
		return;
	}
	if(RichMediaUnit.FlashEnabled)
	{
		try
		{
			if(++this.m_RetryCount<this.m_RetryMax) this.m_RetryItvl = setTimeout("RichMediaUnit.CallInstance("+this.m_Index+",'SetMediaSrc','"+src+"','"+captionLeft+"','"+captionRight+"')",100);
			this.RMU.SetVariable("captionLeft",captionLeft);
			this.RMU.SetVariable("captionRight",captionRight);
			this.RMU.SetVariable("mediaSrc",src);
			clearTimeout(this.m_RetryItvl);
		}
		catch (e)
		{
			if(RichMediaUnit.FlashEnabled)
			{
				var s = this.GetSrcUrl(RichMediaUnit.StubFileSource,src)+"&captionLeft="+captionLeft+"&captionRight="+captionRight;
				if(this.RMU.movie)
				{
					this.RMU.movie = s;
				} else {
					// trap browsers that can't even update the src attribute correctly :- safari
					if(navigator.userAgent.toLowerCase().indexOf("safari"))
					{
						var fvars = "mediaSrc="+src+"&amp;captionLeft="+captionLeft+"&amp;captionRight="+captionRight;
						var t = this.RMU.outerHTML;
						var fvi = t.indexOf("flashvars=");
						t = t.substring(0,fvi)+"flashvars=\"" +fvars+"\""+ t.substring(t.indexOf("\"",fvi+11)+1,t.length);
						this.RMU.outerHTML = t;
					} else {
						this.RMU.src = s;
					}
				}
			} else {
				this.RMU.src = src;
			}
		}
	} else {
		this.RMU.src = src;
		if(captionLeft!="")
		{
			var capDiv = document.getElementById(this.RMUID+"_Caption");
			if(capDiv!=null) capDiv.innerHTML = captionLeft;
		}
	}
	
	if(document.body.scrollTop)
	{
		document.body.scrollTop = 0;
	} else {
		document.body.pageYOffset = 0;
	}
	
	this.m_CurrentSrc = tmp;
}

/*-------------------------------------------------------------*/