﻿Type.registerNamespace("PhotoSite.Framework");PhotoSite.Framework.UploaderDetectorResultFlags=function(){};PhotoSite.Framework.UploaderDetectorResultFlags.prototype={Unknown:0,ActiveXPlatformSupported:1,ActiveXLatestUploaderInstalled:2,ActiveXPreviousVersionInstalled:4,ActiveXUploaderInstallFailed:8,JavaPlatformSupported:256,JavaHasMinVersionRequired:512,JavaAttemptMacUpgrade:1024,JavaAppletLoadFailed:2048,FlashPlatformSupported:65536,FlashHasMinVersionRequired:131072};PhotoSite.Framework.UploaderDetectorResultFlags.registerEnum("PhotoSite.Framework.UploaderDetectorResultFlags",true);PhotoSite.Framework.UploaderDetector=function(A){PhotoSite.Framework.UploaderDetector.initializeBase(this,[A]);this._javaState={};};PhotoSite.Framework.UploaderDetector.prototype={_macAttemptJavaUpgrade:10.4,_javaState:null,_detectInProgress:false,_getOSXVersion:function(){var B=0;var C=navigator.userAgent.split(";");for(var D=0;D<C.length;D++){var E=C[D];if(E.indexOf("OS X")>0&&E.indexOf("X")+1<E.length){B=(E.substring(E.indexOf("X")+1,E.length)).replace(/_/g,".");if(/^[\s0-9.]+$/.test(B)){var A=B.split(".");B=parseFloat(A[0]+"."+A[1]);}else{B=0;}}}return B;},_pluginDetectJavaMinVersion:function(){var A=PluginDetect.isMinVersion("Java",this._minJavaVersionRequired,this._pluginDetectJavaJarPath);if(Math.abs(A)==0.5){return false;}if(A!=1){var B=this._getOSXVersion();this._javaState.hasMinVersionRequired=false;if((B==0)||(B>=this._macAttemptJavaUpgrade)){this._javaState.attemptMacJavaUpgrade=true;}else{this._javaState.useJava=false;}}return true;},_deployJavaVersionCheck:function(){if(this._javaState.useJava){if((!this._javaState.isMac&&!deployJava.versionCheck(this._minJavaVersionRequired+"+"))||(this._javaState.isMac&&this._javaState.attemptMacJavaUpgrade)){this._javaState.hasMinVersionRequired=false;}}},_detectJavaState:function(){this._javaState.isMac=(navigator.userAgent.indexOf("Mac")>0);this._javaState.useJava=true;this._javaState.hasMinVersionRequired=true;this._javaState.attemptMacJavaUpgrade=false;if(this._javaState.isMac){if(!this._pluginDetectJavaMinVersion()){return null;}}this._deployJavaVersionCheck();var A=PhotoSite.Framework.UploaderDetectorResultFlags.Unknown;if(this._javaState.useJava){A|=PhotoSite.Framework.UploaderDetectorResultFlags.JavaPlatformSupported;}if(this._javaState.hasMinVersionRequired){A|=PhotoSite.Framework.UploaderDetectorResultFlags.JavaHasMinVersionRequired;}if(this._javaState.attemptMacJavaUpgrade){A|=PhotoSite.Framework.UploaderDetectorResultFlags.JavaAttemptMacUpgrade;}return A;},_getFlashUseActiveXControl:function(){return(navigator.appVersion.indexOf("MSIE")!=-1)&&(navigator.appVersion.toLowerCase().indexOf("win")!=-1)&&(navigator.userAgent.indexOf("Opera")==-1);},_getFlashControlVersion:function(){try{var B=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");return B.GetVariable("$version");}catch(A){}return -1;},_getSwfPluginVersion:function(){var E=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var C=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var G=navigator.plugins["Shockwave Flash"+C].description;var H=G.split(" ");var A=H[2].split(".");var D=A[0];var B=A[1];var F=H[3];if(F==""){F=H[4];}if(F[0]=="d"){F=F.substring(1);}else{if(F[0]=="r"){F=F.substring(1);if(F.indexOf("d")>0){F=F.substring(0,F.indexOf("d"));}}}E=D+"."+B+"."+F;}}else{if(this._getFlashUseActiveXControl()){E=this._getFlashControlVersion();}}return E;},_detectFlashVersionSupported:function(A,G,C){var B=this._getSwfPluginVersion();if(!B||B<=0){return false;}if(this._getFlashUseActiveXControl()){tempArray=B.split(" ");tempString=tempArray[1];versionArray=tempString.split(",");}else{versionArray=B.split(".");}var F=versionArray[0];var D=versionArray[1];var E=versionArray[2];if(F>parseFloat(A)){return true;}else{if(F==parseFloat(A)){if(D>parseFloat(G)){return true;}else{if(D==parseFloat(G)){return E>=parseFloat(C);}}}}return false;},_detectActiveXSupported:function(){var A=navigator.userAgent;return(A.indexOf("Windows")>=0&&A.indexOf("Windows 98")==-1&&A.indexOf("Windows NT 5.0")==-1&&A.indexOf("MSIE")>=0);},_detectActiveXUploaderInstalled:function(B){try{var A="Photochannel.PCUploader."+this._activeXMajorVersion+".0.0."+B;return(new ActiveXObject(A))!=null;}catch(C){return false;}},_detectActiveXState:function(){var A=PhotoSite.Framework.UploaderDetectorResultFlags.Unknown;if(this._detectActiveXSupported()){A|=PhotoSite.Framework.UploaderDetectorResultFlags.ActiveXPlatformSupported;}if(this._detectActiveXUploaderInstalled(this._activeXMinorVersion)){A|=PhotoSite.Framework.UploaderDetectorResultFlags.ActiveXLatestUploaderInstalled;}else{if(document.location.hash=="#activexinstalled"){A|=PhotoSite.Framework.UploaderDetectorResultFlags.ActiveXUploaderInstallFailed;}}if(this._detectActiveXUploaderInstalled(this._activeXMinorVersion-1)){A|=PhotoSite.Framework.UploaderDetectorResultFlags.ActiveXPreviousVersionInstalled;}return A;},_detectFlashState:function(){var A=PhotoSite.Framework.UploaderDetectorResultFlags.Unknown;if(true){A|=PhotoSite.Framework.UploaderDetectorResultFlags.FlashPlatformSupported;}if(this._detectFlashVersionSupported(this._flashMajorVersion,this._flashMinorVersion,0)){A|=PhotoSite.Framework.UploaderDetectorResultFlags.FlashHasMinVersionRequired;}return A;},_raiseDetectionComplete:function(A){this.raiseEvent("detectionComplete",{flags:A});},_detectFlags:function(){var A=this._detectJavaState(),B=this._detectActiveXState(),C=this._detectFlashState();return A|B|C;},initialize:function(){PhotoSite.Framework.UploaderDetector.callBaseMethod(this,"initialize");this.get_element().UploaderDetector=this;},dispose:function(){if(!this._disposed){this.get_element().UploaderDetector=null;PhotoSite.Framework.UploaderDetector.callBaseMethod(this,"dispose");this._disposed=true;}},detect:function(){if(this._detectInProgress){return;}this._detectInProgress=true;if(this._detectJavaState()==null){setTimeout(Function.createDelegate(this,this.detect),500);return;}this._detectInProgress=false;var A=this._detectFlags();this._raiseDetectionComplete(A);},addHandler:function(B,A){this.get_events().addHandler(B,A);},removeHandler:function(B,A){this.get_events().removeHandler(B,A);},add_detectionComplete:function(A){this.get_events().addHandler("detectionComplete",A);this.detect();},remove_detectionComplete:function(A){this.get_events().removeHandler("detectionComplete",A);},notifyActiveXUploaderInstalled:function(){var A=this._detectActiveXState();var B=PhotoSite.Framework.UploaderDetectorResultFlags.ActiveXLatestUploaderInstalled;if((A&B)!=B){document.location.hash="activexinstalled";window.location.reload(false);}else{this.detect();}},notifyActiveXUploaderInstallFailed:function(){var A=this._detectFlags();A|=PhotoSite.Framework.UploaderDetectorResultFlags.ActiveXUploaderInstallFailed;this._raiseDetectionComplete(A);},notifyJavaUploaderLoadFailed:function(){var A=this._detectFlags();A|=PhotoSite.Framework.UploaderDetectorResultFlags.JavaAppletLoadFailed;this._raiseDetectionComplete(A);}};PhotoSite.Framework.Utils.defineObjectAutoProperties(PhotoSite.Framework.UploaderDetector.prototype,[{name:"activeXMajorVersion"},{name:"activeXMinorVersion"},{name:"activeXUploaderName"},{name:"pluginDetectJavaJarPath"},{name:"minJavaVersionRequired"},{name:"flashMajorVersion"},{name:"flashMinorVersion"}]);PhotoSite.Framework.UploaderDetector.registerClass("PhotoSite.Framework.UploaderDetector",PhotoSite.Framework.ControlBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();