var playerStatus = '0';
var playerCurrentElement;
var iframeHack;

function hidediv(divId) {
   if (document.getElementById) { // DOM3 = IE5, NS6
      document.getElementById(divId).style.visibility = 'hidden';
   }
}

function showdiv(divId) {
   if (document.getElementById) { // DOM3 = IE5, NS6
      document.getElementById(divId).style.visibility = 'visible';
   }
}

function hideIframe(iframeId) {
    document.getElementById(iframeId).style.display='none';
}

function showIframe(iframeId) {
    document.getElementById(iframeId).style.display='block';
}


function playerTimeout() {
    if (playerStatus == '1') {   // stop
        document.getElementById('playFrame').src = '';
        playerCurrentElement.src='./images/placeholders/ouvirOff.gif';
        playerStatus = '0';
    }
}


function play(path, imgElement) {

    if (playerStatus == '1') {
        playerCurrentElement.src = './images/placeholders/ouvirOff.gif';
    }

    if ((playerStatus == '0') || ((playerStatus == '1') && (document.getElementById('playFrame').src != path))) {      // play
        document.getElementById('playFrame').src = path;
        imgElement.src='./images/placeholders/stop.gif';
        playerStatus = '1';
        var t = setTimeout('playerTimeout()', 35000);

    } else if (playerStatus == '1') {   // stop
        document.getElementById('playFrame').src = '';
        imgElement.src='./images/placeholders/ouvirOff.gif';
        playerStatus = '0';

    }

    playerCurrentElement = imgElement;
}


function playPerType(truetonePath, polytonePath, imgElement) {

    var typeArray = document.getElementsByName('t');
    var type;
    if (typeArray[0]) {
        for (var i=0; i < typeArray.length; i++) {
            if (typeArray[i].checked) {
                type = typeArray[i].value;
            }
        }
    }

    if (type != 1) { // truetone type = 1
        play(polytonePath, imgElement);
    } else {
        play(truetonePath, imgElement);
    }
}


function clearPlayerIframe() {
    document.getElementById('playFrame').src = '';
}


function sendOneShotRequest(msisdn, mkey, type) {
	var url = "./vodweb/os?msisdn=" + msisdn + "&mkey=" + mkey + "&t=" + type;

	if (window.XMLHttpRequest) {
		obj = new XMLHttpRequest(); // obtain new object
		obj.onreadystatechange = processChange; // set the callback function
		obj.open("GET", url, true); //"true" for asynch
		obj.send(null); // null for GET with native object

	// IE/Windows ActiveX object
	} else if (window.ActiveXObject) {
		obj = new ActiveXObject("Microsoft.XMLHTTP");
		if (obj) {
			obj.onreadystatechange = processChange;
			obj.open("GET", url, true);
			obj.send(); // don't send null for ActiveX
		}
	} else {
		alert("Your browser does not support AJAX");
	}
}


function processChange() {
    /**
     * without this function declared, undeterministic problems were occuring
     */
}


function submitForm() {
    var msisdn = document.getElementById('msisdn').value;

    if (msisdn == '' || isNaN(msisdn) || msisdn.charAt(0) != '9' || msisdn.length < 9 || msisdn.length > 9) {
        alert('Por favor introduza um número de telemóvel válido.');
        return false;
        
    } else {
        var mkey = document.getElementById('mkey').value;
        var typeArray = document.getElementsByName('t');
        var type;
        if (typeArray[0]) {
            for (var i=0; i < typeArray.length; i++) {
                if (typeArray[i].checked) {
                    type = typeArray[i].value;
                }
            }
        }
        sendOneShotRequest(msisdn, mkey, type);

        showIframe('iframeHack');
        showdiv('blackDiv');
        showdiv('popUpDiv');
        document.getElementById('msisdn').value = '';
        return true;
    }
}


function onInputBoxBlur(id, text) {
    if (document.getElementById(id).value.length == 0) {
        document.getElementById(id).value = text;
    }
}


function onInputBoxFocus(id, text) {
    if (document.getElementById(id).value == text) {
        document.getElementById(id).value = '';
    }
}


function submitSearchForm() {
    onInputBoxFocus('artist', 'Artista (opcional)');
    onInputBoxFocus('music', 'Música (opcional)');

    document.getElementById('searchForm').submit();
}


function changeKeywordPrefix(prefix) {
    document.getElementById('keywordPrefix').innerHTML = prefix; 
}

function changePrice(price) {
    document.getElementById('priceSpan').innerHTML = price; 
}


function writeFlash(moviePath, bannerWidth, bannerHeight) {
	document.getElementById(moviePath).innerHTML =
		'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" ' +
		'width="' + bannerWidth + '" height="' + bannerHeight + '"><param name=movie value="' + moviePath + '"><param name=quality value=autohigh><param name=wmode value=transparent>' +
		'<param name=menu value=false>'+
		'<embed wmode="transparent" src="' + moviePath + '" quality=autohigh pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" ' +
		'type="application/x-shockwave-flash" width="' + bannerWidth + '" height="' + bannerHeight + '" menu=false></embed></object>';
}


/**
 *
 *  VODAFONE CODE
 *
 */

// 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, caso){
	if(typeof(container)=='undefined') {
		container='';
	}
	var i=1;
	do{
		document.getElementById(container+"tab"+i).className = (caso)? "tab":"tabAzul";
		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 = (caso)? "activeTab":"activeTabAzul";
}


// 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

/*///// INICIO ROLLOVER BOTOES APAGAR /////*/
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
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 MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
/*///// FIM ROLLOVER BOTOES APAGAR /////*/


