// version 0.1


// Hide instruction text for password field
function txt2pwd(obj, pwd){
    obj.style.visibility = "hidden";
    document.getElementById(pwd).focus();
}
// Display instruction text for password field
function pwd2txt(obj, txt){
    if(obj.value.length==0){
        document.getElementById(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="";
    }
}
// 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{
        document.getElementById(container+"tab"+i).className = "tab";
        document.getElementById(container+"tab"+i+"content").style.display="none";
        i++;
    }
    while(document.getElementById(container+"tab"+i));
    document.getElementById(container+tab+"content").style.display="block";
    document.getElementById(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 = document.getElementById('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 = "../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 = document.getElementById(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