<!--

var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
var flashDescription;

//
// This will likely fail on versions before flash 6, but since we don't 
// support versions before 6.0r65 it is ok.
//
function isFlashCurrent(versionMajorReq, versionMinorReq, versionRevisionReq) {
    var versionMajor;
    var versionMinor;
    var versionRevision;

    // TODO: Make the function not take version
    // numbers, so flash versions can be controlled
    // from this point.  (Otherwise, put the version
    // number requirement in s7ondemand.conf.)
    versionMajorReq = 7;
    versionMinorReq = 0;
    versionRevisionReq = 14;

    // NS/Opera version >= 3 check for Flash plugin in plugin array
    if (navigator.plugins != null && navigator.plugins.length > 0) {
        if (navigator.plugins["Shockwave Flash"]) {
            // parse the description to get the version
            flashDescription = navigator.plugins["Shockwave Flash"].description;
            var descArray = flashDescription.split(" ");
            var tempArrayMajor = descArray[2].split(".");
            versionMajor = tempArrayMajor[0];
            versionMinor = tempArrayMajor[1];
            if (descArray[3] != "") {
                tempArrayMinor = descArray[3].split("r");
            } else {
                tempArrayMinor = descArray[4].split("r");
            }
            versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;

        }
    } else if (isIE && isWin && !isOpera) {
        try {
            var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + versionMajorReq);

            // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
            // so be careful.  Of course we don't run those versions.
            axo.AllowScriptAccess = "always";
            // required for v6.x?
            var version = axo.GetVariable("$version");
            // safe to call for 6.0r47 or greater
            flashDescription = version;

            // parse the version data
            tempArray = version.split(" ");
            // ["WIN", "2,0,0,11"]
            tempString = tempArray[1];
            // "2,0,0,11"
            versionArray = tempString.split(",");
            // ['2', '0', '0', '11']

            versionMajor = versionArray[0];
            versionMinor = versionArray[1];
            versionRevision = versionArray[2];
            // should be 3???
        } catch (e) {
        }
    }

    // test version
    if (versionMajor > versionMajorReq) {
        return true;
    }
    if (versionMajor == versionMajorReq
            && versionMinor > versionMinorReq) {
        return true;
    }
    if (versionMajor == versionMajorReq
            && versionMinor == versionMinorReq
            && versionRevision >= versionRevisionReq) {
        return true;
    }
    return false;
}


function Querystring(qs) { 

	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') 

	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}
function S7Viewer() {
	this.hostname = "";
	this.sku = null;
	this.urlParam = null;
	this.configName = "";
	this.company = "";
	this.windowFeatures = "";
	this.catalogName = null;
	this.image = null;
	this.config = null;
	this.viewerCommands = "";
	this.height = '420';
	this.width = '465';
	
	this.setHostName = S7Viewer_setHostName
	this.setID = S7Viewer_setSKU
	this.setConfig = S7Viewer_SetConfig
	this.setWindowFeatures = S7Viewer_setWindowFeatures
	this.get = S7Viewer_getKey
	this.setSize = S7Viewer_setSize
	this.draw = S7Viewer_draw
	
}
function S7Viewer_setSize(w,h){
	this.height = h;
	this.width = w;
}
function S7Viewer_draw() {
	if (!isFlashCurrent(6, 0, 65))
	{
		location.href = this.hostname + "/s7ondemand/misc/upgradeflash.jsp?ref=" + escape(document.location);
			
	}
	var embedString = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
embedString += '  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ';
	embedString +=' ID="' + S7Viewer_getKey("sku") + '" WIDTH="' + S7Viewer_getKey("width") + '" HEIGHT="' + S7Viewer_getKey("height") + '" ALIGN="">';
	embedString +=' <PARAM NAME=movie VALUE="' + S7Viewer_getKey("hostname") + '/is-viewers-4.1/flash/genericzoom.swf?serverUrl=' + S7Viewer_getKey("hostname")  + '/is/image/&contentRoot=' + S7Viewer_getKey("hostname")  + '%2fskins&image=' + S7Viewer_getKey("image") + '&config=' +  S7Viewer_getKey("config") + S7Viewer_getKey("viewerCommands") +'">' ;
	embedString +=' <PARAM NAME=menu VALUE=false> ';
	embedString +=' <PARAM NAME=quality VALUE=high> ';
	embedString +=' <PARAM NAME=scale VALUE=noscale> ';
	embedString +=' <PARAM NAME=salign VALUE=LT> ';
	embedString +=' <PARAM NAME=bgcolor VALUE=#ffffff>  ';
	embedString +=' <EMBED src="' + S7Viewer_getKey("hostname")  + '/is-viewers-4.1/flash/genericzoom.swf?serverUrl=' + S7Viewer_getKey("hostname")  + '/is/image/&contentRoot=' + S7Viewer_getKey("hostname")  + '%2fskins&image=' +  S7Viewer_getKey("image") + '&config=' + S7Viewer_getKey("config") + S7Viewer_getKey("viewerCommands") +'"' ;
	embedString +=' QUALITY="high" BGCOLOR="#ffffff" WIDTH="' + S7Viewer_getKey("width") + '" HEIGHT="' + S7Viewer_getKey("height") + '" SWLIVECONNECT="true"';
	embedString +=' NAME="' +  S7Viewer_getKey("image") + '" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">';
	embedString +=' </EMBED>';
	embedString +=' </OBJECT>';
	
	//document.write(embedString);
}

function S7Viewer_getKey(key) {
	return this[key];
}
function S7Viewer_setHostName(val) { 
	this.hostname = val; 
}
function S7Viewer_setSKU(val,defaultVal) { 
	var qs = new Querystring()
	this.urlParam
	if (qs.get(val) == null ) {
		if (defaultVal != null && defaultVal != "") {
			this.sku = defaultVal;
		} else {
			this.urlParam = val;
			this.sku = qs.get(this.urlParam);
		}

	} else {
		this.sku = val;
	}
	this.image = this.company + "%2F" + this.sku;
}
function S7Viewer_SetConfig(compVal, configVal) { 

	this.company = compVal;
	this.configName = configVal; 
	this.config = this.company + "%2F" + this.configName;
}
function S7Viewer_setWindowFeatures(val) { this.windowFeatures = val; }



//-->
