Event.observe(document,"dom:loaded", function() {
	$$('a.pdfviewer').each(function(elm) {
		if (elm.href.endsWith('.pdf')) {
			if (Prototype.Browser.IE) {
				if (pipwerks.pdfUTILS.detect.pluginFound()) {
					var newEmbed = new Element('embed', { 
						'src':elm.href,
						'width':'100%',
						'height':'600'
					}).setStyle({
						border:'1px solid #333'
					});
					elm.replace(newEmbed);
				}
			} else {
				var newDiv = new Element('div').setStyle({
					position:'relative' 
				});
				var newImg = new Element('img', {
					'src':'/_img/doc_viewer_logo.jpg'
				}).setStyle({
					position:'absolute', 
					top:'1px',
					left:'1px'
				});
				var newImg2 = new Element('img', {
					'src':'/_img/doc_viewer_cover.jpg'
				}).setStyle({
					position:'absolute', 
					top:'1px',
					right:'1px'
				});
				var newIFrame = new Element('iframe', {
					'src':'http://docs.google.com/viewer?url='+escape(elm.href)+'&embedded=true',
					'width':'100%',
					'height':'600'
				}).setStyle({
					border:'1px solid #666' 
				});			
				newDiv.insert(newImg);
				newDiv.insert(newImg2);
				newDiv.insert(newIFrame);
				elm.replace(newDiv);
			}
		}
	});
});

var pipwerks = pipwerks || {};

pipwerks.pdfUTILS = {
	termFound: function (strToSearch, term){
		return (strToSearch.indexOf(term) !== -1);
	},	

	detect: {		
		hasReaderActiveX: function (){
			var axObj = null;
			
			if (window.ActiveXObject) {	
				try {
					axObj = new ActiveXObject("AcroPDF.PDF");
				} catch(err) {}
					
				if(!axObj){					
					try {
						axObj = new ActiveXObject("PDF.PdfCtrl");			
					} catch(err) {}
				}
				
				if (axObj !== null) { 					
					return true;					
				}		
			}
			
			return false;			
		},

		hasReader: function (){		
			var termFound = pipwerks.pdfUTILS.termFound;
			var n = navigator.plugins;
			
			for(var i=0; i < n.length; i++){				
				var name = n[i].name;
				
				if(termFound(name, "Adobe Reader") || termFound(name, "Adobe PDF") || termFound(name, "Acrobat")){					
					return true;	
				}
			}
			
			return false;
		},

		//Detects PDF plugin, regardless of manufacturer
		hasGeneric: function (){			
			var plugin = navigator.mimeTypes["application/pdf"];
			return (plugin && plugin.enabledPlugin);		
		},

		pluginFound: function (){
			var type = null;
			var detect = pipwerks.pdfUTILS.detect;
			
			if(detect.hasReader() || detect.hasReaderActiveX()){				
				type = "Adobe";			
			} else if(detect.hasGeneric()) {			
				type = "generic";			
			}
			
			return type;
		}
	}	
};
