// BEGIN toolbarControl.js
function findPlugin(pMimeType){
  
	navigator.plugins.refresh(false);
	var numPlugins = navigator.plugins.length;
	for (var i = 0; i < numPlugins; i++) {
		var plugin = navigator.plugins[i];
		var numTypes = plugin.length;
        var mimetype;
        var enabled;
        var enabledPlugin;
        for (var j = 0; j < numTypes; j++) {
            mimetype = plugin[j];
            if (mimetype) {
                if (mimetype.type == pMimeType) {
                	return true;
                } 
            }//end if
        }//end for
	}//end for
	return false;
}

function maxVersion(v1,v2){
	var aVersion1 = v1.split(".");
	var aVersion2 = v2.split('.');
	for (i=0; i < aVersion1.length; i++){
		if (aVersion1[i].length == 1) aVersion1[i] = "0" + aVersion1[i];
		if (aVersion2[i].length == 1) aVersion2[i] = "0" + aVersion2[i];
	}

	var iToolbarVersion = aVersion1.join("");
	var iLatestToolbarVersion = aVersion2.join("");
	iToolbarVersion = iToolbarVersion - 0;
	iLatestToolbarVersion = iLatestToolbarVersion - 0;
	
	return (iToolbarVersion >= iLatestToolbarVersion)?v1:v2;
}

if (typeof(sVersionRequired)=="undefined") {
	var sVersionRequired = "2.0.4.16";
}
if (typeof(sXPIVersionRequired)=="undefined") {
	var sXPIVersionRequired = "1.0";
}

var bToolbarErrorCaught=false;

var oToolbarController = new Object();
oToolbarController.bInstalled = false;
oToolbarController.oActiveXCtl = null;
oToolbarController.oHtmlMenuCtl = null;
oToolbarController.sVersion = null;
oToolbarController.sUID = null;
oToolbarController.sPartnerID = null;
oToolbarController.sParentPartnerID = null;
oToolbarController.sBucket = "";
oToolbarController.iToolbarType = -1;

oToolbarController.sLatestVersion = "2.3.50.62";
oToolbarController.bLatestVersion = false;
oToolbarController.bUpgradeRequired = true;
oToolbarController.bScreenSaverCtl = false;
oToolbarController.oScreenSaverInstaller = null;

oToolbarController.bXPIInstalled = false;
oToolbarController.bXPIErrorCaught = false;
oToolbarController.sXPIVersion = null;
oToolbarController.sXPILatestVersion = "1.0";
oToolbarController.bXPILatestVersion = false;
oToolbarController.bXPIUpgradeRequired = false;

oToolbarController.NeedsUpgrade=function(sCompare){
	if(this.sVersion != maxVersion(sCompare,this.sVersion)){
 		return true;
    }
    return false;
};

try {
	if (window.ActiveXObject) {
		new ActiveXObject('MyWebSearchToolBar.SettingsPlugin');
		document.write("<object id='ToolbarCtlMWS' classid='clsid:07B18EAB-A523-4961-B6BB-170DE4475CCA' width=1 height=1>&nbsp;</object>");
		document.write("<object id='HTMLMenuCtl' classid='clsid:3DC201FB-E9C9-499C-A11F-23C360D7C3F8' width=1 height=1>&nbsp;</object>");
		oToolbarController.bInstalled = true;
	} else {
		if (findPlugin("application/x-mws-mywebsearchplugin")) {
			document.write("<embed id='ToolbarCtlMWS' type='application/x-mws-mywebsearchplugin' ProgId='MyWebSearchToolBar.SettingsPlugin' width=2 height=2>&nbsp;</embed>");
			document.write("<embed id='HTMLMenuCtl' type='application/x-mws-mywebsearchplugin' ProgId='FunWebProducts.HTMLMenu.2' width=2 height=2></embed>");
			oToolbarController.bInstalled = true;
		}
	}
} catch(e) {
	bToolbarErrorCaught=true;
}
try{
	if(window.ActiveXObject){
		new ActiveXObject('ScreenSaverControl.ScreenSaverInstaller');
		outObjHtml='<object CLASSID="clsid:9FF05104-B030-46FC-94B8-81276E4E27DF" id="ScreenSaverInstaller" style="display:none;" width=1 height=1>';				
			outObjHtml+='<param name="L" value="psnllmmrkrgosmekokerjsohgneknhpehjfhpnlqsqgnokhohehfhghhhihjhkhlhmhnifigihiiijik">';
			outObjHtml+='<param name="PM" value="efkfpetrqjgksgnteltlofgnoiiiiqkngkmimlfhsnfeogokhehfhghhhihjhkhlhmhnifigihiiijik">';
		 outObjHtml+='&nbsp;';
		outObjHtml+='</object>';
		document.write(outObjHtml);
	}else{
		if (findPlugin("application/x-mws-mywebsearchplugin")) {
			document.write("<embed id='ScreenSaverInstaller' type='application/x-mws-mywebsearchplugin' ProgId='ScreenSaverControl.ScreenSaverInstaller' param_PM='efkfpetrqjgksgnteltlofgnoiiiiqkngkmimlfhsnfeogokhehfhghhhihjhkhlhmhnifigihiiijik' param_L='psnllmmrkrgosmekokerjsohgneknhpehjfhpnlqsqgnokhohehfhghhhihjhkhlhmhnifigihiiijik' width=2 height=2></embed>");
		}		
	}
	oToolbarController.oScreenSaverInstaller=document.getElementById('ScreenSaverInstaller');
	oToolbarController.bScreenSaverCtl=true;
}catch(ex){
	bToolbarErrorCaught=true;
}
if (navigator.userAgent.toLowerCase().indexOf("mac")!=-1 ||
    navigator.userAgent.toLowerCase().indexOf("firefox")!=-1){
  var tsox_el = document.getElementById('tsox_ver_el');
  if ( tsox_el ) {
    oToolbarController.bXPIInstalled = true;
    oToolbarController.sXPIVersion = tsox_el.getAttribute('ver');
    var oXPIVersionCheckResults = CheckVersions(oToolbarController.sXPIVersion,oToolbarController.sXPILatestVersion,sXPIVersionRequired);
    oToolbarController.bXPILatestVersion = oXPIVersionCheckResults.latest;
    oToolbarController.bXPIUpgradeRequired = oXPIVersionCheckResults.upgrade;
    try{
      var TBCkElem = document.createElement("TSOX_TBCk");
      document.getElementsByTagName("head")[0].appendChild(TBCkElem);
      var TBCkEvt = document.createEvent("Events");
      TBCkEvt.initEvent("TSOX_TBChkHandlerEvent", true, false);
      TBCkElem.dispatchEvent(TBCkEvt);
    }catch(e){
      oToolbarController.bXPIErrorCaught = true;
    }
  }
}
if (oToolbarController.bInstalled) {
	oToolbarController.oActiveXCtl = document.getElementById('ToolbarCtlMWS');
	oToolbarController.oHtmlMenuCtl = document.getElementById('HTMLMenuCtl');	
	try {
		oToolbarController.sVersion = oToolbarController.oActiveXCtl.GetVersion('');
		oToolbarController.sUID = oToolbarController.oActiveXCtl.I;
		oToolbarController.sPartnerID = oToolbarController.oActiveXCtl.P;
		
		if (oToolbarController.sPartnerID != null) {
			var tmpArray = oToolbarController.sPartnerID.split('_');
			oToolbarController.sParentPartnerID = tmpArray[tmpArray.length-1];
			
			oToolbarController.sBucket = oToolbarController.sPartnerID.substr(8,2);
		}
		
		oToolbarController.iToolbarType = oToolbarController.oActiveXCtl.Type;

	    var oVersionCheckResults = CheckVersions(oToolbarController.sVersion,oToolbarController.sLatestVersion,sVersionRequired);
	    oToolbarController.bLatestVersion = oVersionCheckResults.latest;
	    oToolbarController.bUpgradeRequired = oVersionCheckResults.upgrade;
    
    	check_update_flag();
    	
    	require_update(
			{
				require_firefox: true,
				required_version: "2.3.50.21",
				redirect_url: "http://help.mywebsearch.com/upgrade_now.jsp?p=" + oToolbarController.sPartnerID + "&url=" + escape(document.location.href)
			}
		);
    	
	} catch (e) {
		bToolbarErrorCaught=true;
	}
}

function CheckVersions(current,latest,required){
  var aToolbarVersion = current.split(".");
  var aLatestVersion = latest.split('.');
  var aRequiredVersion = required.split('.');
  for (i=0; i < aToolbarVersion.length; i++){
    if (aToolbarVersion[i].length == 1) aToolbarVersion[i] = "0" + aToolbarVersion[i];
    if (aLatestVersion[i].length == 1) aLatestVersion[i] = "0" + aLatestVersion[i];
    if (aRequiredVersion[i].length == 1) aRequiredVersion[i] = "0" + aRequiredVersion[i];
  }

  var iToolbarVersion = aToolbarVersion.join("");
  var iLatestToolbarVersion = aLatestVersion.join("");
  var iRequiredToolbarVersion = aRequiredVersion.join("");
  iToolbarVersion = iToolbarVersion - 0;
  iLatestToolbarVersion = iLatestToolbarVersion - 0;
  iRequiredToolbarVersion = iRequiredToolbarVersion - 0;

  return {latest:(iToolbarVersion >= iLatestToolbarVersion),
          upgrade:(iToolbarVersion < iRequiredToolbarVersion)};
}

function check_update_flag()
{
	try {
		if (! oToolbarController.oActiveXCtl.GetRegistryToggle("au") ) {
			oToolbarController.oActiveXCtl.SetRegistryToggle("ua",false);
			oToolbarController.oActiveXCtl.SetRegistryToggle("au",true);
			if (oToolbarController.oActiveXCtl.GetRegistryToggle("au")) {			
				var pxUAUrl='http://imgfarm.com/images/nocache/tr/tb/ua.gif?uid='+oToolbarController.sUID+'&p='+this.sPartnerID+'&v='+oToolbarController.sVersion+'&url='+escape(window.location.href);
				var pxUAImage = new Image();
				pxUAImage.src = pxUAUrl;
			}
		}
	} catch(Err){
		
	}
}

// FF and *.21 detect
function require_update( _opts )
{
	var bReqFF = false;
	var bReqIE = false;
	var sTbReqVer = "";
	var sRedirect = "";
	
	// check for values passed in
	if ( _opts == undefined ){ _opts = {} }
	if ( typeof _opts.require_firefox == 'boolean' ){
		bReqFF = _opts.require_firefox;
	}
	// not needed now, but for future use
	if ( typeof _opts.require_ie == 'boolean' ){
		bReqIE = _opts.require_ie;
	}
	
	if ( _opts.required_version != null && _opts.required_version != undefined ){
		sTbReqVer = _opts.required_version;
	}
	
	if ( _opts.redirect_url != null && _opts.redirect_url != undefined ){
		sRedirect = _opts.redirect_url;
	}
	
	if ( bReqFF && navigator.userAgent.toLowerCase().indexOf("firefox")!=-1 && this.sVersion!=null && this.sVersion!="undefined" && this.sVersion!="" ){
		var vcheck = CheckVersions( oToolbarController.sVersion, oToolbarController.sLatestVersion, "2.3.50.21" );
		if ( vcheck.upgrade && sRedirect != "" ){
			send_to_upgrade( { url: sRedirect } );
		}
	}
	
}

function send_to_upgrade( _opts )
{
	// check for values passed in
	if ( _opts == undefined ){ _opts = {} }
	if ( _opts.url != null && _opts.url != undefined ){
		window.location.replace( _opts.url );
	}
}

// END toolbarControl.js
