
			/*
			Language: JavaScript

			Description: Enables Cookie for bypassing validation check by server
			
			Author: Girish Bajaj
			Company: Tietronix Software 
			(http://www.tietronix.com)
			*/
			function enableEntryToStiteAndRedirect(redirectURL, area)
			{
				enableEntryToSite(area);
				//reload current
				window.location.replace(redirectURL);
			}

			function enableEntryToSite(area)
			{
				//set cookie
				setcookie("va" + area + "minreqcheck","ok",0);
			}

			
			/*
			Webmonkey GET Parsing Module
			Language: JavaScript 1.0

			The parsing of GET queries is fundamental
			to the basic functionality of HTTP/1.0.
			This module parses GET with JavaScript 1.0.

			Source: Webmonkey Code Library
			(http://www.hotwired.com/webmonkey/javascript/code_library/)

			Author: Patrick Corcoran
			Author Email: patrick@taylor.org
			*/

			function createRequestObject() {
			  
			FORM_DATA = new Object();
				// The Object ("Array") where our data will be stored.
			  
			separator = ',';
				// The token used to separate data from multi-select inputs
			  
			query = '' + this.location;
				// Get the current URL so we can parse out the data.
				// Adding a null-string '' forces an implicit type cast
				// from property to string, for NS2 compatibility.
			    
			query = query.substring((query.indexOf('?')) + 1);
				// Keep everything after the question mark '?'.
			  
			if (query.length < 1) { return false; }  // Perhaps we got some bad data?
			  
			keypairs = new Object();
			numKP = 1;
				// Local vars used to store and keep track of name/value pairs
				// as we parse them back into a usable form.
			    
			while (query.indexOf('&') > -1) {
				keypairs[numKP] = query.substring(0,query.indexOf('&'));
				query = query.substring((query.indexOf('&')) + 1);
				numKP++;
				// Split the query string at each '&', storing the left-hand side
				// of the split in a new keypairs[] holder, and chopping the query
				// so that it gets the value of the right-hand string.
			}

			keypairs[numKP] = query;
				// Store what's left in the query string as the final keypairs[] data.
			  
			for (i in keypairs) {
				keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
				// Left of '=' is name.
				keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
				// Right of '=' is value.
				while (keyValue.indexOf('+') > -1) {
				keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
					// Replace each '+' in data string with a space.
				}
			    
				keyValue = unescape(keyValue);
				// Unescape non-alphanumerics
			      
				if (FORM_DATA[keyName]) {
				FORM_DATA[keyName] = FORM_DATA[keyName] + separator + keyValue;
					// Object already exists, it is probably a multi-select input,
					// and we need to generate a separator-delimited string
					// by appending to what we already have stored.
				} else {
				FORM_DATA[keyName] = keyValue;
					// Normal case: name gets value.
				}
			}

			return FORM_DATA;
			}
			
			
			
			/*
			Rewriting of SPAN or DIV innerHTML text. Cross browser compatible.

			Source: Code Library
			(http://www.faqts.com/knowledge_base/view.phtml/aid/867/fid/128)

			Author: unknown
			Author Email: unknown
			*/
			function rewriteLayer (idOrPath, html) {
			if (document.layers) {
				var l = idOrPath.indexOf('.') != -1 ? eval(idOrPath) 
						: document[idOrPath];
				if (!l.ol) {
				var ol = l.ol = new Layer (l.clip.width, l);
				ol.clip.width = l.clip.width;
				ol.clip.height = l.clip.height;
				ol.bgColor = l.bgColor;
				l.visibility = 'hide';
				ol.visibility = 'show';
				}
				var ol = l.ol;
				ol.document.open();
				ol.document.write(html);
				ol.document.close();
			}
			else if (document.all || document.getElementById) {
				var p = idOrPath.indexOf('.');
				var id = p != -1 ? 
						idOrPath.substring(idOrPath.lastIndexOf('.') + 1) 
						: idOrPath;
				if (document.all)
				document.all[id].innerHTML = html;
				else {
				var l = document.getElementById(id);
				var r = document.createRange();
				r.setStartAfter(l);
				var docFrag = r.createContextualFragment(html);
				while (l.hasChildNodes())
					l.removeChild(l.firstChild);
				l.appendChild(docFrag);
				}
			}
			}
			
			
			/*
			COOKIE enable/set/delete code

			Source: Code Library
			(unknown)

			Author: unknown
			Author Email: unknown
			*/
			function getexpirydate( nodays)
			{
				var UTCstring;
				Today = new Date();
				nomilli=Date.parse(Today);
				Today.setTime(nomilli+nodays*24*60*60*1000);
				UTCstring = Today.toUTCString();
				return UTCstring;
			}

			function getcookie(cookiename) 
			{
				var cookiestring=""+document.cookie;
				var index1=cookiestring.indexOf(cookiename);
				if (index1==-1 || cookiename=="") return ""; 
				var index2=cookiestring.indexOf(';',index1);
				if (index2==-1) index2=cookiestring.length; 
				return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
			}

			function setcookie(name,value,duration)
			{
				if (duration==0)
				{
					cookiestring=name+"="+escape(value);
				}
				else
				{
					cookiestring=name+"="+escape(value)+";EXPIRES="+getexpirydate(duration);
				}
				document.cookie=cookiestring;
				if(!getcookie(name))
				{
					return false;
				}
				else
				{
					return true;
				}
			}
			
			function deletecookie(name) 
			{  
				var exp = new Date();  
				exp.setTime (exp.getTime() - 1);  
				var cval = getcookie(name);  
				document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
			}
			
			
			
			/*
			Plugin Detector()

			Source: Webmonkey Code Library
			(http://www.hotwired.com/webmonkey/javascript/code_library/)

			Author: Nadav Savio
			Author Email: webmonkey@giantant.com

			*/

			// this is where we write out the VBScript for MSIE Windows
			var WM_startTagFix = '</';
			var msie_windows = 0;
			if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)){
			msie_windows = 1;
			document.writeln('<script language="VBscript">');
			document.writeln('\'This will scan for plugins for all versions of Internet Explorer that have a VBscript engine version 2 or greater.');
			document.writeln('\'This includes all versions of IE4 and beyond and some versions of IE 3.');
			document.writeln('Dim WM_detect_through_vb');
			document.writeln('WM_detect_through_vb = 0');
			document.writeln('If ScriptEngineMajorVersion >= 2 then');
			document.writeln('  WM_detect_through_vb = 1');
			document.writeln('End If');
			document.writeln('Function WM_activeXDetect(activeXname)');
			document.writeln('  on error resume next');
			document.writeln('  If ScriptEngineMajorVersion >= 2 then');
			document.writeln('     WM_activeXDetect = False');
			document.writeln('     WM_activeXDetect = IsObject(CreateObject(activeXname))');
			document.writeln('     If (err) then');
			document.writeln('        WM_activeXDetect = False');
			document.writeln('     End If');
			document.writeln('   Else');
			document.writeln('     WM_activeXDetect = False');
			document.writeln('   End If');
			document.writeln('End Function');
			document.writeln(WM_startTagFix+'script>');
			}

			function WM_pluginDetect(plugindescription, pluginxtension, pluginmime, activeXname){

			//This script block will test all user agents that have a real plug-in array

			//(i.e. Netscape) and set the variables, otherwise it directs the routine

			// to WM_activeXDetect to detect the activeX control.
						  

			// First define some variables
			var i,plugin_undetectable=0,detected=0, daPlugin=new Object();


			// Then we check to see if it's an MSIE browser that you can actually

			// check for the plugin in question. 

			if (msie_windows && WM_detect_through_vb){
				plugin_undetectable = 0;
			} else {
				plugin_undetectable = 1;
			}



			// If it has a real plugins or mimetypes array, we look there for the plugin first
			if(navigator.plugins) {
				numPlugins = navigator.plugins.length;
				if (numPlugins > 1) {
				if (navigator.mimeTypes && navigator.mimeTypes[pluginmime] && navigator.mimeTypes[pluginmime].enabledPlugin && (navigator.mimeTypes[pluginmime].suffixes.indexOf(pluginxtension) != -1)) { // seems like we have it, let's just make sure and check the version (if specified)
					if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1)) { // stupid, stupid Netscape can't handle the references to navigator.plugins by number, sooo...
					for(i in navigator.plugins) {
						if ((navigator.plugins[i].description.indexOf(plugindescription) != -1) || (i.indexOf(plugindescription) != -1)) { // some versions of quicktime have no description. feh!
						detected=1;
						break;
						}
					}
					} else {
					for (i = 0; i < numPlugins; i++) {
						daPlugin = navigator.plugins[i];
						if ((daPlugin.description.indexOf(plugindescription) != -1) || (daPlugin.name.indexOf(plugindescription) != -1)) {
						detected=1;
						break;
						}
					}
					}

					// Mac weirdness
				if (navigator.mimeTypes[pluginmime] == null) {
					detected = 0;
					}
				}
				return detected;
				} else if((msie_windows == 1) && !plugin_undetectable){
				return WM_activeXDetect(activeXname);
				} else { 		
				return 0;
				}
			} else {
				return 0;
			}
			}


			// this next function just makes it easy to detect the common plugins

			function WM_easyDetect(whichPlugin) {

				// this function just makes it easy to do basic plug-in detection without

				// knowing all the mimetypes and activeX names and such
				var isItThere = 0;
				if( (whichPlugin == 'flash') || (whichPlugin == 'Flash') ) {
				isItThere = WM_pluginDetect('Flash', 'swf', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash.7');
				} else if( (whichPlugin == 'director') || (whichPlugin == 'Director') ) {
				isItThere = WM_pluginDetect('Shockwave', 'dcr', 'application/x-director', 'SWCtl.SWCtl.1');
				} else if( (whichPlugin == 'quicktime') || (whichPlugin == 'Quicktime') || (whichPlugin == 'QuickTime') ) {
				isItThere = WM_pluginDetect('QuickTime', 'mov', 'video/quicktime', '');
				} else if( (whichPlugin == 'realaudio') || (whichPlugin == 'Realaudio') || (whichPlugin == 'RealAudio') ) {
				isItThere = (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','rmocx.RealPlayer G2 Control')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealVideo.RealVideo(tm) ActiveX Control (32-bit)'))
				} else {

				alert('You need to tell me which plug-in to look for, like so:\n\n' + '          WM_easyDetect(\'flash\')\n\n' + '          WM_easyDetect(\'director\')\n\n' + '          WM_easyDetect(\'quicktime\')\n\n' + '          WM_easyDetect(\'realaudio\')');
				}
				return isItThere;
			}
			
/*			
function TestNPVirtools(maj,min,rev,bld)
{
	alert("TestNPVirtools called");
  if (is_gecko || is_fx || is_safari) {
    // gecko browser
    alert("inside gecko");
    // compare the the version needed with the current version
    ver = InstallTrigger.compareVersion("plugins/virtools/VirtoolsPI/",maj,min,rev,bld);
    alert(ver);
    alert(InstallTrigger.getVersion("plugins/virtools/VirtoolsPI/"));
    
    if ((is_nav||is_opera||is_moz||is_fb||is_fx)||
       (is_mac&&is_ie5up)) {
      var plugin = (navigator.mimeTypes && 
                    navigator.mimeTypes["application/x-virtools"] &&
                    navigator.mimeTypes["application/x-virtools"].enabledPlugin) ?
                    navigator.mimeTypes["application/x-virtools"].enabledPlugin : 0;
//      if (plugin) {
      if (plugin&&plugin.description) {
         is_virtools = true;
         alert(navigator.plugins["Virtools"].name)
         alert(navigator.plugins["Virtools"].description)
         alert(navigator.plugins["Virtools"].filename)
      }
   }
   
    switch(ver) {
      // component not present or not registered
      case -5:
        return 2;
        break;
 	
      // current version as a smaller (earlier) build number than the needed version
      case -1:
      // current version as a smaller (earlier) release number  than the needed version
      case -2:
      // current version as a smaller (earlier) minor number than the needed version
      case -3:
      // current version as a smaller (earlier) major number than the needed version
      case -4:
        return 3;
        break;
 		
      // the versions are the same	
      case 0:
      case 1:
      // current version as a larger (newer) build number than the needed version
      case 2:
      // current version as a larger (newer) release number than the needed version
      case 3:
      // current version as a larger (newer) minor number than the needed version
      case 4:
      // current version as a larger (newer) major number than the needed version
        return 4;
        break;
    }

    // unknow return value
    // component not present or not registered
    return 2;
  }
  else
  {
	//IE etc browsers do not suppoert XPInstall
	return 4;
  }
}
*/