function qtyChange(event, element) {

	if (!$$('.input-text.qty')) return;


	$$('.input-text.qty').each(function(qtyElement, index) {
		var qtyValue = parseFloat(qtyElement.value);
		switch(element.className) {
			case 'arrow_up':
				qtyElement.value = qtyValue+1;
			break;
			case 'arrow_down':
				qtyElement.value = qtyValue > 1 ? qtyValue-1 : 1;
			break;
		}
	});

	return false;
}

function qtyUpdate(event, element) {
	
	if (!$$('.input-text.qty')) return;

	$$('.input-text.qty').each(function(qtyElement, index) {
		qtyElement.value = element.value;
	});

	return false;
}

var newSwatchClass = Class.create();
newSwatchClass.prototype = {
		
	    initialize : function(attId) {
	    	
	    	this.ajaxRequest = null;
	    	
	    	this.attId = attId || 80;
	    	
	    	this.swatches = $$('#swatch-list li');
	    	
	    	this.swatches.each(function(element, index) {
//				try {
					simpleProductId = /simple-product-id-(\d+)/.exec(element.id)[1];
					element.simpleProductId = simpleProductId;
					
					Event.observe(element, 'mouseover', this.swatchHover.bind(this, element));
					//Event.observe(element, 'click', this.swatchClicked.bind(this, element));
					
					Event.observe($('attribute'+this.attId), 'change', function(event) {
						if (typeof(productImages[this.value]) != 'undefined') {
							$('image').src = productImages[this.value].src;
						}
					});
					
//				} catch (e) {
//				
//				}

				//Event.observe(element, eventName, handler)
			}.bind(this));
	    },
	    
	    swatchHover : function(element) {
			this.dropDownSelect(this.attId, element.simpleProductId);
			$('image').src = productImages[element.simpleProductId].src;
	    	
	    },
	    
	    swatchClicked: function(element) {
	    	
			if (this.ajaxRequest != null) {
				
				
		    this.ajaxRequest.transport.onreadystatechange = Prototype.emptyFunction;
		    this.ajaxRequest.transport.abort();
		    Ajax.activeRequestCount--;
			}
	    	
			this.ajaxRequest = new Ajax.Request("/colorswatchproductview/get/simpleProductInfo/?isAjax=true", {
			    method:'post',
			    parameters:'pid='+lement.simpleProductId,
					onComplete: function(element, attribute_id, option_id, img, transport) {
						
						eval(transport.responseText);
						this.ajaxRequest = null;
						
					}.bind(this, element)
				});
	    
	    	
	    },
	    
	    dropDownSelect : function dropDownSelect(attId, value) {
			dropdown = document.getElementById('attribute'+attId);

			if (dropdown) {
				dropdown.selectedIndex = 0;
					
				for ( var i = 0; i < dropdown.options.length; i++ ) {
					if ( dropdown.options[i].value == value ) {
						dropdown.selectedIndex = i;
						break;
					}
				}
				
			}
	    }

		
};


Event.observe(window, 'load', function() {
	
	$$('.customLinks-newsletter').each(function(element, index) {
		window.newsletterblock = window.newsletterblock || 0;
		
		Event.observe(element, 'click', function() {
			if (0 != window.newsletterblock) {
				window.newsletterblock.focus();
				return false;
			}
			
			
			elementPosition = Position.positionedOffset(element);
			divNewsLetterWrapper = document.createElement('div');
			divNewsLetterWrapper.className = 'popup-newsletter-wrapper';
			Element.setStyle(divNewsLetterWrapper, {'position':'absolute', 'width':'350px', 'height':'150px', 'overflow':'hidden',
				'zIndex':1200,
				'background': "#FFFFFF",
				'display':'block',
				'top': (parseFloat(elementPosition[1])-160) + 'px',
				'left': (parseFloat(elementPosition[0])-75) + 'px'
			});
			divNewsLetterWrapper.zIndex = 1200;
			
			divNewsLetterHeader = document.createElement('div');
			divNewsLetterHeader.className = 'popup-newsletter-header';
			Element.setStyle(divNewsLetterHeader, {'textAlign':'right'});
			aNewsLetterClose = document.createElement('a');
			aNewsLetterClose.innerHTML = 'close';

			Element.setStyle(aNewsLetterClose, { 'cursor':'pointer', 'marginRight':'10px', 'marginTop':'5px', 'color':'#E4814A'});
			divNewsLetterHeader.appendChild(aNewsLetterClose);
			
			divNewsLetterContent = document.createElement('div');
			divNewsLetterContent.className = 'popup-newsletter-content';
			
			loadingImage = SMDesignColorswatchPreloader.image.cloneNode(true);
			Element.setStyle(loadingImage, {'top': '50%', 'left': '50%', 'marginTop': '45px', 'marginLeft':'175px' });
			divNewsLetterContent.appendChild(loadingImage);
			
			aNewsLetterClose.onclick = function() {
				window.newsletterblock = 0;
				if (divNewsLetterWrapper.radiusElement) {
					
					inputSelect = divNewsLetterWrapper.select('input');
					for (k=0; k < inputSelect.length; k++) {
						if (inputSelect[k].radiusElement) {
							inputSelect[k].radiusElement.parentNode.removeChild(inputSelect[k].radiusElement);
						}
					} 
					
					divNewsLetterWrapper.radiusElement.parentNode.removeChild(divNewsLetterWrapper.radiusElement);
				}
				divNewsLetterWrapper.parentNode.removeChild(divNewsLetterWrapper);
				return false;
			}.bind(divNewsLetterWrapper);
			
			
			
			divNewsLetterWrapper.appendChild(divNewsLetterHeader);
			divNewsLetterWrapper.appendChild(divNewsLetterContent);
			$$('body')[0].appendChild(divNewsLetterWrapper);
			window.newsletterblock = divNewsLetterWrapper;
			
			window.ajaxRequestNewsletterBlock = new Ajax.Request('/newsletter/subscrible/?isAjax=true', {
			    method:'post',
			    parameters:'',
				onComplete: function(transport) {
					divNewsLetterContent.innerHTML = transport.responseText;  
					window.ajaxRequestNewsletterBlock = null;
					var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail');
					//inputSelect = divNewsLetterWrapper.select('input');
					//for (k=0; k < inputSelect.length; k++) {
					//	alert(inputSelect[k].radiusElement);
					//	inputSelect[k].radiusElement.zIndex = 1300;
					//}
				}
			});
			
			
			return false;
		});
		

	});
	
	
});


document.observe("dom:loaded", function() {
	$$('.smdLightbox').each(function(element, index) {
		Event.observe(element, 'click', function() {
			
			
			urlToOpen = element.getAttribute('href');
			
			divContent = showOvervally();
			element.divContent = divContent;
			
			if (/(jpg|jpeg|bmp|gif|png)(\?rand.*)?$/.exec(urlToOpen)) {
			
				imageToShow = new Image();
				
				bodyDim = Element.getDimensions($$('body')[0]);
				tenPrecent = 2*(screen.height*0.1);
				
				Element.setStyle(imageToShow, { maxHeight:(screen.height-tenPrecent)+'px' });
				imageToShow.onload = function() {

					totalWidth = this.width;
					totalHeight = this.height;
					if (parseFloat(this.height) > parseFloat(this.style.maxHeight)) {
						
						//this.height = parseFloat(this.style.maxHeight);
						totalHeight = parseFloat(this.style.maxHeight);
						totalWidth = this.width/(this.height/parseFloat(this.style.maxHeight));
						this.height = totalHeight;
						this.width = totalWidth;
					}

					
				    new Effect.Morph(element.divContent.parentNode.parentNode, 
				    	       {style:'width:'+totalWidth+'px;height:'+totalHeight+'px;margin-top:'+parseFloat(-totalHeight/2) + 'px;margin-left:'+ parseFloat(-totalWidth/2) + 'px;',
				    	         duration:0.8});
				    new Effect.Morph(element.divContent.parentNode, 
				    	       {style:'width:'+(totalWidth-20)+'px;height:'+(totalHeight-20)+'px;',
				    	         duration:0.8,
				    	         afterFinish: function() {
				    	        	 for (t=0; t < divContent.childNodes.length; t++) {
				    	        		 divContent.removeChild(divContent.childNodes[t]);
				    	        	 }
				    	        	 divContent.appendChild(imageToShow);
				    	        	
				    	         }
				    	       });
					
					
				}
				
				imageToShow.src = urlToOpen;
				
				
				
			} else {
			
			window.sizeGuideAjax = new Ajax.Request(urlToOpen, {
			    method:'post',
			    parameters:'',
				onComplete: function(transport) {
					
					fakeDiv = document.createElement('DIV');
					
					Element.setStyle(fakeDiv, { display:'none', float:'left' });
					$$('body')[0].appendChild(fakeDiv);
					divContentDim = Element.getDimensions(divContent);

					fakeDiv.update(transport.responseText);
					
					element.divFake = fakeDiv;
					
					
					element.doMorph = function() {
						totalHeight = 0;
						totalWidth = 0;
						
						Element.setStyle(fakeDiv, { 'display':'block' });

						tempDim = Element.getDimensions(element.divFake);
						totalHeight = totalHeight+tempDim.height;
						totalWidth = totalWidth+tempDim.width;
			
						Element.setStyle(fakeDiv, { 'display':'none' });
						
						totalHeight = totalHeight+60;
						totalWidth = totalWidth+60;
						
						if (totalWidth > 1024) {
							totalWidth = 1024;
						}
						
						Element.setStyle(element.divContent, {'overflow' : 'hidden'});
					    new Effect.Morph(element.divContent.parentNode.parentNode, 
					    	       {style:'width:'+totalWidth+'px;height:'+totalHeight+'px;margin-top:'+parseFloat(-totalHeight/2) + 'px;margin-left:'+ parseFloat(-totalWidth/2) + 'px;',
					    	         duration:0.8});
					    new Effect.Morph(element.divContent.parentNode, 
					    	       {style:'width:'+(totalWidth-20)+'px;height:'+(totalHeight-20)+'px;',
					    	         duration:0.8,
					    	         afterFinish: function() {
					    	        	 
					    	        	 divContent.update(fakeDiv.innerHTML);
					    	        	 fakeDiv.parentNode.removeChild(fakeDiv);
					    	         }
					    	       });
					}
					

					element.completeAll = 0;
					element.imgPreload = function() {
						imgCompleteStatus = 1;
						element.divFake.select('img').each(function(img, index) { if (!img.complete) { imgCompleteStatus = 0; } });
						console.log(element.divFake.select('img').length);
						if (0 == element.divFake.select('img').length || imgCompleteStatus == 1) { element.completeAll = 1; clearInterval(element.intervalStatus); element.doMorph();  }
					}
					
					element.intervalStatus = setInterval(element.imgPreload, 1000);
					window.sizeGuideAjax = null;
						
				}.bind(divContent)
				});
			}
			//alert('clicked');
			return false;
		}); 
		
		
	});

});




function showOvervally() {
	
	var blockContentWidth = 400;
	var blockContentHeight = 250;
	var blockContentMargin = 10;
	
	divPopUpContent = document.createElement('div');
	divPopUpContent.className = 'colorswatch-info-wrapper';
	
	divOvervaly = document.createElement('div');
	divOvervaly.onclick = function() {
		this.parentNode.parentNode.removeChild(this.parentNode);
		if (window.ajaxRequestColorSwatchOnClick) { }
	}
	
	bodyDim = Element.getDimensions($$('body')[0]);
	Element.setStyle(divOvervaly, { 'width': bodyDim.width+'px', 'height': bodyDim.height+'px', 'opacity': 0.8, 'zIndex': 1000, 'background': '#111', 'position': 'absolute', 'top': '0px', 'left': '0px', 'cursor': 'pointer'});
	
	divHeader = document.createElement('div');
	divHeader.className = 'colorswatch-info-head';
	divHeaderClose = document.createElement('a');
	divHeaderClose.href = "#";
	divHeaderClose.innerHTML = 'close';
	divHeaderClose.onclick = function() {
		divOvervaly.onclick();
		return false;
	}.bind(divOvervaly);
	
	Element.setStyle(divHeader, {'textAlign': 'right','marginRight': '10px'	});
	divHeader.appendChild(divHeaderClose);
	
	divContent = document.createElement('div');
	divContent.className = 'colorswatch-info-content';
	Element.setStyle(divContent, {'width' : blockContentWidth + 'px','height' : blockContentHeight + 'px','opacity' : 1,'zIndex' : 1001,'background' : '#FFF','position': 'fixed','top': '50%',	'left': '50%','marginTop': parseFloat(-blockContentHeight/2) + 'px','marginLeft': parseFloat(-blockContentWidth/2) + 'px'});
	
	divContentResponse = document.createElement('div');
	divContentResponse.className = 'colorswatch-info-response';

	divContentContainer = document.createElement('div');
	divContentContainer.className = 'colorswatch-info-container';
	//Element.setStyle(divContentContainer, {'width' : (blockContentWidth-2*blockContentMargin) + 'px','height' : (blockContentHeight-2*blockContentMargin) + 'px','position': 'fixed','margin': blockContentMargin + 'px'	});
	Element.setStyle(divContentContainer, {'width' : (blockContentWidth-2*blockContentMargin) + 'px','height' : (blockContentHeight-2*blockContentMargin) + 'px','margin': blockContentMargin + 'px'	});
	
	divPopUpContent.appendChild(divOvervaly);
	
	divContentContainer.appendChild(divHeader);
	divContentContainer.appendChild(divContentResponse);
	divContent.appendChild(divContentContainer);
	
	divPopUpContent.appendChild(divContent);
	
	loadingImage = SMDesignColorswatchPreloader.image.cloneNode(true);
	Element.setStyle(loadingImage, {'top': '50%','left': '50%',	'marginTop': '-14px','marginLeft': '-14px'});
	divContentResponse.appendChild(loadingImage);
	$$('body')[0].appendChild(divPopUpContent);

	return divContentResponse;
}
