

/* ************************************************************************************** */
/*	OBJECT	: Spade.DataManagers.ProductImages( xmlProductImagesDOM )
	PARAM	: xmlProductImagesDOM  : an instance of a Stenstrom.Net.Web.Xml.DOMDocument 
	          contains the ProductImage XML document.
*/

	Spade.DataManagers.ProductImagesManager		= function( xmlProductImagesDOM, sImageFolderPath ){
	
		// inherit the System.Object class properties and methods 
			Stenstrom.NET.System.Object.call(this);
			
		// create the prototype so that this class may be inherited 
			Spade.DataManagers.prototype				= new Stenstrom.NET.System.Object();
			Spade.DataManagers.prototype.constructor	= Spade.DataManagers;
			
			
			this.Type		= "Spade.DataManagers.ProductImages";
			this.XmlDom		= xmlProductImagesDOM;
			this.ImagePath	= sImageFolderPath;
			
			Initialize_DataMgrsProductImages( this );
		
	};
	function Initialize_DataMgrsProductImages(obj){
	};
		
		Spade.DataManagers.ProductImagesManager.prototype.GetChipImages				= function(sChipProdId){
		
			var sXPath			= "//chipImages/image[@code=\""+ sChipProdId +"\"]";
			var xmlImageNodes	= this.XmlDom.SelectNodes( sXPath );
			var arImageList		= new Array();
			
			for(var i=0; i<xmlImageNodes.length; i++){
				
				var oProductImage	= new Spade.DataManagers.ProductImagesManager.Image( xmlImageNodes[i], this )
				arImageList.push( oProductImage );
			}
			
			return( arImageList );
		};
				
		Spade.DataManagers.ProductImagesManager.prototype.GetDealerButtonImages		= function(sProdId){
		
			var sXPath			= "//dealerButtonImages/image[@code=\""+ sProdId +"\"]";
			var xmlImageNodes	= this.XmlDom.SelectNodes( sXPath );
			var arImageList		= new Array();
			
			for(var i=0; i<xmlImageNodes.length; i++){
				
				var oProductImage	= new Spade.DataManagers.ProductImagesManager.Image( xmlImageNodes[i], this )
				arImageList.push( oProductImage );
			}
			
			return( arImageList );
		};
				
		Spade.DataManagers.ProductImagesManager.prototype.GetSampleSetImages		= function(sProdId){
		
			var sXPath			= "//sampleSetImages/image[@code=\""+ sProdId +"\"]";
			var xmlImageNodes	= this.XmlDom.SelectNodes( sXPath );
			var arImageList		= new Array();
			
			for(var i=0; i<xmlImageNodes.length; i++){
				
				var oProductImage	= new Spade.DataManagers.ProductImagesManager.Image( xmlImageNodes[i], this )
				arImageList.push( oProductImage );
			}
			
			return( arImageList );
		};
		
		Spade.DataManagers.ProductImagesManager.prototype.GetGalleryImages			= function(){
		
			var sXPath			= "//galleryImages/image";
			var xmlImageNodes	= this.XmlDom.SelectNodes( sXPath );
			var arImageList		= new Array();
			
			for(var i=0; i<xmlImageNodes.length; i++){
				
				var oProductImage	= new Spade.DataManagers.ProductImagesManager.Image( xmlImageNodes[i], this )
				arImageList.push( oProductImage );
			}
			
			return( arImageList );
		};



	
	
/* ************************************************************************************** */
/*	OBJECT	: Spade.DataManagers.ProductImages.Image( xmlImageNode, oProductImagesMgr )
	PARAM	: xmlImageNode
	PARAM	: oProductImagesMgr
*/
	Spade.DataManagers.ProductImagesManager.Image	= function(xmlImageNode, oProductImagesMgr){
		
		this.XmlNode			= xmlImageNode;
		this.ProductImagesMgr	= oProductImagesMgr;
		this.Type				= "Spade.DataManagers.ProductImagesManager.Image";
		
		Initialize_DataMgrProductImage( this );
	};
	function Initialize_DataMgrProductImage(obj){
		
		obj.FileName	= (function(){
		
				var sImgName	= obj.XmlNode.getAttribute("src");
				return( sImgName );
		})();
		
		obj.ImageCode	= (function(){
		
				var sImgCode	= obj.XmlNode.getAttribute("code");
				return( sImgCode );
		})();
		
		obj.ImagePath	= (function(){
		
				var sImgName	= obj.XmlNode.getAttribute("src");
				var sFolderPath	= obj.ProductImagesMgr.ImagePath;
				return( sFolderPath + sImgName );
		})();
		
		obj.Height	= (function(){
		
				var sImgHeight	= obj.XmlNode.getAttribute("height");
				var nImgHeight	= (isNaN(parseInt(sImgHeight)))? -1 : parseInt(sImgHeight);
				return( nImgHeight );
		})();
		
		obj.Width	= (function(){
		
				var sImgWidth	= obj.XmlNode.getAttribute("width");
				var nImgWidth	= (isNaN(parseInt(sImgWidth)))? -1 : parseInt(sImgWidth);
				return( nImgWidth );
		})();
		
		obj.Orientation		= (function(){
			
			if(obj.Width > obj.Height)
				return("landscape");
			else
				return("portait");
			
		})();
		
		obj.Title	= (function(){
			
			var sImgTitle	= obj.FileName; // default to fimage file name if a Title is not provided.
			
			if(obj.XmlNode.getAttributeNode("title") != null)
				sImgTitle	= obj.XmlNode.getAttribute("title");
			
			return( sImgTitle );
			
		})();
				
		obj.Description	= (function(){
			
				return( "" );
		})();
	};
	
	