// 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 )
	{
	}
}

SliderManager = function(){}
SliderManager.PIXELSTEP = 20;
SliderManager.SWAP_TIMEOUT = 50;
SliderManager.CurrentTimer = null;
SliderManager.CurrentSlideMainContent = null;
SliderManager.CurrentSlideBox = null;
SliderManager.MAINCONTENT = "MainContent";
SliderManager.SINGLECONTENT = "SingleContent";
SliderManager.BUTTONBOX = "ButtonBox"

SliderManager.SlideNext = function( slideBaseId )
{
	if( SliderManager.CurrentSlideMainContent == null )
	{
		SliderManager.CurrentSlideBox = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent.offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent.offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop-slideHeight;
		if( newTop > 0-slideMainCurrentHeight )
			SliderManager.Slide( newTop );
		else
			SliderManager.CurrentSlideMainContent = null;
	}
}

SliderManager.SlidePrev = function( slideBaseId )
{
	if( SliderManager.CurrentSlideMainContent == null )
	{
		SliderManager.CurrentSlideBox = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent.offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent.offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop+slideHeight;
		if( slideMainCurrentTop < newTop && newTop <= 0 )
			SliderManager.Slide( newTop );
		else
			SliderManager.CurrentSlideMainContent = null;
	}
}

SliderManager.Slide = function( stopTop )
{
	var currentTop = SliderManager.CurrentSlideMainContent.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.style.marginTop = "-1px";
	else
		SliderManager.CurrentSlideMainContent.style.marginTop = newTop + "px";
	
	if( newTop != stopTop )
		window.setTimeout( "SliderManager.Slide(" + stopTop + ")", SliderManager.SWAP_TIMEOUT );
	else
		SliderManager.onEndSlide();
}

SliderManager.onEndSlide = function() 
{
	var currentSlideBoxId = SliderManager.CurrentSlideBox.id;
	var buttonBox = findElementById( currentSlideBoxId + SliderManager.BUTTONBOX );
	if( buttonBox )
	{
		if( SliderManager.CurrentSlideMainContent.offsetTop == 0 || SliderManager.CurrentSlideMainContent.offsetTop == -1 )
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "none";
		else
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "block";
		
		var slideHeight = findElementById( currentSlideBoxId + SliderManager.SINGLECONTENT ).offsetHeight;
		if( SliderManager.CurrentSlideMainContent.offsetTop - slideHeight + SliderManager.CurrentSlideMainContent.offsetHeight == 0
			|| SliderManager.CurrentSlideMainContent.offsetTop - slideHeight + SliderManager.CurrentSlideMainContent.offsetHeight == -1  )
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "none";
		else
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "block";
	}
	SliderManager.CurrentSlideMainContent = null;
}

SliderManager.initSlider = function( slideBaseId )
{
	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";
	}
}
