// JavaScript Document
Element.addMethods({pngHack:function(el){var el=$(el);if(!Prototype.Browser.IE)return el;var gif='images/blank.gif';if((el.match('img'))&&(el.src.include('png'))){var alphaImgSrc=el.src;var sizingMethod='scale';el.src=gif;}else if(el.getStyle('backgroundImage').include('png')){var bgc=el.getStyle('backgroundColor')||'';var alphaImgSrc=el.getStyle('backgroundImage').gsub(/url\(|\)|'|"/,'');var sizingMethod='crop';el.setStyle({background:[bgc,' url(',gif,') no-repeat'].join('')});}else{return el;}el.runtimeStyle.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="#{al}",sizingMethod="#{sz}")'.interpolate({al:alphaImgSrc,sz:sizingMethod});return el;}});
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function jumpMenu(event,targ,restore){ //v3.0
	var selObj = event.element();
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) selObj.selectedIndex=0;
}
/*---------------------------------------------*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return false;
}

function eraseCookie(name) {
	return createCookie(name,"",-1);
}
/*--------------------------------------------*/
function swapImages(event){
	//event.stop();
	var element = event.element();
	if(element.hasClassName("active")) return;
	if(element.src){
		if(element.src.match("_normal")){
			element.src = element.src.replace("_normal","_over")
		}else{
			element.src = element.src.replace("_over","_normal")
		}
	}else{
		element.toggleClassName("hover");
	}
}
function slideSearchBox(event,searchContainer){
	event.stop()
	var eventElement = event.element();
	Effect.toggle(searchContainer,"slide",{
		queue:{scope:'prontosearch',limit:1},
		beforeStart:function(effect){
			if(!eventElement.hasClassName("active")){
				eventElement.addClassName("active")
				eventElement.src = eventElement.src.replace("_normal","_over");
				createCookie("searchbutton","selected",0);
			}
		},
		afterFinish:function(effect){
			if(!effect.element.visible()){
				eventElement.removeClassName("active")
				eventElement.src = eventElement.src.replace("_over","_normal");
				createCookie("searchbutton","inactive",0);
			}	
		}
	})
}
function decorateSearchBox(element){
		var element = $(element);
		var newElement=null;
		var I=0;
		var x="Search";
		var n="";
	if(Prototype.Browser.WebKit && !navigator.userAgent.match(/Chrome/i)){
		element.setAttribute("type","search")
		element.setStyle({'width':'140px'})
		if(!element.getAttribute("results")){
			element.setAttribute("results",x);
		}
		if(null!=x){
			element.setAttribute("placeholder",x);
			element.setAttribute("autosave",n);
		}
	}else{
		element.setAttribute("autocomplete","off");
		newElement=new Element("input");
		element.parentNode.replaceChild(newElement,element);
		var leftCap=new Element("img",{'src':'/images/bcpv6_searchfield_leftcap_v6001.png','width':"20",'height':"19"}).addClassName('flt');
		var rightCap=new Element("img",{'src':'/images/bcpv6_searchfield_rightcap_v6001.png','width':"10",'height':"19"}).addClassName('flt');
		var resetBtn=new Element("a",{'href':"javascript:void(0);",'style':"position:absolute; right:5px; top:4px"}).addClassName("reset").insert('<img src="/images/close_v6001.gif" width="11" height="11" border="0" />');
		var searchWrapper=new Element("div",{'style':"position:relative; width:140px"}).addClassName("search-wrapper");
		if($F(element)==x||element.value.length==0){
			element.setValue(x);
			searchWrapper.addClassName("blurred empty");
		}
		searchWrapper.appendChild(leftCap);
		searchWrapper.appendChild(element);
		searchWrapper.appendChild(rightCap);
		searchWrapper.appendChild(resetBtn);
		element.onfocus = function(){
				var R=searchWrapper.hasClassName("blurred");
			if($F(element)==x&&R){
				element.setValue("");
			}
			searchWrapper.removeClassName("blurred");
		};
		element.onblur = function(){
			if($F(element)==""){
				searchWrapper.addClassName("empty");
				element.setValue(x);
			}
			searchWrapper.addClassName("blurred");
		};
		element.onkeydown = function(R){
			var e=typeof (event)!="undefined"?event["keyCode"]:R.keyCode;
			if(!R){
				R=event;
			}
			if(e==13&&!R.altKey){
				var A=null;
				if(R.target){
					A=R.target;
				}else{
					if(R.srcElement){
						A=R.srcElement;
					}
				}
				if(A.value.length===0){
					return false;
				}
			}
			if(element.value.length >= 0){
				searchWrapper.removeClassName("empty");
			}
		r();
		}
	var r=function(){
		return (function(R){
			var A=false;
			if(!R){
				R=window.event;
			}
			if(R.type=="keydown"){
				if(R.keyCode!=27){
					return ;
				}else{
					A=true;}
			}	
		element.blur();
		element.setValue("");
		searchWrapper.addClassName("empty");
		element.focus();
		});
	};
	resetBtn.onmousedown = r();
		if(newElement){newElement.parentNode.replaceChild(searchWrapper,newElement);}
	}
}
function navBehaviors(){
	var navMenuItems = $$("#nav_menu img");
	//$$("#bigbuttons_nav img");
	//	var navBigButtonsItems = $$("#bigbuttons_nav img").invoke('observe','mouseover',swapImages).invoke('observe','mouseout',swapImages);
	var searchButton = navMenuItems.last();
	var searchContainer = $("search_container");
	var searchField = searchContainer.down('input');
	if(!readCookie('searchbutton')){
		createCookie("searchbutton","inactive",0);
		searchContainer.hide();
	}else{
		if(readCookie('searchbutton').indexOf('inactive')!= -1){
			searchContainer.hide();
			searchButton.src = searchButton.src.replace("_over","_normal");
			searchButton.removeClassName('active');
		}else{
			searchContainer.show();
			searchButton.src = searchButton.src.replace("_normal","_over");
			searchButton.addClassName('active');
		}
	}
	decorateSearchBox("searchfield");
	searchContainer.select('img').invoke('pngHack');
	searchButton.observe('click',slideSearchBox.bindAsEventListener(this,searchContainer))
}
var gallerySampleSwapper = function(){
	var buttons = $$("#gallery_container .prev_sample","#gallery_container .next_sample");
	var containers = $$("#gallery_container li");
	var findVisibleElement = function(element){
		return element.visible();
	}
	var eventHandler = function(event){
		event.stop();
		var eventElement = event.element();
		var visibleElement = containers.find(findVisibleElement);
		if(eventElement.hasClassName("prev_sample")){
			visibleElement.toggle();
			if(visibleElement.previous(0)){
				visibleElement.previous(0).toggle('appear');
			}else{
				containers.last().toggle();
			}
		}
		if(eventElement.hasClassName("next_sample")){
			visibleElement.toggle();
			if(visibleElement.next(0)){
				visibleElement.next(0).toggle('appear');
			}else{
				containers.first().toggle();
			}
		}
	}
	buttons.invoke('observe','click',eventHandler);
}
var stepsChanger = function(){
	var prev_nextButtons = $$("#steps_nav_container .prev_step","#steps_nav_container .next_step");
	var indicatorButtons = $$("#steps_nav_container .step");
	var containers = $$("#steps_container #steps_list li");
	var stepIndicators = $$("#steps_nav_container .step_indicator");
	var findVisibleElement = function(element){return element.visible();}
	var findActiveIndicatorButton = function(element){return element.hasClassName("active");}
	var prev_nextButtonsEventHandler = function(event){
		event.stop();
		var eventElement = event.element();
		var visibleElement = containers.find(findVisibleElement);
		var activeIndicatorButton = indicatorButtons.find(findActiveIndicatorButton);
		if(eventElement.hasClassName("step")){
			activeIndicatorButton.removeClassName("hover").removeClassName("active");
			eventElement.addClassName("active");		
			visibleElement.toggle();
			indicatorButtons.each(function(element,index){
				if(!element.hasClassName("active")) return;
				containers[index].toggle();
				if(stepIndicators.invoke("hasClassName",/(prev|next)_step\d/)){
					stepIndicators.each(function(e){
						e.className = e.className.replace(/(prev|next)_step\d/,'');
					})
				}
				stepIndicators[0].toggleClassName("prev_step"+index);
				stepIndicators[1].toggleClassName("next_step"+(index+2));
			});
		}
		if(eventElement.hasClassName("prev_step")){
			if(visibleElement.previous(0)){
				visibleElement.toggle().previous(0).toggle();
				activeIndicatorButton.removeClassName("active").removeClassName("hover").previous(0).toggleClassName("active");
				indicatorButtons.each(function(element,index){
					if(!element.hasClassName("active")) return;
					if(stepIndicators.invoke("hasClassName",/(prev|next)_step\d/)){
						stepIndicators.each(function(e){
							e.className = e.className.replace(/(prev|next)_step\d/,'');
						})
					}
					stepIndicators[0].toggleClassName("prev_step"+index);
					stepIndicators[1].toggleClassName("next_step"+(index+2));
				})
			}else{
				return;
			}
		}

		if(eventElement.hasClassName("next_step")){
			if(visibleElement.next(0)){
				visibleElement.toggle().next(0).toggle();
				activeIndicatorButton.removeClassName("active").removeClassName("hover").next(0).toggleClassName("active")
				indicatorButtons.each(function(element,index){
					if(!element.hasClassName("active")) return;
					if(stepIndicators.invoke("hasClassName",/(prev|next)_step\d/)){
						stepIndicators.each(function(e){
							e.className = e.className.replace(/(prev|next)_step\d/,'');
						})
					}
					stepIndicators[0].toggleClassName("prev_step"+index);
					stepIndicators[1].toggleClassName("next_step"+(index+2));
				})
			}else{
				return;
			}
		}
	}
	prev_nextButtons.invoke('observe','click',prev_nextButtonsEventHandler);
	indicatorButtons.invoke('observe','click',prev_nextButtonsEventHandler);
}
var tooltips = function(event){
	event.stop();
	var eventElement = event.findElement('a');
	var tooltipID = eventElement.id+"Tooltip";
	var tooltip = new Element('div',{'id':tooltipID,'style':'display:none; z-index:100;'}).addClassName('tooltip');//;
	var popupOverlay = new Element('div',{'id':'popup_overlay','style':'height: '+document.viewport.getHeight()+'px; width:'+document.viewport.getWidth()+'px; display: none; top:'+document.viewport.getScrollOffsets().top+'px; left:'+document.viewport.getScrollOffsets().left+'px; visibility: visible;'});
	$('wrapper').insert({'after':tooltip}).insert({'after':popupOverlay});
	var tooltipTopPosition = eventElement.cumulativeOffset().top - tooltip.getHeight();
	var tooltipLeftPosition = eventElement.cumulativeOffset().left - tooltip.getWidth()+62;
	tooltip.setStyle({left:tooltipLeftPosition+'px',top:tooltipTopPosition+'px'})
	var closeTooltip = function(event){
		event.stop();
		var eventElement = event.element();
		eventElement.fade({
			duration:0.3,
			queue:{position:'front',scope:tooltipID,limit:1},
			afterFinish:function(effect){
				effect.element.stopObserving('click',closeTooltip).remove();
				popupOverlay.fade({duration:0.3,afterFinish:function(effect){effect.element.remove()}});
			}
		});
	}
	popupOverlay.appear({
		duration:0.3,
		from:0.0,
		to:0.7,
		afterFinish:function(effect){
			tooltip.appear({
				duration:0.3,
				queue:{position:'front',scope:tooltipID,limit:1},
				afterFinish:function(effect){
					effect.element.observe('click',closeTooltip);
				}
			})
		}
	})
}
document.observe('dom:loaded',function(){
	if(Prototype.Browser.IE && navigator.appVersion.indexOf('MSIE 6.0')!=-1){$('product_nav_image').hide();}else{$('dropdown_nav').setStyle({opacity:0})}
	navBehaviors();
	$('dropdown_nav').observe('change',jumpMenu.bindAsEventListener(this,'parent',0))
	$$('.button').invoke('observe','mouseover',swapImages).invoke('observe','mouseout',swapImages);
})
