var lowRez = document.getElementsByName("1200px");
var hiRez = document.getElementsByName("2000px");
var defaultRez = document.getElementsByName("defaultRez");
var forbiddenFruit = document.getElementsByName("forbiddenFruit");
var login = document.getElementsByName("login");
var Join = document.getElementsByName("Join");
var updates = document.getElementsByName("updates");
var Galleries = document.getElementsByName("Galleries");
var Films = document.getElementsByName("Films");
var OurModels = document.getElementsByName("OurModels");
var Mobile = document.getElementsByName("Mobile");
var ArtTech = document.getElementsByName("ArtTech");
var DVD = document.getElementsByName("DVD");
var Book = document.getElementsByName("Book");
var Prints = document.getElementsByName("Prints");
var Posters = document.getElementsByName("Posters");
var OrigArt = document.getElementsByName("OrigArt");
var subscribe = document.getElementsByName("subscribe");
var nab = document.getElementsByName("nab");
var nab1 = document.getElementsByName("nab1");
var nab2 = document.getElementsByName("nab2");
var nab3 = document.getElementsByName("nab3");
var nab4 = document.getElementsByName("nab4");
var nab5 = document.getElementsByName("nab5");
var nab6 = document.getElementsByName("nab6");
var nab7 = document.getElementsByName("nab7");
var hj = document.getElementsByName("hj");
var hjf = document.getElementsByName("hjf");
var base = document.getElementsByName("base");
var Join6 = document.getElementsByName("Join6");
var Join6r = document.getElementsByName("Join6r");
var Join6rb = document.getElementsByName("Join6rb");
var Join2 = document.getElementsByName("Join2");
var Totalar = document.getElementsByName("Totalar");
var Totalal = document.getElementsByName("Totalal");
var Films = document.getElementsByName("Films");
var Subscribe6r = document.getElementsByName("Subscribe6r");
var Goshopr = document.getElementsByName("Goshopr");
var Goshopl = document.getElementsByName("Goshopl");
var button = document.getElementsByName("button");
var plate = document.getElementsByName("plate");
var cart = document.getElementsByName("cart");
var dish = document.getElementsByName("dish");

for(i = 0; i < lowRez.length; i++) { lowRez[i].onclick = function() { return popup('19', '6', '12k'); } }
for(i = 0; i < hiRez.length; i++) { hiRez[i].onclick = function() { return popup('19', '6', '20k'); } }
for(i = 0; i < defaultRez.length; i++) { defaultRez[i].onclick = function() { return popup('19', '6', ''); } }
for(i = 0; i < forbiddenFruit.length; i++) { forbiddenFruit[i].onclick = function() { return popup('64', '', ''); } }


for(i = 0; i < login.length; i++) {
	login[i].onmouseover = function() { MM_swapImage('bl_login','','/images/bl_login_on.gif',1); }
	login[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Join.length; i++) {
	Join[i].onmouseover = function() { MM_swapImage('br_join','','/images/br_join_on.gif',1); }
	Join[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < updates.length; i++) {
	updates[i].onmouseover = function() { MM_swapImage('m_updates','','/images/menu2_m_updates_on.gif',1); }
	updates[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Galleries.length; i++) {
	Galleries[i].onmouseover = function() { MM_swapImage('M_Galleries','','/images/menu2_m_galleries_on.gif',1); }
	Galleries[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Films.length; i++) {
	Films[i].onmouseover = function() { MM_swapImage('M_Films','','/images/menu2_m_films_on.gif',1); }
	Films[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < OurModels.length; i++) {
	OurModels[i].onmouseover = function() { MM_swapImage('M_OurModels','','/images/menu2_m_ourmodels_on.gif',1); }
	OurModels[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Mobile.length; i++) {
	Mobile[i].onmouseover = function() { MM_swapImage('M_Mobile','','/images/menu2_m_mobile_on.gif',1); }
	Mobile[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < ArtTech.length; i++) {
	ArtTech[i].onmouseover = function() { MM_swapImage('M_ArtTech','','/images/menu2_m_art_on.gif',1); }
	ArtTech[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < DVD.length; i++) {
	DVD[i].onmouseover = function() { MM_swapImage('M_DVD','','/images/menu2_m_dvd_on.gif',1); }
	DVD[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Book.length; i++) {
	Book[i].onmouseover = function() { MM_swapImage('M_Book','','/images/menu2_m_book_on.gif',1); }
	Book[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Prints.length; i++) {
	Prints[i].onmouseover = function() { MM_swapImage('M_Prints','','/images/menu2_m_prints_on.gif',1); }
	Prints[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Posters.length; i++) {
	Posters[i].onmouseover = function() { MM_swapImage('M_Posters','','/images/menu2_m_posters_on.gif',1); }
	Posters[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < OrigArt.length; i++) {
	OrigArt[i].onmouseover = function() { MM_swapImage('M_OrigArt','','/images/menu2_m_originals_on.gif',1); }
	OrigArt[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < subscribe.length; i++) {
	subscribe[i].onmouseover = function() { MM_swapImage('subscribe_f','','/web_2.0/subscribe_on.gif',1); }
	subscribe[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab1.length; i++) {
	nab1[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_1_on.jpg',1); }
	nab1[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab.length; i++) {
	nab[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_8_on.jpg',1); }
	nab[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab2.length; i++) {
	nab2[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_2_on.jpg',1); }
	nab2[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab3.length; i++) {
	nab3[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_3_on.jpg',1); }
	nab3[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab4.length; i++) {
	nab4[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_4_on.jpg',1); }
	nab4[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab5.length; i++) {
	nab5[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_5_on.jpg',1); }
	nab5[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab6.length; i++) {
	nab6[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_6_on.jpg',1); }
	nab6[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < nab7.length; i++) {
	nab7[i].onmouseover = function() { MM_swapImage('na','','/Upload/banners/horizbanner_7_on.jpg',1); }
	nab7[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < hj.length; i++) {
	hj[i].onmouseover = function() { MM_swapImage('headerjoin','','/images/headere_on.gif',1); }
	hj[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < hjf.length; i++) {
	hjf[i].onmouseover = function() { MM_swapImage('headerjoin','','/images/headerj_on.gif',1); }
	hjf[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < base.length; i++) {
	base[i].onmouseover = function() { MM_swapImage('bse','','/images/base_on.gif',1); }
	base[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Join6.length; i++) {
	Join6[i].onmouseover = function() { MM_swapImage('jn6','','/images/join6_on.gif',1); }
	Join6[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Join6r.length; i++) {
	Join6r[i].onmouseover = function() { MM_swapImage('jn6r','','/images/join6_on.gif',1); }
	Join6r[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Join6rb.length; i++) {
	Join6rb[i].onmouseover = function() { MM_swapImage('jn6rb','','/images/join6_on.gif',1); }
	Join6rb[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Join2.length; i++) {
	Join2[i].onmouseover = function() { MM_swapImage('jn2','','/images/join2_on.gif',1); }
	Join2[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Totalar.length; i++) {
	Totalar[i].onmouseover = function() { MM_swapImage('tar','','/images/ta_on.gif',1); }
	Totalar[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Totalal.length; i++) {
	Totalal[i].onmouseover = function() { MM_swapImage('tal','','/images/ta_on.gif',1); }
	Totalal[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Films.length; i++) {
	Films[i].onmouseover = function() { MM_swapImage('mfilms','','/images/films_on.gif',1); }
	Films[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Subscribe6r.length; i++) {
	Subscribe6r[i].onmouseover = function() { MM_swapImage('sn6r','','/images/subscribe6_on.gif',1); }
	Subscribe6r[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Goshopr.length; i++) {
	Goshopr[i].onmouseover = function() { MM_swapImage('gsr','','/images/gsr_on.gif',1); }
	Goshopr[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < Goshopl.length; i++) {
	Goshopl[i].onmouseover = function() { MM_swapImage('gsl','','/images/gsl_on.gif',1); }
	Goshopl[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < button.length; i++) {
	button[i].onmouseover = function() { MM_swapImage('log_rb','','/images/rb_login_on.gif',1); }
	button[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < plate.length; i++) {
	plate[i].onmouseover = function() { MM_swapImage('tplate','','/images/plate_on.jpg',1); }
	plate[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < cart.length; i++) {
	cart[i].onmouseover = function() { MM_swapImage('bl_cart','','/images/bl_cart_on.gif',1); }
	cart[i].onmouseout = function() { MM_swapImgRestore(); }
}

for(i = 0; i < dish.length; i++) {
	dish[i].onmouseover = function() { MM_swapImage('dn','','/images/dish_on.gif',1); }
	dish[i].onmouseout = function() { MM_swapImgRestore(); }
}

// XMLHttpRequest.js Copyright (C) 2008 Sergey Ilinsky (http://www.ilinsky.com)
//
// This work is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation; either version 2.1 of the License, or
// (at your option) any later version.

// This work is distributed in the hope that it will be useful,
// but without any warranty; without even the implied warranty of
// merchantability or fitness for a particular purpose. See the
// GNU Lesser General Public License for more details.

// You should have received a copy of the GNU Lesser General Public License
// along with this library; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

(function () {

	// Save reference to earlier defined object implementation (if any)
	var oXMLHttpRequest	= window.XMLHttpRequest;

	// Define on browser type
	var bGecko	= !!window.controllers,
		bIE		= window.document.all && !window.opera;

	// Constructor
	function cXMLHttpRequest() {
		this._object	= oXMLHttpRequest ? new oXMLHttpRequest : new window.ActiveXObject("Microsoft.XMLHTTP");
		this._listeners	= [];
	};

	// BUGFIX: Firefox with Firebug installed would break pages if not executed
	if (bGecko && oXMLHttpRequest.wrapped)
		cXMLHttpRequest.wrapped	= oXMLHttpRequest.wrapped;

	// Constants
	cXMLHttpRequest.UNSENT				= 0;
	cXMLHttpRequest.OPENED				= 1;
	cXMLHttpRequest.HEADERS_RECEIVED	= 2;
	cXMLHttpRequest.LOADING				= 3;
	cXMLHttpRequest.DONE				= 4;

	// Public Properties
	cXMLHttpRequest.prototype.readyState	= cXMLHttpRequest.UNSENT;
	cXMLHttpRequest.prototype.responseText	= '';
	cXMLHttpRequest.prototype.responseXML	= null;
	cXMLHttpRequest.prototype.status		= 0;
	cXMLHttpRequest.prototype.statusText	= '';

	// Instance-level Events Handlers
	cXMLHttpRequest.prototype.onreadystatechange	= null;

	// Class-level Events Handlers
	cXMLHttpRequest.onreadystatechange	= null;
	cXMLHttpRequest.onopen				= null;
	cXMLHttpRequest.onsend				= null;
	cXMLHttpRequest.onabort				= null;

	// Public Methods
	cXMLHttpRequest.prototype.open	= function(sMethod, sUrl, bAsync, sUser, sPassword) {
		// Delete headers, required when object is reused
		delete this._headers;

		// When bAsync parameter value is omitted, use true as default
		if (arguments.length < 3)
			bAsync	= true;

		// Save async parameter for fixing Gecko bug with missing readystatechange in synchronous requests
		this._async		= bAsync;

		// Set the onreadystatechange handler
		var oRequest	= this,
			nState		= this.readyState,
			fOnUnload;

		// BUGFIX: IE - memory leak on page unload (inter-page leak)
		if (bIE && bAsync) {
			fOnUnload = function() {
				if (nState != cXMLHttpRequest.DONE) {
					fCleanTransport(oRequest);
					// Safe to abort here since onreadystatechange handler removed
					oRequest.abort();
				}
			};
			window.attachEvent("onunload", fOnUnload);
		}

		// Add method sniffer
		if (cXMLHttpRequest.onopen)
			cXMLHttpRequest.onopen.apply(this, arguments);

		if (arguments.length > 4)
			this._object.open(sMethod, sUrl, bAsync, sUser, sPassword);
		else
		if (arguments.length > 3)
			this._object.open(sMethod, sUrl, bAsync, sUser);
		else
			this._object.open(sMethod, sUrl, bAsync);

		if (!bGecko && !bIE) {
			this.readyState	= cXMLHttpRequest.OPENED;
			fReadyStateChange(this);
		}

		this._object.onreadystatechange	= function() {
			if (bGecko && !bAsync)
				return;

			// Synchronize state
			oRequest.readyState		= oRequest._object.readyState;

			//
			fSynchronizeValues(oRequest);

			// BUGFIX: Firefox fires unnecessary DONE when aborting
			if (oRequest._aborted) {
				// Reset readyState to UNSENT
				oRequest.readyState	= cXMLHttpRequest.UNSENT;

				// Return now
				return;
			}

			if (oRequest.readyState == cXMLHttpRequest.DONE) {
				//
				fCleanTransport(oRequest);
// Uncomment this block if you need a fix for IE cache
/*
				// BUGFIX: IE - cache issue
				if (!oRequest._object.getResponseHeader("Date")) {
					// Save object to cache
					oRequest._cached	= oRequest._object;

					// Instantiate a new transport object
					cXMLHttpRequest.call(oRequest);

					// Re-send request
					if (sUser) {
					 	if (sPassword)
							oRequest._object.open(sMethod, sUrl, bAsync, sUser, sPassword);
						else
							oRequest._object.open(sMethod, sUrl, bAsync, sUser);
					}
					else
						oRequest._object.open(sMethod, sUrl, bAsync);
					oRequest._object.setRequestHeader("If-Modified-Since", oRequest._cached.getResponseHeader("Last-Modified") || new window.Date(0));
					// Copy headers set
					if (oRequest._headers)
						for (var sHeader in oRequest._headers)
							if (typeof oRequest._headers[sHeader] == "string")	// Some frameworks prototype objects with functions
								oRequest._object.setRequestHeader(sHeader, oRequest._headers[sHeader]);

					oRequest._object.onreadystatechange	= function() {
						// Synchronize state
						oRequest.readyState		= oRequest._object.readyState;

						if (oRequest._aborted) {
							//
							oRequest.readyState	= cXMLHttpRequest.UNSENT;

							// Return
							return;
						}

						if (oRequest.readyState == cXMLHttpRequest.DONE) {
							// Clean Object
							fCleanTransport(oRequest);

							// get cached request
							if (oRequest.status == 304)
								oRequest._object	= oRequest._cached;

							//
							delete oRequest._cached;

							//
							fSynchronizeValues(oRequest);

							//
							fReadyStateChange(oRequest);

							// BUGFIX: IE - memory leak in interrupted
							if (bIE && bAsync)
								window.detachEvent("onunload", fOnUnload);
						}
					};
					oRequest._object.send(null);

					// Return now - wait until re-sent request is finished
					return;
				};
*/
				// BUGFIX: IE - memory leak in interrupted
				if (bIE && bAsync)
					window.detachEvent("onunload", fOnUnload);
			}

			// BUGFIX: Some browsers (Internet Explorer, Gecko) fire OPEN readystate twice
			if (nState != oRequest.readyState)
				fReadyStateChange(oRequest);

			nState	= oRequest.readyState;
		};
	};
	cXMLHttpRequest.prototype.send	= function(vData) {
		// Add method sniffer
		if (cXMLHttpRequest.onsend)
			cXMLHttpRequest.onsend.apply(this, arguments);

		// BUGFIX: Safari - fails sending documents created/modified dynamically, so an explicit serialization required
		// BUGFIX: IE - rewrites any custom mime-type to "text/xml" in case an XMLNode is sent
		// BUGFIX: Gecko - fails sending Element (this is up to the implementation either to standard)
		if (vData && vData.nodeType) {
			vData	= window.XMLSerializer ? new window.XMLSerializer().serializeToString(vData) : vData.xml;
			if (!this._headers["Content-Type"])
				this._object.setRequestHeader("Content-Type", "application/xml");
		}

		this._object.send(vData);

		// BUGFIX: Gecko - missing readystatechange calls in synchronous requests
		if (bGecko && !this._async) {
			this.readyState	= cXMLHttpRequest.OPENED;

			// Synchronize state
			fSynchronizeValues(this);

			// Simulate missing states
			while (this.readyState < cXMLHttpRequest.DONE) {
				this.readyState++;
				fReadyStateChange(this);
				// Check if we are aborted
				if (this._aborted)
					return;
			}
		}
	};
	cXMLHttpRequest.prototype.abort	= function() {
		// Add method sniffer
		if (cXMLHttpRequest.onabort)
			cXMLHttpRequest.onabort.apply(this, arguments);

		// BUGFIX: Gecko - unnecessary DONE when aborting
		if (this.readyState > cXMLHttpRequest.UNSENT)
			this._aborted	= true;

		this._object.abort();

		// BUGFIX: IE - memory leak
		fCleanTransport(this);
	};
	cXMLHttpRequest.prototype.getAllResponseHeaders	= function() {
		return this._object.getAllResponseHeaders();
	};
	cXMLHttpRequest.prototype.getResponseHeader	= function(sName) {
		return this._object.getResponseHeader(sName);
	};
	cXMLHttpRequest.prototype.setRequestHeader	= function(sName, sValue) {
		// BUGFIX: IE - cache issue
		if (!this._headers)
			this._headers	= {};
		this._headers[sName]	= sValue;

		return this._object.setRequestHeader(sName, sValue);
	};

	// EventTarget interface implementation
	cXMLHttpRequest.prototype.addEventListener	= function(sName, fHandler, bUseCapture) {
		for (var nIndex = 0, oListener; oListener = this._listeners[nIndex]; nIndex++)
			if (oListener[0] == sName && oListener[1] == fHandler && oListener[2] == bUseCapture)
				return;
		// Add listener
		this._listeners.push([sName, fHandler, bUseCapture]);
	};

	cXMLHttpRequest.prototype.removeEventListener	= function(sName, fHandler, bUseCapture) {
		for (var nIndex = 0, oListener; oListener = this._listeners[nIndex]; nIndex++)
			if (oListener[0] == sName && oListener[1] == fHandler && oListener[2] == bUseCapture)
				break;
		// Remove listener
		if (oListener)
			this._listeners.splice(nIndex, 1);
	};

	cXMLHttpRequest.prototype.dispatchEvent	= function(oEvent) {
		var oEvent	= {
			'type':			oEvent.type,
			'target':		this,
			'currentTarget':this,
			'eventPhase':	2,
			'bubbles':		oEvent.bubbles,
			'cancelable':	oEvent.cancelable,
			'timeStamp':	oEvent.timeStamp,
			'stopPropagation':	function() {},	// There is no flow
			'preventDefault':	function() {},	// There is no default action
			'initEvent':		function() {}	// Original event object should be initialized
		};

		// Execute onreadystatechange
		if (oEvent.type == "readystatechange" && this.onreadystatechange)
			(this.onreadystatechange.handleEvent || this.onreadystatechange).apply(this, [oEvent]);

		// Execute listeners
		for (var nIndex = 0, oListener; oListener = this._listeners[nIndex]; nIndex++)
			if (oListener[0] == oEvent.type && !oListener[2])
				(oListener[1].handleEvent || oListener[1]).apply(this, [oEvent]);
	};

	//
	cXMLHttpRequest.prototype.toString	= function() {
		return '[' + "object" + ' ' + "XMLHttpRequest" + ']';
	};

	cXMLHttpRequest.toString	= function() {
		return '[' + "XMLHttpRequest" + ']';
	};

	// Helper function
	function fReadyStateChange(oRequest) {
		// Sniffing code
		if (cXMLHttpRequest.onreadystatechange)
			cXMLHttpRequest.onreadystatechange.apply(oRequest);

		// Fake event
		oRequest.dispatchEvent({
			'type':			"readystatechange",
			'bubbles':		false,
			'cancelable':	false,
			'timeStamp':	new Date + 0
		});
	};

	function fGetDocument(oRequest) {
		var oDocument	= oRequest.responseXML,
			sResponse	= oRequest.responseText;
		// Try parsing responseText
		if (bIE && sResponse && oDocument && !oDocument.documentElement && oRequest.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)) {
			oDocument	= new window.ActiveXObject("Microsoft.XMLDOM");
			oDocument.async				= false;
			oDocument.validateOnParse	= false;
			oDocument.loadXML(sResponse);
		}
		// Check if there is no error in document
		if (oDocument)
			if ((bIE && oDocument.parseError != 0) || !oDocument.documentElement || (oDocument.documentElement && oDocument.documentElement.tagName == "parsererror"))
				return null;
		return oDocument;
	};

	function fSynchronizeValues(oRequest) {
		try {	oRequest.responseText	= oRequest._object.responseText;	} catch (e) {}
		try {	oRequest.responseXML	= fGetDocument(oRequest._object);	} catch (e) {}
		try {	oRequest.status			= oRequest._object.status;			} catch (e) {}
		try {	oRequest.statusText		= oRequest._object.statusText;		} catch (e) {}
	};

	function fCleanTransport(oRequest) {
		// BUGFIX: IE - memory leak (on-page leak)
		oRequest._object.onreadystatechange	= new window.Function;
	};

	// Internet Explorer 5.0 (missing apply)
	if (!window.Function.prototype.apply) {
		window.Function.prototype.apply	= function(oRequest, oArguments) {
			if (!oArguments)
				oArguments	= [];
			oRequest.__func	= this;
			oRequest.__func(oArguments[0], oArguments[1], oArguments[2], oArguments[3], oArguments[4]);
			delete oRequest.__func;
		};
	};

	// Register new object with window
	window.XMLHttpRequest	= cXMLHttpRequest;
})();