﻿
var AffluentTraveler = AffluentTraveler ? AffluentTraveler :
{
    ServiceURL: null,
    OutputContainer: null,
    GoBackURI: null,
    SearchResultsPage: null,
    SearchContainer: null,
    FooterContainer: null,
    BookAmenityContainer: null,
    //Get the search result UI
    GetExperiences: function(region, category, name, isprivate, bookURL, city, state, bonus, pagecount, startpage, orderby, previouspage, namesearch) {
        //Set defaults
        if (region == undefined)
        { region = -1; }
        if (category == undefined)
        { category = -1; }
        if (name == undefined)
        { name = ""; }
        if (isprivate == undefined)
        { isprivate = "0"; }
        if (pagecount == undefined || pagecount == '')
        { pagecount = 0; }
        if (startpage == undefined)
        { startpage = 1; }
        if (orderby == undefined || orderby == '')
        { orderby = "name"; }
        if (bookURL == undefined || bookURL == 'null')
        { bookURL = AffluentTraveler.BookAmenityContainer; }
        if (city == undefined)
            city = "";
        if (state == undefined)
            state = "";
        if (bonus == undefined)
            bonus = "";
        //alert(namesearch);
        var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/ExperienceUI?region=" + region + "&category=" +
            category + "&name=" + name + "&isprivate=" + isprivate + "&bookURL=" + bookURL + "&city=" + city + "&state=" + state + "&bonus=" +
            bonus + "&pagecount=" + pagecount + "&startpage=" + startpage + "&orderby=" + orderby + "&previouspage=" + previouspage +
            "&namesearch=" + namesearch);
        AffluentTraveler.GoBackURI = url;
        RestFillContainer(url, AffluentTraveler.OutputContainer);
    },
    GetExperience: function(ExperienceID, Category, Region, Name, SearchCategory, IsPrivate, BookURL, City, State, Bonus, NameSearch) {
        var ticonnect = "0";
        if (getCookie('ticonnectid') != '')
            ticonnect = getCookie('ticonnectid');

        var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/ExperienceUI/" + ExperienceID + "/" + Category + "/" +
        ticonnect + "/" + Region + "/" + Name + "/" + SearchCategory + "/" + IsPrivate + "/" + BookURL + "/" + City + "/" + State + "/" + Bonus +
        "/" + NameSearch);
        RestFillContainer(url, AffluentTraveler.OutputContainer, AffluentTraveler.GoBackURI);
    },
    GetSearchUI: function(isPrivate, regionID, categorytype, city, state, srch) {
        var args = getArgs();
        var cruiseonly = null;
        if (args.CO) {
            cruiseonly = args.CO;
            setCookie('cruiseonly', cruiseonly, 1);
        }
        else if (getCookie('cruiseonly') != '')
            cruiseonly = getCookie('cruiseonly');

        var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/SearchUI/" + isPrivate + "/" + regionID + "/" +
            categorytype + "/" + city + "/" + state + "/" + srch + "/" + cruiseonly);
        RestFillContainer(url, AffluentTraveler.SearchContainer);
    },
    GetSearchResults: function() {
        if (location.search.substring(1)) {
            var args = getArgs();
            var bookURL = "";
            var theName = "";
            var city = "", state = "", bonus = "";
            var isPrivate = "0";
            if (args.isprivate != undefined)
                isPrivate = args.isprivate;
            if (args.name != undefined)
                theName = args.name;
            if (args.bookURL != undefined && args.bookURL != '')
                bookURL = args.bookURL + args.ExperienceID;
            else if (AffluentTraveler.BookAmenityContainer != undefined && AffluentTraveler.BookAmenityContainer != '')
                bookURL = AffluentTraveler.BookAmenityContainer;
            //alert(bookURL);
            if (args.city != undefined)
                city = args.city;
            if (args.state != undefined)
                state = args.state;
            if (args.bonus != undefined)
                bonus = args.bonus;
            var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/ExperienceUI?region=" + (args.region || -1) + "&category=" +
                (args.category || -1) + "&name=" + theName + "&isprivate=" + isPrivate + "&bookURL=" + bookURL + "&city=" + city + "&state=" + state +
                "&bonus=" + bonus + "&pagecount=10&startpage=1&orderby=name");
            AffluentTraveler.GoBackURI = url;
            RestFillContainer(url, AffluentTraveler.OutputContainer); ;
        }
    },
    GetHomePageSearchResults: function() {
        var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/ExperienceUI_HP");
        AffluentTraveler.GoBackURI = url;
        RestFillContainer(url, AffluentTraveler.OutputContainer);
    },
    Search: function(isprivate) {
        var locationDDL = document.getElementById('ddlSearchLocation');
        var categoryDDl = document.getElementById('ddlSearchCategory');
        var cityDDL = document.getElementById('ddlCitySearch');
        var statePvDDL = document.getElementById('ddlStProvSearch');

        var searchText = "";
        if ($get('txtSearchText') != null) {
            searchText = $get('txtSearchText').value;
            if (searchText != "") {
                var searchTypeDDl = document.getElementById('ddlSearchType');
                searchText += "_" + searchTypeDDl.options[searchTypeDDl.selectedIndex].value;
            }
        }
        var bonus = "";
        if (document.getElementById('cbbonus') != null) {
            bonus = document.getElementById('cbbonus').checked;
        }
        var city = "", state = "";
        if (cityDDL != null)
            city = cityDDL.options[cityDDL.selectedIndex].value;

        if (statePvDDL != null)
            state = statePvDDL.options[statePvDDL.selectedIndex].value;

        var bookURL = "";
        if (AffluentTraveler.BookAmenityContainer != null)
            bookURL = AffluentTraveler.BookAmenityContainer;

        if (locationDDL && categoryDDl) {
            if (AffluentTraveler.SearchResultsPage.indexOf("?") == -1) {
                location = AffluentTraveler.SearchResultsPage + "?region=" + (locationDDL.options[locationDDL.selectedIndex].value || 0) +
                "&category=" + (categoryDDl.options[categoryDDl.selectedIndex].value || 0) + "&name=" + (searchText || "") +
                "&isprivate=" + isprivate + "&bookURL=" + bookURL + "&city=" + city + "&state=" + state + "&bonus=" + bonus;
            }
            else {
                location = AffluentTraveler.SearchResultsPage + "&region=" + (locationDDL.options[locationDDL.selectedIndex].value || 0) +
                "&category=" + (categoryDDl.options[categoryDDl.selectedIndex].value || 0) + "&name=" + (searchText || "") +
                "&isprivate=" + isprivate + "&bookURL=" + bookURL + "&city=" + city + "&state=" + state + "&bonus=" + bonus;
            }
        }
    },
    SearchHP: function(isprivate, name) {
        location = "/portals/AffluentTraveler/Exclusives.aspx" + "?name=" + (name || "") +
        "&isprivate=" + isprivate + "&bookURL=/content/content.aspx?PageID=807";
    },
    BookIt: function(url) {
        AffluentTraveler.OutputContainer.innerHTML = "<iframe id='tiFrame' frameborder=0 height='750' scrolling='auto' width='800' src='" + url + "'></iframe>";
    },
    AgencySearchUI: function(country, state, city, pagecount, startpage) {
        var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/AgencySearchUI?country=" + country + "&state=" + state + "&city=" + city + "&pagecount=" + pagecount + "&startpage=" + startpage + "");
        RestFillContainer(url, AffluentTraveler.OutputContainer);
    },
    GetFooterUI: function(loginurl, subscribeurl, findagenturl) {
        var args = getArgs();

        if (loginurl == null) { loginurl = ''; }
        if (subscribeurl == null) { subscribeurl = ''; }
        if (findagenturl == null) { findagenturl = ''; }
        var ticonnectid = null;
        if (args.TIConnectID) {
            ticonnectid = args.TIConnectID;
            setCookie('ticonnectid', args.TIConnectID, 1);
        }
        else { ticonnectid = getCookie('ticonnectid'); }
        var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/GetFooterUI?loginurl=" + loginurl + "&subscribeurl=" +
            subscribeurl + "&findagenturl=" + findagenturl + "&ticonnectid=" + ticonnectid);
        RestFillContainer(url, AffluentTraveler.FooterContainer);
    },
    GetTIAgency: function() {
        var ticonnectid = null;
        var args = getArgs();
        if (args.TIConnectID) {
            ticonnectid = args.TIConnectID;
            setCookie('ticonnectid', args.TIConnectID, 1);
        }
        else { ticonnectid = getCookie('ticonnectid'); }
        if (ticonnectid) {
            var url = AffluentTraveler.ServiceURL + encodeURIComponent("/AffluentTraveler.svc/GetTIAgency?ticonnectid=" + ticonnectid + "");
            RestFillContainer(url, AffluentTraveler.OutputContainer);
        }
    }
}

function RestFillContainer(url, container, lasturi) {
    var rtn;
    try {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {
            xhr = false;
        }
    }

    if (!xhr && typeof XMLHttpRequest != 'undefined') {
        xhr = new XMLHttpRequest();
    }

    xhr.open("GET", url, false);
    xhr.send(null);
    //   xhr.onreadystatechange = function() {

    //        if (xhr.readyState != 4) return;
    if (lasturi == undefined)
    {container.innerHTML = eval(xhr.responseText); }
    else {
        var str = eval(xhr.responseText);
        container.innerHTML = "<a id='aGoBack' href='#' onclick='RestFillContainer(\"" + lasturi +
        "\", AffluentTraveler.OutputContainer); return false;' />Return to search</a>" + str;
    }
    //  reTranslatePage(); }
}

classCheck = function (obj,c) { var re = new RegExp('\\b'+c+'\\b'); return re.test(obj.className); }

function showTab(index) 
{
    var alllinks = document.getElementById('propWrapper').getElementsByTagName('a');
    for (i = 0; i < alllinks.length; i++) {
        if (classCheck(alllinks[i], 'propTab') == true)
        { alllinks[i].className = 'propTab'; }
    }
    var alldivs = document.getElementById('propWrapper').getElementsByTagName('div');
    for (i = 0; i < alldivs.length; i++) {
        if (classCheck(alldivs[i], 'propSect') == true)
        { alldivs[i].style.display = 'none'; }
    }
    document.getElementById('tabarry' + index).className = 'propTab tabUp';
    document.getElementById('sectarry' + index).style.display = 'block';
}
function swapThumb(th) {
    document.getElementById('mainPic').src = th.src;
}

function getArgs() {
    var args = new Object();
    var query = location.search.substring(1);
    var pairs = query.split("&");
    for (var i = 0; i < pairs.length; i++) {
        var pos = pairs[i].indexOf('=');
        if (pos == -1) continue;
        var argname = pairs[i].substring(0, pos);
        var value = pairs[i].substring(pos + 1);
        value = decodeURIComponent(value);
        args[argname] = value;
    }
    return args;
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}function setCookie(c_name,value,expiredays)
{var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function deleteCookie() {
    var ticonnid = getCookie('ticonnectid')
    if (ticonnid) {
        document.cookie = "ticonnectid" + "=" + ticonnid +
        ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
    }
    window.location = "/default.aspx";
}
function reTranslatePage() {
    if (document.getElementById('google_translate_element')) {
        document.getElementById('google_translate_element').innerHTML = "";
        googleTranslateElementInit();
    }
}

var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e) { cX = e.pageX; cY = e.pageY; }
function UpdateCursorPositionDocAll(e) { cX = event.clientX; cY = event.clientY; }

if (document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }

function AssignPosition(d) {
    if (self.pageYOffset) {
        rX = self.pageXOffset;
        rY = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop) {
        rX = document.documentElement.scrollLeft;
        rY = document.documentElement.scrollTop;
    }
    else if (document.body) {
        rX = document.body.scrollLeft;
        rY = document.body.scrollTop;
    }
    if (document.all) {
        cX += rX;
        cY += rY;
    }
    d.style.left = (cX + 10) + "px";
    d.style.top = (cY + 10) + "px";
}
function HideText(d) {
    if (d.length < 1) { return; }
    document.getElementById(d).style.display = "none";
}
function ShowText(d) {
    if (d.length < 1) { return; }
    var dd = document.getElementById(d);
    if (dd != null) {
        AssignPosition(dd);
        dd.style.display = "block";
    }
} 


