//$Id: upgradefunctions.js,v 978b5398d6c0 2009/11/09 21:36:53 kharlin $

document.write("<script src=\"/js/ajaxfunctions.js\"></script>");

function DisplayUpgradeOverlay(corpId)
{ 
    var f = document.eligibilitychecker;
    var getString = "";
    
    // Get the value in the form.  
    if(corpId && f)
    {
        var actiontype = f.actiontype.value;
        if(actiontype == 'runCheck')
        {
            var phoneNumber = "";
            phoneNumber = phoneNumber+f.phone1.value+f.phone2.value+f.phone3.value;    
            
            if(f.ssn)
                var ssn = f.ssn.value;
                
           getString = "&ssn="+ssn+"&phoneNumber="+phoneNumber+"&actiontype="+actiontype;
        }
        else if(actiontype == 'submitContactInfo')
        {
            var contactType = GetContactValue(f.contactType);  

            if(contactType == 'noThanks')
            {
                HideOverlay();
                return;    
            }
            
            var eligibilityDate = f.eligibilityDate.value;
            var phoneNumber = f.phoneNumber.value;
            var email = f.email.value; 
            
            getString = "&email="+email+"&phoneNumber="+phoneNumber+"&contactType="+contactType+"&actiontype="+actiontype+"&eligibilityDate="+eligibilityDate;
        }            
    }
    else if(document.zipentry)
    {
        var zip = document.zipentry.zip.value; 
        getString = "&setZip="+zip;
    }

    // Create the XMLHttpRequest object.
    c = CreateHTMLRequestor();

    // if the XMLHttpRequest object is in any state other than 0 (unitialized), then stop the current request.
    if (c && c.readyState!=0)
    {
        c.abort();
    }

    // Set the function that handles changes in state.
    c.onreadystatechange = processUpgradeInfo;

    // Send the request.
    c.open("GET", "/upgrades/eligibilitychecker.htm?corpId="+corpId+getString, true);
    c.send(null);
    
    //Because firefox appears to remember form values
    //reset action type once done processing action
    if(f && f.actiontype)
        f.actiontype.value = "";
}

function processUpgradeInfo()
{
    // only if req shows "complete"
    if (c.readyState == 4)
    {
        if (c.status == 200) // Numeric code returned from server. 200 means "OK".
        {
            DisplayUpgradeText(c.responseText);
        } else {
            alert("There was a problem retrieving the HTML data:\n" +
                c.statusText);
        }
    }
}

function DisplayUpgradeText(responseHTML)
{
    // Get xslt xml transfrom
    display = document.getElementById('upgradeoverlay');

    if (responseHTML && display)
    {
        display.innerHTML = responseHTML;
        display.style.display = "inline-block";
    }  
}

function GetContactValue(buttonname)
{
    for (var i=0; i < buttonname.length; i++)
    {
        if (buttonname[i].checked)
        {
            var fieldname = buttonname[i].value;
        }
    }
    
    return fieldname;
}

 
function DisplayContinueButton(continueElem)
{
    if(document.getElementById('individual') != undefined)
        document.getElementById('individual').className='hideIt';
    
    if(document.getElementById('family') != undefined)
        document.getElementById('family').className='hideIt';
    
    if(document.getElementById('addedlines') != undefined)
        document.getElementById('addedlines').className='hideIt';
    
    continueElem.className='displayIt';            
}  

 
function DisplayInitialOverlay(event) 
{
    var posY = 0; 
    theBody = document.getElementsByTagName('BODY')[0];
    
    //Create the background opaque transparency div
    transparencyDiv = document.createElement('div');
    transparencyDiv.id = 'overlaytransparency';
    transparencyDiv.style.left = 0+"px"; 
    transparencyDiv.style.top = 1 + "px";
    transparencyDiv.style.zIndex= 1000; 
    transparencyDiv.style.height = theBody.clientHeight+ "px";
    
    //Create the container for the overlay popup
    upgradeoverlayDiv = document.createElement('div');
    upgradeoverlayDiv.id = 'upgradeoverlay';
   
	if (!event) event = window.event;
	
	if(event)
	{
    	if ( window.ActiveXObject ) 
    		posY = event.clientY + document.documentElement.scrollTop - 300;
    	else
    		posY = event.pageY - 230;
    }
       	 
	if (posY < 250)
		posY = 250;

    upgradeoverlayDiv.style.top = posY + 'px';
	upgradeoverlayDiv.style.visibility = "visible";
    upgradeoverlayDiv.style.display = "inline-block";
    upgradeoverlayDiv.style.zIndex = 5000; 

    
    theBody.appendChild(transparencyDiv);    
    theBody.appendChild(upgradeoverlayDiv); 

    //When user comes from phone finder then carrier should be preslected
    var phoneFinderForm = document.phoneFinder;
    var corpId;
    
    if(phoneFinderForm)
    {  
        var serviceCorpId = phoneFinderForm.serviceCorpId;
        var numSelected = 0;
        
        if(serviceCorpId)
        {
            for(var i=0; i < serviceCorpId.length; i++)
            {
                if(serviceCorpId[i].checked)
                {
                    numSelected++;
                    serviceSelected = serviceCorpId[i].value;       
                }
            }
        }
        if(numSelected == 1)
            corpId = serviceSelected;
    }    
     
    //Now get the display to put in the overlay
    DisplayUpgradeOverlay(corpId);
   
    posX = document.documentElement.clientWidth/2 - upgradeoverlayDiv.clientWidth/2;
    upgradeoverlayDiv.style.left = posX + 'px';
}   

function HideOverlay()
{
   var theBody = document.getElementsByTagName('BODY')[0];
   var overlayDiv = document.getElementById("upgradeoverlay");
   
   if(overlayDiv)
   {     
        theBody.removeChild(overlayDiv);    
        
        var transparencyDiv = document.getElementById("overlaytransparency");
        theBody.removeChild(transparencyDiv);
        window.location.href = window.location.href;
    }
    else   
        window.close();
}