﻿var webUrl = "http://www.bestcontractdeal.co.uk/";

function GetHttpObject() {
    var xmlHttpObj;
    try {
        xmlHttpObj = new XMLHttpRequest();
        return xmlHttpObj;
    }
    catch (e) {
        try {
            xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
            return xmlHttpObj;
        }
        catch (e) {
            try {
                xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
                return xmlHttpObj;
            }
            catch (e) {
                alert("Sorry, Your browser does not support AJAX!");
                return null;
            }
        }
    }
}
function HeaderSearch(currentselection) {
    var xmlHttp = GetHttpObject();

    var _brands = "", _models = "", _networks = "", _dealType = "";

    if (document.getElementsByTagName) {
        var links = document.getElementsByTagName("select");

        for (var i = 0; i < links.length; i++) {
            if (links[i].className.match("advancesearch")) {
                if (links[i].id == "dlBrands") {
                    _brands = links[i].value;
                } else if (links[i].id == "dlModels") {
                    _models = links[i].value;
                } else if (links[i].id == "dlNetworks") {
                    _networks = links[i].value;
                }
                else if (links[i].id == "dlDealType") {
                    _dealType = links[i].value;
                }
            }
        }
    }

    //alert(currentselection);

    if (currentselection == "dlBrands") {
        _models = "";
        _networks = "";
    }

    if (_dealType == "sim-free" || _dealType == "") {
        _networks = "";
    }


    if (xmlHttp != null) {
        var url = webUrl + "ajax/header-search.aspx?d=" + _dealType + "&m=" + _brands + "&h=" + _models + "&n=" + _networks + "&" + Math.random();
        // alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById("adv").innerHTML = xmlHttp.responseText;
                doPopups();
            }
            else {

                if (_dealType != "sim-free") {

                    document.getElementById("adv").innerHTML = "<select name='dlBrands' id='dlBrands' class='advancesearch'><option value='' class='loading' selected='selected'>Loading Brands...</option></select><select name='dlModels' id='dlModels' class='advancesearch'><option value=''>Loading Models...</option></select><select name='dlNetworks' id='dlNetworks' class='advancesearch'><option value=''>Loading Networks...</option></select><div class='load-container'><div class='dvdlbrands'><img src='images/loader.gif' /></div><div class='dvdlmodels'><img src='images/loader.gif' /></div><div class='dvdlnetworks'><img src='images/loader.gif' /></div></div>";
                } else {
                    document.getElementById("adv").innerHTML = "<select name='dlBrands' id='dlBrands' class='advancesearch'><option value='' class='loading' selected='selected'>Loading Brands...</option></select><select name='dlModels' id='dlModels' class='advancesearch'><option value=''>Loading Models...</option></select>";
                }
            }
        }
        xmlHttp.send(null);
    }
}


function GetBrandGallery(brandId, dType, divId) {
    var xmlHttp = GetHttpObject();
    if (xmlHttp != null) {
        var url = webUrl + "ajax/gallery-brands.aspx?brand=" + brandId + "&d=" + dType; // + "&" + Math.random();//
        //alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById(divId).innerHTML = xmlHttp.responseText;
            }
            else {
                document.getElementById(divId).innerHTML = "<div align='center' style='padding:40px 0'><img src='" + webUrl + "images/data-loading.gif' alt='Loading...' /></div>";
            }
        }
        xmlHttp.send(null);
    }
}

function GetGallery(dType, rCount) {
    //alert("FUN:" + dealType);
    var xmlHttp = GetHttpObject();
    if (xmlHttp != null) {
        var url = webUrl + "ajax/gallery-dealtype.aspx?dtype=" + dType + "&rcount=" + rCount; // + "&" + Math.random();//
        // alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById("dvHandsets").innerHTML = xmlHttp.responseText;
            }
            else {
                document.getElementById("dvHandsets").innerHTML = "<div align='center' style='padding:40px 0'><img src='" + webUrl + "images/data-loading.gif' alt='Loading...' /></div>";
            }
        }
        xmlHttp.send(null);
    }
}

// Network Gallery
function GetGalleryNework(divId) {
    //alert("GetGalleryNework:" + divId);
    var xmlHttp = GetHttpObject();
    if (xmlHttp != null) {
        var url = webUrl + "ajax/gallery-network.aspx?network=" + divId + "&k=" + Math.random(); //
        // alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById(divId).innerHTML = xmlHttp.responseText;
            }
            else {
                document.getElementById(divId).innerHTML = "<div align='center' style='padding:40px 0'><img src='" + webUrl + "images/data-loading.gif' alt='Loading...' /></div>";
            }
        }
        xmlHttp.send(null);
    }
}

/* Other Deals */
function GetOtherDeals(filter, dType) {
    //alert("FUN:GetOtherDeals:" + dType);
    filter = filter.replace('#', '');
    if (dType == "sim-only") {
        if (filter == "international") {
            ChangeSelectionSimOnly("liinternational");
        }
        else if (filter == "unlimited-data") {
            ChangeSelectionSimOnly("liunlimiteddata");
        }
        else if (filter == "iphone-sim") {
            ChangeSelectionSimOnly("liiphone-sim");
        }
        else if (filter == "ipad-sim") {
            ChangeSelectionSimOnly("liipad-sim");
        }
        else if (filter == "contract-sim-only") {
            ChangeSelectionSimOnly("licontract-sim-only");
        }
        else if (filter == "upgrade") {
            ChangeSelectionSimOnly("liupgrade");
        }
    }
    else if (dType == "mobile-broadband") {
        if (filter == "free-laptop") {
            ChangeSelectionMobilebroadband("lifreelaptop");
        }
        else if (filter == "free-lcd-tv") {
            ChangeSelectionMobilebroadband("lifreelcdtv");
        }
        else if (filter == "cashback-deals") {
            ChangeSelectionMobilebroadband("licashbackdeals");
        }
        else if (filter == "free-line-rental") {
            ChangeSelectionMobilebroadband("lifreelinerental");
        }
        else if (filter == "other-free-gifts") {
            ChangeSelectionMobilebroadband("liotherfreegifts");
        }
    }

    var xmlHttp = GetHttpObject();
    if (xmlHttp != null) {
        var url = webUrl + "ajax/handset-deals.aspx?dtype=" + dType + "&filter=" + filter + "&" + Math.random(); //
        //alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById("sites").innerHTML = xmlHttp.responseText;
            }
            else {
                document.getElementById("sites").innerHTML = "<div align='center' style='padding:40px 0'><img src='" + webUrl + "images/data-loading.gif' alt='Loading...' /></div>";
            }
        }
        xmlHttp.send(null);
    }
}

function ChangeSelectionSimOnly(current) {
    document.getElementById("liall").className = "";
    document.getElementById("liinternational").className = "";
    document.getElementById("liunlimiteddata").className = "";
    document.getElementById("liiphone-sim").className = "";
    document.getElementById("liipad-sim").className = "";
    document.getElementById("licontract-sim-only").className = "";
    document.getElementById("liupgrade").className = "";
    document.getElementById(current).className = "sel";
}

function ChangeSelectionMobilebroadband(current) {
    document.getElementById("liall").className = "";
    document.getElementById("lifreelaptop").className = "";
    document.getElementById("lifreelcdtv").className = "";
    document.getElementById("licashbackdeals").className = "";
    document.getElementById("lifreelinerental").className = "";
    document.getElementById("liotherfreegifts").className = "";
    document.getElementById(current).className = "sel";
}

function GetHandsetDeals(dType, hId, r, handsetId) {
    //alert("FUN:" + dType);

    if (dType == "contract") {
        ChangeSelection("licontract");
    }
    else if (dType == "pay-as-you-go") {
        ChangeSelection("lipayg");
    }
    else if (dType == "sim-free") {
        ChangeSelection("lisimfee");
    }
    else if (dType == "clearance") {
        ChangeSelection("liclearance");
    }
    else if (dType == "free-gift") {
        OtherHandset("free-gift");
    }
    else if (dType == "#specifications") {
        ChangeSelection("lispecifications");
        document.getElementById("sites").innerHTML = document.getElementById("divFeatures").innerHTML;
        document.getElementById("advancesearch").innerHTML = "";
        return;
    }
    else if (dType.indexOf('&') > -1) {
        var queryStrig = dType.split('&');
        ChangeSelection('li' + queryStrig[0]);
    }
    var xmlHttp = GetHttpObject();
    if (xmlHttp != null) {
        var url = webUrl + "ajax/handset-deals.aspx?dtype=" + dType + "&handset=" + hId + "&r=" + r + "&" + Math.random(); //
        //alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById("sites").innerHTML = xmlHttp.responseText;
                GetRefineSearch(dType, handsetId, '', '', '', '', '', '', '');
            }
            else {
                document.getElementById("sites").innerHTML = "<div align='center' style='padding:40px 0'><img src='" + webUrl + "images/data-loading.gif' alt='Loading...' /></div>";
            }
        }
        xmlHttp.send(null);
    }
}

function GetRefineDeals(hId, network, contractMonths, freeMinutes, freeTexts, lineRental, freeGifts) {
    var xmlHttp = GetHttpObject();
    if (xmlHttp != null) {
        var url = webUrl + "ajax/handset-deals.aspx?dtype=refine-search&handsetid=" + hId;
        url += "&networkid=" + network;
        url += "&contractMonths=" + contractMonths;
        url += "&freeMinutes=" + freeMinutes;
        url += "&freeTexts=" + freeTexts;
        url += "&lineRental=" + lineRental;
        url += "&freeGifts=" + freeGifts;
        url += "&k=" + Math.random(); //
        //alert(url);
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                //alert(xmlHttp.responseText);
                document.getElementById("sites").innerHTML = xmlHttp.responseText;
                //GetRefineSearch(dType, handsetId, '', '', '', '', '', '', '');
            }
            else {
                document.getElementById("sites").innerHTML = "<div align='center' style='padding:40px 0'><img src='" + webUrl + "images/data-loading.gif' alt='Loading...' /></div>";
            }
        }
        xmlHttp.send(null);
    }
}

// Get Refine Search
function GetRefineSearch(dType, hId, network, contractMonths, freeTexts, freeMinutes, freeGifts, lineRental, currenctChanged) {
    //alert("GetRefineSearch:" + dType);
    if (dType == "contract") {
        var xmlHttp = GetHttpObject();
        if (xmlHttp != null) {
            var url = webUrl + "ajax/refine-search.aspx?handsetid=" + hId;
            url += "&networkid=" + network;
            url += "&contractMonths=" + contractMonths;
            url += "&freeMinutes=" + freeMinutes;
            url += "&freeTexts=" + freeTexts;
            url += "&lineRental=" + lineRental;
            url += "&freeGifts=" + freeGifts;
            url += "&currentChanged=" + currenctChanged;
            url += "&k=" + Math.random(); //
            //alert(url);
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4) {
                    //alert(xmlHttp.responseText);
                    document.getElementById("advancesearch").innerHTML = xmlHttp.responseText;
                    if (document.getElementsByTagName) {
                        var links = document.getElementsByTagName("select");
                        for (var i = 0; i < links.length; i++) {
                            if (links[i].className.match("refinesearch")) {
                                links[i].onchange = function() {
                                    //window.open(this.getAttribute("href"));
                                    GetRefineDeals(hId, document.getElementById("ddlnetwork").value,
                                        document.getElementById("ddlmonths").value,
                                        document.getElementById("ddlminutes").value,
                                        document.getElementById("ddltexts").value,
                                        document.getElementById("ddllinerental").value,
                                        document.getElementById("ddlfreegift").value);
                                    GetRefineSearch(dType, hId,
                                        document.getElementById("ddlnetwork").value,
                                        document.getElementById("ddlmonths").value,
                                        document.getElementById("ddltexts").value,
                                        document.getElementById("ddlminutes").value,
                                        document.getElementById("ddlfreegift").value,
                                        document.getElementById("ddllinerental").value,
                                        this.id);

                                    //document.location.href = this.value;
                                    //return false;
                                };
                            }
                        }
                    }
                }
                else {
                    document.getElementById("advancesearch").innerHTML = "<div id='refine'><select name='ddlnetwork' id='ddlnetwork' class='refinesearch'><option value=''>-Network-</option></select><select name='ddlmonths' id='ddlmonths' class='refinesearch'><option value=''>Any Month</option></select><select name='ddlminutes' id='ddlminutes' class='refinesearch'><option value=''>Select Free Minutes</option></select><select name='ddltexts' id='ddltexts' class='refinesearch'><option value=''>Select Free Texts</option></select><select name='ddllinerental' id='ddllinerental' class='refinesearch'><option value=''>Line Rental</option></select><div class='select'><select name='ddlfreegift' id='ddlfreegift' class='refinesearch freegifts'><option value=''>Select Free Gifts</option></select></div></div>";
                }
            }
            xmlHttp.send(null);
        }
    }
    else {
        document.getElementById("advancesearch").innerHTML = "";
    }
}

function ChangeSelection(current) {

    //alert(document.getElementById(current));
    if (document.getElementById("licontract"))
        document.getElementById("licontract").className = "";
    if (document.getElementById("lipayg"))
        document.getElementById("lipayg").className = "";
    if (document.getElementById("lisimfee"))
        document.getElementById("lisimfee").className = "";
    if (document.getElementById("liclearance"))
        document.getElementById("liclearance").className = "";
    if (document.getElementById("lispecifications"))
        document.getElementById("lispecifications").className = "";
    if (document.getElementById(current)) {
        //alert(current);
        document.getElementById(current).className = "sel";
        OtherHandset(current);
    }
}

function SetOnChange() {
    if (document.getElementsByTagName) {
        var links = document.getElementsByTagName("select");
        for (var i = 0; i < links.length; i++) {
            if (links[i].className.match("changehandsets")) {
                links[i].onchange = function() {
                    //window.open(this.getAttribute("href"));

                    document.location.href = this.value;
                    //return false;
                };
            }
        }
    }
}

function OtherHandset(liId) {
    if (liId != "lispecifications") {
        var xmlHttp = GetHttpObject();
        if (xmlHttp != null) {
            var url = webUrl + "ajax/other-handsets.aspx?dtype=" + liId + "&k=" + Math.random(); //
            //alert(url);
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4) {
                    document.getElementById("dvOtherHandsets").innerHTML = xmlHttp.responseText;
                    SetOnChange();
                }
                else {
                    document.getElementById("dvOtherHandsets").innerHTML = "<select name='id' id='id' class='changehandsets'><option value=''>Select Handset</option></select><div class='load-container'><div class='dvotherhandsets'><img src='images/loader.gif' /></div></div>";
                }
            }
            xmlHttp.send(null);
        }
    }
}


//if (window.location.hash) {
//    //alert(window.location.hash)
//} else {
//    //alert(window.location.hash)
//}

//if (("onhashchange" in window)) { //&& !($.browser.msie)
//    window.onhashchange = function() {
//        //alert(window.location.hash);
//    }
//    // Or $(window).bind( 'hashchange',function(e) {  
//    //       alert(window.location.hash); 
//    //   });              
//}
//else {
//    var prevHash = window.location.hash.toString();
//    window.setInterval(function() {
//        if (window.location.hash.toString() != prevHash) {
//            //alert(window.location.hash);
//            prevHash = window.location.hash.toString();
//        }
//    }, 100);
//}

