function canSmartUpdate(){

	os = navigator.appVersion;

	browser = navigator.appName;

	webtv = (os.indexOf("WebTV") > 0)? true:false;



//	alert("OS: " + os + " Browser: " + browser);

//	if (browser == "Netscape" ){ alert ("Using Netscape");}

//	if (!(os.indexOf("Mac") > 0) ){ alert ("Not Using MAC");}

//	if (!webtv) { alert("Not Using WebTV");}

	

	if (browser == "Netscape"  && !(os.indexOf("Mac") > 0) && !webtv){

		return true;

	}else {

//		alert("Because you are not using a ULS compatable browser, some ULS functions may not work properly.");

		return false;

	}

}

function smartUpdate(mylink){
	if( (mylink.href).indexOf("maint") >= 0){ return true;}
	
	if( canSmartUpdate() ){
		return downloadNow();
	} else {
		return true;
	}
}



function downloadNow() 

{

    var l_server ;



    /*l_server = self.location.protocol + "//" + self.location.hostname;*/

    l_server = "https://wtbjag1w.fcc.gov";



    if ( navigator.javaEnabled() ) 

    {

        trigger = netscape.softupdate.Trigger;

        if ( trigger.UpdateEnabled() ) 

        {

            if (navigator.platform == "Win32") 

                { 

                        update_required = false;

                /* VersionInfor is changed from ( 1, 1, 0, 0 ) to ( 1, 2, 0, 0 ) ... Rajesh Singh, 9/23/99 */

                /* Reset to ( 1, 2, 0, 0 ) on 10/25/99 */
		// to new ver 01/29/04 prev ( 1, 2, 0, 2 )
		
		// to new ver 02/04/2005 VAP added by 1
		
                jconnect_new_vi = new netscape.softupdate.VersionInfo( 1, 2, 0, 4 );

                jconnect_cur_vi = trigger.GetVersionInfo( "fcc/uls/jconnect" );

                if ( jconnect_cur_vi == null ||

                     jconnect_cur_vi.compareTo( jconnect_new_vi ) < 0 )

                {

                    trigger.ConditionalSoftwareUpdate(

                                l_server+"/jconnect.jar",

                                "jconnect.jar",

                                jconnect_new_vi, trigger.DEFAULT_MODE);



                                update_required = true;

                }

                /* VersionInfor is changed from ( 1, 1, 0, 0 ) to ( 1, 2, 0, 0 ) ... Rajesh Singh, 9/23/99 */

                /* Reset to ( 1, 2, 0, 0 ) on 10/25/99 */
		// to new ver 01/29/04 prev( 1, 2, 0, 2  ) 
		// to new ver 02/04/2005 VAP added by 1
		
                powerj_new_vi = new netscape.softupdate.VersionInfo( 1, 2, 0, 4 ); 

                powerj_cur_vi = trigger.GetVersionInfo( "fcc/uls/powerj" );

                if ( powerj_cur_vi == null ||

                     powerj_cur_vi.compareTo( powerj_new_vi ) < 0 )

                {

                    trigger.ConditionalSoftwareUpdate(

                                l_server+"/powerj.jar",

                                "powerj.jar",

                                powerj_new_vi, trigger.DEFAULT_MODE);



                                update_required = true;

                } 




                                /*............ 

				   05/17/01 -- kn -- Changed to (1,7,0,0) FRC deployment

				   04/02/01 -- kn -- Changed to (1,5,0,0) apply a ebf to Jaguar 3.5

				   11/15/00 -- kn -- Changed to (1,4,0,0) 

                                   Changed to (1,3,0,0) by Rajesh Singh as per e-mail dated 08/31/00 received from Khuemy

                                   ClientUtil_new_vi = new netscape.softupdate.VersionInfo( 1, 2, 0, 0 );
					
				  to new ver on  01/29/04 prev ( 1, 9, 1, 4 ) 
                                ............*/



                                /* ClientUtil version is changed from ( 1, 1, 0, 0 ) to ( 1, 2, 0, 0 ) 

                                ... Rajesh Singh, 05/30/00 as per e-mail "Smartupdate for 6/1 deployment" dated 05/30/00

                                from Khuemy */


		// to new ver 02/04/2005 VAP previous (1,9,1,9)
                ClientUtil_new_vi = new netscape.softupdate.VersionInfo( 1, 9, 2, 1 ); 

                ClientUtil_cur_vi = trigger.GetVersionInfo( "fcc/uls/ClientUtil" );

                if ( ClientUtil_cur_vi == null ||

                     ClientUtil_cur_vi.compareTo( ClientUtil_new_vi ) < 0 )

                {

                    trigger.ConditionalSoftwareUpdate(

                                l_server+"/ClientUtil.jar",

                                "ClientUtil.jar",

                                ClientUtil_new_vi, trigger.DEFAULT_MODE);



                                update_required = true;

                }


		// to new ver 01/29/04 prev ( 1, 1, 0, 2) 
		
		// to new ver 02/04/2005 VAP added by 1
		
                jaguar_new_vi = new netscape.softupdate.VersionInfo( 1, 1, 0, 4 ); 

                jaguar_cur_vi = trigger.GetVersionInfo( "fcc/uls/jaguar" );

                if ( jaguar_cur_vi == null ||

                     jaguar_cur_vi.compareTo( jaguar_new_vi ) < 0 )

                {

                    trigger.ConditionalSoftwareUpdate(

                                l_server+"/jaguar.jar",

                                "jaguar.jar",

                                jaguar_new_vi, trigger.DEFAULT_MODE);



                                update_required = true;

                } 





                        if ( update_required == false )

                        {

                                /*alert("No update is required.  You have the most recent files.");*/

                        }

		                else  

        		        {

                                trigger.StartSoftwareUpdate(

                                    l_server+"/complete.jar",

                                    trigger.DEFAULT_MODE);

								return false;

                        }

            }   

            else 

            {

                alert("This plug-in only runs on Windows NT/95.");

				return false;

		    }   

        }   

        else

        {

            alert("Enable SmartUpdate before running this script.");

			return false;

        }   

    }   

    else

    {

        alert("Enable Java before running this script.");

		return false;

    }  

	return true;

}
