﻿if (typeof(FR) == "undefined") FR = {};
FR.tracking = {};

FR.tracking.addTrackClick = function(referer){	
    var params = { rf:referer };                        
    Sys.Net.WebServiceProxy.invoke('/Services/TrackingService.asmx', 'AddTrackClick', 
    false, params,Function.createDelegate(this, this.addTrackClickSuccess),
    Function.createDelegate(this, this.addTrackClickFailure)); 
}
FR.tracking.addTrackClickSuccess = function(result, context, methodName){
    if(result.length > 0){
        //error adding track click
    }
}
FR.tracking.addTrackClickFailure = function(error){
    //alert('Error adding tracking: ' + error.get_message());
}

FR.tracking.AdvertError = function(adunit, errCode, href, bannercode, ad21PageId) {
var params = { adunit: adunit, errCode: errCode, url: href, bannercode: bannercode, ad21PageId: ad21PageId };                        
    Sys.Net.WebServiceProxy.invoke('/Services/TrackingService.asmx', 'AdvertError', 
    false, params,Function.createDelegate(this, this.AdvertErrorSuccess),
    Function.createDelegate(this, this.AdvertErrorFailure)); 
}
FR.tracking.AdvertErrorSuccess = function(result, context, methodName){
    if(result.length > 0){
        //error adding advert error
    }
}
FR.tracking.AdvertErrorFailure = function(error){
    //alert('Error adding advert error: ' + error.get_message());
}

FR.tracking.SaveURL = function(URL) {
    $.get("/Services/TrackingService.asmx/SaveURL", { url: URL });
}

FR.tracking.SaveURLSuccess = function(result, context, methodName) {
    if (result.length > 0) {
        //alert('Error saving URL: ' + result);
    }
}
FR.tracking.SaveURLFailure = function(error) {
    //alert('Error saving URL: ' + error);
}

FR.tracking.formatNielsenURL = function() {

    var sUrl = '';

    var sPrefix = "www";

    if (window.location.hostname.toString().toLowerCase().substring(0, 5) == 'beta.') {
        sPrefix = "beta";
    }

    switch (window.location.hostname.toString().substring(window.location.hostname.toString().lastIndexOf('.')).toLowerCase()) {
        case '.au':
            sUrl = 'http://' + sPrefix + '.friendsreunited.com.au';
            break;
        case '.nz':
            sUrl = 'http://' + sPrefix + '.friendsreunited.co.nz';
            break;
        case '.com':
            (window.location.hostname.toString().indexOf('.za.') > 0) ? sUrl = 'http://' + sPrefix + '.friendsreunited.za.com' : sUrl = 'http://' + sPrefix + '.friendsreunited.co.uk';
            break;
        case '.uk':
            sUrl = 'http://' + sPrefix + '.friendsreunited.co.uk';
            break;
        default:
            sUrl = 'http://' + sPrefix + '.friendsreunited.co.uk';
            break;
    }

    sUrl += window.location.pathname.toString().toLowerCase();

    var search = window.location.search.toString().toLowerCase();
    if (search.length > 0) {
        search = search.substring(1);
        var arSearch = search.split('&');
        arSearch.sort();
        for (var s = 0; s < arSearch.length; s++) {
            if (arSearch[s].indexOf('rf=') < 0
                    && arSearch[s].indexOf('auth=') < 0
                    && arSearch[s].indexOf('rememberme=') < 0
                    && arSearch[s].indexOf('encname=') < 0
                    && arSearch[s].indexOf('enc=') < 0
                    && arSearch[s].indexOf('encmyname=') < 0
                    && arSearch[s].indexOf('nextpage=') < 0
                    && arSearch[s].indexOf('name=') < 0
                    && arSearch[s].indexOf('cmk=') < 0
                    ) {
                sUrl += (sUrl.indexOf('?') > 0) ? '&' + arSearch[s] : '?' + arSearch[s];
            }
        }
    }
    return sUrl;
}

FR.tracking.saveNielsenURL = function(contentGroup) {
    FR.tracking.SaveURL(contentGroup + '|' + FR.tracking.formatNielsenURL());
}