/******************************************************************************
* ixgardPriceManagerComplement.js
******************************************************************************/
function getImageProviderUrl()
{
	var extension = document.location.pathname;
	var pos = extension.lastIndexOf(".");
	extension = extension.substr(pos + 1).toLowerCase();
	if(extension == "aspx") {
		return "imageProvider.aspx";
	}
	return "imageProvider.asp";
}

function getElementsByClass(searchClass,tag) {
	var classElements = new Array();
	if ( tag == null )
		tag = '*';
	var els = document.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function ixddp2PriceManagerComplement() {
	this._refImages = new Object();
	this._refUsage = new Object();
}

ixddp2PriceManagerComplement.prototype.getCurrentReferenceOid = function(manager) {
	var currentProduct = objGshpPriceManager.currentProduct;
	var currentReference = currentProduct.currentReference;
	return currentReference.oid;
}

ixddp2PriceManagerComplement.prototype.getCurrentStock = function(manager) {
	var currentProduct = objGshpPriceManager.currentProduct;
	var currentReference = currentProduct.currentReference;
	return currentReference.stock;
}

ixddp2PriceManagerComplement.prototype.getDiscountedPrice = function(manager) {
	var currentProduct = objGshpPriceManager.currentProduct;
	var currentReference = currentProduct.currentReference;
	return currentReference.discountedPrice;
}

ixddp2PriceManagerComplement.prototype.onChangeDimension = function(select) {
	var ref = objGshpPriceManagerComplement.getCurrentReferenceOid(objGshpPriceManager);
	
	var qte = getElementsByClass('ixddp2BasketQuantityInput','*');
	qte[0].setAttribute("id","gshpBasketQuantityInputId_" + ref);
}


ixddp2PriceManagerComplement.prototype.showReference = function(manager, product, reference)
{
	var recordImg = this._refImages[reference.oid];
	if (recordImg != null) {
		var refOid = recordImg[0];
		var refCode = recordImg[1];
		var imageType = recordImg[2];
		var imageRank = recordImg[3];
		var imgOid = recordImg[4];
		var imageUrl = recordImg[5];
		var imageWidth = recordImg[6];
		var imageHeight = recordImg[7];
		var imageLimitWidth = recordImg[8];
		var imageLimitHeight = recordImg[9];
		var imageLimitZoomWidth = recordImg[10];
		var imageLimitZoomHeight = recordImg[11];
		var imageLimitVignetteWidth = recordImg[12];
		var imageLimitVignetteHeight = recordImg[13];
	}		
			
	var imageProviderUrl = getImageProviderUrl();
	
	if(imgOid){
	
		if(imgOid == 0){
			
			if(imageUrl != "") {
				if(document.getElementById('productMainPicture')) {
					document.getElementById('productMainPicture').src=imageUrl;
				}

				if(document.getElementById('productMainPicturePopup')) {
					document.getElementById('productMainPicturePopup').src=imageUrl;
				}
			}			
		}else{
			
			if(document.getElementById('productMainPicture')) {
				var imageUrl1 = imageProviderUrl + '?private_image='+imgOid+'&ew=301&eh=301';
				document.getElementById('productMainPicture').src= imageUrl1;
			}
			
			if(document.getElementById('productMainPicturePopup')) {
				var imageUrl1 = imageProviderUrl + '?private_image='+imgOid+'&ew=600&eh=600';
				document.getElementById('productMainPicturePopup').src= imageUrl1;
			}
		}
	}
		

		var recordUsage = this._refUsage[reference.oid];	
		var typedDocDivRef = '';
		
		if (recordUsage != null && recordUsage.length > 1) {
			if(document.getElementById('vignette'))
					document.getElementById('vignette').style.display='block';
			var typedDocDivRef = '<div class="gshpTypedDocumentListItem gshpTypedDocumentListItem_morePictures"><a id="vignetteLink0"  onmouseover="changeImage('+imgOid+',301);"  href="#"><img alt="" title="" id="vignette0" src="' + imageProviderUrl + '?private_image='+imgOid+'&ew='+imageLimitVignetteWidth+'&eh='+imageLimitVignetteHeight+'"/></a></div>';
			for(i=1;i<recordUsage.length;i++){
				var usageRef = recordUsage[i];
				typedDocDivRef = typedDocDivRef + '<div class="gshpTypedDocumentListItem gshpTypedDocumentListItem_morePictures"><a id="vignetteLink'+i+'"  onmouseover="changeImage('+usageRef+',301);"  href="#"><img alt="" title="" id="vignette'+i+'" src="' + imageProviderUrl + '?private_image='+usageRef+'&ew='+imageLimitVignetteWidth+'&eh='+imageLimitVignetteHeight+'"/></a></div>';
				if(document.getElementById('vignette'))
					document.getElementById('vignette').innerHTML = typedDocDivRef;	
			}
		}else{
					
			document.getElementById('vignette').style.display='none';
		}


		if (recordUsage != null && recordUsage.length > 1) {
			if(document.getElementById('vignettePopup'))
					document.getElementById('vignettePopup').style.display='block';
			var typedDocDivRef = '<div class="gshpTypedDocumentListItem gshpTypedDocumentListItem_morePictures"><a id="vignetteLink0" onclick="changeImagePopup('+imgOid+',600);" onmouseover="changeImagePopup('+imgOid+',600);" href="#"><img alt="" title="" id="vignette0" src="' + imageProviderUrl + '?private_image='+imgOid+'&ew=100&eh=100"/></a></div>';
			for(i=1;i<recordUsage.length;i++){
				var usageRef = recordUsage[i];
				typedDocDivRef = typedDocDivRef + '<div class="gshpTypedDocumentListItem gshpTypedDocumentListItem_morePictures"><a id="vignetteLink'+i+'" onclick="changeImagePopup('+usageRef+',600);" onmouseover="changeImagePopup('+usageRef+',600);"  href="#"><img alt="" title="" id="vignette'+i+'" src="' + imageProviderUrl + '?private_image='+usageRef+'&ew=100&eh=100"/></a></div>';
				if(document.getElementById('vignettePopup'))
					document.getElementById('vignettePopup').innerHTML = typedDocDivRef;	
			}
		}else{
				if(document.getElementById('vignettePopup')) {
					document.getElementById('vignettePopup').style.display='none';
				}	

		}

}

ixddp2PriceManagerComplement.prototype.addImages = function(list)
{
	for(var i=0;i<list.length;i++) {
		var record = list[i].split("|");
		var code = record[0];
		this._refImages[code] = record;
	}
	
}

ixddp2PriceManagerComplement.prototype.addUsageRef = function(list)
{
	for(var i=0;i<list.length;i++) {
		var record = list[i].split("|");
		var code = record[0];
		this._refUsage[code] = record;
	}

}


// ------------------------------------- Global Object recovered by price manager
//

var objGshpPriceManagerComplement = new ixddp2PriceManagerComplement();
