

var strQueryString
var bPreSearchVisible = true
var bSlideResultsFromCurPos = false

function initialiseSimCardPriceCompare(p_strQueryString, bHasJustSearched, p_nTimeDialSessionID) {

   
    var divPostSearch = document.getElementById('divPostSearch')

   
    
    strQueryString = p_strQueryString
    nTimeDialSessionID = p_nTimeDialSessionID

    if (bHasJustSearched)
    { 
        toggleOptions()
        bSlideResultsFromCurPos = true
        document.getElementById('divPostSearch').style.display = 'block'
    }
}

function toggleOptions()
{
    var lngSlideUpFrom
    
    if(bPreSearchVisible)
    {
        
        if(bSlideResultsFromCurPos)
        {
            lngSlideUpFrom = posTop('divResults') - posTop('divPreSearch')
        }
        else
        {
            lngSlideUpFrom = 400
        }
        slide('divPreSearch', lngSlideUpFrom, 0, 2000)
        document.getElementById('divPostSearch').innerHTML = '- Unhide Options And Search Again'
        bPreSearchVisible = false
    }
    else
    {
        slide('divPreSearch', posTop('divResults') - posTop('divPreSearch'), posTop('btnSimCardSearch') - posTop('divPostSearch') + 40, 2000)
        document.getElementById('divPostSearch').innerHTML = '- Hide Options And View Results'
        bPreSearchVisible = true
    }
}

function btnSearch_onclick() {
    var strFormXML
    var txtNoCallsIncoming = document.getElementById('txtNoCallsIncoming')
    var txtNoCallsOutgoing = document.getElementById('txtNoCallsOutgoing')
    var txtTalktimeHoursIncoming = document.getElementById('txtTalktimeHoursIncoming')
    var txtTalktimeMinsIncoming = document.getElementById('txtTalktimeMinsIncoming')
    var txtTalktimeHoursOutgoing = document.getElementById('txtTalktimeHoursOutgoing')
    var txtTalktimeMinsOutgoing = document.getElementById('txtTalktimeMinsOutgoing')
    var chkMobile = document.getElementById('chkMobile')
    var txtTexts = document.getElementById('txtTexts')
    var divError = document.getElementById('divError')
    var divSearching = document.getElementById("divSearching")
    var divSearching
    var divAds = document.getElementById('divAds') 
    var xmlCombos   
    divError.innerHTML = ''

    
    if ( isNaNEmptyZero(txtNoCallsIncoming.value) || isNaNEmptyZero(txtNoCallsOutgoing.value) || (isNaNEmptyZero(txtTalktimeHoursIncoming.value) && isNaNEmptyZero(txtTalktimeMinsIncoming.value)) || (isNaNEmptyZero(txtTalktimeHoursOutgoing.value) && isNaNEmptyZero(txtTalktimeMinsOutgoing.value)) || isNaN(txtTexts.value)) 
    {
        divError.innerHTML = 
            '<br />THE FOLLOWING IS REQUIRED'
            + '<br />'
            + '<ul>'
        if(isNaNEmptyZero(txtNoCallsIncoming.value) || isNaNEmptyZero(txtNoCallsOutgoing.value) )
        {
            divError.innerHTML = divError.innerHTML + '<li>Valid Number of Calls</li>'
        }
        if ((isNaNEmptyZero(txtTalktimeHoursIncoming.value) && isNaNEmptyZero(txtTalktimeMinsIncoming.value)) || (isNaNEmptyZero(txtTalktimeHoursOutgoing.value) && isNaNEmptyZero(txtTalktimeMinsOutgoing.value)))
        {
            divError.innerHTML = divError.innerHTML + '<li>Valid Total Calling Time</li>'
        }

        if (isNaN(txtTexts.value)) 
        {
            divError.innerHTML = divError.innerHTML + '<li>Valid Number of Text Messages</li>'
        } 
              
        divError.innerHTML = divError.innerHTML 
            + '</ul>'
    }
    else
    {
        if(isNaNEmptyZero(txtTalktimeHoursIncoming.value))
        {
            txtTalktimeHoursIncoming.value = 0
        } 
        if(isNaNEmptyZero(txtTalktimeMinsIncoming.value))
        {
            txtTalktimeMinsIncoming.value = 0
        } 
        if(isNaNEmptyZero(txtTalktimeHoursOutgoing.value))
        {
            txtTalktimeHoursOutgoing.value = 0
        } 
        if(isNaNEmptyZero(txtTalktimeMinsOutgoing.value))
        {
            txtTalktimeMinsOutgoing.value = 0
        } 
        
        strFormXML = 
            '<?xml version="1.0" encoding="utf-8"?>'
            + '<formSearchEngine'
                + ' NoCallsIncoming="' + txtNoCallsIncoming.value + '"'
                + ' NoCallsOutgoing="' + txtNoCallsOutgoing.value + '"'
                + ' TalktimeHoursIncoming="' + txtTalktimeHoursIncoming.value + '"'
                + ' TalktimeMinsIncoming="' + txtTalktimeMinsIncoming.value + '"'
                + ' TalktimeHoursOutgoing="' + txtTalktimeHoursOutgoing.value + '"'
                + ' TalktimeMinsOutgoing="' + txtTalktimeMinsOutgoing.value + '"'
                + ' Mobile="' + chkMobile.checked + '"'
                + ' Texts="' + txtTexts.value + '"'
            + ' />'

        
        postToServer('SimCardAds.aspx?AreaID='+ readFormValue(document.getElementById('cbxArea'),'') + '&' + strQueryString,strFormXML, divAds, true, false)

        fade('divWholeContainerContainer', 100, 25, 4000)
        divSearching = document.createElement('div')
        divSearching.setAttribute('id','divSearching')
        divSearching.innerHTML = '<br />Searching sim card sites.<br /><br />This can take a few minutes.'
        document.body.appendChild(divSearching)
        
        if(BrowserDetect.browser == 'Explorer' & BrowserDetect.version < 7)
        {
            divSearching.style.top = posTop('btnSimCardSearch')
            divSearching.style.position = 'absolute'
        }
        
        window.setTimeout('var dateNow = new Date(); window.location.href = window.location.pathname + "?time=" + dateNow.getTime()',100)

        
    }
}

function readFormValue(elemForm,objDefault)
{
    if (elemForm != null)
    {
        if (elemForm.getAttribute('type') == 'checkbox')
        {
            return elemForm.checked 
        }
        else
        {
            return elemForm.value
        }
    }
    else
    {
        return objDefault
    }
}

function cbxPeriod_onmousedown()
{
    strLastPeriod = document.getElementById('cbxPeriod').value
}

function cbxArea_onChange()
{
    var imgSubRegion = new Image()
    imgSubRegion.src = '../ServerValSet.aspx?SubRegionIDAway=' + this.value
    return true
}

function divPostSearch_onMouseOver()
{
    document.getElementById('divPostSearch').style.backgroundColor = '#EFEFEF'
}

function divPostSearch_onMouseOut()
{
    document.getElementById('divPostSearch').style.backgroundColor = '#FCFCFC'
}

function noResultsPrompt()
{
    var tblSearchEngineResults = document.getElementById('tblSearchEngineResults') 
    var trNoResults, tdBlank, tdMessage
    var tdNoResults

    if(tblSearchEngineResults)
    {
        if(tblSearchEngineResults.rows.length == 1)
        {
            trNoResults = tblSearchEngineResults.insertRow(-1)
            trNoResults.setAttribute('id','trRowOdd')
            tdBlank = trNoResults.insertCell(-1)
            tdBlank.innerHTML = '&nbsp;'
            tdMessage = trNoResults.insertCell(-1)
            tdMessage.setAttribute('id','tdNoResults')
            tdMessage.innerHTML = '<br />Sorry. The search returned no results for the options you selected.<br /><br />Try changing some options an searching again.<br /><br />'
            tdBlank = trNoResults.insertCell(-1)
            tdBlank.innerHTML = '&nbsp;'
            
            document.getElementById('trRowOdd').style.backgroundColor = '#EEEEEE'
            tdNoResults = document.getElementById('tdNoResults')
            tdNoResults.style.textAlign = 'center'
            tdNoResults.style.fontWeight = 'bold'
            tdNoResults.style.color = '#0073E6'
            tdNoResults.colSpan = '3'
            tdNoResults.style.width = '375px'
        }
    }
}

function recordSimCardClick(sender,strCompany, strCardName) {

    postToServer('../ServerValSet.aspx?SimCardClickCompany=' + strCompany + '&SimCardClickCard=' + strCardName + '&SimCardClickPos=' + sender.parentNode.parentNode.attributes['position'].value + '&TimeDialSessionID=' + nTimeDialSessionID)
    return true
}


function statusSet(strStatus)
{
    window.status = strStatus
    return true;
}

function statusRemove()
{
    window.status = ''
    return true;
}
