var Mint = new Object();
Mint.save = function() 
{
	var now		= new Date();
	var debug	= false; // this is set by php 
	if (window.location.hash == '#Mint:Debug') { debug = true; };
	var path	= 'http://recently.rainweb.net/build/mint/?record&key=6e743434776352727372743647353649434f39353154663443545a3144584672';
	path 		= path.replace(/^https?:/, window.location.protocol);
	
	// Loop through the different plug-ins to assemble the query string
	for (var developer in this) 
	{
		for (var plugin in this[developer]) 
		{
			if (this[developer][plugin] && this[developer][plugin].onsave) 
			{
				path += this[developer][plugin].onsave();
			};
		};
	};
	// Slap the current time on there to prevent caching on subsequent page views in a few browsers
	path += '&'+now.getTime();
	
	// Redirect to the debug page
	if (debug) { window.open(path+'&debug&errors', 'MintLiveDebug'+now.getTime()); return; };
	
	var ie = /*@cc_on!@*/0;
	if (!ie && document.getElementsByTagName && (document.createElementNS || document.createElement))
	{
		var tag = (document.createElementNS) ? document.createElementNS('http://www.w3.org/1999/xhtml', 'script') : document.createElement('script');
		tag.type = 'text/javascript';
		tag.src = path + '&serve_js';
		document.getElementsByTagName('head')[0].appendChild(tag);
	}
	else if (document.write)
	{
		document.write('<' + 'script type="text/javascript" src="' + path + '&amp;serve_js"><' + '/script>');
	};
};
if (!Mint.SI) { Mint.SI = new Object(); }
Mint.SI.Referrer = 
{
	onsave	: function() 
	{
		var encoded = 0;
		if (typeof Mint_SI_DocumentTitle == 'undefined') { Mint_SI_DocumentTitle = document.title; }
		else { encoded = 1; };
		var referer		= (window.decodeURI)?window.decodeURI(document.referrer):document.referrer;
		var resource	= (window.decodeURI)?window.decodeURI(document.URL):document.URL;
		return '&referer=' + escape(referer) + '&resource=' + escape(resource) + '&resource_title=' + escape(Mint_SI_DocumentTitle) + '&resource_title_encoded=' + encoded;
	}
};
if (!Mint.SI) { Mint.SI = new Object(); }
Mint.SI.UserAgent007 = 
{
	versionHigh			: 16,
	flashVersion		: 0,
	resolution			: '0x0',
	detectFlashVersion	: function () 
	{
		var ua = navigator.userAgent.toLowerCase();
		if (navigator.plugins && navigator.plugins.length) 
		{
			var p = navigator.plugins['Shockwave Flash'];
			if (typeof p == 'object') 
			{
				for (var i=this.versionHigh; i>=3; i--) 
				{
					if (p.description && p.description.indexOf(' ' + i + '.') != -1) { this.flashVersion = i; break; }
				}
			}
		}
		else if (ua.indexOf("msie") != -1 && ua.indexOf("win")!=-1 && parseInt(navigator.appVersion) >= 4 && ua.indexOf("16bit")==-1) 
		{
			var vb = '<scr' + 'ipt language="VBScript"\> \nOn Error Resume Next \nDim obFlash \nFor i = ' + this.versionHigh + ' To 3 Step -1 \n   Set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash." & i) \n   If IsObject(obFlash) Then \n      Mint.SI.UserAgent007.flashVersion = i \n      Exit For \n   End If \nNext \n<'+'/scr' + 'ipt\> \n';
			document.write(vb);
		}
		else if (ua.indexOf("webtv/2.5") != -1) this.flashVersion = 3;
		else if (ua.indexOf("webtv") != -1) this.flashVersion = 2;
		return this.flashVersion;
	},
	onsave				: function() 
	{
		if (this.flashVersion == this.versionHigh) { this.flashVersion = 0; };
		this.resolution = screen.width+'x'+screen.height;
		return '&resolution=' + this.resolution + '&flash_version=' + this.flashVersion;
	}
};
Mint.SI.UserAgent007.detectFlashVersion();

var javascriptVersion1_1 = false;

// initialize global variables
var detectableWithVB = false;
var pluginFound = false;


function goURL(daURL) {
   // if the browser can do it, use replace to preserve back button
   if(javascriptVersion1_1) {
window.location.replace(daURL);
   } else {
window.location = daURL;
   }
   return;
}

function redirectCheck(pluginFound, redirectURL, redirectIfFound) {
   // check for redirection
   if( redirectURL && ((pluginFound && redirectIfFound) || 
(!pluginFound && !redirectIfFound)) ) {
// go away
goURL(redirectURL);
return pluginFound;
   } else {
// stay here and return result of plugin detection
return pluginFound;
   }	
}

function canDetectPlugins() {
   if( detectableWithVB || (navigator.plugins && navigator.plugins.length > 0) ) {
return true;
   } else {
return false;
   }
}

function detectFlash(redirectURL, redirectIfFound) {
   pluginFound = detectPlugin('Shockwave','Flash'); 
   // if not found, try to detect with VisualBasic
   if(!pluginFound && detectableWithVB) {
pluginFound = detectActiveXControl('ShockwaveFlash.ShockwaveFlash.1');
   }
   // check for redirection
   return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectDirector(redirectURL, redirectIfFound) { 
   pluginFound = detectPlugin('Shockwave','Director'); 
   // if not found, try to detect with VisualBasic
   if(!pluginFound && detectableWithVB) {
pluginFound = detectActiveXControl('SWCtl.SWCtl.1');
   }
   // check for redirection
   return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectQuickTime(redirectURL, redirectIfFound) {
   pluginFound = detectPlugin('QuickTime');
   // if not found, try to detect with VisualBasic
   if(!pluginFound && detectableWithVB) {
pluginFound = detectQuickTimeActiveXControl();
   }
   return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectReal(redirectURL, redirectIfFound) {
   pluginFound = detectPlugin('RealPlayer');
   // if not found, try to detect with VisualBasic
   if(!pluginFound && detectableWithVB) {
pluginFound = (detectActiveXControl('rmocx.RealPlayer G2 Control') ||
	       detectActiveXControl('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)') ||
	       detectActiveXControl('RealVideo.RealVideo(tm) ActiveX Control (32-bit)'));
   }	
   return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectWindowsMedia(redirectURL, redirectIfFound) {
   pluginFound = detectPlugin('Windows Media');
   // if not found, try to detect with VisualBasic
   if(!pluginFound && detectableWithVB) {
pluginFound = detectActiveXControl('MediaPlayer.MediaPlayer.1');
   }
   return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectPlugin() {
   // allow for multiple checks in a single pass
   var daPlugins = detectPlugin.arguments;
   // consider pluginFound to be false until proven true
   var pluginFound = false;
   // if plugins array is there and not fake
   if (navigator.plugins && navigator.plugins.length > 0) {
var pluginsArrayLength = navigator.plugins.length;
// for each plugin...
for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
    // loop through all desired names and check each against the current plugin name
    var numFound = 0;
    for(namesCounter=0; namesCounter < daPlugins.length; namesCounter++) {
	// if desired plugin name is found in either plugin name or description
	if( (navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter]) >= 0) || 
	    (navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0) ) {
	    // this name was found
	    numFound++;
	}   
    }
    // now that we have checked all the required names against this one plugin,
    // if the number we found matches the total number provided then we were successful
    if(numFound == daPlugins.length) {
	pluginFound = true;
	// if we've found the plugin, we can stop looking through at the rest of the plugins
	break;
    }
}
   }
   return pluginFound;
} // detectPlugin


// Here we write out the VBScript block for MSIE Windows
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
   document.writeln('<script language="VBscript">');

   document.writeln('\'do a one-time test for a version of VBScript that can handle this code');
   document.writeln('detectableWithVB = False');
   document.writeln('If ScriptEngineMajorVersion >= 2 then');
   document.writeln('  detectableWithVB = True');
   document.writeln('End If');

   document.writeln('\'this next function will detect most plugins');
   document.writeln('Function detectActiveXControl(activeXControlName)');
   document.writeln('  on error resume next');
   document.writeln('  detectActiveXControl = False');
   document.writeln('  If detectableWithVB Then');
   document.writeln('     detectActiveXControl = IsObject(CreateObject(activeXControlName))');
   document.writeln('  End If');
   document.writeln('End Function');

   document.writeln('\'and the following function handles QuickTime');
   document.writeln('Function detectQuickTimeActiveXControl()');
   document.writeln('  on error resume next');
   document.writeln('  detectQuickTimeActiveXControl = False');
   document.writeln('  If detectableWithVB Then');
   document.writeln('    detectQuickTimeActiveXControl = False');
   document.writeln('    hasQuickTimeChecker = false');
   document.writeln('    Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');
   document.writeln('    If IsObject(hasQuickTimeChecker) Then');
   document.writeln('      If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then ');
   document.writeln('        detectQuickTimeActiveXControl = True');
   document.writeln('      End If');
   document.writeln('    End If');
   document.writeln('  End If');
   document.writeln('End Function');

   document.writeln('</scr' + 'ipt>');
}


if (!Mint.BV) { Mint.BV = new Object(); }

Mint.BV.QuickTimeCheck = 
{
    onsave  : function() 
    {

	// TESTS
	var quickTimeIsInstalled = detectQuickTime();
	var windowsMedia = detectWindowsMedia();


	// STEP 1: Check if Mac (0) or PC (1)	
	if (navigator.platform.indexOf('Win') > -1) {
 		page = "1"; // win
	} else {
		page = "0"; //mav
	}	

	
		
	if (quickTimeIsInstalled) { // CHECK IF QUICKTIME IS PRESENT
		page = page+"1";
	} else { 
		page = page+"0";
	}

	
	return '&QuickTimeCheck=' + page;
	
    }
};
Mint.save();