// Hide instruction text for password field
function txt2pwd(obj, pwd){
	obj.style.visibility = "hidden";
	findElementById(pwd).focus();
}
// Display instruction text for password field
function pwd2txt(obj, txt){
	if(obj.value.length==0){
		findElementById(txt).style.visibility = "visible";
	}
}
// Display instruction text [str] if field is blank
// Clear instruction text if field is clicked
function resetField(obj,str){
	if(obj.value.length==0){
		obj.value=str;
		return;
	}
	if(obj.value==str){
		obj.value="";
	}
}

//Utility function to find element by id Cross Browser
function findElementById(id)
{
	return ( document.all+"" != "undefined" ? document.all[id] : document.getElementById(id) );
}


// Tab switcher
// container = ID of tab container, must be used if more than one tab module is used on page (optional usage if only one tab module is displayed on a page )
// tab = ID of tab (mandatory)
function showTab(tab, container){
	if(typeof(container)=='undefined') {
		container='';
	}
	var i=1;
	do{
		findElementById(container+"tab"+i).className = "tab";
		findElementById(container+"tab"+i+"content").style.display="none";
		i++;
	}
	while(findElementById(container+"tab"+i));
	findElementById(container+tab+"content").style.display="block";
	findElementById(container+tab).className = "activeTab";
}

// Flash detection for Call-to-action teaser
function hasFlash(){
  var ver=6;
	if(navigator.appVersion.indexOf("MSIE")!=-1&&navigator.appVersion.indexOf("Windows")>-1) {
	  document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+ver+'))) \n</script\> \n');
		if(window.hasFlash!=null)
		  return window.hasFlash
	}
	if(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
	  var desc=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;
		return parseInt(desc.charAt(desc.indexOf(".")-1))>=ver;
	}
	return false;
} // hasFlash


// replace the HTML Call-to-action box by a flash movie using the Vodafone corporate font
function replaceCTABox(){
	if (hasFlash()) {
		//get data from html-box
		var cta = findElementById('ctaLayer');
		var ctaMod = cta.parentNode;
		if (ctaMod!=null && cta!=null) {
			var h1,s,a,l,u,t; h1=s=a=l=u=t='';
			if (cta.getElementsByTagName("h1")[0]!=null) h1= encodeURI(cta.getElementsByTagName("h1")[0].innerHTML);
			if (cta.getElementsByTagName("p")[0]!=null) s = encodeURI(cta.getElementsByTagName("p")[0].innerHTML);
			var w = cta.offsetWidth;
        var h = cta.offsetHeight;
			var flashVars = "head="+h1+"&sub="+s+"&boxw="+w+"&boxh="+h;
			var a = cta.getElementsByTagName("a")[0];
			if (a!=null) {
		    	var l = encodeURI(a.innerHTML);
		    	var u = encodeURI(a["href"]);
		    	var t = a["target"];
          flashVars+="&link="+l+"&url="+u+"&target="+t;
			}
			// hide html-box
			cta.className="ctaLayer hide";
			// and place flash cta box
			var flashURL = "../resnew/swf/calltoactionbox.swf?"+flashVars;
			var ctaObjStr = "<object class='ctaLayer' type='application/x-shockwave-flash' data='"+flashURL+"' width='"+w+"' height='"+h+"' id='calltoactionbox'>"
			                +   "<param name='allowScriptAccess' value='sameDomain' />"
									    +   "<param name='movie' value='"+flashURL+"' />"
									    +   "<param name='quality' value='high' />"
									    + "</object>";
		  document.write(ctaObjStr);
		}
	}
} // replaceCTABox


// fold and unfold option sections on shopping cart page
function scFold(optId) {
  var optHeader = findElementById(optId);
	if (optHeader!=null) {
		var pattern = new RegExp("(^|\\s)"+optId+"(\\s|$)");
		var trList = document.getElementsByTagName('tr');
	  if (optHeader.className=="scOptShow") {
		  // hide options
			for (i=0; i<trList.length; i++) {
			  if (pattern.test(trList[i].className)) {
				  trList[i].className=optId+" hidden";
				}
			}
      optHeader.className="scOptHide";			
		} else {
		  // show options
			for (i=0; i<trList.length; i++) {
			  if (pattern.test(trList[i].className)) {
				  trList[i].className=optId;
				}
			}			
      optHeader.className="scOptShow";			
		}
	}
} // scFold


function hideLogin()
{
	try
	{
		var loginBox = findElementById("loginModule");
		if( loginBox )
			loginBox.style.visibility = "hidden";
	}
	catch( e )
	{
	}
}

SlideAutoInterval = function(){}
SlideAutoInterval.SlidingInterval = 20000; //default autoslider interval
SlideAutoInterval.CurrentTimer = null;
SlideAutoInterval.boxCounter = new Array(); //0;
SlideAutoInterval.direction = 1;
SlideAutoInterval.lockAtSlider = null;


SliderManager = function(){}
SliderManager.PIXELSTEP = 20;
SliderManager.SWAP_TIMEOUT = 50;
SliderManager.CurrentTimer = null;
SliderManager.CurrentSlideMainContent = new Array(); //null;
SliderManager.CurrentSlideBox = new Array(); //null;
SliderManager.MAINCONTENT = "MainContent";
SliderManager.SINGLECONTENT = "SingleContent";
SliderManager.BUTTONBOX = "ButtonBox"

SliderManager.SlideNext = function( slideBaseId, auto )
{
	if( SliderManager.CurrentSlideMainContent[slideBaseId] == null )
	{
		SliderManager.CurrentSlideBox[slideBaseId] = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent[slideBaseId] = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop-slideHeight;
		if( SlideAutoInterval.lockAtSlider==slideBaseId )
		{
			if(SlideAutoInterval.boxCounter[slideBaseId]==null || SlideAutoInterval.boxCounter[slideBaseId]=="undefined")
				SlideAutoInterval.boxCounter[slideBaseId]=0;
			
			SlideAutoInterval.boxCounter[slideBaseId]++;
			if(auto!=1)
			{
				clearTimeout(SlideAutoInterval.CurrentTimer);
				auto=0;
			}
		}
		if( newTop > 0-slideMainCurrentHeight )
			SliderManager.Slide( newTop, slideBaseId );
		else
			SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	}
}

SliderManager.SlidePrev = function( slideBaseId, auto )
{
	if( SliderManager.CurrentSlideMainContent[slideBaseId] == null )
	{
		SliderManager.CurrentSlideBox[slideBaseId] = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent[slideBaseId] = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop+slideHeight;
		if( SlideAutoInterval.lockAtSlider==slideBaseId )
		{
			if(SlideAutoInterval.boxCounter[slideBaseId]==null || SlideAutoInterval.boxCounter[slideBaseId]=="undefined")
				SlideAutoInterval.boxCounter[slideBaseId]=0;
				
			SlideAutoInterval.boxCounter[slideBaseId]--;
			if(auto!=1)
			{
				clearTimeout(SlideAutoInterval.CurrentTimer);
				auto=0;
			}
		}
		if( slideMainCurrentTop < newTop && newTop <= 0 )
			SliderManager.Slide( newTop, slideBaseId );
		else
			SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	}
}

SliderManager.Slide = function( stopTop, slideBaseId )
{
	var currentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
	var newTop;
	if( currentTop > stopTop )
	{
		newTop = currentTop - SliderManager.PIXELSTEP;
		if( newTop < stopTop )
			newTop = stopTop;
	}	
	else
	{
		newTop = currentTop + SliderManager.PIXELSTEP;
		if( newTop > stopTop )
			newTop = stopTop;
	}
	
	
	if( newTop == 0 )
		SliderManager.CurrentSlideMainContent[slideBaseId].style.marginTop = "-1px";
	else
		SliderManager.CurrentSlideMainContent[slideBaseId].style.marginTop = newTop + "px";
	
	if( newTop != stopTop )
		window.setTimeout( "SliderManager.Slide(" + stopTop + ",'" + slideBaseId + "')", SliderManager.SWAP_TIMEOUT );
	else
		SliderManager.onEndSlide( slideBaseId );
}

SliderManager.onEndSlide = function( slideBaseId ) 
{
	var currentSlideBoxId = SliderManager.CurrentSlideBox[slideBaseId].id;
	var buttonBox = findElementById( currentSlideBoxId + SliderManager.BUTTONBOX );
	if( buttonBox )
	{
		if( SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop == 0 || SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop == -1 )
		{
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "none";
			if( SlideAutoInterval.lockAtSlider==slideBaseId )
				SlideAutoInterval.direction = 1;
		}
		else
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "block";
		
		var slideHeight = findElementById( currentSlideBoxId + SliderManager.SINGLECONTENT ).offsetHeight;
		if( SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop - slideHeight + SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight == 0
			|| SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop - slideHeight + SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight == -1  )
		{
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "none";
			if( SlideAutoInterval.lockAtSlider==slideBaseId )
				SlideAutoInterval.direction = 0;
		}
		else
		{
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "block";
		}
	}
	SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	SlideAutoInterval.ExecuteFunct( currentSlideBoxId );
}

SliderManager.initSlider = function( slideBaseId, seconds )
{
	var sliderBox = findElementById( slideBaseId );
	var sliderContent = findElementById( slideBaseId + "MainContent" );
	if( sliderBox.offsetHeight == sliderContent.offsetHeight )
	{
		var buttonBox = findElementById( slideBaseId + SliderManager.BUTTONBOX );
		if( buttonBox )
			buttonBox.style.display = "none";
	}
	if(seconds==0)
		return false;
	if(seconds!=null && seconds!="" && seconds!="undefined"){
		SlideAutoInterval.SlidingInterval = (seconds*1000);
	}	
	
	//avvio temporizzatore
	SlideAutoInterval.ExecuteFunct( slideBaseId, slideBaseId );
	
}

SlideAutoInterval.ExecuteFunct = function( slideBaseId, roundSlider )
{
	if(SlideAutoInterval.lockAtSlider==null){
		SlideAutoInterval.lockAtSlider=roundSlider;
	}
	if(slideBaseId==SlideAutoInterval.lockAtSlider)
	{
		if(SlideAutoInterval.direction==0 && SlideAutoInterval.boxCounter[slideBaseId]==0)
			SlideAutoInterval.direction=1;
		switch(SlideAutoInterval.direction)
		{
			case 0:
				SlideAutoInterval.CurrentTimer = window.setTimeout( "SliderManager.SlidePrev('" + slideBaseId + "', 1)", SlideAutoInterval.SlidingInterval );
				break;
			case 1:
				SlideAutoInterval.CurrentTimer = window.setTimeout( "SliderManager.SlideNext('" + slideBaseId + "', 1)", SlideAutoInterval.SlidingInterval );
				break;
		}
	}
}

function openPopup(strurl, w, h, scrollbars, tk, popupName) {

  strurl = strurl + '&tk='+ tk +',c' + '&popup=true';

  if (scrollbars==''){
    scrollbars='no';
  }

  tools = 'width='+w+','+'height='+h+','+'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scrollbars+',resizable=yes,top=5,left=5';

  window.open(strurl, popupName, tools);
}

function openWindowPopup(strurl, w, h, scrollbars, tk, area, popupName, check) {

  strurl = strurl + '&tk=' + tk + ',' + area;

  if (scrollbars=='') {
    scrollbars='no';
  }

  if (check == 0) {
    var c = 'no';
    strurl = strurl + '&popup=true';
  } else {
    var c = 'yes';
  }

  tools = 'width='+w+','+'height='+h+','+'toolbar='+c+',location='+c+',directories='+c+',status='+c+',menubar='+c+',scrollbars='+scrollbars+',resizable=yes,top=5,left=5';

  window.open(strurl, popupName, tools);
}