/*
	(c) 2007 and later by Antonov Club Avianna. Created by Roman Bigler.
	Do not copy or use this code without our prior written permission.
	
	Parts of this file might be exluded from the above Copyright, this is
	noted in-place.
*/

/*	The following Code (Object BrowserDetect, until "EOF PD CODE") is directly 
	taken from  quirksmode.org. Their copyright applies.
	*/
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
/* **** EOF PD CODE **** */

/*	This replaces pixel-based images by their vector-based SVG
	counterparts, given that they have the right CSS class.
	Note that there are still browsers out there which don't
	implement SVG sufficiently, so pay attention you call this
	function. It's not babysitting the browser. 
*/
var SVG_CSS_REPLACE_CLASS 	= "svgReplace";
function loadSVG() {
	var imageElements = document.getElementsByTagName("img");
	for (var i = 0; i < imageElements.length; i++) {
		var imgEl = imageElements[i];
		var classAttr = imgEl.getAttribute("class");
		if (classAttr != null && classAttr.search(SVG_CSS_REPLACE_CLASS) >= 0) {
			var newURL = imgEl.getAttribute("src");
			newURL = newURL.replace(/(.+\.).+/, "$1svg");
			var parNode = imgEl.parentNode;
		}
	}
}

/*	This replaces <img> SVG's in src with their PNG counterparts, 
	given that they have the right CSS class 
	(SVG_IMGEL_REMOVE_ID, set above). This is intended for 
	the ancient and/or shitty browsers that are unable to support 
	SVGs, but PNGs.
*/
var SVG_IMGEL_REMOVE_ID		= "svgToBeRemoved";
function loadPNG() {
	var imageElements = document.getElementsByTagName("img");
	for (var i = 0; i < imageElements.length; i++) {
		var imgEl = imageElements[i];
		var classAttr = imgEl.className;
		if (classAttr != null && classAttr.search(SVG_IMGEL_REMOVE_ID) >= 0) {
			var newURL = imgEl.getAttribute("src");
			newURL = newURL.replace(/(.+\.).+/, "$1png");
			imgEl.src = newURL;
		}
	}
}

function sharpenScaleds() {
	var imageElements = document.getElementsByTagName("img");
	for (var i = 0; i < imageElements.length; i++) {
		var imgEl = imageElements[i];
		if (imgEl.className.search("sharpen") >= 0) {
			alert("sharpening " + imgEl.src);
			var newimg = Pixastic.process(imgEl, "sharpen",{amount : 0.2});
			imgEl = newimg;
		}
	}
}
function blurScaleds() {
	var imageElements = document.getElementsByTagName("img");
	for (var i = 0; i < imageElements.length; i++) {
		var imgEl = imageElements[i];
		if (imgEl.className.search("blur") >= 0) {
			alert("sharpening " + imgEl.src);
			var newimg = Pixastic.process(imgEl, "blurfast",{amount : 0.05});
			imgEl = newimg;
		}
	}
}
