var postcode;
var providerid;
var isbroadband;
var isphone;
var istv;
var phone;
var sort;
var downloadlimit;
var downloadspeed;
var setanta;
var skysports;
var premiummovies;
var highdef;
var recordtv;
var freedaytime;
var freeevening;
var freeweekend;
var freewirelessrouter;
var freestaticip;
var expand;
var bb_params;
var loadingCount = 3000;
var cssUrl;
function getRadioValue(radioGroupName) {
radios = document.getElementsByName(radioGroupName);
for (i = 0; i < radios.length; i++) {
if (radios[i].checked) return radios[i].value;
}
}
function escapeHTML(str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
};
function generateGuid()
{
var guid = '';
for (var i = 1; i <= 32; i++)
{
var n = Math.floor(Math.random() * 16.0).toString(16);
guid += n;
if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) guid += "-";
}
return guid;
}
function remoteJson(listener,callback)
{
if (listener)
{
var script = document.createElement("script"); // new script element.
script.setAttribute("type", "text/javascript");
script.setAttribute("id", "remotejson" + generateGuid());
if( listener.indexOf("?") > 0 )
{
script.setAttribute("src", listener + "&nocache=" + generateGuid() + "&callback=" + callback );
}
else
{
script.setAttribute("src", listener + "?nocache=" + generateGuid() + "&callback=" + callback );
}
document.getElementsByTagName("head")[0].appendChild(script);
}
}
var sortorder = '';
function sort(by)
{
sortorder = by;
searchPackages();
}
function searchClicked()
{
sortorder = '';
displayLoading()
}
function displayLoading()
{
document.getElementById('packages_table').innerHTML = '
... Searching for a best deal out of 200+ packages ...
';
swfobject.embedSWF("http://www.broadbandpackages.org/images/cubes.swf", "flash_loading", "75", "75", "6.0.0", "http://www.broadbandpackages.org/images/expressInstall.swf");
if (loadingCount <= 0)
{
callAJAXSearch();
}
else
{
setTimeout('callAJAXSearch()',loadingCount);
loadingCount = loadingCount - 1500;
}
}
function callAJAXSearch()
{
searchPackages();
}
function searchPackages()
{
var params = '';
params = 'sort=' + sortorder;
params += '&postcode=' + document.getElementById('txtPostcode').value;
params += '&phone=' + document.getElementById('txtPhone').value;
bundles = 0;
if (document.getElementById('chkBroadband').checked)
{
params += "&isbroadband=1";
bundles++;
}
if (document.getElementById('chkPhone').checked)
{
params += "&isphone=1";
bundles++;
}
if (document.getElementById('chkTV').checked)
{
params += "&istv=1";
bundles++;
}
if (bundles == 0)
{
document.getElementById('chkBroadband').checked = true;
params += "&isbroadband=1";
}
switch (getRadioValue('downloadLimit'))
{
case 'rdLight':
params += "&downloadLimit=0";
break;
case 'rdNormal':
params += "&downloadLimit=5";
break;
case 'rdHeavy':
params += "&downloadLimit=30";
break;
break;
default:
params += "&downloadLimit=0";
break;
}
switch (getRadioValue('downloadSpeed'))
{
case 'rd2MB':
params += "&downloadspeed=0";
break;
case 'rd8MB':
params += "&downloadspeed=2000";
break;
case 'rd24MB':
params += "&downloadspeed=8000";
break;
default:
params += "&downloadspeed=0";
break;
}
if (document.getElementById('chkPhoneDaytime').checked)
{
params += "&freedaytime=1";
}
if (document.getElementById('chkPhoneEvening').checked)
{
params += "&freeevening=1";
}
if (document.getElementById('chkPhoneWeekend').checked)
{
params += "&freeweekend=1";
}
//TV
if (document.getElementById('chkSkySports').checked)
{
params += "&skysports=1";
}
if (document.getElementById('chkSetanta').checked)
{
params += "&setanta=1";
}
if (document.getElementById('chkPremiumMovies').checked)
{
params += "&premiummovies=1";
}
switch (getRadioValue('highDef'))
{
case 'rdYes':
params += "&highdef=1";
break;
default:
params += "&highdef=0";
break;
}
switch (getRadioValue('recordTV'))
{
case 'rdYes':
params += "&recordtv=1";
break;
default:
params += "&recordtv=0";
break;
}
if (providerid && providerid > 0)
{
params += "&providerid=" + providerid;
}
if (freewirelessrouter == '1')
{
params += "&freewirelessrouter=1";
}
if (freestaticip == '1')
{
params += "&freestaticip=1";
}
if (expand == '1')
{
params += "&expand=1";
}
remoteJson('http://www.broadbandpackages.org/engine/ajax.aspx?mode=showbundles&' + params,null);
}
function display(where,what)
{
document.getElementById(where).innerHTML = what[0];
}
function getNextSibbling(e)
{
do e = e.nextSibling;
while (e && e.nodeType != 1);
return e;
}
function highlight(e)
{
var on;
var rowid = e.id.replace("row_","");
var inforow = document.getElementById('rowinfo_' + rowid);
if (inforow.style.display == 'none')
{
//e.className="high";
e.className="cursor bc_tr_highlighted";
try
{
inforow.style.display='table-row';
}
catch(ex)
{
inforow.style.display = 'block';
}
}
else
{
e.className="cursor bc_tr";
inforow.style.display = 'none';
}
/*
var infoTr = getNextSibbling(e);
if (on) //infoTr.style.display == 'table-row' || infoTr.style.display == 'block'
{
}
else
{
}
*/
}
function filtersLoaded()
{
if (postcode)
{
document.getElementById('txtPostcode').value = postcode;
}
if (isbroadband == '1')
{
document.getElementById('chkBroadband').checked = true;
}
if (isphone == '1')
{
document.getElementById('chkPhone').checked = true;
}
if (istv == '1')
{
document.getElementById('chkTV').checked = true;
}
changeBundleType();
if (true)
{
searchPackages();
}
else
{
}
}
function loadFilters()
{
//load filters
if (true)
{
var params = '';
remoteJson('http://www.broadbandpackages.org/engine/ajax.aspx?mode=filters' + params,'filtersLoaded()');
}
else
{
filtersLoaded();
}
}
function changeBundleType()
{
if(document.getElementById('chkBroadband').checked)
{
document.getElementById('broadband_filters').style.display = 'block';
}
else
{
document.getElementById('broadband_filters').style.display = 'none';
}
if(document.getElementById('chkPhone').checked)
{
document.getElementById('phone_filters').style.display = 'block';
}
else
{
document.getElementById('phone_filters').style.display = 'none';
}
if(document.getElementById('chkTV').checked)
{
document.getElementById('tv_filters').style.display = 'block';
}
else
{
document.getElementById('tv_filters').style.display = 'none';
}
}
loadFilters();
if (!cssUrl)
{
document.write("");
}
else
{
document.write("");
}