


if(typeof(AC)=="undefined"){AC={};}

AC.Detector={

getAgent:function(){
return navigator.userAgent.toLowerCase();
},


isMac:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/mac/i);
},

isWin:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/win/i);
},

isWin2k:function(userAgent){
var agent=userAgent||this.getAgent();
return this.isWin(agent)&&(agent.match(/nt\s*5/i));
},

isWinVista:function(userAgent){
var agent=userAgent||this.getAgent();
return this.isWin(agent)&&(agent.match(/nt\s*6/i));
},


isWebKit:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/AppleWebKit/i);
},

isOpera:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/opera/i);
},

isIE:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/msie/i);
},

isIEStrict:function(userAgent){
var agent=userAgent||this.getAgent();
return agent.match(/msie/i)&&!this.isOpera(agent);
},

isFirefox:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/firefox/i);
},

isiPhone:function(userAgent){
var agent=userAgent||this.getAgent();
return!!agent.match(/iPhone/i);
},


isiTunesOK:function(userAgent){
var agent=userAgent||this.getAgent();
return this.isMac(agent)||this.isWin2k(agent);
},

isQTInstalled:function(){

var qtInstalled=false;

if(navigator.plugins&&navigator.plugins.length){

for(var i=0;i<navigator.plugins.length;i++){

var plugin=navigator.plugins[i];

if(plugin.name.indexOf("QuickTime")>-1){
qtInstalled=true;
}
}
}else{
qtObj=false;
execScript('on error resume next: qtObj = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))','VBScript');
qtInstalled=qtObj;
}

return qtInstalled;
},

getQTVersion:function(){

var version="0";

if(navigator.plugins&&navigator.plugins.length){
for(var i=0;i<navigator.plugins.length;i++){

var plugin=navigator.plugins[i];


var match=plugin.name.match(/quicktime\D*([\.\d]*)/i);
if(match&&match[1]){
version=match[1];
}
}
}else{
ieQTVersion=null;

execScript('on error resume next: ieQTVersion = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1").QuickTimeVersion','VBScript');

if(ieQTVersion){
version=(ieQTVersion>>24).toString(16);
}
}

return version;
},

isQTCompatible:function(required,actual){

function areCompatible(required,actual){

var requiredValue=parseInt(required[0])
if(isNaN(requiredValue)){
requiredValue=0;
}

var actualValue=parseInt(actual[0])
if(isNaN(actualValue)){
actualValue=0;
}

if(requiredValue==actualValue){
if(required.length>1){
return areCompatible(required.slice(1),actual.slice(1));
}else{
return true;
}
}else if(requiredValue<actualValue){
return true;
}else{
return false;
}
}

var expectedVersion=required.split(/\./);
var actualVersion=actual?actual.split(/\./):this.getQTVersion().split(/\./);

return areCompatible(expectedVersion,actualVersion);

},

isValidQTAvailable:function(required){
return this.isQTInstalled()&&this.isQTCompatible(required)
}

};

