// Global Variables
var isaffil_scheme = "http:";
var isaffil_hostname = "feed.oranges88.com";
var isaffil_path = "feedtest";
var isaffil_format = "json";
var isaffil_maxcount = "5";
var isaffil_page = "";
var isaffil_src = "";
var isaffil_lmsg = "<div style='padding:10px;font-family:Arial, Helvetica, sans-serif;color:#999999;font-size:9pt;'>Loading...</div>";
var isaffil_display_lmsg = "yes";
var isaffil_debugjs = "no";
var isaffil_feedcalled = "no";
var isaffil_startat = "1";
var isaffil_endat = (typeof isf_maxcount != "undefined" && isf_maxcount ? isf_maxcount : isaffil_maxcount);
var isaffil_gfeed;
var isaffil_ph = 0;
var isaffil_ft = "isfc";
var isaffil_ssc = "1";
var isaffil_cspm = "0";
var isaffil_kwparam = "keywords";
var isaffil_pmkwval; 
var isaffil_atextparam = "atext";
var isaffil_atextval;
var isaffil_els = new Array();
var isaffil_nwd = isfGetCookie('NWD');


// Element shortcut
function isf_$(x) { return document.getElementById(x); }

// Calls the partner ppc feed executes the resulting JSON object
function isf_showAds(start, end, elem) {

    if (isf_checkParams()) {
        if (!start) { //If the optional argument is not there, create a new variable with that name.
            var start = isaffil_startat;
        }

        if (!end) { //If the optional argument is not there, create a new variable with that name.
            var end = isaffil_endat;
        }
        document.write('<div id="ppc" name="ppc" style="display: block;"><span id="isf_place_' + isaffil_ph + '"></span></div>');

        // Add the element to an array	
        isaffil_els.push({ el: isf_$("isf_place_" + (isaffil_ph)).parentNode, s: (start ? start : 1), e: end });
        isf_showLoadingMsg(isf_$("isf_place_" + (isaffil_ph++)).parentNode);
        isf_callFeed();
    }
    return false;
}

// Builds a string given the start and end indices for element
// @param g The feed element
// @param s The start index
// @param e The end index
// @param u The url protocol
function isf_buildBlock(g, s, e, u) {

    var strB = new Array(); // Equivalent to a string builder in other languages
    if (g.ppcsl && g.ppcsl != "") {
        if (g.ppcsltext && g.ppcsltext == "false") {
            //strB.push('<div id="ppcsl"></div>');
        } else {
            strB.push('<div id="ppcsl"><div id="ppctext">' + g.ppcsl + ' <span class="kw">' + g.ppckeywords + '</span></div></div>');
        }
    }
    if (g.items.length > 0) {
        for (var i = s - 1; i < g.items.length && i < e; i++) {
            var ur = g.items[i].clickurl;
            if (ur.substring(4, 0) == 'http') { u = ''; }
            strB.push('<div class="ppclisting ad' + (i + 1) + '">');
            strB.push('<a class="ppctitle" href="' + u + ur + '" target="_blank">' + g.items[i].ppctitle + '</a>');
            strB.push('<a class="ppcdescription" href="' + u + ur + '" target="_blank">' + g.items[i].ppcdescription + '</a>');
            strB.push('<a class="ppchost" href="' + u + ur + '" target="_blank">' + g.items[i].ppchost + '</a>');
            strB.push('</div>');
        }
    } else {
        //strB.push('<div id="noresults">There are no results for ' + g.ppckeywords + '.</div>');
    }
    return strB.join("");
}

function isf_renderAds(start, end) {
    a_debug("Render Ads");
    if (!start) var start = 1;
    if (!end) var end = isaffil_maxcount;

    try {
        if (typeof isaffil_gfeed != "undefined" && isaffil_gfeed != null) {
            u = isf_getUrlAndPath(false);
            for (var i = 0; i < isaffil_els.length; i++) {
                a_debug("\nAd Block Start: " + isaffil_els[i].s + " End: " + isaffil_els[i].e);
                isaffil_els[i].el.innerHTML = isf_buildBlock(isaffil_gfeed, isaffil_els[i].s, isaffil_els[i].e, u);
                a_debug(isaffil_els[i].el.innerHTML);
            }
        } else {
            // Handle no feed			
            return;
        }
    } catch (err) { }

    return;
}

function isf_callFeed() {
    a_debug("isf_callFeed - isaffil_feedcalled: " + isaffil_feedcalled);
    if (isaffil_feedcalled == 'no') {
        a_debug("isf_callFeed - calling feed now");
        var headID = document.getElementsByTagName("head")[0];
        var newScript = document.createElement('script');
        newScript.type = 'text/javascript';
        newScript.src = isaffil_src;
        headID.appendChild(newScript);
        isaffil_feedcalled = "yes";
    } else {
        isf_renderAds();
    }

}

//Checks if the Loading message should be shown and display it before results are returned.
function isf_showLoadingMsg(el) {

    if (typeof isf_display_lmsg != "undefined" && isf_display_lmsg != null) {
        isaffil_display_lmsg = isf_display_lmsg;
    }
    if (isaffil_display_lmsg == 'yes') {
        if (typeof isf_lmsg != "undefined" && isf_lmsg != null) isaffil_lmsg = isf_lmsg;
        el.innerHTML = isaffil_lmsg;
    }
}
// Renders the feed from returned JSON object
function jsonPPCFeed(feed) {
    isaffil_gfeed = eval(feed);
    var headID = document.getElementsByTagName("head")[0];
    if (isaffil_gfeed.ppccss != '') {
        var newCss = document.createElement('link');
        newCss.rel = 'stylesheet';
        newCss.type = 'text/css';
        newCss.href = isaffil_gfeed.ppccss;
        headID.appendChild(newCss);
        a_debug("CSS Link added to Head: " + isaffil_gfeed.ppccss);
    }
    isf_renderAds();
    if ((isaffil_nwd == "undefined" || isaffil_nwd == null) && isaffil_gfeed.ppcses != '') {
        var nwdScr1 = document.createElement('script');
        nwdScr1.type = 'text/javascript';
        nwdScr1.text = 'var nwd_sesid = "' + isaffil_gfeed.ppcses + '"';
        headID.appendChild(nwdScr1);

        var nwdScr2 = document.createElement('script');
        nwdScr2.type = 'text/javascript';
        var nwdurl = isaffil_scheme + '//counter.surfcounters.com/nwdlib.js';
        nwdScr2.src = nwdurl;
        headID.appendChild(nwdScr2);
        a_debug("NWD added to head with ses: " + nwdScr1.text);
    }

}

function isf_getUrlAndPath(withpath) {
    var returl = "";
    var cur_scheme = document.location.protocol;
    if (cur_scheme == 'https:')
        isaffil_scheme = cur_scheme;

    if (typeof isf_host != "undefined" && isf_host != null) isaffil_hostname = isf_host;

    if (typeof isf_path != "undefined" && isf_path != null) isaffil_path = isf_path;

    returl = isaffil_scheme + '//';
    returl += isaffil_hostname;
    if (withpath) returl += '/' + isaffil_path;
    return returl;

}


// getLocationParams returns an array of QS params
var cur_url = window.location.href;
function getLocationParams() {
    var url_params = new Object;
    var search_params = "";
    if (cur_url.indexOf('?') > 0) var search_params = cur_url.substr(cur_url.indexOf('?') + 1);
    if (search_params != "") {
        if (search_params.indexOf('&') > 0) var tmparr = search_params.split("&");
        else var tmparr = new Array(search_params);
        for (var i = 0; i < tmparr.length; i++) {
            var tmparr2 = tmparr[i].split("=");
            url_params[tmparr2[0].toLowerCase()] = tmparr2[1];
        }
    }
    return url_params;
}


function isLander() {
    var is_lander = false;
    if (cur_url.indexOf('referrer=') > 0 || cur_url.indexOf('keywords=') > 0 || cur_url.indexOf(isaffil_kwparam + '=') > 0 || (isaffil_pmkwval != null && isaffil_pmkwval !='')) {
        is_lander = true;
    }
    return is_lander;
}


var add_params = "";
var necessary_keys = new Array("keywords", "referrer", "keyword", "camp", "group", "creativeid", "traffictype", "atext");
function isf_checkParams() {
    if (isaffil_feedcalled == "no") {
        var url_params = getLocationParams();
        var url_params2 = new Array();
        if (typeof isf_kwparam != "undefined" && isf_kwparam != null) isaffil_kwparam = isf_kwparam;
        if (typeof isf_pmkwval != "undefined" && isf_pmkwval != null) isaffil_pmkwval = isf_pmkwval;
        if (typeof isf_atextparam != "undefined" && isf_atextparam != null) isaffil_atextparam = isf_atextparam;
        if (typeof isf_atextval != "undefined" && isf_atextval != null) isaffil_atextval = isf_atextval;
        try {
            for (var i = 0; i < necessary_keys.length; i++) {
                a_debug('Parameter ' + necessary_keys[i] + ' = ' + url_params[necessary_keys[i]]);
                if (necessary_keys[i] == "keywords") {
                    a_debug('kwparam ' + isaffil_kwparam + ' = ' + url_params[isaffil_kwparam]);
                    if (url_params[isaffil_kwparam] != undefined)
                        url_params2.push(necessary_keys[i] + '=' + url_params[isaffil_kwparam]);
                    else if (isaffil_pmkwval != undefined && isaffil_pmkwval != '')
                        url_params2.push(necessary_keys[i] + '=' + isaffil_pmkwval);
                    else {
                        if (isf_defaultkeywords == '') return false;
                        url_params2.push(necessary_keys[i] + '=' + encodeURIComponent(isf_defaultkeywords));
                    }
                } else if (necessary_keys[i] == "atext") {
                    if (url_params[isaffil_atextparam] != undefined)
                        url_params2.push(necessary_keys[i] + '=' + url_params[isaffil_atextparam]);
                    else if (isaffil_atextval != null && isaffil_atextval != '')
                        url_params2.push(necessary_keys[i] + '=' + isaffil_atextval);
                } else {
                    if (url_params[necessary_keys[i]] != undefined) url_params2.push(necessary_keys[i] + '=' + url_params[necessary_keys[i]]);
                }
            }
            url_params2.push('format=' + isaffil_format);
            if (typeof isf_startat != "undefined" && isf_startat != null) isaffil_startat = isf_startat;
            if (typeof isf_endat != "undefined" && isf_endat != null) isaffil_endat = isf_endat;
            if (typeof isf_maxcount != "undefined" && isf_maxcount != null) isaffil_maxcount = isf_maxcount;
            if (typeof isf_cspm != "undefined" && isf_cspm != null) isaffil_cspm = isf_cspm;
            url_params2.push('maxcount=' + isaffil_maxcount);
            if (isLander()) {
                isaffil_ft = "isfs";
                isaffil_ssc = "0";
            }
            if (isaffil_cspm == "1") isaffil_ft = "isfs";
            a_debug('\nisaffil_ft: ' + isaffil_ft);
            a_debug('isaffil_ssc: ' + isaffil_ssc + '\n');
            if (typeof isaffil_ft != "undefined" && isaffil_ft != null && isaffil_ft != "") url_params2.push('feed=' + isaffil_ft);
            url_params2.push('ssc=' + isaffil_ssc);
            if (typeof isf_css != "undefined" && isf_css != null) url_params2.push('css=' + encodeURIComponent(isf_css));
            if (isaffil_nwd != "undefined" && isaffil_nwd != null) url_params2.push('nwd=' + isaffil_nwd);
            if (typeof isf_rsesid != "undefined" && isf_rsesid != null) url_params2.push('usersession=' + isf_rsesid);
            if (url_params["serveUrl"] != undefined) cur_url = url_params["serveUrl"];
            var serve_url = cur_url;
            if (cur_url.indexOf('?') > 0) serve_url = cur_url.substr(0, cur_url.indexOf('?'));
            url_params2.push('serveUrl=' + encodeURIComponent(serve_url));
           
            if(document && document.referrer) url_params2.push('userreferrer=' + encodeURIComponent(document.referrer));
            
            if (url_params2.length != undefined && url_params2.length > 0) add_params = url_params2.join("&");
            if (add_params != "") {
                isaffil_src = isf_getUrlAndPath(true) + '/';
                isaffil_src += isaffil_page + '?';
                isaffil_src += add_params;
                a_debug('Debug feed url: \n' + isaffil_src + '\n');
            }
        } catch (e) { return false; }
    } // end if havefeed = no
    return true;
}

function ctWinOpen(url) {
    var url = url;
    window.open(url);
}

// If JS Debug
if (isaffil_debugjs == 'yes') {
    document.write('<form id="isf_jsdebug"><textarea id="isfout" rows="10" cols="100"></textarea></form>');
    var f = document.forms["isf_jsdebug"];
}

function a_debug(str) {
    if (isaffil_debugjs == 'yes') f.elements["isfout"].value += str + "\n";
}

// Cookie libs
function isfGetCookie(name) {
    var start = document.cookie.indexOf(name + "=");
    var len = start + name.length + 1;
    if ((!start) && (name != document.cookie.substring(0, name.length))) {
        return null;
    }
    if (start == -1) return null;
    var end = document.cookie.indexOf(";", len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len, end));
}

function isfSetCookie(name, value, expires, path, domain, secure) {
    var today = new Date();
    today.setTime(today.getTime());
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));
    document.cookie = name + "=" + escape(value) +
    ((expires) ? ";expires=" + expires_date.toGMTString() : "") + //expires.toGMTString()
    ((path) ? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "") +
    ((secure) ? ";secure" : "");
}

function isfDeleteCookie(name, path, domain) {
    if (isfGetCookie(name)) document.cookie = name + "=" +
    ((path) ? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "") +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

// Call function to show Ads
isf_showAds();


