// Common Functions
var functionArray = new Array();

function addLoadFunction (func) {
    functionArray[functionArray.length] = func;
}

var dwtoggle = {

    show : function(obj) {
        document.getElementById(obj).style.display = '';
    },

    hide : function(obj) {
        document.getElementById(obj).style.display = 'none';
    }

};

 var load_images = new Array();
 function preload_images(){
  for (x=0; x<preload_images.arguments.length; x++) {
   load_images[x] = new Image();
   load_images[x].src = preload_images.arguments[x];
  }
 }
 preload_images('http://www.aolcdn.com/dwight/search_rlovr','http://www.aolcdn.com/dwight/post_rlovr','http://www.aolcdn.com/dwight/just_me_hover','http://www.aolcdn.com/dwight/hov-icn','http://www.aolcdn.com/ch_aimpages/install_btn_roll','http://www.aolcdn.com/ch_aimpages/get_weather','http://www.aolcdn.com/ch_aimpages/get_weather_over'); 

var pc = new Object();

    // Current Version
    pc.VERSION = "1.0";

    // ----------------------------------------------------------------
    // Search Module
    // ----------------------------------------------------------------
    pc.search = {

        searchURL:"",
        element:"",
        help:"",

        initialize:function(url,element) {
            this.element = document.getElementById(element);
            this.searchURL = url;
            this.help = this.element.value;
        },

        clearHelp:function() {
            if (this.element.value == this.help) {
                this.element.value = "";
            }
        },

        setHelp:function() {
            if (this.element.value == "") {
                this.element.value = this.help;
            }
        },

        handler:function() {
            var keyword = this.element.value;
            if (this.element.value == this.help) {keyword = "";}
            var tempURL = this.searchURL.replace(/<KEYWORD>/,escape(keyword));
            window.open(tempURL,"searchWindow","");
            return false;
        }

    };

    // ----------------------------------------------------------------
    // Cookie Manager
    // ----------------------------------------------------------------
    pc.cookie =  {

        /* Set Cookie */
        set: function (name,value,days) {
            if (days) {
                var date = new Date();
                date.setTime(date.getTime()+(days*24*60*60*1000));
                var expires = "; expires="+date.toGMTString();
            } else expires = "";

            document.cookie = name+"="+value+expires+"; path=/";
        },

        /* Get value from cookie */
        get: function (name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');

            for(var i=0;i < ca.length;i++) {
                var c = ca[i];
                while (c.charAt(0)==' ') c = c.substring(1,c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
            }
            return null;
        },

        /* Delete Cookie */
        deleteCookie: function (name) {
            this.set(name,"",-1);
        },


        /*    Store Array in cookie.
              Ex : pc.cookie.setArray("ArrayName","val1","val2","val3"); */
        setArray: function (arrName) {
            var length = setArray.arguments.length - 1;
            for (; 0 < length; length--) {
                data = setArray.arguments[length];
                this.set (arrName + length, data, expdate);
            }
        },

        /*    Read Array from cookie
            Ex : var temp = pc.cookie.getArray("ArrayName"); */
        getArray: function (arrName) {
            var i = 0;
            while (this.get(arrName + i) != null) {
                this[i + 1] = this.get(arrName + i);
                i++;
                this.length = i;
            }
        },

        // Delete Array from cookie
        delArray: function (arrName) {
            var i = 0;
            while (this.get(arrName + i) != null) {
                this.deleteCookie(arrName + i);
                i++;
            }
        }
    };

    // ----------------------------------------------------------------
    // XMLHttpRequest Manager
    // ----------------------------------------------------------------
    pc.ajax =
    {
        request_counter:0,
        responses:{},
        response_handler:function(xml_http_obj, request_id, responses) {
            return function ()
                {
                    if (xml_http_obj.readyState != 4)
                        return false;

                    if ('undefined' == typeof request_id)
                    {
                        request_id = 0;
                    }

                    responses[request_id] = {
                        text:xml_http_obj.responseText,
                        xml:xml_http_obj.responseXML,
                        status:xml_http_obj.status,
                        body:xml_http_obj.responseBody
                    };

                    delete xml_http_obj;
                    return true;
                };
        },

        get_request_object:function() {
            var A;
            try
            {
                A = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try
                {
                    A = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (oc)
                {
                    A = null;
                }
            }

            if(!A && "undefined" != typeof XMLHttpRequest)
                A = new XMLHttpRequest();

            if (!A)
            {
                return null;
            }
            return A;
        },
	  get: function(uri, accept_headers)
        {
            try
            {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
            }
            catch (e)
            {
                // Need to think about it.
            }

            
            if (null == xml_http_obj)
            {
                alert("Temporary connection problem");
                return false;
            }

            xml_http_obj.open("GET", uri, true);
            for (header_name in accept_headers)
            {
                xml_http_obj.setRequestHeader(header_name, accept_headers[header_name]);
            }

            var current_request = this.request_counter;
            xml_http_obj.onreadystatechange = this.response_handler(xml_http_obj, current_request, this.responses);
            xml_http_obj.send(null);
            this.request_counter = this.request_counter + 1;
            return current_request;
        },
        post: function(uri, accept_headers, data)
        {
            try
            {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
            }
            catch (e)
            {
                // Need to think about it.
            }

            if (null == xml_http_obj)
            {
                alert("Temporary connection problem");
                return false;
            }

            xml_http_obj.open("POST", uri, true);
            for (header_name in accept_headers)
            {
                xml_http_obj.setRequestHeader(header_name, accept_headers[header_name]);
            }

            var current_request = this.request_counter;
            xml_http_obj.onreadystatechange = this.response_handler(xml_http_obj, current_request, this.responses);
            xml_http_obj.send(data);
            this.request_counter = this.request_counter + 1;
            return current_request;
        }
    };
    //calling the xml http object only once
    var xml_http_obj = pc.ajax.get_request_object();

    // Helper utility to calculate time to execute a function
    var timeDiff  =  {
        setStartTime:function (){
            d = new Date();
            time  = d.getTime();
        },

        getDiff:function (){
            d = new Date();
            return (d.getTime()-time);
        }
    }

    //Custom function for STaf Implementation
    var pagetitle = document.title;
    var pageurl = this.location;

    function imthis(){
        sendIM(pagetitle,pageurl);

    }

    function emaithis(){
        openstaf(pagetitle,pageurl,'default');
    }


    function aimpages_canRunAIM() {

        var agt = navigator.userAgent.toLowerCase();
        var isIE =  (agt.indexOf("msie") != -1);

        if (!isIE)
           return true;

        var a = document.anchors;
        for (var i=0;i<a.length;i++) {

            if (a[i].name=="aimnotfound") {
                return false;
            }

        }

        return true;
    }


    // To send IM through AOL Client Messenger
    function aimpages_sendAOLCLNT(screenname) {
        var uAgt = navigator.userAgent.toLowerCase();
        var isAOL = uAgt.indexOf(" aol ") != -1;
        var isIE =  uAgt.indexOf("msie") != -1;
        try {
            if (!isAOL) {
                if (!isIE) {
                    document.location="aol://9293:"+screenname;
                } else {
                    document.location="aol://9293:"+screenname;
                }
            } else {
                document.location="aol://9293:"+screenname;
            }
        } catch (e) {
            AIMExpress.start();
        }
    }

    // To send IM through AIM
    function aimpages_sendAIM(screenname) {
        var uAgt = navigator.userAgent.toLowerCase();
        var isIE = uAgt.indexOf(" msie ")    != -1;
        var isAOLBrowser = uAgt.indexOf(" america online browser ") != -1;

        try {
            document.location = 'aim:GoIm?screenname='+screenname;
        } catch (e) {
            AIMExpress.start();
        }
    }

    // If user is not using AOL Client then
    // send IM thro AIM if exists else if AOLClient exists then
    // send IM thro AOLClient else launch AIM Express and send IM
    // If user in using the AOL Client then send IM thro AOL Client Instant Messenger
    function aimpages_sendIM(screenname) {
        var uAgt = navigator.userAgent.toLowerCase();
        var isAOL = uAgt.indexOf(" aol ")    != -1;
        var isIE = uAgt.indexOf(" msie ")    != -1;
        if (!isAOL) {
            if (!isIE) {
                aimpages_sendAIM (screenname);
            } else {
                if (!aimpages_canRunAIM()) {
                    AIMExpress.start();
                } else {
                    aimpages_sendAIM (screenname);
                }
            }
        } else {
            aimpages_sendAOLCLNT (screenname);
        }
    }

    // Feed JS Code
    var current_request = {id:null, tries:0};
    function fetch_feed(url, element_id)
    {
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        
        dojo.xhrGet({
            url: url, 
            handleAs: "text",
            timeout: 5000,

            load: function(response, ioArgs) {
                update_feed(response, element_id);
            },

            error: function(response, ioArgs) {
                var element = document.getElementById(element_id);
                if (element)
                {
                    var loading_message = '<li class="feed_error">Currently experiencing technical difficulties. Please refresh page or try again later.</li>';
                    element.innerHTML = loading_message;
                }
                return false; 
            }
        });

        var element = document.getElementById(element_id);
        if (element)
        {
            var loading_message = '<li class="comment_loader feed_error" id="comment_loader" style="text-align:center"><img src="' + pc.comments.loader_image +'"></li>';
            element.innerHTML = loading_message;
            document.getElementById("feedsFoot").style.display="none";
        }
        return;
    }

    function update_feed(response, element_id)
    {
        var element = document.getElementById(element_id);
        if (null == element)
        {
            alert("Failed to fetch the requested feed. Please try again later.");
            return false;
        }
        text = response;
        element.innerHTML = text;
        document.getElementById("feedsFoot").style.display="block";
        return true;
    }

   /*
        Browsers have stupid comaptibility issues when fed with html encoded string.
        To address this following function uses broser's own converter so they get
        expected encoded value.
        */

    function escapeHTML (str)
    {
       var div = document.createElement('div');
       var text = document.createTextNode(str);
       div.appendChild(text);
       return div.innerHTML;
    }

    function cal_height()
    {
        var jgroup = getElementsByClassName('jgroup')[0];
        var ht_jgroup = jgroup.offsetHeight;
        var j9 = getElementsByClassName('j9')[0];
        var ht_j9 = j9.offsetHeight;
        var buddyfeedid = document.getElementById('BuddyFeedId');

        // Checking Updates Box is there or not for comments page
        var updatesbox = getElementsByClassName('UpdatesBox')[0];
         if (null != updatesbox) {
            ht_updatesbox = updatesbox.offsetHeight;
        } else {
            ht_updatesbox = 0;
        }

        // Checking if Buddy feed id is there or not for dashboard page
        if (null != buddyfeedid) {
            ht_buddyfeedid = buddyfeedid.offsetHeight;
        } else {
            ht_buddyfeedid = 0;
        }
        var uAgt = navigator.userAgent.toLowerCase();
        var isIE = uAgt.indexOf(" msie ") != -1;
        if (isIE) {
            var offset_margin = 28;
        } else {
            var offset_margin = 24;
        }
        ht_diff = ht_buddyfeedid - ht_updatesbox ;
        if ( ht_j9 < (ht_jgroup - offset_margin) && null != buddyfeedid)
        {
            var ht_final = (ht_jgroup - ht_j9) + ht_buddyfeedid;
            buddyfeedid.style.height = ht_final +"px";
        }
        var isIE7 = uAgt.indexOf(" msie 7.0") != -1;
        var isMAC = uAgt.indexOf("macintosh") != -1;
        if (isIE7 || isMAC) {
            if (ht_updatesbox > (ht_buddyfeedid - 60) && null != buddyfeedid)
            {
                buddyfeedid.style.height = (ht_updatesbox +85 ) + "px";
            }
        }

        // Comments Page
        if (null == buddyfeedid && null != updatesbox) {
            if (ht_j9 < (ht_jgroup - offset_margin)) {
                var ht_final= (ht_jgroup - ht_j9) + ht_updatesbox + "px";
                updatesbox.style.height = ht_final + "px";
            }
        }
    return;
    }
    //addLoadFunction("cal_height()");

    // Handle Screenname
    function replace_sn() {
        var sn_from_header = getElementsByClassName('dw_header_profile_url');
        if (sn_from_header.length > 0) {
            var counter,temp,screen_name,occur;
            var anchors_list = document.getElementsByTagName("a");
            var screen_name = encodeURI(sn_from_header[0].title);
            for (i=0;i<anchors_list.length;i++) {
                if (anchors_list[i].href.match(/#SCREENNAME/)) {
                    anchors_list[i].href = anchors_list[i].href.replace(/#SCREENNAME#/,screen_name);
                    anchors_list[i].href = anchors_list[i].href.replace(/#SCREENNAME%23/,screen_name);
                    anchors_list[i].href = anchors_list[i].href.replace(/#SCREENNAME/,screen_name);
                }
            }

        }

    }

    addLoadFunction("replace_sn()");

    function getElementsByClassName(cl){
        var retnode = [];
        var myclass = new RegExp('\\b'+cl+'\\b');
        var elem = document.getElementsByTagName('*');
        for (var i = 0; i < elem.length; i++) {
            var classes = elem[i].className;

            if (myclass.test(classes))
                retnode.push(elem[i]);
        }
        return retnode;
    }

    function Contar(entrada, salida, texto, caracteres) {
            var entradaObj=getObject(entrada);
            var salidaObj=getObject(salida);
            if (entradaObj.value.length > caracteres)
            {
                entradaObj.value = entradaObj.value.substr(0, caracteres);
            }
            var longitud=caracteres - entradaObj.value.length;
            if (longitud <= 0) {
                longitud = 0;
            }
            salidaObj.innerHTML = texto.replace("{CHAR}", longitud);
    }

    function getObject(obj) {
            var theObj;
            if(document.all) {
                if(typeof obj=="string") {
                    return document.all(obj);
                } else {
                    return obj.style;
                }
            }
            if(document.getElementById) {
                if(typeof obj=="string") {
                    return document.getElementById(obj);
                } else {
                    return obj.style;
                }
            }
            return null;
    }

    var currentPage = 1;

    function next_page(perPage,totalPage) {
        var older=document.getElementById('older');
        var latest=document.getElementById('latest');
        document.getElementById('currPage'+currentPage).style.display = "none";
        if(currentPage >= 1) {
            if(getElementsByClassName('sponsored_ad')[0] != null) {
                getElementsByClassName('sponsored_ad')[0].style.display = "none";
            }
        }
        if(currentPage < totalPage)
        {
            currentPage = currentPage + 1;
            older.style.display = "block";
            latest.style.display = "block";
        }
        if(currentPage == totalPage)
        {
            older.style.display = "none";
        }
        document.getElementById('currPage'+currentPage).style.display = "block";
        place_ad();
        cal_height();
        return false;
    }

    function prev_page(perPage,totalPage) {
        var older=document.getElementById('older');
        var latest=document.getElementById('latest');
        document.getElementById('currPage'+currentPage).style.display = "none";
        if(currentPage > 1)
        {
            currentPage = currentPage - 1;
            latest.style.display = "block";
            older.style.display = "block";
            if(getElementsByClassName('sponsored_ad')[0] != null) {
                getElementsByClassName('sponsored_ad')[0].style.display = "none";
            }
        }
        if(currentPage == 1)
        {
            latest.style.display = "none"
            if(getElementsByClassName('sponsored_ad')[0] != null) {
                getElementsByClassName('sponsored_ad')[0].style.display = "block";
            }
        }
        document.getElementById('currPage'+currentPage).style.display = "block";
        place_ad();
        cal_height();
        return false;
    }
    
    function place_ad() {
        try {
            var element = "bf_ad_" + currentPage;
            var li_element = document.getElementById(element);
            var ad_element = document.getElementById("bf_ad_container");
            if (null != ad_element) {
                if (navigator.userAgent.indexOf("Firefox") != -1) {
                    li_element.innerHTML = ad_element.innerHTML;
                } else {
                    li_element.innerHTML = "";
                    var ad_div = document.createElement("div");
                        ad_div.innerHTML = ad_element.innerHTML;
                    li_element.appendChild(ad_div);
                }
            }
        } catch (e) {
        }
    }

    function statusbuddyfeed(url) {
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        var url_main ="/"+url;  
        
        dojo.xhrGet ({        
            url: url_main, 
            handleAs: "text",
            timeout: pc.comments.bf_timeout,
            load: function(response, ioArgs) {
            updatepage(response);
            },
            error: function(response, ioArgs) {
                document.getElementById('Updatebuddy').style.display = "block";
                document.getElementById('comment_loader').style.display = "none";
                return false; 
            }
            
        });     
        return;
    }

    function updatepage(output) {
        document.getElementById('Updatebuddy').style.display = "none";
        document.getElementById('BuddyFeedId').innerHTML=output;
        var element = "bf_ad_" + currentPage;
        var li_element = document.getElementById(element);
        var ad_element = document.getElementById("bf_ad_container");
        if (null != li_element && null != ad_element) {
            li_element.innerHTML = ad_element.innerHTML;
        }
        cal_height();
        get_bf_comments();
        return;
    }

    function clearText(obj,val) {
        if (obj.val == val) {
            obj.value = "";
        }
    }
    
    function clearTextStatus(obj) {    
        var new_val = obj.value;
        var val = document.getElementById('clear_val').value;
        if (new_val == val) {
            obj.value = "";
        }
    }

    function fetchIMs(url, element_id1, element_id2, unit)
    {
        dojo.xhrGet({                               
            url: url, 
            handleAs: "json",
            timeout: 5000,
            
            load: function(response, ioArgs) {
                updateIMs(response, element_id1, element_id2, unit);
            },

            error: function(response, ioArgs) {
                return false; 
            }

        });

        return;
    }

    function updateIMs(response, element_id1,element_id2, unit)
    {        
        try {
            //var obj = eval('(' + response + ')');
            var obj = eval(response);
            //var statusCode = obj.response.statusCode;
            //var statusText = obj.response.statusText;
            //var dataObj = obj.response.data;

            var onlineTimeHours = Math.round(dataObj.onlineTime / 3600);

            (onlineTimeHours == 0) ? onlineTimeHours = 1: 0;

            var avgImsSent = Math.round(dataObj.imsSent / onlineTimeHours);

            if (isNaN(parseInt(avgImsSent))) {
                document.getElementById(element_id1).innerHTML = "??";
            } else {
                document.getElementById(element_id1).innerHTML = avgImsSent +"/" + unit;
            }

            var avgImsReceived = Math.round(dataObj.imsReceived / onlineTimeHours);
            if (isNaN(parseInt(avgImsReceived))) {

                document.getElementById(element_id2).innerHTML = "??";
            } else {
                document.getElementById(element_id2).innerHTML = avgImsReceived + "/" + unit;
            }

        } catch(e) {
            document.getElementById(element_id1).innerHTML = "??";
            document.getElementById(element_id2).innerHTML = "??";
        }

        return true;
    }

    function loadFunctions() {

        for(var i = 0;i < functionArray.length;i++) {
            try {
                eval(functionArray[i]);
            } catch(e) {

            }
        }

    }

    window.onload = loadFunctions;

    function show_dropdown(ele)
    {
        var element = document.getElementById(ele)
        if (element)
        {
            element.style.display = "block";
        }
    }

    function close_dropdown(ele)
    {
        var element = document.getElementById(ele)
        if (element)
        {
            element.style.display = "none";
        }
    }

    function dw_toggle_drop_down()
    {
        var drop_down_element = document.getElementById("dw_drop_down");

        if (drop_down_element)
        {
            if (drop_down_element.style.display=="" || drop_down_element.style.display=="none") {
                drop_down_element.style.display = "block";
            } else {
                drop_down_element.style.display = "none";
            }
            // drop_down_element.style.display = (drop_down_element.style.display == "none" ? "block" : "none");
        }
    }

    document.onclick = function (e) {
        if (!e)
            var e = window.event;
        var targ;
        if (e.target)
            targ = e.target;
        else if (e.srcElement)
            targ = e.srcElement;

        if (targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;
            
        if (targ.className == 'current')
        {
            return;
        }
        var feeds_drop_downs = getElementsByClassName('feeds_drop_down_list');
        if (feeds_drop_downs)
        {
            for (var i = 0; i < feeds_drop_downs.length; i++)
            {
                feeds_drop_downs[i].style.display = 'none';
            }
            var current_eles = getElementsByClassName('current');
            if (current_eles)
                for (var i = 0; i < current_eles.length; i++)
                {
                    current_eles[i].className = '';
                }
        }
    }

    function show_pop_dropdown (id) {
        var current_ele = document.getElementById('current_feed_' + id);
        current_ele.className = 'current';
        show_dropdown('feeds_drop_down_' + id);
    }

    function close_pop_dropdown(id)
    {
        var current_ele = document.getElementById('current_feed_' + id);
        current_ele.className = '';
        close_dropdown('feeds_drop_down_' + id);
    }

    function process_feed(feed_id, id, module_id)
    {
        var current_feed_ele = document.getElementById('current_feed_' + id);
        var tobe_selected_category_ele = document.getElementById('category_id_' + id + '_' + feed_id);
        fetch_feed('/feed_proxy.adp?module_id=' + module_id + '&feed_url=' + feeds[feed_id].url, 'feed_list_' + id);

        var currently_selected_ele = document.getElementById('category_id_' + id + '_' + currently_selected);
        currently_selected_ele.className = "";
        tobe_selected_category_ele.className = "selected";
        currently_selected = feed_id;

        current_feed_ele.innerHTML = feeds[feed_id].category;
        window.setTimeout("cal_height()", 3000);
        // cal_height();
    }

    function toggle_drop_down(id)
    {
        var drop_down_element = document.getElementById('feeds_drop_down_' + id);
        if (drop_down_element)
        {
            drop_down_element.style.display != "block" ?  show_pop_dropdown(id) : close_pop_dropdown(id);
        }
    }

    function statusupd(url,mid) {
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();

        var status_string = url+"?statustxt=" + encodeURIComponent(document.getElementById("statustxt").value)+"&moduleid=" + mid;
        dojo.xhrGet( {
            url: status_string,
            handleAs: "text",
            timeout: 8000,

            load: function(response, ioArgs) {
                document.getElementById("clear_val").value = document.getElementById("statustxt").value;
                updatestatus(response);
            },
            
            error: function(response, ioArgs) {
                document.getElementById("clear_val").value = document.getElementById("statustxt").value;
                alert("Currently experiencing technical difficulties. Please try again later.");
                return false;
            }

        });
        return;
    }

    function updatestatus(output) {
        if (output.substring(0,19) == "buddyfeed_proxy.adp") {
                // Adding the loading image code
                var element = document.getElementById('Updatebuddy');
                if (element)
                {                
                    var loading_message = '<li class="comment_loader" id="comment_loader"><img src="' + pc.comments.bf_loader_image +'" alt="' + pc.comments.bf_loader_text + '">' + pc.comments.bf_loader_text + '</li><div class="clear"> </div>';
                    element.innerHTML = loading_message;
                }
                window.setTimeout("status_update_callback('"+output+"')",2000);
        }
        else
        {
            alert(output);
        }
    }

    function status_update_callback (output) {
        cal_height();
        currentPage = 1;
        statusbuddyfeed(output);
    }
    // ----------------------------------------------------------------
    // Lobby Manager
    // ----------------------------------------------------------------
    pc.lobby =
    {
        parent:pc,
        lobby_config:{},
        request_refresh_lobby:function(element_id)
        {
            var _url = this.lobby_config.lobby_url;
            //_url = _url.replace(/#CNT#$/, this.lobby_config.number_of_profiles);
            /* Dumb IE caches everything even though told explictily not to cache contents */
            var current_date = new Date();
            var cache_spoiler_seed = current_date.getTime();
            var request_number = pc.ajax.get(_url + "&random=" + (Math.random() * cache_spoiler_seed), {"User-Agent":"ajax", "Accept":"text/html"});
            window.setTimeout('pc.lobby.refresh_lobby(' + request_number + ', "' + element_id + '")', 1000);
            return;
        },

        refresh_lobby:function(request_number, element_id)
        {
            if (
                'undefined' == typeof pc.ajax.responses[request_number]
            )
            {
                window.setTimeout('pc.lobby.refresh_lobby(' + request_number + ', "' + element_id + '")', 1000);
                return false;
            }

            if (200 != pc.ajax.responses[request_number].status)
            {
                alert("Could not update the lobby due to temporary connection problem");
                return false;
            }

            var element = document.getElementById(element_id);
            if (null == element)
            {
                alert("Lobby could not be refreshed");
                return false;
            }
            text = pc.ajax.responses[request_number].text;
            element.innerHTML = text;
            return true;
        }
    };

    // Comments Integration
    pc.comments = {
        loader_image : "",
        loader_text : "",
        bf_id: "",
        bf_loader_image : "",
        bf_loader_text : "",
        bf_timeout : "",
        weather_loader_image : "" ,
        weather_loader_text : "" ,
        weather_icon_url1 : "" ,
        weather_icon_url2 : "" ,
        weather_icon_url3 : "" ,
        weather_error_msg : "" ,
        weather_ext_fct_link : "" ,
        weather_cityguide_url : "" ,
        buddy_icon_url:"",
        per_page:"",
        default_help_message:"",
        default_textarea_message:"",
        default_no_of_characters:"",

        set_loader_image:function(val) {
            if (this.loader_image == "") {
                this.loader_image = val;
            }
        },

        set_loader_text:function(val) {
            if (this.loader_text == "") {
                this.loader_text = val;
            }
        },

        set_bf_id:function(val) {
            if (this.bf_id == "") {
                this.bf_id = val;
            }
        },

        set_bf_loader_image:function(val) {
            if (this.bf_loader_image == "") {
                this.bf_loader_image = val;
            }
        },

        set_bf_loader_text:function(val) {
            if (this.bf_loader_text == "") {
                this.bf_loader_text = val;
            }
        },

        set_weather_loader_image:function(val) {
            if (this.weather_loader_image == "") {
                this.weather_loader_image = val;
            }
        },

        set_weather_loader_text:function(val) {
            if (this.weather_loader_text == "") {
                this.weather_loader_text = val;
            }
        },

        set_weather_icon_url1:function(val) {
            if (this.weather_icon_url1 == "") {
                this.weather_icon_url1 = val;
            }
        },

        set_weather_icon_url2:function(val) {
            if (this.weather_icon_url2 == "") {
                this.weather_icon_url2 = val;
            }
        },

        set_weather_icon_url3:function(val) {
            if (this.weather_icon_url3 == "") {
                this.weather_icon_url3 = val;
            }
        },

        set_weather_error_msg:function(val) {
            if (this.weather_error_msg == "") {
                this.weather_error_msg = val;
            }
        },

        set_weather_ext_fct_link:function(val) {
            if (this.weather_ext_fct_link == "") {
                this.weather_ext_fct_link = val;
            }
        },

        set_weather_cityguide_url:function(val) {
            if (this.weather_cityguide_url == "") {
                this.weather_cityguide_url = val;
            }
        },
        set_bf_timeout:function(val) {
            if (this.bf_timeout == "") {
                this.bf_timeout = val;
            }
        },
        
        set_buddy_icon_url:function(val) {
            if (this.buddy_icon_url == "") {
                this.buddy_icon_url = val;
            }
        },

        set_comments_per_page:function(val) {
            if (this.per_page == "") {
                this.per_page = val;
            }
        },

        set_default_help_message:function(val) {
            if (this.default_help_message == "") {
                this.default_help_message = val;
            }
        },

        set_default_textarea_message:function(val) {
            if (this.default_textarea_message == "") {
                this.default_textarea_message = val;
            }
        },

        set_default_no_of_characters:function(val) {
            if (this.default_no_of_characters == "") {
                this.default_no_of_characters = val;
            }
        }

    };

    function clear_comments_textarea () {
        var element = document.getElementById("statustxt");
        if (null != element ) {
            if (element.value == pc.comments.default_textarea_message) {
                element.value = "";
            } else if (element.value.length < 1) {
                element.value = pc.comments.default_textarea_message;
            }
        }
    }

    function format_str (str, chunk_length) {
        var num_of_loops = Math.floor(str.length / chunk_length);
        var counter = 0;
        var ret_str = "";
        var temp_str = new Array();
        for (j=0;j<=num_of_loops;j++) {
            temp_str[j] = str.substr(counter,chunk_length);
            counter = counter + chunk_length;
        }
        ret_str = temp_str.join(" ") + "";
        return ret_str;
    }

    function fetch_comments(url, element_id, module_id, cid, cbase, sn)
    {
        try {pageUp();} catch(e) {}

        var loading_message = '<li class="comment_loader" id="comment_loader"><img src="' + pc.comments.loader_image +'" alt="' + pc.comments.loader_text + '">' + pc.comments.loader_text + '</li>';
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        var get_comment_url = url + "module_id=" + encodeURI(module_id) +
                                    "&cid=" + encodeURI(cid) +
                                    "&cbase=" + encodeURI(cbase) +
                                    "&count=" + encodeURI(pc.comments.per_page) +
                                    "&sn=" + encodeURI(sn);
        var request_number = pc.ajax.get(get_comment_url+"&rnd=" + cache_spoiler_seed, {"User-Agent":"ajax", "Accept":"Application/json"});
        var element = document.getElementById(element_id);
        if (null != element)
        {
            element.innerHTML = "";
            element.innerHTML = loading_message;
        }

        if (current_request.id)
        {
            window.clearTimeout(current_request.id);
        }

        if (current_request.id = window.setTimeout('update_comments(' + request_number + ', "' + element_id + '")', 2000))
        {
            current_request.tries = 1;
        }

        return;
    }

    function update_comments(request_number, element_id)
    {
        if ('undefined' == typeof pc.ajax.responses[request_number])
        {
            if (current_request.tries > 3)
            {
                alert("Currently experiencing technical difficulties. Please refresh page or try again later.");
                return false;
            }

            if (current_request.id = window.setTimeout('update_comments(' + request_number + ', "' + element_id + '")', 2000))
            {
            }
            return false;
        }

        var element = document.getElementById(element_id);
        if (null == element)
        {
            alert("Failed to fetch comments. Please try again later.");
            return false;
        }

        if (200 == pc.ajax.responses[request_number].status)
        {
            try {

                var modify_json_response = pc.ajax.responses[request_number].text
                    modify_json_response = modify_json_response.replace(/\r|\n/g,"");
                    modify_json_response = modify_json_response.replace(/HTTP.*/g,"");

                var obj = eval('(' + pc.ajax.responses[request_number].text + ')');
                if (200 == obj.response.statusCode) {

                    var temp_comments = document.getElementById("process_comments");
                        temp_comments.style.display="none";
                        temp_comments.innerHTML = obj.response.data.hAtom;

                    var desc_list = getElementsByClassName("entry-content");
                    var author_list = getElementsByClassName("url fn");
                    var published_time_list = getElementsByClassName("published");
                    var status_api = "/status_proxy.adp?module_id=" + encodeURI(document.getElementById("module_id").value);

                    // Get comments count
                    var comments_count = 0;
                    if (obj.response.data.articlesCount) {
                        var comments_count = obj.response.data.articlesCount;
                    }

                    for (i=1; i<desc_list.length; i++) {

                        if (desc_list[i].innerHTML != null || desc_list[i].innerHTML != "") {

                            if (null != pc.comments.buddy_icon_url) {
                                var replace_buddy_icon_url = pc.comments.buddy_icon_url.replace("#SCREENNAME#",encodeURI(author_list[i].innerHTML));
                            } else {
                                // Some no image icon
                                var replace_buddy_icon_url = "";
                            }
                            var trim_author_sn = author_list[i].innerHTML.replace(/\s/g, "_");
                            // var formatted_comment = format_str(desc_list[i].innerHTML, 52);

                            var li_element = document.createElement("li");
                                li_element.innerHTML = '<a href="#" class="buddyPic"><span class="buddy_container"><img src="' + replace_buddy_icon_url + '"/></span></a><div class="buddyInfo">' + desc_list[i].innerHTML + '<p>By <a href="' + author_list[i].href +'">' + author_list[i].innerHTML + ' </a><span class="'+trim_author_sn+'_status comments_status">(<img src="http://www.aolcdn.com/ch_aimpages/status_loading" />)</span> ' + published_time_list[i].innerHTML + ' </p></div>';

                            element.appendChild(li_element);
                            status_api = status_api + "&sn=" + encodeURI(author_list[i].innerHTML);
                        }

                    }

                    // Pagination goes here
                    if (obj.response.data.positionToken.prevToken) {
                        element.innerHTML = element.innerHTML + '<p class="latest_list" id="latest"><a href="#top" onclick="latest_comments(\''+ obj.response.data.positionToken.prevToken +'\',\''+ element_id +'\');">Latest</a></p>';
                    }

                    if (obj.response.data.positionToken.nextToken) {
                        element.innerHTML = element.innerHTML + '<p class="older_list" id="older"><a href="#top" onclick="older_comments(\''+ obj.response.data.positionToken.nextToken +'\',\''+ element_id +'\');">Older</a></p>';
                    }

                    cal_height(); // Adjust height of j9

                    if (desc_list.length >= 1) {
                        temp_comments.innerHTML = "";
                        document.getElementById("comment_loader").style.display = "none";
                        status_comments(status_api,comments_count);
                    }
                } else {
                    element.innerHTML = "<li class='comment_loader error_comment_message'>Failed to fetch comments. Please try again later.</li>";
                    return false;
                }
                return true;
            } catch(e) {
                element.innerHTML = "<li class='comment_loader error_comment_message'>Failed to fetch comments. Please try again later.</li>";
                return false;
            }
        }
        if (404 == pc.ajax.responses[request_number].status)
        {
            var update_count_element = document.getElementById("num_comments");
            if (null != update_count_element) {
                update_count_element.innerHTML = 0;
            }
            element.innerHTML = "";
            return false;
        } else {
            var modify_json_response = pc.ajax.responses[request_number].text;
            modify__json_response = modify_json_response.replace(/HTTP.*/g,"");
            element.innerHTML = "<li>" + modify_json_response + "</li>";
            return false;
        }
    }

    function older_comments(next_token,element_id) {

        var url = "/comments_proxy.adp?pos="+ encodeURIComponent(next_token) +"&";
        var module_id = document.getElementById("module_id").value;
        var cid = document.getElementById("cid").value;
        var cbase = document.getElementById("cbase").value;
        var sn = document.getElementById("sn").value;

        fetch_comments(url, element_id, module_id, cid, cbase, sn);
    }

    function latest_comments(prev_token,element_id) {

        var url = "/comments_proxy.adp?pos=" + encodeURIComponent(prev_token) +"&forward=false&";
        var module_id = document.getElementById("module_id").value;
        var cid = document.getElementById("cid").value;
        var cbase = document.getElementById("cbase").value;
        var sn = document.getElementById("sn").value;

        fetch_comments(url, element_id, module_id, cid, cbase, sn);

    }

    function status_comments(url,article_count)
    {
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        var request_number = pc.ajax.get(url+"&rnd=" + cache_spoiler_seed, {"User-Agent":"ajax", "Accept":"text/html"});

        if (current_request.id)
        {
            window.clearTimeout(current_request.id);
        }

        if (current_request.id = window.setTimeout('update_status_comments(' + request_number + ', "' + article_count + '")', 2000))
        {
            current_request.tries = 1;
        }

        return;
    }

    function update_status_comments(request_number,article_count)
    {
        if ('undefined' == typeof pc.ajax.responses[request_number])
        {
            if (current_request.tries > 3)
            {
                alert("Currently experiencing technical difficulties. Please try again later.");
                return false;
            }

            if (current_request.id = window.setTimeout('update_status_comments(' + request_number + ', "' + article_count + '")', 2000))
            {
            }
            return false;
        }

        if (200 == pc.ajax.responses[request_number].status)
        {
            try {
                var obj = eval('(' + pc.ajax.responses[request_number].text + ')');
                if (obj.data.length >= 1) {
                    for (i=0; i<obj.data.length; i++) {
                        var trim_screen_name = obj.data[i].screen_name.replace(/\s/g, "_") + "_status";
                        var screen_names_list = getElementsByClassName(trim_screen_name);
                        for (sn in screen_names_list) {
                            screen_names_list[sn].innerHTML = "(" + obj.data[i].status + ")";
                        }
                    }
                } else {
                    var status_list = getElementsByClassName("comments_status");
                    for (i=0; i<status_list.length; i++) {
                        status_list[i].style.display = "none";
                    }

                }
            } catch (e) {
            }
            cal_height();
            get_total_comments(article_count);
            return true;
        } else {
            var status_list = getElementsByClassName("comments_status");
            for (i=0; i<status_list.length; i++) {
                status_list[i].style.display = "none";
            }
            return false;
        }
    }

    function fade_out() {
        var opacity = 100;
        if(opacity > 0) {
            opacity -= 1;
            document.getElementById('comment_loader').filters.alpha.opacity = opacity;
            setTimeout('fade_out()', 50);
        }
    }

    function pageUp () {
        if (window.scrollBy)
            window.scrollBy(0, window.innerHeight ? -window.innerHeight : -document.body.clientHeight);
    }

    function post_comment(element_id)
    {
        var comment_post = document.getElementById("statustxt").value;
        if (comment_post == pc.comments.default_textarea_message) {
            return false;
        }

        if (comment_post == "" || comment_post.length<1) {
            return false;
        }

        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        var trunc_comment_post = comment_post.substr(0, pc.comments.default_no_of_characters-1);

        var post_string = "cid=" + encodeURIComponent( document.getElementById("cid").value ) +
                          "&cbase=" + encodeURIComponent( document.getElementById("cbase").value ) +
                          "&module_id=" + encodeURIComponent( document.getElementById("module_id").value ) +
                          "&sn=" + encodeURIComponent( document.getElementById("sn").value ) +
                          "&guid=" + encodeURIComponent( document.getElementById("guid").value ) +
                          "&comments_content=" + encodeURIComponent( trunc_comment_post );

        var request_number = pc.ajax.post("/comments_proxy.adp", {"Content-type":"application/x-www-form-urlencoded", "Content-length":post_string.length, "Connection":"close"},post_string);

        if (current_request.id)
        {
            window.clearTimeout(current_request.id);
        }

        if (current_request.id = window.setTimeout('update_tree_path(' + request_number + ', "' + element_id + '")', 2000))
        {
            current_request.tries = 1;
        }
        return;
    }

    function update_tree_path(request_number, element_id)
    {
        if ('undefined' == typeof pc.ajax.responses[request_number])
        {
            if (current_request.tries > 3)
            {
                alert("Currently experiencing technical difficulties. Please try again later.");
                return false;
            }

            if (current_request.id = window.setTimeout('update_tree_path(' + request_number + ', "' + element_id + '")', 2000))
            {
            }
            return false;
        }

        var element = document.getElementById(element_id);
        if (null == element)
        {
            alert("Failed to fetch the requested feed. Please try again later.");
            return false;
        }

        if (200 == pc.ajax.responses[request_number].status)
        {
            try {
                var obj = eval('(' + pc.ajax.responses[request_number].text + ')');
                if (200 == obj.response.statusCode) {
                    if (null == document.getElementById("cid").value || "" == document.getElementById("cid").value) {
                        document.getElementById("cid").value = obj.response.data.treePath;
                        pc.cookie.set ("cid", obj.response.data.treePath);
                    }
                }
                document.getElementById("statustxt").value = "";
                document.getElementById("statustxt").value = pc.comments.default_textarea_message;
                if (document.getElementById("text-counter")) {
                    document.getElementById("text-counter").innerHTML = pc.comments.default_help_message;
                }
                // Refresh comments once again
                var module_id = document.getElementById("module_id").value;
                var cid = document.getElementById("cid").value;
                var cbase = document.getElementById("cbase").value;
                var sn = document.getElementById("sn").value;

                fetch_comments('/comments_proxy.adp?', element_id, module_id, cid, cbase, sn);
            } catch (e) {
            }
            return true;
        } else {
            element.innerHTML = pc.ajax.responses[request_number].text;
            return false;
        }
    }

    function get_total_comments(article_count)
    {
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        var module_id = document.getElementById("module_id").value;
        var cid = document.getElementById("cid").value;

        if (null == cid) {
            return;
        }
        
        var url = "/comments_proxy.adp?module_id="+ encodeURIComponent(module_id) +"&cid="+ encodeURIComponent(cid) +"&entry_count=1";
        var request_number = pc.ajax.get(url+"&rnd=" + cache_spoiler_seed, {"User-Agent":"ajax", "Accept":"text/html"});

        if (current_request.id)
        {
            window.clearTimeout(current_request.id);
        }

        if (current_request.id = window.setTimeout('update_total_comments(' + request_number + ', "' + article_count + '")', 2000))
        {
            current_request.tries = 1;
        }

        return;
    }

    function update_total_comments(request_number, article_count)
    {
        if ('undefined' == typeof pc.ajax.responses[request_number])
        {
            if (current_request.tries > 3)
            {
                var update_count_element = document.getElementById("num_comments");
                if (article_count > 0) {
                    update_count_element.innerHTML = article_count;
                }
                return false;
            }

            if (current_request.id = window.setTimeout('update_total_counts(' + request_number + ', "' + article_count + '")', 2000))
            {
            }
            return false;
        }

        if (200 == pc.ajax.responses[request_number].status)
        {
            try {
                var obj = eval('(' + pc.ajax.responses[request_number].text + ')');
                if (200 == obj.response.statusCode) {
                    var update_count_element = document.getElementById("num_comments");
                    var total_comments = obj.response.data.counts;
                        total_comments = total_comments.split("=");
                        total_comments = total_comments[2].replace("}]","");

                    if (total_comments > 0) {
                        update_count_element.innerHTML = total_comments - 1;
                    } else {
                        update_count_element.innerHTML = article_count;
                    }
                }
            } catch (e) {
            }
            return true;
        } else {
            var update_count_element = document.getElementById("num_comments");
            update_count_element.innerHTML = article_count;
            return false;
        }
    }

    function get_bf_comments()
    {
        if ( document.getElementById("blist") == null) {
            return false;
        }

        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        var module_id = pc.comments.bf_id;
        var cid = "";
        var temp_paths = new Array();
        var tree_paths = getElementsByClassName('bf_tree_path');

        if (tree_paths.length > 0) {
            for (var i=0;i<tree_paths.length;i++) {
                temp_paths[i] = tree_paths[i].value;
            }
            cid = temp_paths.join(";");
        }

        if (null==cid || cid=="") {
            return;
        }

        var url = "/comments_proxy.adp?module_id="+ encodeURIComponent(module_id) +"&cid="+ encodeURIComponent(cid) +"&entry_count=1";
        dojo.xhrGet({
            url: url, 
            handleAs: "json",
            timeout: 5000,

                load: function(response, ioArgs) {
                    update_bf_comments(response);
                },

                error: function(response, ioArgs) {
                    return false; 
                }
                
        });

        return;
    }

    function update_bf_comments(response)
    {
        try {
            var obj = eval(response);
            if (200 == obj.response.statusCode) {
                var tree_paths = obj.response.data.counts;
                    tree_paths = tree_paths.replace(/=/g,':"');
                    tree_paths = tree_paths.replace(/,/g,'",');
                    tree_paths = tree_paths.replace(/}/g,'"}');
                    tree_paths = tree_paths.replace(/}"/g,'}');
                    tree_paths = eval(tree_paths);

                for (var i=0; i<tree_paths.length; i++) {
                    var update_count_element = document.getElementById(tree_paths[i].treePath + "");
                    if (null != update_count_element) {
                        if (tree_paths[i].count > 0) {
                            var bf_tree_path_count = tree_paths[i].count-1;
                            update_count_element.innerHTML = bf_tree_path_count + " Comments";
                            update_count_element.parentNode.className = "dash_comment";
                        }
                    }
                }
            }
        } catch (e) {

        }
        return true;
    }

function addcommentvalues(frm_comment){
document.forms[frm_comment].submit();
}

function weather_input_check (url,zip,type) {
    var input_value = document.getElementById('firstname').value;
    while(input_value.charAt(0) == (" ") )
    {  
        input_value = input_value.substring(1);
    }
    while(input_value.charAt(input_value.length-1) == " " )
    {  
        input_value = input_value.substring(0,input_value.length-1);
    }
    if (isNaN(input_value) || input_value.length < 4 || input_value.length > 5) {
        document.getElementById("weather_error").innerHTML = pc.comments.weather_error_msg;
    } else {
        weather_fetch (url,input_value,type);
    }
}

function weather_fetch(url,zip,type) {
    if (type == '1') {
        pc.cookie.set ("zipcode","");
        document.getElementById('weather_links').style.display = "none";
        document.getElementById('firstname').value = "";        
        document.getElementById('weather_form').style.display = 'block';
        document.getElementById('firstname').focus();
        document.getElementById("weather_error").innerHTML = "";
        getElementsByClassName("weatUnAuth")[0].innerHTML = "";
    } else {
        var current_date = new Date();
        var cache_spoiler_seed = current_date.getTime();
        pc.cookie.set ("zipcode",zip)
        var getWeatherUrl = url + "&zip_code=" + zip;

        var loading_msg = '<div class="weather_loading"><img src="' + pc.comments.weather_loader_image + '" alt="' + pc.comments.weather_loader_text + '">' + pc.comments.weather_loader_text + '<div>';
        document.getElementById("weather_error").innerHTML = loading_msg;

        dojo.xhrGet({
            url: getWeatherUrl, 
            handleAs: "json",
            timeout: 5000,
        
            load: function(response, ioArgs) {
                weather_update(response);
            },
        
            error: function(response, ioArgs) {
                document.getElementById('weather_form').style.display = 'none';
                getElementsByClassName("weatUnAuth")[0].innerHTML = '<p class="service_error">Service is not available now. Please try again later</p>';                
                document.getElementById('weather_links').style.display = "block";
                return false; 
            }
            
        });
    }
    return;
}

function weather_update(response) {     
        if (0 != response) {
            if (-1 == response) {
                document.getElementById('weather_form').style.display = 'none';
                getElementsByClassName("weatUnAuth")[0].innerHTML = '<p class="service_error">Service is not available now. Please try again later</p>';                
                document.getElementById('weather_links').style.display = "block";
            } else {
                document.getElementById('weather_form').style.display = 'none';
                var obj = eval(response);
                //var obj = eval('(' + response + ')');
                weather_html (obj);
                cal_height();
            }
        } else {
            getElementsByClassName("weatUnAuth")[0].innerHTML = "";
            pc.cookie.set ("zipcode","");
            document.getElementById('weather_form').style.display = 'block';
            document.getElementById("weather_error").innerHTML = pc.comments.weather_error_msg;
        }
        return;
}

 function weather_html (obj) {
    document.getElementById("weather_error").innerHTML = "";
    var weather_data = getElementsByClassName("weatUnAuth")[0];
    var icon1 = pc.comments.weather_icon_url1.replace("#CODE#",obj.day1.image_code);
    var icon2 = pc.comments.weather_icon_url2.replace("#CODE#",obj.day2.image_code);
    var icon3 = pc.comments.weather_icon_url3.replace("#CODE#",obj.day3.image_code);
    var ext_weather_link = pc.comments.weather_ext_fct_link.replace("#LOC#",obj.location_id);
    var city_weather_link = pc.comments.weather_cityguide_url.replace("#LOC#",obj.location_id);
    var new_link = city_weather_link.replace("#ZIPCODE#",obj.zip_code);
    weather_data.innerHTML = '<div class="todays_weat"><div class="today_weat_img"><img src="' + icon1 + '" alt="" /></div><div class="today_weat_txt">Today, '+ obj.day1.temp_day1 +' &deg;F<br /><span class="weat_city"><a href="' + new_link + '">'+ obj.city_name +', ' + obj.state_code + '</a></span></div><br clear="all" /></div>';
    var weather_day2 = '<div class="forecast_nextday"><div class="forecast_weat_img"><img src="' + icon2 + '" alt="" /></div><div class="forecast_weat_txt">' + obj.day2.day_name.substring(0,3) + '.<br /> <span class="weat_faren_min">'+ obj.day2.temp_max + '&deg;F</span> / <span class="weat_faren_max">'+ obj.day2.temp_min + '&deg;F</span></div></div>';
    var weather_day3 = '<div class="forecast_dayafter"><div class="forecast_weat_img"><img src="' + icon3 + '" alt="" /></div><div class="forecast_weat_txt">' + obj.day3.day_name.substring(0,3) + '.<br /> <span class="weat_faren_min">' + obj.day3.temp_max + '&deg;F</span> / <span class="weat_faren_max">'+ obj.day3.temp_min + '&deg;F</span></div></div>';
    var div = document.createElement('div');
    div.setAttribute("class","forecast_weat");
    div.className = "forecast_weat";
    div.innerHTML = weather_day2;
    div.innerHTML = div.innerHTML + weather_day3;
    weather_data.appendChild(div);
    document.getElementById('weather_links').style.display = "block";
    document.getElementById('weat_ext_fct').href = ext_weather_link;
    return;
}

/* Functions for custom link tracking. */
function mkOmnObjs(){
    var omtags = new Array('a','div','ul','table','p','h4','h3');
    for (i=0; i<omtags.length;i++) {
        var tags=document.getElementsByTagName(omtags[i]);
        if (omtags[i] == 'a') {
            var attr='name';
        } else {
            var attr='id';
        }
        for (j=0; j<tags.length; j++) {
            if (tags[j].getAttribute(attr) && tags[j].getAttribute(attr).indexOf('om_') == 0) {
                var name=tags[j].getAttribute(attr).substring(3);
                if (omtags[i] == 'a') {
                    if(tags[j].onclick==null)tags[j].onclick=new Function("e","s_objectID='"+name+"';");
                } else {
                    var atags=tags[j].getElementsByTagName('a');
                    for (k=0;k<atags.length;k++) {
                        if(atags[k].onclick==null)atags[k].onclick=new Function("e","s_objectID='"+name+(k+1)+"';");
                    }
                }
            }
        }
    }
}

function omcl(obj,id,typ){
    if(!typ)typ='o';
    var s=s_gi(cl_account);
    var f=function(){s.tl(1,typ,id);s.sa(s_account)}
    setTimeout(f,0);
}

/* OnlineOpinion (S3tS,1424b) / AOL client detection */
/* This product and other products of OpinionLab, Inc. are protected by U.S. Patent No. 6606581, 6421724, 6785717 B1 and other patents pending. */
var custom_var_static,_sp='%3A\\/\\/',_rp='%3A//',_poE=0.0, _poX=0.0,_sH=screen.height,_d=document,_w=window,_ht=escape(_w.location.href),_hr=_d.referrer,_tm=(new Date()).getTime(),_kp=0,_sW=screen.width;_d.onkeypress=_fK;function _fK(_e){if(!_e)_e=_w.event;var _k=(typeof _e.which=='number')?_e.which:_e.keyCode;if((_kp==15&&_k==12))_w.open('https://dashboard.opinionlab.com/pv_controlboard.html?url='+_fC(_ht),'PageViewer','height=529,width=705,screenX='+((_sW-705)/2)+',screenY='+((_sH-529)/2)+',top='+((_sH-529)/2)+',left='+((_sW-705)/2)+',status=yes,toolbar=no,menubar=no,location=no,resizable=yes');_kp=_k};function _fC(_u){_aT=_sp+',\\/,\\.,-,_,'+_rp+',%2F,%2E,%2D,%5F';_aA=_aT.split(',');for(i=0;i<5;i++){eval('_u=_u.replace(/'+_aA[i]+'/g,_aA[i+5])')}return _u};function O_LC2(){var _sY,_tp;if(navigator.userAgent.indexOf("AOL")>(-1)){_sY=0;_tp=0;}else{_sY=((_sH-192)/2);_tp=((_sH-192)/2);}_w.open('https://secure.opinionlab.com/ccc01/comment_card.asp?time1='+_tm+'&time2='+(new Date()).getTime()+'&prev='+_fC(escape(_hr))+'&referer='+_fC(_ht)+'&height='+_sH+'&width='+_sW+'&custom_var='+custom_var_static,'comments','width=535,height=192,screenX='+((_sW-535)/2)+',screenY='+_sY+',top='+_tp+',left='+((_sW-535)/2)+',resizable=yes,copyhistory=yes,scrollbars=no')};function _fPe(){if(Math.random()>=1.0-_poE){O_LC2();_poX=0.0}};function _fPx(){if(Math.random()>=1.0-_poX)O_LC()};window.onunload=_fPx;function O_GoT(_p){_d.write('<a href=\'javascript:O_LC2()\'>'+_p+'</a>');_fPe()}
