if (typeof defaultLP == "undefined") {
	var defaultLP = "http://disney.go.com/home/html/index.html";
}

if (typeof nonbranded == "undefined") {
	var nonbranded = "http://disney.go.com/detect/nonbranded.html";
}

if (typeof default_cookie_domain == "undefined") {
	var default_cookie_domain = ".go.com";
}


//pop up window

function DolOpenWin(the_window,win_name,args,what_return){
	this[win_name] = window.open(the_window,win_name,args);
	has_pop = SendCommand(win_name);
	if(!has_pop){
		try{
			eval(win_name).focus();
		}catch(e){
			has_pop = true;
		}
	}
	if(what_return);
	else return has_pop;
}
function SendCommand(wn){
	try{
		return(wn)?false:true;
	}catch(e){
		return true;
	}
}
//Gecko Detection
function IsGekko(){
	return(navigator.appName == "Netscape")?true:false
}

function GetTheVersion(gt){
	var gua = navigator.userAgent;
	if(gt == "Mozilla"){
		temp = gua.split("rv:");
		major_version = parseFloat(temp[1]);
	} else if(navigator.userAgent.indexOf("Firefox")!=-1) {
		var versionindex=navigator.userAgent.indexOf("Firefox")+8
		major_version = parseInt(navigator.userAgent.charAt(versionindex));
	} else{
		var marker = gua.lastIndexOf("/");
		var subMe = gua.substr(marker + 1);
	}
	return major_version;	
}
function PassVersion(bt,version,req_version){
	defaultAr = new Array(1.2,1,7,85.8);
	this.strippedAppVersion = version
	if(req_version){
		reqAr = req_version.split(",");
		for(i=0;i<reqAr.length;i++){
			if(reqAr[i] == "" || reqAr[i] == 0) reqAr[i] = defaultAr[i];
			reqAr[i] = parseFloat(reqAr[i]);
		}
	}else{
		reqAr = defaultAr;
	}
	switch(bt){
		case "Mozilla":
			this.browser = "Mozilla";
			return(version >= reqAr[0])?true:false
		case "Firefox":
			this.browser = "Firefox";
			//if(version >= 1 || version == .10) return true;
			return(version >= reqAr[1])?true:false;
		case "Netscape":
			this.browser = "Netscape";
			return(version >= reqAr[2])?true:false;
		case "Safari":
			this.browser = "Safari";
			return(version >= reqAr[3])?true:false;
		case "default":
			return false;
		}
	return true;
}
function WhatGecko(){
	var use_agent = navigator.userAgent;
	if(use_agent.indexOf("Netscape") != -1) nua = "Netscape";
	else if(use_agent.indexOf("Safari") != -1) nua = "Safari";
	else if(use_agent.indexOf("Firefox") != -1) nua = "Firefox";
	else if(use_agent.indexOf("Mozilla/5.0") != -1) nua = "Mozilla";
	else return false;
	return nua;
}
function GeckoInterface(page_transition,req_version){
	var myGecko = WhatGecko();
	var theVersion = GetTheVersion(myGecko);
	var passBrowser = this.PassVersion(myGecko,theVersion,req_version);
	if(page_transition)return passBrowser;
	else{
		if(passBrowser)return true;
		else goURL(defaultLP);
	}
}
// end geck detection
//SP2 Detection
function IsServicePack(){
	var ua = navigator.userAgent;
	if(ua.indexOf("SV1") != -1) return true;
	else return false;
}
var today = new Date();
var expire = new Date(today.getTime() - 10);
var oneYear = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000);
var oneMonth = new Date(today.getTime() + 30 * 24 * 60 *60 * 1000);
var oneWeek = new Date(today.getTime() + 7 * 24 * 60 *60 * 1000);
var twoWeek = new Date(today.getTime() + 14 * 24 * 60 *60 * 1000);


function goURL(url){
	winLoc = window.location.toString();
	SetCookieUtil("detect_cookie","FL|" + winLoc);
	top.location.replace(url);
}

function SetCookieUtil (name,value,expires,path,domain,secure) {
	document.cookie = name + "=" + escape (value) +	((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "; path=/") + ((domain) ? "; domain=" + domain : "; domain=" + default_cookie_domain) +	((secure) ? "; secure" : "");
}

function GetCookieUtil (name) {
	var result = null;
	var myCookie = " " + document.cookie + ";";
	var searchName = " " + name + "=";
	var startOfCookie = myCookie.indexOf(searchName);
	var endOfCookie;
	if (startOfCookie != -1) {
		startOfCookie += searchName.length;
		endOfCookie = myCookie.indexOf(";", startOfCookie);
		result = unescape(myCookie.substring(startOfCookie, endOfCookie));
	}
	return result;
}
if (!document.getElementById) top.location.replace(defaultLP);
function PullVersionNumber(arg){
	var toReturn = arg.split(" ");
	for(var i=0;i<toReturn.length;i++){
		var num = toReturn[i];
		var num = parseFloat(num);
		if(num >= 1){
			return num;
		}
	
	}
}
function FindVersionNumber(){
	var ret;
	var version = navigator.userAgent;
	var versionAr = version.split(";");
	for(i=0;i<versionAr.length;i++){
		if(versionAr[i].indexOf("MSIE") != -1){
			ret = PullVersionNumber(versionAr[i]);
		}
	}
	return ret;
}

function FindNetscapeVersionNumber(){
	var ret = navigator.userAgent;
	var retAr = ret.split(" ");
	for(var i=0;i<retAr.length;i++){
		if(retAr[i].indexOf("Netscape") != -1){
			breakDownAr = retAr[i].split("/");
			ret = parseFloat(breakDownAr[1]);
			
			break;
		}
	}
	// Hacking this for now.
	return ret;
}
function BiFindVersionNumber(){
	if(navigator.userAgent.toLowerCase().indexOf("msie")!= -1){
		var ret = FindVersionNumber();
	}
	if(navigator.appName.indexOf("Netscape") != -1){
		var ret = FindNetscapeVersionNumber();
	}
	return ret;
}
function GetAx(ax){
	try{
		oMotion=eval("new  ActiveXObject('"+ax+"');");
		return true;
	}catch(e){
		return false;
	}
		return true;
}

//FLASH SCRIPT


function convertFlashVersionToInt(versionString) {
	// Clean up Netscape cases that look like this... "9.0 r47"
	if (versionString.indexOf(" r") != -1) {
		versionString = versionString.replace(/\s+r/,".");
	}
	var versionArray = new Array();
	if (versionString.indexOf(".") != -1) {
		versionArray = versionString.split(".");
	} else {
		versionArray = versionString.split(",");
	}
	for (var i = 0; i < versionArray.length; i++) {
		versionArray[i] = versionArray[i].replace(/\D/g,"");
	}
	//Make sure array always has 4 items.
	if (versionArray.length < 4) {
		for (i = versionArray.length; i < 4; i++) {
			versionArray[i] = 0;
		}
	}
	convertedFlashVersion = parseInt(versionArray[0] * Math.pow(10,9)) + parseInt(versionArray[1] * Math.pow(10,6)) + parseInt(versionArray[2] * Math.pow(10,3)) + parseInt(versionArray[3]);
	return convertedFlashVersion;

}


function getNAxFlash(){
	na_flash=0;
	if(navigator.plugins) {
		for (var i=0; i<navigator.plugins.length; i++) {
			try{
				na_flash=/shockwave flash (\d+)/gi.exec(navigator.plugins[i].description)[1];
				na_flash = convertFlashVersionToInt(navigator.plugins[i].description);
				break;
			} catch(notIt){
			}
		}
	}return na_flash;
}
function getAxFlash(){
	iVersion = -1;
	try {
		iVersion = convertFlashVersionToInt(new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version"));

	} catch(e) {
	}
	return iVersion;
}
iFlashCm = (navigator.appName.indexOf("Micro") != -1 && (navigator.platform.indexOf("Win") != -1 || navigator.platform.toLowerCase().indexOf("ce") != -1))?getAxFlash():getNAxFlash();
flashVersion = iFlashCm+",";

//Updated code October 4th year 2006
function GetFlashVersion(){
	try {
		return iFlashCm + ",";
	}catch(e){
		return false;
	}
}
function CheckFlashVersion(required){
	var output = false;
	userVersion = iFlashCm;
	
	if(userVersion == false) return false;
	else iUserVersion = parseInt(userVersion)
	if(required != null)iRequiredVersion = convertFlashVersionToInt(required);
	
	return (iUserVersion >= iRequiredVersion)?true:false;
}
function FlashCheck(version){return (CheckFlashVersion(version)) ? true : false;}
function GetFlashAx(){ return iFlashCm; }

function DetectFlash(nversion,redirect,override){
	if(!nversion)nversion = "8";
	if(!redirect)redirect = defaultLP;
	gotFlash = FlashCheck(nversion);
	if(!gotFlash){
		if(override == true){
			return false;
		} else {
			retFull = window.location.toString();
			SetCookieUtil("return_path",retFull);
			goURL(redirect);
		}
	} else {
		return true;
	}
}



function GetActiveX(){
	hasActiveX=(navigator.userAgent.toLowerCase().indexOf("msie") != -1 && this.d_platForm.indexOf("Win") != -1)?true:false;
	return hasActiveX;

}

function SuperObj(gecko_val,gecko_require){
	this.d_appName = navigator.appName;
	this.d_appVersion = navigator.appVersion
	this.d_platForm = navigator.platform
	d_appName = this.d_appName;
	d_appVersion = this.d_appVersion;
	d_platForm = this.d_platForm;
	this.GetActiveX = GetActiveX;
	this.hasActiveX = this.GetActiveX();
	hasActiveX = this.hasActiveX;
	this.GetFlashVersion = GetFlashVersion;
	// addition 12-01-2004
	this.hasServicePack = false
	this.passGecko = false;
	// end addition
	
	this.strippedAppVersion = BiFindVersionNumber();

	this.GeckoInterface = GeckoInterface;
	this.PassVersion = PassVersion
	this.browser = "";

	if(this.d_appName == "Netscape"){
		this.passGecko = this.GeckoInterface(gecko_val,gecko_require);
	}
	
	else if(this.d_appName.indexOf("Micro") != -1){
		this.hasServicePack = IsServicePack();
		this.browser = "ie";
	}

}
function CreateInterface(loc,gecko_val,gecko_require){
	domain = window.location.host;
	if(domain.indexOf("disney.go.com") != -1 || domain.indexOf("family.go.com") != -1) {
		de_host = "disney";
	}else{
		de_host = "global";
	}
	if (typeof defaultLP == "undefined")
	{
		if(!loc){
			defaultLP = "http://"+de_host+".go.com/home/html/index.html";
		}else{
			defaultLP = loc;
		}
	}

	browser_object = new SuperObj(gecko_val,gecko_require);
}

