
								var sjCallbacks=new Object();//!global variable MUST be created !
							    var sjErrCallbacks=new Object();//!global variable MUST be created !
							    
							    // Check imageexists																
function sjGetResponseLocal(inReq, inImg, inCallback, inErrCallback) {
    var tempi = inImg.indexOf("?");
    var tempmod = "";
    if (tempi >= 0) {
        tempmod = inImg.substring(tempi + 1);
        inImg = inImg.substring(0, tempi);
    }
    var urljson = S7ConfigClient.isRoot + inImg + '?' + inReq;
 
    if (tempmod) {
        urljson += '&' + tempmod;
    }
    var id = sjHashCode(urljson);
    urljson += '&id=' + id;
    if (typeof inCallback != 'undefined') {
        sjCallbacks[id] = inCallback;
    }
    if (typeof inErrCallback != 'undefined') {
        sjErrCallbacks[id] = inErrCallback;
    }
    sjInsertDynaScript(urljson,id);
}
 
 
 
function sjInsertDynaScript(urljsonreq, cbguid){
var sameScript = document.getElementById(cbguid);
if(sameScript){
document.body.removeChild(sameScript);
sameScript = null;
}
var script = document.createElement("script");
script.setAttribute("id",cbguid);      
script.setAttribute("src",urljsonreq);
script.setAttribute("type","text/javascript");                
document.body.appendChild(script);
}
								 function s7jsonResponse(inArg, inId) {
									sjCallbacks[inId](inArg);
								 }								
								 function s7jsonError(inArg, inId) {
									if (typeof sjErrCallbacks[inId] != 'undefined'){
										sjErrCallbacks[inId](inArg);
									}else{
									}
								 }								
							 	 function sjDebug(inPsResponse, inJsonResponse, inPsResponseParserName, inPsRequest) {
								 }								
								 function sjHashCode(d) {//unix style
									if (!d || d=="") return 1;
									var h=0,g=0;
									for (var i=d.length-1;i>=0;i--) {
										var c=parseInt(d.charCodeAt(i));
										h=((h << 6) & 0xfffffff) + c + (c << 14);
										if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
									}
									return h;
									
								 }								
								 function loadimagexists(inURL, cb) {
								 	var cacheCb = cb;
									sjGetResponseLocal(
										'req=exists,json',
										inURL,
										function(inArg) {										     
											imagexists=inArg;	
											
											cacheCb();												
										},
										function(inArg) {
									
										}
									);
								 }
								function imageExists(obj) {
	
										var exists = false;  //variable that will be returned from the function, initially presumed to be false
										
										if (obj['catalogRecord.exists'] == 1)  //If the response indicates that the catalog record exists
											exists = true;  //set the return boolean to true
											
										
										return exists;
										
								}


								
								
								var S7ConfigClient		= new S7ConfigObject();
								
								var S7Config = new S7ConfigObject();
								var root = S7Config.isViewerRoot;
								var imageServer = S7Config.isRoot;	
								
								function docWrite(line) { document.write(line);}
								function genInstance(){
									var curDateTime = new Date();
									var curTime = 'ZoomMX' + curDateTime.getHours()+ curDateTime.getMinutes() + curDateTime.getSeconds();
  									return curTime;
		 						}
		 						var myName=genInstance();	//This needs to match the ID and NAME in the flash initialization below.  This is generated randomly dependant on curent time in order to prevent multiple page instances from interfering with each other by having the same instance name declared
								var viewerType = "genericzoom";  //this can be changed to basiczoom, genericspin, or genericbrochure but make sure that the parameter references are valid for any other viewer type utilized
	      						var configName = "JosBank/product_viewer2";  //Viewer configuration settings to use at viewer initialization
								var flashvars = {}; 				
								var params = { allowScriptAccess:"Always", menu:"false", quality:"high", scale:"noscale", salign:"LT", bgcolor:"#FFFFCC", wmode:"transparent" };  				
								var attributes = {  id:myName };

function ISImageResponse(resp,imgHeight)
								{   
								  
									var imageName = resp;
					                var imageDim = imgHeight;	
					                var imageStr = (imageName.substring(8));
					                
									var viewerUrl = "";  //Build Viewer Path to Viewer swf
 									viewerUrl += S7Config.isViewerRoot;
 									viewerUrl += "flash/" + viewerType + ".swf?";
 									viewerUrl += "&serverUrl=" + S7Config.isRoot;
 									viewerUrl += "&contentRoot=" + S7Config.skinsRoot;
 									viewerUrl += "&serverSupport=1";
 									viewerUrl += "&splashScreen=" + S7Config.skinsRoot + "JosBank/FlashSkins/productViewerLoader.swf"								
 									viewerUrl += "&waitIconTimer=0.1,2";
 									viewerUrl += "&instanceName=" + myName;
 									viewerUrl += "&image=" + imageName;
 									viewerUrl += "&config=" + configName;

 			 			            swfobject.embedSWF(viewerUrl, "myContent", "268", imageDim, "7.0.14.0", "../resources/expressInstall/expressInstall.swf", flashvars, params, attributes);
	  							   
	  							 }

function imageMainNext(mainImageName,imageHeight){
									var newSkuExists = imageExists(imagexists);	

									if (newSkuExists == true){
							 		 ISRequestScene7Image(mainImageName,imageHeight);
									}
								}
								
								
								
								function imageIsNext(isName){
									var newSkuExists = imageExists(imagexists);	

								
 									if (newSkuExists == true){
								 	var imageHeight=426; 
								 		ISRequestScene7Image(isName,imageHeight);
									} 
									else 		
										{
											 var myNewImage = isName.replace("_is", "_main");
											 var mainImageName = myNewImage;
											 var imageHeight=340;
											  loadimagexists(myNewImage,function(){imageMainNext(mainImageName, imageHeight);});
											
									    }
								}
								
								
								
								
								 function RequestScene7Image(newImageName){
								  	var nim=newImageName;
									loadimagexists(newImageName,function(){imageIsNext(nim);});
								 }								
			
								
