var pointWidth = 10 + 'px';
var points = 1;
var slots = 1;
var currentPos = 0;
var currentSlotPosition = 0;
var previousImageSrc = null;
var itemsInSlot = 4;
var rightSteps = 0;
var clear="/images/cnb/clear.gif";
var cbSuggestiesPopupWidthMax = 720;
//var xOffset = 10;
//var yOffset = 20;

function pngfix(){ var els=document.getElementsByTagName('*');var ip=/\.png/i;var i=els.length;while(i-- >0){var el=els[i];var es=el.style;if(el.src&&el.src.match(ip)&&!es.filter){es.height=el.height;es.width=el.width;es.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+el.src+"',sizingMethod='crop')";el.src=clear;}else{var elb=el.currentStyle.backgroundImage;if(elb.match(ip)){var path=elb.split('"');var rep=(el.currentStyle.backgroundRepeat=='no-repeat')?'crop':'scale';es.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+path[1]+"',sizingMethod='"+rep+"')";es.height=el.clientHeight+'px';es.backgroundImage='none';var elkids=el.getElementsByTagName('*');if (elkids){var j=elkids.length;if(el.currentStyle.position!="absolute")es.position='static';while (j-- >0)if(!elkids[j].style.position)elkids[j].style.position="relative";}}}}}

function addArticleRow(_obj) {
	var fieldset = _obj.parentNode.parentNode;
	var divs = fieldset.getElementsByTagName('div');
	var rows = [];
	var j = 0;
	for (var i=0; i < divs.length; i++) {
		if (divs[i].className == '') {
			rows[j++] = divs[i];	
		}	
	}
	var newArticle = document.createElement('div');
	newArticle.innerHTML = rows[rows.length-2].innerHTML;
	var textFields = newArticle.getElementsByTagName('input');
	for (var i=0; i < textFields.length; i++) {
		textFields[i].value = '';
	}
	fieldset.insertBefore(newArticle, rows[rows.length-1]);
}

//function saveFocus(_obj){
//    alert('save');
//    document.getElementById('focusIndex').value = _obj.name;
//   // _obj.focus();
//}


jQuery.fn.imageScroller = function(params){
	// Image scroll params
	var p = params; 
	var _btnNext = $("."+ p.next);
	var _btnPrev = $("."+ p.prev);
	var _imgFrame = $("."+ p.frame);
	var _width = p.width;
	if (($(".cbDetailsWrapper").attr("className"))) {
		_width = 140;
		itemsInSlot = 5;
	}
	var _child = p.child;
	var _auto = p.auto;
	var _itv;
	var turnLeft = function(){
		
		_btnPrev.unbind("click",turnLeft);
		if(_auto) autoStop();
			_imgFrame.animate( {marginLeft:-_width}, 'middle', '', function(){
				_imgFrame.find(_child+":first").appendTo( _imgFrame );
				_imgFrame.css("marginLeft",0);
				_btnPrev.bind("click",turnLeft);
				if(_auto) autoPlay();
			});


		
		rightSteps++;
		if (rightSteps%itemsInSlot == 0) currentPos++;
		_btnNext.css({visibility: 'visible'});
		// Fading arrows on boundaries
		if (rightSteps >= (points-itemsInSlot)) { _btnPrev.css({visibility: 'hidden'});} else { _btnPrev.css({visibility: 'visible'}); }
		$(".cbCurrentPoint").css({left: rightSteps*(pointWidth)+(pointWidth/3) + 4 + 'px'});

	};

	var turnRight = function(){
		
		_btnNext.unbind("click",turnRight);
		if(_auto) autoStop();
		
		_imgFrame.find(_child+":last").clone().show().prependTo( _imgFrame );
		_imgFrame.css("marginLeft",-_width);		
	
			_imgFrame.animate( {marginLeft:0}, 'middle' ,'', function(){
				_imgFrame.find(_child+":last").remove();
				_btnNext.bind("click",turnRight);
				if(_auto) autoPlay(); 
			});

		currentPos-=itemsInSlot;	
		rightSteps--;
		_btnPrev.css({visibility: 'visible'});
		// Fading arrows on boundaries
		if (!rightSteps) { _btnNext.css({visibility: 'hidden'}) } else { _btnNext.css({visibility: 'visible'}); }
		$(".cbCurrentPoint").css({left: rightSteps*(pointWidth)+(pointWidth/3) + 4 + 'px'});

	};
	
	_btnNext.css("cursor","hand").click( turnRight );
	_btnPrev.css("cursor","hand").click( turnLeft );
	
	var autoPlay = function(){
	  _itv = window.setInterval(turnLeft, 3000);
	};
	var autoStop = function(){
		window.clearInterval(_itv);
	};
	if(_auto) autoPlay();
};

(function( $ ) {
	$.extend( {
		init: function() {
		    // Get Login inputs
		    $(".cbLogin .cbTextField").focus(function() {
	            
	            var isInitial = document.getElementById('isInitialLogin');
	            if(isInitial != null){
	                if(isInitial.value == 'true')
	                    this.value = '';
	            }     
		    });
		    
  		    $(".cbLogin .cbTextField").blur(function() {
                if(this.value != ''){
	                var isInitial = document.getElementById('isInitialLogin');
	                if(isInitial != null)
	                    isInitial.value = 'false';
	            }else{
	            	var defaultPass = document.getElementById('defaultLogin');
	                if(defaultPass != null)
	                    this.value = defaultPass.value;
	            }
		    });
		    		
			// Init Image Scroller
			$(".cbViewer").imageScroller({
				next:"cbPreviousSlide",
				prev:"cbNextSlide",
				frame:"cbViewerFrame",
				width:164,
				child:"li",
				auto:false
			});

			//sIFR init
			//$('.cbContent h1').sifr({font: '/include/cnb/lte50872.swf'});
			
			//Cufon init
			Cufon.replace('.cbContent h1');	
			
			
			// Arrow left hide
			$(".cbPreviousSlide").css({visibility: 'hidden'});
			
			// Init Status Bar
			
			points = $(".cbViewerFrame").children('li').size();
			if (points > itemsInSlot) { 
				$(".cbStatusBar").show();
				var correctedPoints = points - itemsInSlot + 1;
				if(correctedPoints<33)
				    for (var i=1; i<correctedPoints; i++) {
					    $(".cbStatusBar").append('<span>&nbsp;</span>');
				    }
				
				
				// Calculating width
				pointWidth = 720/correctedPoints;
				$(".cbStatusBar span").each(
					function() {
						this.style.width = pointWidth + 'px';
					}							
				)
				$(".cbStatusBar").css({paddingLeft: pointWidth/2 + 6 + 'px', width: 740-pointWidth/2 - 6 + 'px'});
				// Adding current point
				$(".cbStatusBar").append('<div class="cbCurrentPoint"><div>&nbsp;</div></div>');
				// Scaling and positioning current point
				$(".cbCurrentPoint div").css({width: (pointWidth/2.5) + 'px'});
				$(".cbCurrentPoint").css({left: (pointWidth/3) + 4 + 'px'});
			} else { $(".cbNextSlide").hide(); }
			
			// Hide all FAQ answers
			$("ul.cbFAQ p").hide(); 
			// Init FAQ answers toggle
			$("ul.cbFAQ a").click (function () {
				$(this).next("p").toggle("400");								 
				if ($(this).next("p").parent().attr("className") != '') {
					$(this).parent().removeClass('cbOpened');
				} else {
					$("ul.cbFAQ p").each(
						function () {
							if ($(this).parent().attr("className") != '') {
									$(this).toggle("200");
									$(this).parent().removeClass('cbOpened');
							}
						}					 
					); 
					$(this).parent().addClass('cbOpened');
				}
			});
			
			// C&B Suggestions Popup
			$(".cbSuggestiesPopup").hide();
			
			$(".cbSuggestiesButton").click(function() {
				// Positioning:
				var currentWidth = 140*$(".cbSuggestiesPopup ul").children('li').size();
				if (currentWidth+20 < cbSuggestiesPopupWidthMax && currentWidth) { $(".cbSuggestiesPopup").css({width: currentWidth+20+'px', left: (-1)*(currentWidth-currentWidth/3)+'px'}) }
				else if (currentWidth) {
					$(".cbSuggestiesPopup").css({width: cbSuggestiesPopupWidthMax +'px', left: (-1)*(cbSuggestiesPopupWidthMax-cbSuggestiesPopupWidthMax/3)+'px'})
				}
				$(".cbSuggestiesPopup").show();										
				return false;//input image submits form
			})
			
			$(".cbCloseLink").click(function() {
				$(".cbSuggestiesPopup").hide();										
			})			
			
			// Fields onfocus clearing
			$(".cbSearchField").focus(function() {
				this.value = '';								 
			})
			
			$(".cbSubscribeInput").focus(function() {
				this.value = '';								 
			})			
						
			
			// Footer banners
			$(".cbFooterBanner1").mouseover(function () {
				this.style.backgroundColor = '#434343';										  
				this.getElementsByTagName('a')[0].style.color = '#fff';
			})
			
			$(".cbFooterBanner1").mouseout(function () {
				this.style.backgroundColor = 'transparent';										  
				this.getElementsByTagName('a')[0].style.color = '#bdbdbd';
			})
			
			// Footer banners
			$(".cbFooterBanner2").mouseover(function () {
				this.style.backgroundColor = '#434343';										  
				this.getElementsByTagName('a')[0].style.color = '#fff';
			})
			
			$(".cbFooterBanner2").mouseout(function () {
				this.style.backgroundColor = 'transparent';										  
				this.getElementsByTagName('a')[0].style.color = '#bdbdbd';
			})	
			
			// News
			/* Uncomment this for right image change on mouse over at news overview page.
			$("ul.cbNews li").mouseover (function () {
				var imagesInNewsItem = this.getElementsByTagName('img');
				var image2ShowSrc = null;
				for (var i=0; i < imagesInNewsItem.length; i++) {
					if (imagesInNewsItem[i].className == 'cbNewsImage') {
						image2ShowSrc = imagesInNewsItem[i].src;
						break;
					}
				}
				previousImageSrc = $(".cbSideBar img").attr("src");
				if (image2ShowSrc)  {$(".cbSideBar img").fadeOut("slow"); $(".cbSideBar img").attr("src", image2ShowSrc); $(".cbSideBar img").fadeIn("slow"); $(".cbSideBar img").stop(); };
			})
			
			$(".cbNews").mouseout (function () {
				if (previousImageSrc)  {$(".cbSideBar img").fadeOut("300"); $(".cbSideBar img").attr("src", previousImageSrc); $(".cbSideBar img").fadeIn("300"); $(".cbSideBar img").stop(); };
			})
            */
			// Equalizing heights in products
			var productCells = $(".cb2ColumnsProductsWrapper .cbProductItem");
			for (var i=0; i<productCells.length; i++) {
				if (productCells[i+1]) {
					if (productCells[i+1].clientHeight > productCells[i].clientHeight)	{
						productCells[i].style.height = productCells[i+1].clientHeight - 24 + 'px';
					} else if (productCells[i+1].clientHeight < productCells[i].clientHeight) {
						productCells[i+1].style.height = productCells[i].clientHeight - 24 + 'px';
					}
				}
			}
            
            // PNG Fix
			if (typeof document.body.style.maxHeight == "undefined") pngfix();
			
			
//			$(".cbMainColumn fieldset input").focus ( function(){
//			    saveFocus(this);
//			})
			
			//if(document.getElementById('focusIndex').value != ''){
			    //var currObj = new Object();
			    //currObj = document.getElementById('focusIndex').value;
			    //currObj.focus();
			  //  alert(document.getElementById('focusIndex').value);
			//}
			
			// Fixing non-140x140 Images
			$(window).load(function() {
				var imagesForTuning = $(".cbViewer ul li a img");
				
				var detailsPage = $(".cbDetailsWrapper > .cbViewer").length;
				for (var i=0; i < imagesForTuning.length; i++) {
					var curWidthDelta = 140 - $(imagesForTuning[i]).width();
					var curHeightDelta = 140 - $(imagesForTuning[i]).height();
					//alert();
					if (curWidthDelta) { 
						$(imagesForTuning[i]).css({paddingRight: Math.ceil(curWidthDelta/2) + "px", paddingLeft: Math.ceil(curWidthDelta/2) + "px"});
					};
				
					if (curHeightDelta) { 
						$(imagesForTuning[i]).css({paddingTop: Math.ceil(curHeightDelta/2) + "px", paddingBottom: Math.ceil(curHeightDelta/2) + "px"});
					};				
				}
                $(".cbSuggestiesPopup").css({visibility: 'hidden', display: 'inline'});
				var suggestionImagesForTuning = $(".cbSuggestiesPopup ul li a img");
				//alert(suggestionImagesForTuning.length);
				for (var i=0; i < suggestionImagesForTuning.length; i++) {
					//alert($(suggestionImagesForTuning[i]).width());
					var curWidthDelta = 140 - $(suggestionImagesForTuning[i]).width();
					var curHeightDelta = 140 - $(suggestionImagesForTuning[i]).height();
					//alert(curHeightDelta + " "+ curWidthDelta);
					if (curWidthDelta) { 
						$(suggestionImagesForTuning[i]).css({paddingRight: Math.ceil(curWidthDelta/2) + "px", paddingLeft: Math.ceil(curWidthDelta/2) + "px"});
					};
				
					if (curHeightDelta) { 
						$(suggestionImagesForTuning[i]).css({paddingTop: Math.ceil(curHeightDelta/2) + "px", paddingBottom: Math.ceil(curHeightDelta/2) + "px"});
					};				
				}
				$(".cbSuggestiesPopup").css({display: 'none', visibility: 'visible'});
				
				var visualResultsImagesForTuning = $(".cbVisualResults ul li a img");
				
				for (var i=0; i < visualResultsImagesForTuning.length; i++) {
					var curWidthDelta = 140 - $(visualResultsImagesForTuning[i]).width();
					var curHeightDelta = 166 - $(visualResultsImagesForTuning[i]).height();
					//alert();
					if (curWidthDelta) { 
						$(visualResultsImagesForTuning[i]).css({paddingRight: Math.ceil(curWidthDelta/2) + "px", paddingLeft: Math.ceil(curWidthDelta/2) + "px"});
					};
				
					if (curHeightDelta) { 
						$(visualResultsImagesForTuning[i]).css({paddingTop: Math.ceil(curHeightDelta/2) + "px", paddingBottom: Math.ceil(curHeightDelta/2) + "px"});
					};				
				}
				
				// Vertical Alignment
				var verticalDelta = Math.ceil(($(".cbColumnsWrapper").height() - $(".cbViewer").height()) /2);
				if (!detailsPage) {
					$(".cbViewer").css({marginTop: verticalDelta - 40 + "px"}); 
					$(".cbNextSlide").css({marginTop: 90 + verticalDelta + "px"}); 
					$(".cbPreviousSlide").css({marginTop: 90 + verticalDelta + "px"}); 
				};
				
				// Insertion
				if ($(".cbInsertion").length) { 
					$(".cbInsertion .cbSideBar").css({height: $(".cbColumnsWrapper").height() + "px"});
					//alert($(".cbInsertion").height() + " "+ $(".cbColumnsWrapper").height());
				}
			});
		}
	} );
} )(jQuery);

jQuery( function( $ ) {
	$.init(); // Inits widgets
} );