 var requiredMajorVersion = 8;
 var requiredMinorVersion = 0;
 var requiredRevision = 0;

 var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
 var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
 
 function JSGetSwfVer(i){
             if (navigator.plugins != null && navigator.plugins.length > 0) {
                         if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
                                    var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
                         var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
                                    descArray = flashDescription.split(" ");
                                    tempArrayMajor = descArray[2].split(".");
                                    versionMajor = tempArrayMajor[0];
                                    versionMinor = tempArrayMajor[1];
                                    if ( descArray[3] != "" ) {
                                                tempArrayMinor = descArray[3].split("r");
                                    } else {
                                                tempArrayMinor = descArray[4].split("r");
                                    }
                         versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
             flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
             } else {
                                    flashVer = -1;
                         }
             }
             else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
             else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
             else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
             else {                       
                         flashVer = -1;
             }
             return flashVer;
 } 
 
 function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
 {
             reqVer = parseFloat(reqMajorVer + "." + reqRevision);
             for (i=25;i>0;i--) {       
                         versionStr = JSGetSwfVer(i);              
                         if (versionStr == -1 ) { 
                                    return false;
                         } else if (versionStr != 0) {
                                    versionArray      = versionStr.split(".");
                                    
                                    versionMajor      = versionArray[0];
                                    versionMinor      = versionArray[1];
                                    versionRevision   = versionArray[2];
                                    
                                    versionString     = versionMajor + "." + versionRevision;   
                                    versionNum        = parseFloat(versionString);
                                    if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
                                                return true;
                                    } else {
                                                return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );    
                                    }
                         }
             }          
             return (reqVer ? false : 0.0);
 }
 
 function getPDFIframe()
 {
	 var theFrame = false;
	 
	 for(i=0; i < window.frames.length; i++) {
		 
		 if(window.frames[i].name == 'pdfViewFrame') {
			 theFrame = window.frames[i];
			 break;
		 }
	 }
	 
	 return theFrame;
 }


 function getPDFMovie()
 {
	 var movieName = 'Print2FlashDoc';
	 
	 var theFrame = getPDFIframe();
	 
   if (theFrame.document[movieName]) 
   {
       return theFrame.document[movieName];
   }
   if (navigator.appName.indexOf("Microsoft Internet")==-1)
   {
     if (theFrame.document.embeds && theFrame.document.embeds[movieName])
       return theFrame.document.embeds[movieName]; 
   }
   else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
   {
     return theFrame.document.getElementById(movieName);
   }
 }
 
function loadPDF(target, w, h, particle)
{
	
    if(isIE && isWin) 
    {
    	target.viewNode.innerHTML = '<iframe id="pdfViewFrame" name="pdfViewFrame" scrolling="no" width="'+w+'" height="'+h+'" frameborder="0" style="" src="/projects/swfobject/width/'+(w)+'/height/'+(h)+'/particle/'+particle+'?applicationkey='+applicationKey+'"></iframe>'
    } 
    else 
        if(DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision)) 
        {
        	target.viewNode.innerHTML = '<iframe id="pdfViewFrame" name="pdfViewFrame" scrolling="no" width="'+w+'" height="'+h+'" frameborder="0" src="/projects/swfobject/width/'+(w)+'/height/'+(h)+'/particle/'+particle+'?applicationkey='+applicationKey+'"></iframe>'
        } 
        else
        {
        	target.viewNode.innerHTML = '<iframe id="pdfViewFrame" name="pdfViewFrame" scrolling="no" width="'+w+'" height="'+h+'" frameborder="0" src="/projects/swfrequired?applicationkey='+applicationkey+'"></iframe>'
        }
	
}

function loadPDFReady(pages) {
	
	if(window.parent && window.parent != window) {
		window.parent.loadPDFReady(pages);
	} else {
	
		var movieObject = window.parent.getPDFMovie();
		
        var val = bb.document.getElementById('pdf-zoom').getProperty('value');
        if(val.indexOf('%') != -1) {
        	val = new String(val).substring(0, new String(val).length-1);
        }
		
		movieObject.SetVariable('/:setzoom', val / 100);
		
		var pdfViewerPageSelect = bb.document.getElementById('pdf-viewer-pageselect');
		
		var pdfViewerPageSelectOpts = bb.evaluateSmart('[b:comboBoxOption]', pdfViewerPageSelect, pdfViewerPageSelect);
		
		for(i=1; i < pdfViewerPageSelectOpts.length; i++) {
			
			pdfViewerPageSelect.removeChild(pdfViewerPageSelectOpts[i]);
		}
		
		for(i=0; i < pages; i++) {
			
			var comboBoxOption = bb.document.createElementNS('http://www.backbase.com/2006/btl', 'comboBoxOption');
			
			comboBoxOption.setAttribute('value', String(i+1));
			
			if(i==0) {
				comboBoxOption.setAttribute('selected', 'true');
			}
			
			var cdata = bb.document.createCDATASection(String(i+1));
			comboBoxOption.appendChild(cdata);
			
			pdfViewerPageSelect.appendChild(comboBoxOption);
		}
		
		var rsPdfImagePlaceholders = bb.evaluateSmart('[//input[@class="pdfPageImagePlaceholder"]]', pdfViewerPageSelect);
		
		var idxPdfImagePlaceholders = new Array();
		
		for(i=0; i < rsPdfImagePlaceholders.length; i++) {
			idxPdfImagePlaceholders.push(rsPdfImagePlaceholders[i].getAttribute('id'));
		}
		
		idxPdfImagePlaceholders.sort();
		
		for(i=0; i < rsPdfImagePlaceholders.length; i++) {
			
			var inputId = idxPdfImagePlaceholders[i];
			
			var input = bb.document.getElementById(inputId);
			
			var img = bb.evaluateSmart('preceding::img[1]', input);

			var newImg = new Image();
			newImg.oldImg = img.viewNode;
			
			newImg.onload = function(e){
				
				var source = e != undefined ? e.target.src : this.src;
				var oldImg = e != undefined ? e.target.oldImg : this.oldImg;
				
				oldImg.src = source;
				oldImg.style.marginTop = '';
				oldImg.style.marginBottom = '';
			};
			
			newImg.src = input.getAttribute('value');
			
			input.getProperty('parentNode').removeChild(input);
		}
		
		resizePDF();
	}
}

function unsetPDFAirType() {

	var windowPDF = bb.document.getElementById('windowPDF');
	
	if(windowPDF) {
		var switches = bb.evaluateSmart('[//b:toolBarSwitch[@class="airtype" or @class="arrow"]]', windowPDF, windowPDF);
		
		for(i=0; i < switches.length; i++) {
		
			switches[i].setProperty('active', false);
		}
	}
}

function resizePDF(newWidth, newHeight) {

	
    var pdfIframe = getPDFIframe();
    
    if(pdfIframe == undefined || pdfIframe.setSize == undefined) {
    	window.setTimeout(function(){
    		resizePDF(newWidth, newHeight);
    	}, 50);
    	return;
    }
    
	if(newWidth == undefined) {
		var windowPDF = bb.document.getElementById('windowPDF');
		var windowPDFBox = bb.html.getBoxObject(windowPDF.viewNode);
		newWidth = windowPDFBox.w;
		newHeight = windowPDFBox.h;
	}
	
	var pdfViewerSidebar = bb.document.getElementById('pdf-viewer-panel-sidebar');
	var pdfViewerContent = bb.document.getElementById('pdf-viewer-panel-content');
	
	if(pdfViewerSidebar.viewNode.style.display == 'block') {
		newWidth -= 200;
	}
	
	pdfViewerSidebar.viewNode.style.left = ((newWidth)+'px');
	pdfViewerSidebar.viewNode.style.height = (newHeight-90)+'px';
	
	pdfViewerContent.viewNode.style.width = (newWidth-20)+'px';
	pdfViewerContent.viewNode.style.height = (newHeight-90)+'px';
	
    document.getElementById('pdfViewFrame').style.width = (newWidth-30).toString() + 'px';
    document.getElementById('pdfViewFrame').style.height = (newHeight-70).toString() + 'px';
    
    pdfIframe.setSize(newWidth-35, newHeight-90);
}

