// ###########################################################################
// CODE
// ###########################################################################
	image = new Object();
	context = new Object();
	protocol = new Object();
	metadata = new Object();
	imageInfoMap = new Object();
	currentTab = 'tab-zoom';

	var haveZoom = false;
	if(theFlag=='V' || theFlag=='Y' || theFlag=='U') 
		haveZoom = true;
			
	var haveVideo = false;
	if(theFlag=='V' || theFlag=='X' || theFlag=='U' || theFlag=='S') 
		haveVideo = true;				

	var haveFlash = false;
	if(theFlag=='U' || theFlag=='S') 
		haveFlash = true;				

	if (haveZoom){
		// standard Scene7 Zoom DHTML code..
		sj_codebase="http://"+s7subdomain+".scene7.com/is-viewers/dhtml/";
		document.write('<script type="text/javascript" src="http://'+s7subdomain+'.scene7.com/is-viewers/dhtml/basicZoom.jsp?image='+imageRef+'"><'+'/script>');

		// take care of the error message on image not found - check if image is available, 
		// this object gets a boolean property named 'exists' set by the JS we fetch from the Scene7 server.
		var catalogRecord = new Object();
		document.write('<script type="text/javascript" src="http://'+s7subdomain+'.scene7.com/is/image/Debenhams/'+imageRef+'?req=exists,javascript"><'+'/script>');
	}

// ###########################################################################
// FUNCTIONS
// ###########################################################################
function getAlternateInfo(alt_suffix){
	if(haveZoom){
		var imgName = imageRef+alt_suffix;
		document.write('<script src="http://'+s7subdomain+'.scene7.com/is/image/Debenhams/'+imgName+'?req=ctx,javascript"><' + '/script>');
	}
}
function setAlternateZoom(alt_suffix){
	if(haveZoom) {
		var imgName = imageRef+alt_suffix;
		if (image.rect){
			var rect = image.rect.split(',');
			var imageInfo = new Object();
			imageInfo.width = rect[2];
			imageInfo.height = rect[3];
			imageInfo.iv = image.version;
			imageInfoMap['http://'+s7subdomain+'.scene7.com/is/image/Debenhams/'+imgName] = imageInfo;
		}
	}
}
function mySetImage(inImageName, inReset) {
	var imageInfo = imageInfoMap[inImageName];
	if (imageInfo){
		s7zoom.setImage(inImageName+'?resMode=sharp&op_usm=1.1,0.5,0,0', inReset, imageInfo.width, imageInfo.height, imageInfo.iv);
	}
}
function showTab(toShowId){
	if(toShowId=='tab-zoom' && currentTab != 'tab-zoom'){
		document.getElementById('tab-video').style.display='none';
		document.getElementById('tab-zoom').style.display='block';
		
		if(document.getElementById('z_alts'))
			//document.getElementById('z_alts').style.display='block';
			document.getElementById('z_alts').style.visibility='visible';
		
		if(haveZoom)	{
			document.getElementById('zd_panLeft').style.display='none';
			document.getElementById('zd_panUp').style.display='none';
			document.getElementById('zd_panRight').style.display='none';
			document.getElementById('zd_panDown').style.display='none';
			document.getElementById('zd_zoomIn').style.display='none';
			document.getElementById('zd_zoomOut').style.display='none';
			document.getElementById('zd_reset').style.display='none';
			document.getElementById('zd_zoomtxt').style.display='none';

			document.getElementById('z_panLeft').style.display='block';
			document.getElementById('z_panUp').style.display='block';
			document.getElementById('z_panRight').style.display='block';
			document.getElementById('z_panDown').style.display='block';
			document.getElementById('z_zoomIn').style.display='block';
			document.getElementById('z_zoomOut').style.display='block';
			document.getElementById('z_reset').style.display='block';
			document.getElementById('z_zoomtxt').style.display='block';
		}
		
		currentTab = 'tab-zoom';
		document.getElementById('t_video').className='';
		document.getElementById('t_zoom').className='active';
	}
	if(toShowId=='tab-video' && currentTab != 'tab-video'){
		document.getElementById('tab-zoom').style.display='none';
		document.getElementById('tab-video').style.display='block';
		
		if(document.getElementById('z_alts'))
			//document.getElementById('z_alts').style.display='none';
			document.getElementById('z_alts').style.visibility='hidden';
		
		if(haveZoom)	{
			document.getElementById('z_panLeft').style.display='none';
			document.getElementById('z_panUp').style.display='none';
			document.getElementById('z_panRight').style.display='none';
			document.getElementById('z_panDown').style.display='none';
			document.getElementById('z_zoomIn').style.display='none';
			document.getElementById('z_zoomOut').style.display='none';
			document.getElementById('z_reset').style.display='none';
			document.getElementById('z_zoomtxt').style.display='none';
			
			document.getElementById('zd_panLeft').style.display='block';
			document.getElementById('zd_panUp').style.display='block';
			document.getElementById('zd_panRight').style.display='block';
			document.getElementById('zd_panDown').style.display='block';
			document.getElementById('zd_zoomIn').style.display='block';
			document.getElementById('zd_zoomOut').style.display='block';
			document.getElementById('zd_reset').style.display='block';
			document.getElementById('zd_zoomtxt').style.display='block';
		}
		
		currentTab = 'tab-video';
		document.getElementById('t_video').className='active';
		document.getElementById('t_zoom').className='';
	}
}
function z_pan(direction){
	s7zoom.pan(direction,1);
}
function z_zoomIn(direction){
	s7zoom.zoomIn();
}
function z_zoomOut(direction){
	s7zoom.zoomOut();
}
function z_reset(){
	s7zoom.reset();
}

function flashembed(root,userParams,flashvars){if(typeof root=='string'){root=document.getElementById(root);}function extend(to,from){if(from){for(key in from){if(from.hasOwnProperty(key)){to[key]=from[key];}}}}var params={src:'#',width:'100%',height:'100%',version:null,loadEvent:null,onFail:null,expressInstall:null,allowfullscreen:true,allowscriptaccess:'always',quality:'high',bgcolor:'#ffffff',type:'application/x-shockwave-flash',pluginspage:'http://www.adobe.com/go/getflashplayer'};if(typeof userParams=='string'){userParams={src:userParams};}extend(params,userParams);var evt=params.loadEvent;params.loadEvent=null;function load(){var version=getVersion();var required=params.version;var express=params.expressInstall;if(!root){return;}if(!required||isSupported(required)){params.onFail=params.version=params.expressInstall=null;root.innerHTML=getHTML();return root.firstChild;}else if(params.onFail){var ret=params.onFail.call(params,getVersion(),flashvars);if(ret){root.innerHTML=ret;}}else if(required&&express&&isSupported([6,65])){extend(params,{src:express});flashvars={MMredirectURL:location.href,MMplayerType:'PlugIn',MMdoctitle:document.title};root.innerHTML=getHTML();}else{if(root.innerHTML.replace(/\s/g,'')!==''){}else{root.innerHTML="<h2>Flash version "+required+" or greater is required</h2>"+"<h3>"+(version[0]>0?"Your version is "+version:"You have no flash plugin installed")+"</h3>"+"<p>Download latest version from <a href='"+params.pluginspage+"'>here</a></p>";}}root['on'+evt]=null;}if(evt){if(!root){return;}root['on'+evt]=function(){return load();};}else{return load();}function isSupported(version){var now=getVersion();var ret=(now[0]>version[0])||(now[0]==version[0]&&now[1]>=version[1]);return ret;}function concatVars(vars){var out="";for(var key in vars){if(vars[key]){out+=[key]+'='+asString(vars[key])+'&';}}return out.substring(0,out.length-1);}function getHTML(){var html="";if(typeof flashvars=='function'){flashvars=flashvars();}if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){html='<embed type="application/x-shockwave-flash" ';if(params.id){extend(params,{name:params.id});}for(var key in params){if(params[key]!==null){html+=[key]+'="'+params[key]+'"\n\t';}}if(flashvars){html+='flashvars=\''+concatVars(flashvars)+'\' />';}}else{html='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';html+='width="'+params.width+'" height="'+params.height+'"';if(document.all&&parseInt(navigator.appVersion,10)<=6){params.id="_"+(""+Math.random()).substring(5);}if(params.id){html+=' id="'+params.id+'"';}html+='>';html+='\n\t<param name="movie" value="'+params.src+'" />';params.id=params.src=params.width=params.height=null;for(var k in params){if(params[k]!==null){html+='\n\t<param name="'+k+'" value="'+params[k]+'" />';}}if(flashvars){html+='\n\t<param name="flashvars" value=\''+concatVars(flashvars)+'\' />';}html+="</object>";}return html;}function getVersion(){var version=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var _d=navigator.plugins["Shockwave Flash"].description;if(typeof _d!="undefined"){_d=_d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var _m=parseInt(_d.replace(/^(.*)\..*$/,"$1"),10);var _r=/r/.test(_d)?parseInt(_d.replace(/^.*r(.*)$/,"$1"),10):0;version=[_m,_r];}}else if(window.ActiveXObject){try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version=[6,0];_a.AllowScriptAccess="always";}catch(ee){if(version[0]==6){return;}}try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(eee){}}if(typeof _a=="object"){_d=_a.GetVariable("$version");if(typeof _d!="undefined"){_d=_d.replace(/^\S+\s+(.*)$/,"$1").split(",");version=[parseInt(_d[0],10),parseInt(_d[2],10)];}}}return version;}function asString(obj){switch(typeOf(obj)){case'string':return'"'+obj.replace(new RegExp('(["\\\\])','g'),'\\$1')+'"';case'array':return'['+map(obj,function(el){return asString(el);}).join(',')+']';case'object':var str=[];for(var prop in obj){if(obj.hasOwnProperty(prop)){str.push('"'+prop+'":'+asString(obj[prop]));}}return'{'+str.join(',')+'}';}return String(obj).replace(/\s/g," ").replace(/\'/g,"\"");}function typeOf(obj){if(obj===null||obj===undefined){return false;}var type=typeof obj;return(type=='object'&&obj.push)?'array':type;}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}function map(arr,func){var newArr=[];for(var i in arr){if(arr.hasOwnProperty(i)){newArr[i]=func(arr[i]);}}return newArr;}flashembed.getVersion=getVersion;flashembed.isSupported=isSupported;return root;}if(typeof jQuery=='function'){(function($){$.fn.extend({flashembed:function(params,flashvars){return this.each(function(){flashembed(this,params,flashvars);});}});})(jQuery);}

function suggestplayer(version)  { 
return "<h2>  Flash player version "+this.version+" or greater is required </h2><h3>Your version is "+version+"</h3><p>Download latest version from <a href=\"http://www.adobe.com/go/getflashplayer\">here</a></p>";
}

function getElementsByClassName(oElm, strTagName, oClassNames){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);var arrReturnElements = new Array();var arrRegExpClassNames = new Array();if(typeof oClassNames == "object"){for(var i=0; i<oClassNames.length; i++){arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));}}else{arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));}var oElement;var bMatchesAll;for(var j=0; j<arrElements.length; j++){oElement = arrElements[j];bMatchesAll = true;for(var k=0; k<arrRegExpClassNames.length; k++){if(!arrRegExpClassNames[k].test(oElement.className)){bMatchesAll = false;break;}}if(bMatchesAll){arrReturnElements.push(oElement);}}return (arrReturnElements)
}