function addFlashMovie(objUrl, objWidth, objHeight, objFlashVars) {
    objWidth = (objWidth) ? objWidth : "212";
    objHeight = (objHeight) ? objHeight : "220";   
    document.write('<object class="flashMovie" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+ objWidth + '" height="' + objHeight + '">\n');
    document.write('<param name="movie" value="' + objUrl + '" />\n');   
    document.write('<param name="quality" value="high" />\n');
    document.write('<param name="wmode" value="transparent">\n');            
    document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
    // Used by Flash upload tool
    if (objFlashVars) {
        document.write('<param name="FlashVars" value="uploadPage=Upload.axd' + objFlashVars + '&completeFunction=UploadComplete()" />\n');
    }
    embedParms = ' src="' + objUrl + '"';
    embedParms+= ' quality="high"';
    embedParms+= ' pluginspage="http://www.macromedia.com/go/getflashplayer"';
    embedParms+= ' type="application/x-shockwave-flash"';
    embedParms+= ' width="' + objWidth + '"';
    embedParms+= ' height="' + objHeight + '"';
    embedParms+= ' wmode="transparent"';    
    // Used by Flash upload tool
    if (objFlashVars) {
        embedParms+= ' FlashVars="uploadPage=Upload.axd' + objFlashVars + '&completeFunction=UploadComplete()"';
    }
    document.write('<embed ' + embedParms + ' ></embed>\n');
    document.write('</object>\n');
}

function addFlashMoviePlayer(objId, objMovie, objWidth, objHeight, objClass, objImage, objLogo, objLink) {
    // Required parameters: objId, objMovie, objWidth, objHeight
    var playerId = "";
    playerId = "mpswf_" + objId;    
    document.write('<div id="' + objId + '" class="' + objClass + '">');
    var objLocation = location.href.substr(0, location.href.lastIndexOf('/') + 1);
    var so = new SWFObject('flash/MediaPlayer.swf', playerId, objWidth, objHeight, '7');    
    so.addParam('allowfullscreen','true'); 
    so.addParam('allowscriptaccess','always'); 
    so.addVariable('javascriptid',playerId);
    so.addVariable('autostart','false');
    so.addVariable('showdigits','false');
    so.addVariable('file',objLocation + objMovie); 
    if (objImage) {
        so.addVariable('image',objLocation + objImage); 
    }
    so.addVariable('height',objHeight);
    so.addVariable('width',objWidth);
    so.addVariable('backcolor','0x850000');
    so.addVariable('frontcolor','0xCAB96C');
    so.addVariable('lightcolor','0x000000');
    if (objLogo) {    
        so.addVariable('logo',objLocation + objLogo); 
    }
    so.addVariable('enablejs','true');
    if (objLink) {
        so.addVariable('link',objLocation + objLink);
    }
    so.addVariable('linkfromdisplay','true');
    so.write(objId);
    playerId = document.getElementById(playerId);
    document.write('</div>');    
}

function changeSrc(obj, flag) {         
    objAux = document.getElementById(obj.id);
    if (objAux) {
        currentSrc = objAux.src;
       
        // PNG transparency - hacked to IE6
        if (objAux.filters) {
            if (objAux.filters[0]) {
                currentSrc = objAux.filters[0].src;      
            }   
        }
        
        regExp = (flag == "On") ? "Off" : "On";
        newSrc = currentSrc.replace(regExp,flag);      
        objAux.src = newSrc;
    }
}

function swapClass(obj, flag) {        
    currentObj = document.getElementById(obj.id);
    if (currentObj) {
        currentClass = currentObj.className;    
        regExp = (flag == "On") ? "Off" : "On";
        newClass = currentClass.replace(regExp,flag);      
        obj.className = newClass;
    }
}

function openPictureViewer(picUrl) {
    settings = "resizable=no, scrollbars=yes"; 
    openUrl = "PictureViewer.aspx?picUrl=" + picUrl;
    myWindow=window.open(openUrl,"PictureViewer",settings);
    myWindow.moveTo(0,0);
    myWindow.resizeTo(screen.availWidth,screen.availHeight);
    myWindow.focus();    
}

function checkFieldSize(obj, next) {        
    currentObj = document.getElementById(obj.id);
    if (currentObj) {
        objMaxLength = currentObj.maxLength;
        objLength = currentObj.value.length + 1;
        if (objLength == objMaxLength) {
            nextObj = document.getElementById(next);
            if (nextObj) {
                nextObj.focus();
            }
            return null;
        }
    }
}    

function setButtonsVisibility(specificObjId) {
    if (specificObjId != null) {
        objBtn = document.getElementById(specificObjId);        
        if (objBtn) {
            objBtn.style.visibility=(objBtn.style.visibility == 'visible') ? 'hidden' : 'visible';
        }
    }
    else {
        objBtn1 = document.getElementById('nextButton');
        objBtn2 = document.getElementById('previousButton');    
        if (objBtn1) {
            objBtn1.style.visibility=(objBtn1.style.visibility == 'visible') ? 'hidden' : 'visible';
        }
        if (objBtn2) {
            objBtn2.style.visibility=(objBtn2.style.visibility == 'visible') ? 'hidden' : 'visible';
        }
    }    
}

function setButtonsVisibility2(status) {
    objBtn = document.getElementById('nextButton');
    if (objBtn) {
        objBtn.style.visibility=status;
    }    
}

function setCheckboxVisibility() {
    objInput = document.getElementById('cardnumber');
    objCheck = document.getElementById('checkTerms');
    objCheckLabel = document.getElementById('checkTermsLabel');    
    if (objInput) {
        objCheck.style.visibility='visible';
        objCheckLabel.style.visibility='visible';
        setButtonsVisibility('previousButton');
    }    
    else {    
        objCheck.style.visibility='hidden';
        objCheckLabel.style.visibility='hidden';
        setButtonsVisibility();
    }
}

function getElementsByClass(searchClass, node, tag) {
    var classElements = new Array();
    node = (node) ? node : document;
    tag = (tag) ? tag : "*";
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className)) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

function closeFloatMenus() {
    menus = getElementsByClass("floatMenu");
    if (menus) {
        for (i = 0; i < menus.length; i++) {
            menus[i].style.visibility = "hidden";
        }
    }
}

function openFloatMenu(objId, status) {
   currentObj = document.getElementById(objId);   
   if (currentObj) { 
       currentObj.style.visibility = (status == 'On' ? 'visible' : 'hidden');
   }
}

function setCheckBoxControl() {
   // Needs to avoid a double subscription selection. The regular one and the trial one.
   checkSubs = document.getElementById('SexWorld_Main_Subscription_checkbox');
   checkSubsTrial = document.getElementById('SexWorld_3_Day_Trial___Excludes_Free_Channel_Offer_checkbox');    
   if (checkSubs && checkSubsTrial) {     
       checkSubs.disabled = false;
       checkSubsTrial.disabled = false;
       checkSubs.onclick = function () {checkSubsTrial.checked = false; checkSubsTrial.disabled = (checkSubs.checked);}
       checkSubsTrial.onclick = function () {checkSubs.checked = false; checkSubs.disabled = (checkSubsTrial.checked);}
   }
}
