// $Date: 2009/02/11 09:04:29 $
// $Name: ukconcept_v1_r80 $
// $Revision: 1.24 $
// $State: Exp $

var is_aol = navigator.userAgent.toLowerCase().indexOf("aol") != -1;
var is_mac = navigator.userAgent.indexOf('Mac') != -1;

// Start Channel 
function channel_init(){
}

// Header2.0
function p_o(o){return document.getElementById(o);}

function ai_posX(obj){
    var left=0;
    if(obj.offsetParent){
        while(obj.offsetParent){
            left+=obj.offsetLeft;
            obj=obj.offsetParent;
        }
    } else if(obj.x)left+=obj.x;
    return left;
}
function ai_posY(obj){
    var top=0;
    if(obj.offsetParent){
        while(obj.offsetParent){
            top+=obj.offsetTop;
            obj=obj.offsetParent;
        }
    } else if(obj.x)top+=obj.y;
    return top;
}

function togMore(e,state){
    var oDiv=p_o('smore');
    if(state=='show'){
        posMore(e);
        oDiv.style.zIndex=99999999;
        oDiv.style.display='block';
    } else {
        oDiv.style.display='none';
    }
    return false;
}
function posMore(e){
    var oDiv=p_o('smore');
    var oLnk=p_o('smorea');
    posY = findMousePos(e);
    oDiv.style.left=(ai_posX(oLnk)+15)+'px';
    oDiv.style.top=(posY+oLnk.offsetHeight/2)+'px';
}
// Begin : Headers 2 code
String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}

function srchSub(ref){
    var frm=p_o("search");
    var queryval = frm.topquery.value.trim();
    queryval = queryval.replace( /\+/, " ");
    newurl = ref.href + queryval;
    window.location = newurl;
    return false;
}



function eventIsEnterKey(event) {
    if (event && event.which == 13 || window.event && window.event.keyCode == 13 || event && event.which == 3 || window.event && window.event.keyCode == 3) {
        return true;
    }
    return false;
}

function submitHeaderSearch(event) {
    if (event == "onclick" || eventIsEnterKey(event)) {
        return srchSub2();        
    } else {
        return true;
    }
}

function srchSub2() {
    var frm=p_o("search");
    var queryval = frm.topquery.value.trim();
    queryval = queryval.replace( /\+/, " ");
    var newurl = frm.action + queryval;
    if (frm.target == '_blank') {
        window.open(newurl, '_blank', '');
    } else {
        window.location = newurl;
    }
    return false;
}

//Prevent IE flickr
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}

//Cross Promo
var d=document; var w=window;var docHg;
var range=400;
var cod_arr=new Array();
var arrLen = 0;
var modSpan = 6;
var currId = 0;
var opt = {
    ae:function(o,et,fn){if(o.addEventListener)o.addEventListener(et,fn,false);else if(o.attachEvent)o.attachEvent("on"+et,fn);},
    gt:function(t,o){o=o?o:document;return o.getElementsByTagName(t)},
    gc:function(c,t,s,o){var r=new Array();var os=opt.gt(t,o);for(var i=0,j=0,l=os.length;i<l;i++){var sc = s + os[i].className + s;if(sc.indexOf(s+c+s)!=-1){r[j] = os[i];j++;}}return r;},
        nview:function(obj,i) {
                if (obj.loaded==null) {
                    obj.loaded=0;
                }
                if (obj.loaded==0) {

                    if(document.all) {
                        var relTop=obj.offsetParent.offsetTop-(w.scrollY||d.documentElement.scrollTop);
                    } else {
                        var relTop=obj.offsetTop-(w.scrollY||d.documentElement.scrollTop);
                    }

                    if((relTop-docHg-20)<range) {
                      var codUrl=opt.gt('a',obj)[0].href;
                      opt.xhr(codUrl,obj,i);
                    }
                }
        },
        doCod:function(){
                var l=cod_arr.length;
                for (var i=0;i<l;i++) {
                        opt.nview(cod_arr[i],i);
                }
        },
        xhr:function(u,obj,i){
                obj.loaded=1;
                var f,r,m='GET';
                f=function(){if(r.readyState>3)opt.update(obj,r,i);}
                r= window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
                r.onreadystatechange=f;
                r.open(m,u,1);
                r.setRequestHeader('content-type','text/xml');
                r.send('');
        },
        update:function(obj,r,i) {
                if(r.status==200){
                        obj.innerHTML=r.responseText;
                } else {obj.loaded=0;}
        },
        init:function() {
                        cod_arr=opt.gc('cod','div','',document);
                        docHg=w.innerHeight||w.document.documentElement.offsetHeight;
                        opt.doCod();
                        opt.ae(window,'scroll',opt.doCod);
        },
        res:function(){
                docHg=w.innerHeight||w.document.documentElement.offsetHeight;
                opt.doCod();
        }

}
opt.ae(window,'resize',opt.res);
opt.ae(window,'load',opt.init);

function countCartridges() {
    var cartCount = 0;
    end = false;
    do {
        if(document.getElementById('cart'+cartCount)) {
            cartCount++;
        } else {
            end = true;
        }
    } while (end == false)
    arrLen = cartCount;
}

function showCartridges( startId ) {
    if(arrLen == 0) {
        countCartridges(); 
    }
    var i,j;
    for (i=0,j=startId; i < modSpan; i++,j++) {
        var strCart = j%arrLen;
        document.getElementById('cartridge'+i).innerHTML = document.getElementById('cart'+strCart).innerHTML;
    }
}

function isModFetched (modId) {
  if(document.getElementById('cart'+modId).innerHTML.length>0) {
      return true;
  } else {
      return false;
  }
}

function nextCartridge () {
    if(arrLen == 0) {
        countCartridges(); 
    }
    currId = currId + 1;
    if ( !isModFetched( (currId+modSpan)%arrLen ) ) {
        fetchModule((currId+modSpan)%arrLen);
    }
    showCartridges(currId);
}

function prevCartridge () {
    if(arrLen == 0) {
        countCartridges(); 
    }  
    if(currId!=0) {
        currId = currId - 1
    } else {
        currId=arrLen-1;
    }

    if ( !isModFetched( (currId+modSpan)%arrLen ) ) {
        fetchModule((currId+modSpan)%arrLen);
    }
    showCartridges(currId);
}
// Crosspromo end

// Cards on table
var cott = {
    timeout: 3750,
    maxLink: 0,
    init: function() {
        var topLink = document.getElementById("toplink");
        var links = topLink.getElementsByTagName("A");
        cott.maxLink = links.length;
        if (links.length == 0) { return; }
        for(var i=0;i<links.length;i++) {
            links[i].style.backgroundColor = '#fff';
            links[i].style.zoom = 1;
            if (i>0) { links[i].style.display = 'none'; }
        }
        setTimeout("cott.rotateLink(2)", cott.timeout); 
    },
    fadeTo: function(obj, lvl) {  
        obj.style.filter = 'alpha(opacity=' + lvl*10 + ')';
        obj.style.opacity = lvl/10;
    },
    rotateLink: function (linkNo) {
        cott.displayNextLink(linkNo);
        var nextLink = linkNo + 1;
        if (nextLink > cott.maxLink) {
            nextLink = 1;
        }
        var t = setTimeout("cott.rotateLink(" + nextLink + ")", cott.timeout);
    },
    displayNextLink: function(linkNo) {
        var lastLink = linkNo-1;
        if (lastLink == 0) {
            lastLink = cott.maxLink;
        }
        cott.fade("cottLink"+lastLink, "cottLink"+linkNo, -9.9);
    },
    fade: function(from, to, stage) {
        if (!document.getElementById(from)) { return; }
        fobj = document.getElementById(from);
        if (!document.getElementById(to)) { return; }
        tobj = document.getElementById(to);
        if (stage < 0) {
            cott.fadeTo(fobj, Math.abs(stage));
        } else if (stage == 10) {
            cott.fadeTo(tobj, 9.9);
        } else if (stage == 0) {
            fobj.style.display = 'none';
            cott.fadeTo(tobj, 1);
            tobj.style.display = 'inline';
        } else {
            cott.fadeTo(tobj, stage);
        }
        if (stage != 10) { 
            var b = setTimeout("cott.fade('" + from + "', '" + to + "', " + parseInt(stage+1) + ")", 40);
        }
    }
};

function buildCottImg(num) {
    var cPar = document.getElementById('card_' + num);
    var cImg = document.getElementById('image_' + num);
    var cPhoto = document.getElementById('photo_' + num);

    var newImg = new Image();
  
    if(navigator.userAgent.indexOf('MSIE') != -1) {
        newImg.setAttribute('src', cImg.href);
        if(cImg.firstChild) {
            newImg.setAttribute('alt', cImg.firstChild.nodeValue);
        }
        cottDelay(100);
    } else {
        try
        {
            newImg.setAttribute('src', cImg);
            newImg.setAttribute('alt', cImg.innerHTML);
            cPhoto.appendChild(newImg);
        }
        catch (e)
        {
            //create html string for new input element
            var sHTML = "<a href=\"" + cPhoto + "\" target=\"_blank\"><img alt=\"" + cImg.innerHTML + "\" src=\"" + cImg + "\"></a>";
            cPhoto.innerHTML = sHTML;
        }
    }
 
    if (cPhoto != null) {
        try
        {
            cPhoto.appendChild(newImg);       
        }
        catch (e){}         
        cPhoto.removeAttribute("id");
        cImg.parentNode.removeChild(cImg);
    } else {
        try
        {
        newImg.parentNode.replaceChild(newImg,cImg);
        }
        catch (e){}         
    }
    return false;
}

function cottDelay(millis) {
    var date = new Date();
    var curDate = null;
    do { curDate = new Date(); }
    while(curDate-date < millis);
}

function displayCottMods(firstMod) {
    modInst = modInst + firstMod;
    if(modInst == -1) {
        modInst = maxCards - 1;
    }

    for (var m=0; m<3; m++) {
        var inst = (modInst + m)%(maxCards);
        var topcard='showcard'+ m;
        var hiddenCardId = "card_" + inst;
        var parentDiv = document.createElement("div");
        var hiddenCard = document.createElement("div");

        if(document.getElementById('image_'+inst)) {
            buildCottImg(inst);

            if(navigator.userAgent.indexOf('MSIE') != -1) {
                cottDelay(200);
            }
        }

    hiddenCard.id = "slot_" + inst;
    hiddenCard.className = "card";
    hiddenCard.innerHTML = (document.getElementById(hiddenCardId).innerHTML);
    parentDiv.appendChild(hiddenCard);
    document.getElementById(topcard).innerHTML = parentDiv.innerHTML;
    }
    return false;
}

function cottInit() {

    displayCottMods(0);
    document.getElementById('topHiddenModules').className="hideCards";
    document.getElementById('arrows').className="show_arws";
    document.getElementById('showcard0').className="showCards";
    document.getElementById('showcard1').className="showCards";
    document.getElementById('showcard2').className="showCards";
}

// Shared functions

function findMousePos(e) {
    var posY = 0;
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)     {
        posY = e.pageY;
    }
    else if (e.clientX || e.clientY)     {
        posY = e.clientY + document.body.scrollTop
            + document.documentElement.scrollTop;
    }
    return posY;
}



//adRefresh
function adRefresh() {
    var adSpots = '0';
    try {
        if (pgAdSpots != null && pgAdSpots != 'undefined' && pgAdSpots != '') {
        adSpots = pgAdSpots;
    }
    } catch(e) {
        adSpots = '0';
    }
    try {
        top.ch_refresher.refresh_ads_by_spot(adSpots);
    } catch(e) { }
    return true;
}


// NON-MODULE CODE
function popup_window(url,width,height){
    var features="status=0,menubar=0,location=0,toolbar=0";
    if (!isNaN(parseInt(width))){features+=",width="+width;}
    if (!isNaN(parseInt(height))){features+=",height="+height;}
    if (typeof(window.screenLeft)!="undefined"){
        features+=",left="+window.screenLeft;
        features+=",left="+Math.round(window.screenLeft+((document.body.clientWidth/2)-(width/2)));
    } else if (typeof(window.screenX)!="undefined"){
        features+=",left="+Math.round(window.screenX+((window.outerWidth/2)-(width/2)));
    }
    if (typeof(window.screenTop)!="undefined"){
        features+=",top="+window.screenTop;
        features+=",top="+Math.round(window.screenTop+150);
    } else if (typeof(window.screenY)!="undefined"){
        features+=",top="+Math.round(window.screenY+((window.outerHeight-window.innerHeight)+150));
    }
    var popupWin=window.open(url,"popupWin",features);
    if (popupWin.focus){popupWin.focus();}
}

function popupWindow(url,width,height,features) {
    if (!isNaN(parseInt(width))){features+=",width="+width;}
    if (!isNaN(parseInt(height))){features+=",height="+height;}
    if (typeof(window.screenLeft)!="undefined"){
        features+=",left="+window.screenLeft;
        features+=",left="+Math.round(window.screenLeft+((document.body.clientWidth/2)-(width/2)));
    } else if (typeof(window.screenX)!="undefined"){
        features+=",left="+Math.round(window.screenX+((window.outerWidth/2)-(width/2)));
    }
    if (typeof(window.screenTop)!="undefined"){
        features+=",top="+window.screenTop;
        features+=",top="+Math.round(window.screenTop+150);
    } else if (typeof(window.screenY)!="undefined"){
        features+=",top="+Math.round(window.screenY+((window.outerHeight-window.innerHeight)+150));
    }
    var popupWin=window.open(url,"popupWin",features);
    //if (popupWin.focus){popupWin.focus();}
}

var is_flash = false; var flashVer = 7;
if (window.ActiveXObject && !is_mac) {document.write('<scr' + 'ipt language="VBScript">' + '\n' + 'On Error Resume Next' + '\n' + 'is_Flash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & flashVer)))' + '\n' + '<\/sc' + 'ript>'); } 
else {var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0; var pluginStr = plugin.description; if (plugin){ if (parseInt(pluginStr.substring(pluginStr.indexOf(".")-1)) >= flashVer) { is_flash = true; }}}

// gets the value of the query string
function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
}

navigator.userAgent.toLowerCase().indexOf('msie')!=-1?bb_ie=1:bb_ie=0;

function bb_o(o){return document.getElementById(o);}

function bb_l(o){return o.getElementsByTagName("li");}

//Dynamic CSS manipulation tools.
function setClassByID(objectID, newClass)
{
        var object = document.getElementById(objectID);
        object.className = newClass;
}

function setClassByObj(senderObj, newClass)
{
        senderObj.className = newClass;
}

//This function recursivelly finds a DIV in a parent element.
//It is needed because the mozilla and ie doms have different hierarchies.
//Called from hiLiteRow, a top11deeplink function.
function recurseDiv(el)
{
        if (el.nodeName == "DIV")
        {
                return el;
        }
        else if (el.hasChildNodes)
        {
                for (i = 0 ; i < el.childNodes.length; i++)
                {
                        if (el.childNodes[i].nodeName == "DIV")
                        {
                                return el.childNodes[i];
                        }
                        else if (el.childNodes[i].hasChildNodes)
                        {
                                var returnEl = recurseDiv(el.childNodes[i]);
                                if (returnEl) return returnEl;
                        }
                }
        }
        else
        {return null};
}

// BEGIN Functions for ActiveX patch to IE/IE7 ------------------//
function FlashTag(src, width, height, version) {
    if (arguments.length < 4)
    {
        throw new Exception('RequiredAttributeException',
                            'You must pass in a src, width, height, and version when creating a FlashTag.');
    }

    for (var i = 0; i < arguments.length; ++i)
    {
        if (arguments[i] == undefined || arguments[i] == null)
        {
            throw new Exception('RequiredAttributeException',
                                'All constructor arguments must have values.');
        }
    }

    // Required
    this.src            =  src;
    this.width          =  width;
    this.height         =  height;
    this.version        =  version;

    this.id             =  null;
    this.flashVars      =  null;
    this.flashVarsStr   =  null;
    this.genericParam   = new Object();
    this.ie = (navigator.appName.indexOf ("Microsoft") != -1) ? 1 : 0;
}
FlashTag.prototype.setSource = function(src) {
    this.src = src;
}
FlashTag.prototype.setWidth = function(w) {
    this.width = width;
}
FlashTag.prototype.setHeight = function(h) {
    this.h = height;
}
FlashTag.prototype.setVersion = function(v) {
    this.version = v;
}
FlashTag.prototype.setId = function(id) {
    this.id = id;
}
FlashTag.prototype.setBgcolor = function(bgc) {
    if (bgc.charAt(0) != '#') bgc = '#' + bgc;
    this.genericParam['bgcolor'] = bgc;
}
FlashTag.prototype.addFlashVars = function(fvs) {
    this.flashVarsStr = fvs;
}
FlashTag.prototype.addFlashVar = function(n, v) {
    if (this.flashVars == null) this.flashVars = new Object();
    this.flashVars[n] = v;
}
FlashTag.prototype.removeFlashVar = function(n) {
    if (this.flashVars != null) this.flashVars[n] = undefined;
}
FlashTag.prototype.setSwliveconnect = function(swlc) {
    this.genericParam['swliveconnect'] = swlc;
}
FlashTag.prototype.setPlay = function(p) {
    this.genericParam['play'] = p;
}
FlashTag.prototype.setLoop = function(l) {
    this.genericParam['loop'] = l;
}
FlashTag.prototype.setMenu = function(m) {
    this.genericParam['menu'] = m;
}
FlashTag.prototype.setQuality = function(q) {
    if (q != 'low' && q != 'high' && q != 'autolow' && q != 'autohigh' && q != 'best')
    {
        throw new Exception('UnsupportedValueException',
                            'Supported values are "low", "high", "autolow", "autohigh", and "best".');
    }
    this.genericParam['quality'] = q;
}
FlashTag.prototype.setScale = function(sc) {
    if (sc != 'showall' && sc != 'noborder' && sc != 'exactfit' && sc != 'noscale')
    {
        throw new Exception('UnsupportedValueException',
                            'Supported values are "showall", "noborder", "exactfit, and "noscale".');
    }
    this.genericParam['scale'] = sc;
}
FlashTag.prototype.setAlign= function(a) {
    if (a != 'l' && a != 't' && a != 'r' && a != 'b')
    {
        throw new Exception('UnsupportedValueException',
                            'Supported values are "l", "t", "r" and "b".');
    }
    this.genericParam['align'] = a;
}
FlashTag.prototype.setSalign= function(sa) {
    if (sa != 'l' && sa != 't' && sa != 'r' && sa != 'b' && sa != 'tl' && sa != 'tr' && sa != 'bl' && sa != 'br')
    {
        throw new Exception('UnsupportedValueException',
                            'Supported values are "l", "t", "r", "b", "tl", "tr", "bl" and "br".');
    }
    this.genericParam['salign'] = sa;
}
FlashTag.prototype.setWmode = function(wm) {
    if (wm != 'window' && wm != 'opaque' && wm != 'transparent')
    {
        throw new Exception('UnsupportedValueException',
                            'Supported values are "window", "opaque", and "transparent".');
    }
    this.genericParam['wmode'] = wm;
}
FlashTag.prototype.setBase = function(base) {
    this.genericParam['base'] = base;
}
FlashTag.prototype.toString = function() {
    var flashTag = new String();
    if (this.ie)
    {
        flashTag += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
        if (this.id != null)
        {
            flashTag += 'id="'+this.id+'" ';
        }
        flashTag += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+this.version+'" ';
        flashTag += 'width="'+this.width+'" ';
        flashTag += 'height="'+this.height+'">';
        flashTag += '<param name="movie" value="'+this.src+'"/>';

        for (var n in this.genericParam)
        {
            if (this.genericParam[n] != undefined && this.genericParam[n] != null)
            {
                flashTag += '<param name="'+n+'" value="'+this.genericParam[n]+'"/>';
            }
        }

        if (this.flashVars != null)
        {
            var fv = this.getFlashVarsAsString();
            if (fv.length > 0)
            {
                flashTag += '<param name="flashvars" value="'+fv+'"/>';
            }
        }
        flashTag += '</object>';
    }
    else
    {
        flashTag += '<embed src="'+this.src+'"';
        flashTag += ' width="'+this.width+'"';
        flashTag += ' height="'+this.height+'"';
        flashTag += ' type="application/x-shockwave-flash"';
        if (this.id != null)
        {
            flashTag += ' name="'+this.id+'"';
        }

        for (var n in this.genericParam)
        {
            if (this.genericParam[n] != undefined && this.genericParam[n] != null)
            {
                flashTag += (' '+n+'="'+this.genericParam[n]+'"');
            }
        }
        if (this.flashVars != null || this.flashVarsStr != null)
        {
            var fv = this.getFlashVarsAsString();
            if (fv.length > 0)
            {
                flashTag += ' flashvars="'+fv+'"';
            }
        }
        flashTag += ' pluginspage="http://www.macromedia.com/go/getflashplayer">';
        flashTag += '</embed>';
    }
    return flashTag;
}
FlashTag.prototype.write = function(doc) {
    doc.write(this.toString());
}
FlashTag.prototype.getFlashVarsAsString = function() {
    var qs = new String();
    for (var n in this.flashVars)
    {
        if (this.flashVars[n] != undefined && this.flashVars[n] != null)
        {
            qs += (escape(n)+'='+escape(this.flashVars[n])+'&');
        }
    }

    if (this.flashVarsStr != null) return qs + this.flashVarsStr;

    return qs.substring(0, qs.length-1);
}
FlashTag.prototype.setParams = function( id, bgc, fvs, swlc, p, l, m, q, sc, a, wm, base ) {
    if (id != null) this.id             =  id;
    if (fvs != null) this.flashVarsStr   =  fvs;

    if (bgc != null) this.setBgcolor(bgc);
    if (swlc != null) this.setSwliveconnect(swlc);
    if (p != null) this.setPlay(p);
    if (l != null) this.setLoop(l);
    if (m != null) this.setMenu(m);
    if (q != null) this.setQuality(q);
    if (sc != null) this.setScale(sc);
    if (a != null) this.setAlign(a);
    if (wm != null) this.setWmode(wm);
    if (base != null) this.setBase(base); 
}
function writeOnLoad() {
         try {
                 if ( flashTagParams != undefined ) {
                         var tag =  new FlashTag(flashTagParams.src, flashTagParams.width, flashTagParams.height, flashTagParams.version );
                         document.write(tag.toString());
                 }
         } catch(ex) {
                // Do nothing
         }
}
writeOnLoad();
// END Functions for ActiveX patch to IE/IE7 ------------------//

function rsiAdInit(segmax) {

    var segQS="";
    var segs_beg=document.cookie.indexOf('rsi_segs=');
    if(segs_beg>=0){
        segs_beg=document.cookie.indexOf('=',segs_beg)+1;
        if(segs_beg>0){
            var segs_end=document.cookie.indexOf(';',segs_beg);
            if(segs_end==-1)segs_end=document.cookie.length;
            rsi_segs=document.cookie.substring(segs_beg,segs_end).split('|');
            for (var i=0;i<Math.min(segmax,rsi_segs.length);i++){
                segQS+=rsi_segs[i].replace(/.*_(.*)/,"rsi=$1;");
            }
            adSetOthDclk(segQS);
       }
    }
}

/* Begin: Code for video promo module*/

var vpObject = function() {
    this.totalImg = 0;
    this.vpTimer = 0;
    this.currImg = 0;
    this.imgSrcArray = new Array();
    this.imgCrdArray = new Array();
    this.ovrArray = new Array();
    this.vpOpTimer = 0;
    this.rotInt = 5;
    this.fadeSpeed = 50;
}

function vpClass() {

    var setOpacity = function(mId,id,value) {
                
        var object = ge(id).style;
        //beat the IE bug
        if(document.all)
            object.zoom=1;
        
        object.opacity = (value / 10);
        object.MozOpacity = (value / 10);
        object.KhtmlOpacity = (value / 10);
        object.filter = "alpha(opacity=" + value*10 + ")";
    }
    
    var ovrlayDomCreate = function(mId){
        var mI = window['vpMod_'+mId];
        var d = window.document;
        var pLnk = ge('vpImgLnk_'+mId);
        var imgCnt = ge('vpImgCnt_'+mId);

        a = d.createElement('a');
        a.className = 'ovrLay';
        a.id = 'vpOvrLnk_'+mId;
        a.href = pLnk.href;
        a.innerHTML = '&nbsp;';
        
        wd = d.createElement('div');
        wd.className = 'overLayWrp';
        wd.appendChild(a);
        imgCnt.appendChild(wd);
        pLnk.onclick = ge('lkLst'+mId+'_'+mI.currImg).onclick;
    }
    
    var next = function(mId) {
        var ovrlayDiv = '<div class="overLayWrp"><a href="http://food.aol.com/tyler-florence?video=3" class="ovrLay" id="vpOvrLnk_12190">&nbsp;</a></div>';
        var objId = 'vpMod_'+mId;
        var mI = window[objId];
        var fadeInt = 0;// fading speed
        //it is necessary to clear the previous timer as the user's next click may break the sequence
        clearTimeout(mI.vpTimer);
        setOpacity(mId,'vpImgCnt_'+mId,10);
        
        //current highlighted list item
        var curlkLst = 'lkLst'+mId+'_'+mI.currImg;
        //fade out the current image
        for(var i=10;i>=0;i--) {
            fn = "vpClassObj.setOpac('"+mId+"','vpImgCnt_" + mId + "','" + i + "')";
            setTimeout(fn,fadeInt);
            fadeInt+=mI.fadeSpeed;;
        }

        //remove the highlight from current list item
        fn = "document.getElementById('"+curlkLst+"').className=''";
        setTimeout(fn,fadeInt);
        
        fn = "window.vpClassObj.showNextWrap('"+mId+"')";
        mI.vpTimer = setTimeout(fn,fadeInt);
    }
    
    var showNext = function(mId) {
        var objId = 'vpMod_'+mId;
        var mI = window[objId];

            var fadeInt = 0;//fading speed

            if(++mI.currImg >= mI.totalImg) {
                mI.currImg = 0;
            }

            //remove highlight from the current link and add to next link
            var curlkLst = 'lkLst'+mId+'_'+mI.currImg;
            ge(curlkLst).className = "highlight";

            //update credit text , image and the overlay image
            ge('ptCredit_'+mId).innerHTML = mI.imgCrdArray[mI.currImg];
            ge('vpImgCnt_'+mId).innerHTML = mI.imgSrcArray[mI.currImg];
            if(mI.ovrArray[mI.currImg] == 1) {
                ovrlayDomCreate(mId);
            }
            //fade in the new image
            for(var i=0;i<=10;i++) {
                fn = "vpClassObj.setOpac('"+mId+"','vpImgCnt_" + mId + "','" + i + "')";
                mI.vpTimer=setTimeout(fn,fadeInt);
                fadeInt+=mI.fadeSpeed;
            }
            scroll(mId,(mI.rotInt-(mI.fadeSpeed/1000)));
    }
    
    var prev = function(mId) {
        var objId = 'vpMod_'+mId;
        var mI = window[objId];
        var fadeInt = 0;// fading interval
        //it is necessary to clear the previous timer as the user's next click may break the sequence
        clearTimeout(mI.vpTimer);
        setOpacity(mId,'vpImgCnt_'+mId,10);
        
        //current highlighted list item
        var curlkLst = 'lkLst'+mId+'_'+mI.currImg;
        //fade out the current image
        for(var i=10;i>=0;i--) {
            fn = "vpClassObj.setOpac('"+mId+"','vpImgCnt_" + mId + "','" + i + "')";
            setTimeout(fn,fadeInt);
            fadeInt+=mI.fadeSpeed;;
        }

        //remove the highlight from current list item
        fn = "document.getElementById('"+curlkLst+"').className=''";
        setTimeout(fn,fadeInt);
        
        fn = "window.vpClassObj.showPrevWrap('"+mId+"')";
        mI.vpTimer = setTimeout(fn,fadeInt);
    }
    
    var showPrev = function(mId) {
        var objId = 'vpMod_'+mId;
        var mI = window[objId];

            var fadeInt = 0;//fading speed
            
        if(--mI.currImg < 0) {
            mI.currImg = parseInt(mI.totalImg-1);
        }

            //remove highlight from the current link and add to next link
            var curlkLst = 'lkLst'+mId+'_'+mI.currImg;
            ge(curlkLst).className = "highlight";

            //update credit text and image
            ge('ptCredit_'+mId).innerHTML = mI.imgCrdArray[mI.currImg];
            ge('vpImgCnt_'+mId).innerHTML = mI.imgSrcArray[mI.currImg];
            if(mI.ovrArray[mI.currImg] == 1) {
                ovrlayDomCreate(mId);
            }
            //fade in the new image
            for(var i=0;i<=10;i++) {
                fn = "vpClassObj.setOpac('"+mId+"','vpImgCnt_" + mId + "','" + i + "')";
                mI.vpTimer=setTimeout(fn,fadeInt);
                fadeInt+=mI.fadeSpeed;
            }
            scroll(mId,(mI.rotInt-(mI.fadeSpeed/1000)));
    }
    
    var scroll = function(mId,time) {
        var objId = 'vpMod_'+mId;
        mI = window[objId];
        var fn = "window.vpClassObj.vpNextImg('"+mId+"')";
        mI.vpTimer = setTimeout(fn,1000*time);
    }

    var ge = function(id){return document.getElementById(id);}
    
    return {
    
        vpNextImg : function(mId) {
            next(mId);
        },
        
        vpPrevImg : function(mId) {
            prev(mId);
        },
        
        autoScroll : function(mId,time) {
            scroll(mId,time);
        },
        
        stopScroll : function(mId) {
            var objId = 'vpMod_'+mId;
            mI = window[objId];
            clearTimeout(mI.vpTimer);
        },
        
        setOpac : function(mId,objId,value) {
            setOpacity(mId,objId,value);
        },
        
        showNextWrap: function(mId) {
            showNext(mId);
        },
        
        showPrevWrap: function(mId) {
            showPrev(mId);
        }
        
    };

}

var vpClassObj = new vpClass();
/* End code for video promo module */

// Tag Cloud/List (Blog Chatter)
function showTags()
{
    if (iTagType == 1) // Show as Cloud
    {
        caption = "List";
        iTagType = 2;
        document.getElementById("newsTagCloud").style.display = "block";
        document.getElementById("newsTagList").style.display = "none";
    } 
    else // Show as List
    {
        caption = "Cloud";
        iTagType = 1;
        document.getElementById("newsTagCloud").style.display = "none";
        document.getElementById("newsTagList").style.display = "block";
    }
    document.getElementById("newsTagTypeAnc").innerHTML = caption;
}
// End: Tag Cloud/List (Blog Chatter)

// Mouse Over Popup for What are Tags? (Blog Chatter)
function showWhatPop(iShow)
{
    if (iShow == 1) {
        document.getElementById("popMainCont").style.display = "block";
    } else {
        document.getElementById("popMainCont").style.display = "none";
    }
}
// End: Mouse Over Popup for What are Tags? (Blog Chatter)

// Top Videos
var AOLVS = null;
var theHTML =null;
var query = null;
var tab =0;
var tabtopic = null;
var numbertab = null;
var currentSlide = 0;
var vidArray = new Array();
var maxChar = null;

function handlePageLoad() {
    numbertab = document.getElementById("videotab").getElementsByTagName('li');
    AOLVS = new AOLVideoSearch('sskxzi7esi3tjgqvl');

    AOLVS.results = arguments[1];
    query = arguments[0];
    maxChar = arguments[2];
    AOLVS.attachEvent('onload', 'handleVSLoad(query, 0);');
    AOLVS.attachEvent('onupdate', 'handleUpdate();');
    AOLVS.initialize();
}

function loadVideo(){
    handleVSLoad(arguments[0],arguments[1]);
    initvideo = null;
    currentSlide=0;
    return initvideo;
}
 
function handleVSLoad() {
    displayMessage();
    tabtopic = arguments[1];
    param = arguments[0];    
    AOLVS.getVideos(arguments[0]);  
    activeTab(arguments[1]);
    return tabtopic;
}
 
function activeTab(){
    for(var v=0; v<numbertab.length; v++){
        if (arguments[0] != v) {
            document.getElementById("tb."+v).className = '';
        }
    }
    document.getElementById("tb."+arguments[0]).className = 'selected';
}
  
function displayMessage() {
    theHTML = '<div style="text-align:center;clear:both;height:85px;width:308px;background-color:#f3f3f3;border-top:45px solid #f3f3f3;"><img src="http://myfeeds.aolcdn.com/vis/progress_animation.gif"> Loading...</div>';
    document.getElementById('video_results').innerHTML = theHTML;
}

function vidSlide(direct) {
    if (direct == 1){
        if (currentSlide + 1  == AOLVS.results){
            currentSlide = 0;
        } else if (currentSlide +1 < AOLVS.results){
            currentSlide += 1;
        }
    } else {
        if (currentSlide == 0) {
            currentSlide = AOLVS.results-1;
        } else if (currentSlide -1 >= 0) {
           currentSlide -=1;
        }
    }
    document.getElementById('tally').innerHTML = '      '+(currentSlide + 1)+ '  of  ' + '  '+AOLVS.results+'      ';
    document.getElementById('video').innerHTML = vidArray[currentSlide];
}

function intializeSeq() {
    initVidHTML = vidArray[0];  
    document.getElementById('video').innerHTML = initVidHTML;
}

function handleUpdate() {
    theHTML = '';
    initHTML ='';
    viewAllHTML = '';

    switch(tabtopic){    
        case 0:
            viewAllHTML += '<a href="http://video.aol.com/video-search/query/category%3A%22News%22%20channel%3A%22AOL%20News%22%20sort%3AmostRecent%20distributor%3A%22AP%22/familyFilter/0" target="_blank">See all AP Videos</a>';
            break;
        case 1:
            viewAllHTML += '<a href="http://video.aol.com/video-search/query/category%3A%22News%22%20channel%3A%22AOL%20News%22%20sort%3AmostRecent%20distributor%3A%22CNN%22/familyFilter/0" target="_blank">See all CNN Videos</a>';
            break;
        case 2:
            viewAllHTML += '<a href="http://video.aol.com/video-search/query/category%3A%22News%22%20channel%3A%22AOL%20News%22%20sort%3AmostRecent%20distributor%3A%22CBS%22/familyFilter/0" target="_blank">See all CBS Videos</a>';
            break;
        case 3:
            viewAllHTML += '<a href="http://video.aol.com/video-search/query/category%3A%22News%22%20channel%3A%22AOL%20News%22%20sort%3AmostRecent%20distributor%3A%22Reuters%22/familyFilter/0" target="_blank">See all Reuters Videos</a>';
            break;
    }

    theHTML +='<div id="video">';

    if ( AOLVS.VideoSet.totalResultsReturned < AOLVS.results ) {     
        AOLVS.results = AOLVS.VideoSet.totalResultsReturned;
    }

    if ( AOLVS.VideoSet.totalResultsReturned > 0 ) {
        for (var i=0; i < AOLVS.VideoSet.totalResultsReturned; i++) {   
            var caption = AOLVS.VideoSet.Video[i].description;
            var charCount = new description(caption, maxChar);
            vidArray[i] ='<div id="vid.'+i+'" class="tab"><div class="video_content"><p class="news_title">'+ AOLVS.VideoSet.Video[i].title+'</p><div class="news_image"><a href="'+AOLVS.VideoSet.Video[i].videoUrl +'" target="_blank" class="img"><img src="'+ AOLVS.VideoSet.Video[i].thumbnailUrl +'" width="116" height="82"></a></div><p class="news_content">'+ charCount.characherCount() +'<span class="details">'+ viewAllHTML+'</span></p><div class="clear"></div></div></div>';         
        }
        theHTML += '</div>';
        theHTML += '<div class="top_ftr">';
        theHTML += '<span class="prev"><a href="javascript:void(0);" onClick="vidSlide();return false;">< Previous</a></span>';
        theHTML += '<span id="tally" class="count">'+'      1 of '+ '     '+AOLVS.results+'   </span>'; 
        theHTML += '<span class="nxt"><a href="javascript:void(0);" onClick="vidSlide(1);return false;">Next ></a></span>';
        theHTML += '</div>';
    
        document.getElementById('video_results').innerHTML = theHTML;
        intializeSeq();
    }
}

function countChar(){
    if (this.desclength > this.descmax){
        this.desc = this.desc.substring(0, this.descmax)+'...';
    }else{
        this.desc = this.desc;
    }
    return this.desc;
}
 
function description(caption, descriptionmax){
    this.desc = caption;
    this.desclength = caption.length;
    this.descmax = descriptionmax;
    this.characherCount = countChar;
}
// End: Top Videos

// Start:  SHARE THIS WIDGET JS

var sharePopFlag = true;                             //variable for onclick popup
  
function showShareThisPop(topDivId, botDivId)        //function to call the popup onclick
{
    if (sharePopFlag)
    {
        document.getElementById('shareLeftIDBB').style.borderBottom = "1px solid #000";
        document.getElementById(botDivId).style.display = "block";
        document.getElementById(topDivId).className = "share_right_on";
    }
    else 
    {
        document.getElementById('shareLeftIDBB').style.borderBottom = "none";
        document.getElementById(botDivId).style.display = "none";
        document.getElementById(topDivId).className = "share_right";
    }
    sharePopFlag = !sharePopFlag;
}

function shareOperation(iOperation, strUrl, strTitle)
{
    var staf_obj = new staf_SE();
    staf_obj.setLang("en-US");
    if (strUrl != "")
    {
        staf_obj.setURL(strUrl);
    }
    if (strTitle != "")
    {
        staf_obj.setTitle(strTitle);        
    }
    if (iOperation == 1) // IM This
    {
        staf_obj.sendIM();
    }
    else
    {
        staf_obj.sendEmail();
    }
}

// End: SHARE THIS WIDGET JS

// Start: News Article - User Comments JS 
// rating
var xmlHttpRating;

function getRating(objectURI, category, type, score, appId) {
    var procName = "dms.trri.addRatingAndGet"
    var parameters = objectURI + ',' + category + ',' + type  + ',' + score + ',' + appId;

     if (window.ActiveXObject) {
        xmlHttpRating = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttpRating = new XMLHttpRequest();
    }
   
    xmlHttpRating.onreadystatechange = handleStateChange;
   
    var ourl = document.URL;

    //url="http://sports.channel.office.aol.com/httprequest.adp"
    var ind = ourl.indexOf('aol.com/');
    var url = ourl.substring(0, ind+8);
    url += 'httprequest.adp';

    url = url + "?_pn=" + procName;
    if (parameters!="")
    {
          url = url + "&_pa=" + parameters;
    }

    url += '&date=' + new Date().getTime();

    //alert(url);
    xmlHttpRating.open("GET", url, true);
    xmlHttpRating.setRequestHeader("Accept", "text/xml");
    xmlHttpRating.send(null);
}
   
function handleStateChange() {
    if(xmlHttpRating.readyState == 4) {
        if(xmlHttpRating.status == 200) {
            if(xmlHttpRating.responseText.length) {
                var result = xmlHttpRating.responseText.substring(1, xmlHttpRating.responseText.length - 1 );
                var results = result.split(" ");
                document.getElementById('label').innerHTML = "Thanks";
                document.getElementById('thumbsup').innerHTML = '<img src="http://www.aolcdn.com/ch_news/news-icon-thumbup" title="Thumbs Up" border="0" class="images" />' + results[0] + ' %';
                document.getElementById('thumbsdown').innerHTML = '<img src="http://www.aolcdn.com/ch_news/news-icon-thumbdown" title="Thumbs Up" border="0" class="images" />' + results[1] + ' %';
                document.getElementById('total').innerHTML = results[2] + ' VOTES';
                mouseoutup();
                mouseoutdown();
            }
        }
    }
}


// comment

var xmlHttpComment;

function displayComments(start) {
    var uri = document.getElementById("cmmt_uri").value;
    var category = document.getElementById("cmmt_category").value;
    var assetType = document.getElementById("cmmt_assetType").value;
    var appID = document.getElementById("cmmt_appID").value;
    var numCmmt = document.getElementById("cmmt_numCmmt").value;
    var AddBtnLbl = document.getElementById("cmmt_AddBtnLbl").value;
    var CanBtnLbl = document.getElementById("cmmt_CanBtnLbl").value;
    var reportThis = document.getElementById("cmmt_reportThis").value;
    var thisurl = document.getElementById("cmmt_thisurl").value;

    var procName = "dms.trri.displayReviews"
    var del=',';
    var parameters = uri;
    parameters += del + category;
    parameters += del + assetType;
    parameters += del + appID;
    parameters += del + start;
    parameters += del + numCmmt;
    parameters += del + AddBtnLbl;
    parameters += del + CanBtnLbl;
    parameters += del + reportThis;
    parameters += del + thisurl;

    if (window.ActiveXObject) {
        xmlHttpComment = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttpComment = new XMLHttpRequest();
    }
   
    xmlHttpComment.onreadystatechange = readyForComments;
   
    var ourl = document.URL;

    var ind = ourl.indexOf('aol.com/');
    var url = ourl.substring(0, ind+8);
    url += 'httprequest.adp';

    url = url + "?_pn=" + procName;
    if (parameters!="")
    {
          url = url + "&_pa=" + parameters;
    }

    url += '&date=' + new Date().getTime();

    //alert(url);
    xmlHttpComment.open("GET", url, true);
    xmlHttpComment.setRequestHeader("Accept", "text/xml");
    xmlHttpComment.send(null);
}
   
function readyForComments() {
    if(xmlHttpComment.readyState == 4) {
        if(xmlHttpComment.status == 200) {
            document.getElementById('cmmntBox').innerHTML = xmlHttpComment.responseText;
            //checks cookie for hide/show
            checkCookie('cmnt');
        }
    }
}


function submitComments()
{
    /* if no screen_name for page, use sns screen name */

    if (screen_name=="") {
        screen_name = loginId;
    }
    submitCommentsWithSN(screen_name);

}
var xmlHttpAddComment;
function submitCommentsWithSN(sn)
{
    var comment = document.getElementById("addCommentHere").value;
    if(comment == null || comment.length < 1 || comment == 'Type your own comment here')
        return;

    var uri = document.getElementById("cmmt_uri").value;
    var category = document.getElementById("cmmt_category").value;
    var assetType = document.getElementById("cmmt_assetType").value;
    var appID = document.getElementById("cmmt_appID").value;

    procName = "dms.trri.addReview";

    var del='|';
    parameters = uri;
    parameters += del + sn;
    parameters += del + comment;
    parameters += del + category;
    parameters += del + assetType;
    parameters += del + appID;

    if (window.ActiveXObject) {
        xmlHttpAddComment = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttpAddComment = new XMLHttpRequest();
    }
    
    xmlHttpAddComment.onreadystatechange = afterAddComments;
    
    var ourl = document.URL;

    var ind = ourl.indexOf('aol.com/');
    var url = ourl.substring(0, ind+8);
    url += 'httprequest.adp';

    data = "_pn=" + procName;
    data += "&_pa=" + parameters;
    data += "&_del=" + del;

    xmlHttpAddComment.open("POST",url,true);
    xmlHttpAddComment.setRequestHeader("Accept", "text/xml");
    xmlHttpAddComment.send(data);
} 

function afterAddComments() 
{ 
     if(xmlHttpAddComment.readyState == 4) {
        if(xmlHttpAddComment.status == 200) { 
            var status = xmlHttpAddComment.responseText;
            if (status == '1') {
                displayComments(0);
            } else {   
                document.getElementById('ucMsg').innerHTML = "Your comment could not be successfully saved at this time. Please try again later."
            }
        }
    } 
}

// Login Functions
function AsnsSignIn() {
     pSNS = getEl("snsMiniUI");
    pSNS.innerHTML = "";
    pSNS.innerHTML = _sns_var_;
    pSNS.style.display = 'block';
}

function getEl( id ){ 
    return document.getElementById( id ); 
}

function showToolTip(oCaller, ttID){
    document.getElementById(ttID).style.display = "block";
}

function hideToolTip(oCaller, ttID){
    document.getElementById(ttID).style.display = "none";
}
// End: News Article - User Comments JS

/****
Project: light xmlhttp library
Author : Amit Rai
Version : 1
****/


function xL(url,requestType,isAsync,requestData){

    var _url="";
    var _requestType="";
    var _isAsync=true;
    var _initialized=false;
    var _xmlHttpObject=false;
    var _valueStr="";
    var _requestData=new Object();
    var _debugMode=false;
    var _responseHandler=function(obj){};
    var _errMsg = "";
        
    var debugMsg = function(msg)
    {
        if(_debugMode)
        {
            alert(msg);
        }
    }
    
    var trim = function(str)
    {
           return str.replace(/^\s*|\s*$/g,"");
    }
    
    var createRequestValueString = function ()
    {
        var str=new String();
        var aObject = _requestData;
        
        for(var key in aObject)
        str=str+"&"+key+"="+aObject[key];
        
        if(_requestType=="GET")
        str="?"+str;

        return encodeURI(str);
    }
            
    var createXmlHttpObject = function ()
    {
        
        if(window.XMLHttpRequest && !(window.ActiveXObject)) 
        {// FF , mozilla and safari 
            try 
            {
                req = new XMLHttpRequest();
            
            } 
            catch(e) 
            {
                req = false;
            }
        } 
        else if(window.ActiveXObject) 
        {// IE Windows ActiveX version
               try 
            {
                req = new ActiveXObject("Msxml2.XMLHTTP");
              } 
            catch(e) 
            {
                try 
                {
                      req = new ActiveXObject("Microsoft.XMLHTTP");
                } 
                catch(e) 
                {
                      req = false;
                }
            }
        }
        return req;
    }
    
    var init = function(url,requestType,isAsync,requestData)
    {
        
        if(url.length>11 && requestType.length>2)
        {
            _url=encodeURI(url);
            _requestType=requestType.toUpperCase();
            _initialized=true;
            _isAsync=isAsync;
            _xmlHttpObject = createXmlHttpObject();
            _requestData = requestData;
            _valueStr = createRequestValueString();
        } 
        else
        {
            debugMsg("Initialization data is not correct!");
        }
        
    }
    
    init(url,requestType,isAsync,requestData);
    
    var sendGetRequest = function()
    {
            if(_xmlHttpObject)
        {    
            _xmlHttpObject.onreadystatechange = function(){_responseHandler(_xmlHttpObject)};
            try
            {
                _xmlHttpObject.open(_requestType, _url+_valueStr, _isAsync);
                _xmlHttpObject.send(null);
            }
            catch(e)
            {
                _errMsg = e;
            }
        }
        return _errMsg;
    }
    
    var sendPostRequest = function()
    {
        if(_xmlHttpObject)
        {    
            _xmlHttpObject.onreadystatechange = function(){_responseHandler(_xmlHttpObject)};
            try
            {
                _xmlHttpObject.open(_requestType, _url, _isAsync);
                _xmlHttpObject.send(_valueStr);
            }
            catch(e)
            {
                _errMsg = e;
            }
        }
        return _errMsg;
    }
    
    var sendHeadRequest = function()
    {
        if(_xmlHttpObject)
        {
            _xmlHttpObject.onreadystatechange = function(){_responseHandler(_xmlHttpObject)};
        try
        {    
            _xmlHttpObject.open(_requestType, _url, _isAsync);
            _xmlHttpObject.send(null);
        }
        catch(e)
        {
            _errMsg = e;
        }
        }
        return _errMsg;
    }

    var alertAll = function()
    {
        if(_debugMode)
        {
            alert("_url = "+ _url + "\n _requestType= " + _requestType + "\n _isAsync= " + _isAsync);
            alert("_initialized " + _initialized + "\n _xmlHttpObject " +_xmlHttpObject + "\n _valueStr " +_valueStr);
        }
    }
    
    alertAll();
    
    return {
        
        abortRequest : function()
        {
            if(_xmlHttpObject.readyState!=4)
            {
                _xmlHttpObject.onreadystatechange = function (){};
                _xmlHttpObject.abort();
            }
        },
        
        getXmlHttpObject : function() {
            return createXmlHttpObject();
        },
        
        init : function(url,requestType,isAsync,requestData) {
            init(url,requestType,isAsync,requestData);
        },
        
        sendRequest : function() 
        {
            switch (_requestType)
            {
                case "GET":
                    sendGetRequest();
                    break;
                case "POST":
                    sendPostRequest();
                    break;
                case "HEAD":
                    sendHeadRequest();
                    break;
                default:
                    debugMsg(_requestType + " : request type not found");
            }
                        
            return _errMsg;
        },
        
        setResponseHandler : function(functionObj)
        {
            if((typeof functionObj)=="function"){
                _responseHandler = functionObj;
            }
        },
        
        setDebugMode : function(debug)
        {
            if(typeof(debug)=="boolean"){
                _debugMode=debug;    
            }
        }
            
    };//end return
} //end Xlib

/*Start:  JS code for the News Photogallery*/
//global news photogallery object loaded with default values,
//needs to be overridden on per module instance basis
    
var pgGlbObject = function() {
    this.pgTotalImages = 0;
    this.pgGalleryId = 0;
    this.glbPgTimer = 0;
    this.glbCurrentImg = 1;
    this.navAction = '';
    this.omnitureURL = 'omni_track';
    this.xmlUrl = 'common/photogallery/response.xml?&id=3&index=2&feedtype=news&navAction=next';
    this.feedType = 'news';
    this.magicNumber = 0;
    this.adContinue = 'See More Pictures';
    this.adCaption = 'ADVERTISEMENT';
    this.isAd = 0;
    this.gallerySize = '';
    this.adSpot = '';
    this.photoPage = 0;
}

function appInit(modId){
    var debugMode = false;
    mI = window[modId];
    var queryParam = new Object();
    var requestParameters = new String();
    var today = new Date();
    
    if(mI.isAd == 0) {
       updateTallyNumber(modId);
    }
    
    queryParam['id'] = mI.pgGalleryId;
    queryParam['index'] = mI.glbCurrentImg;
    queryParam['feedtype'] = mI.feedType;
    queryParam['navAction'] = mI.navAction;
    queryParam['magicnumber'] = mI.magicNumber;
    queryParam['ts'] = today.getSeconds();
    queryParam['isAd'] = mI.isAd;
    queryParam['gallerySize'] = mI.gallerySize;
    url = mI.xmlUrl;

    reqType='GET';

    if(debugMode) {
        alert('id = '+mI.pgGalleryId + ' index= ' + mI.glbCurrentImg + ' feedtype= '+mI.feedType+' navAction= '+mI.navAction+' isAd= '+mI.isAd+' gallerySize= '+mI.gallerySize);
    }
    var objLap = new xL(url,reqType,true,queryParam);
                
    var serverErrorHandler = function(statusCode,statusMsg)
    {
        if(debugMode) {
            alert("Error Code : " + statusCode + " Message : " + statusMsg);
        }
    }
    
    var responseHandler = function(req) 
    {
        if(mI.glbPgTimer==0)
        {
            var timeOutErr = function() 
            {
                clearTimeout(mI.glbPgTimer);
                objLap.abortRequest();
            }
            mI.glbPgTimer = setTimeout(timeOutErr,5000);
        }
        // only if req shows "loaded"
        if (req.readyState == 4)
        {
            if (req.status == 200) 
            {
                resXML = req.responseXML;
                resTxt = req.responseText;
                uaStr = navigator.userAgent.toLowerCase();
               // Firefox has issue reading the xml returned from server
               if(uaStr.indexOf('firefox') != -1) {
                   if (document.implementation.createDocument && typeof(window.DOMParser) != "undefined") {
                       var parser = new DOMParser();
                       resXML = parser.parseFromString(resTxt, "text/xml");
                   }
               } 
                updateGallery(resXML,modId);
            } else {
                if(debugMode) {
                    alert("Error : "+req.getAllResponseHeaders());
                }
            }
        }
        //end main if else
    }       
    
    objLap.setResponseHandler(responseHandler);
    
    err=objLap.sendRequest();
    
    if(err.length>0 && debugMode==true)
    {
        alert(err);
    }
}

function updateGallery(resXML,modId) {
    var debugMode = false;
    var i = 0;
    var mod = "_" + modId;
    var mI = window[modId];
    var root = document.getElementById('newsmaker_'+modId);
 
    //only if the proper data is returned 
    if(resXML.getElementsByTagName("img")[0]) {
        document.getElementById('ad'+mod).style.display='none';

        //set the required values from xml fragment
        var isAd = getNodeValue(resXML.getElementsByTagName("isAd")[0]);
        if (isAd != "1") {
            var pgCredit = getNodeValue(resXML.getElementsByTagName("pgcredits")[0]);
            var photoCaption = getNodeValue(resXML.getElementsByTagName("photocaption")[0]);
            var imgSrc = resXML.getElementsByTagName("img")[0].getAttribute('src');
            var imgAlt = resXML.getElementsByTagName("img")[0].getAttribute('alt');
            var imgWidth = resXML.getElementsByTagName("img")[0].getAttribute('photoWidth');
            var imgHeight = resXML.getElementsByTagName("img")[0].getAttribute('photoHeight');

            if(debugMode) {
                alert('isAd='+isAd+'pgCredit='+pgCredit+'photoCaption='+photoCaption+'imgSrc='+imgSrc);
            }
            //sprint2.5 updates
            if (mI.photoPage == 1)
                {
                    if (imgHeight > imgWidth) {
                        className = 'vertical_img';
                    } else{
                        className = 'horizontal_img';
                    }
            document.getElementById('pg_ImgMain'+ mod).height = imgHeight;
            document.getElementById('pg_ImgMain'+ mod).width = imgWidth;
            document.getElementById('pg_ImgMain' + mod).className = className;
               }
            //update the dom information
            document.getElementById('pg_ImgMain'+ mod).style.display="block";
            document.getElementById('pg_ImgMain'+ mod).src = imgSrc;
            document.getElementById('pg_ImgMain'+ mod).alt = imgAlt;
            document.getElementById('pg_credits' + mod).innerHTML = pgCredit;
            document.getElementById('center_pic_cont' + mod).innerHTML = photoCaption;
            
            if(mI.navAction == 'next') {
                document.getElementById('newsmakerTally' + mod).innerHTML = mI.glbCurrentImg + " of " + mI.pgTotalImages;
                sendOmnitureData(resXML,modId);
            }

            if(mI.navAction == 'prev') {
                 sendOmnitureData(resXML,modId);
                 document.getElementById('newsmakerTally' + mod).innerHTML = mI.glbCurrentImg + " of " + mI.pgTotalImages;
            }

            //ad refresh on image change
            galleryAdRefresh(mI.adSpot);
        }
    }// end main if

   // if the isAd parameter in response xml is 1 
    if(getNodeValue(resXML.getElementsByTagName("isAd")[0])==1) {
        try { 
            document.getElementById('pg_ImgMain'+ mod).style.display="none";
            document.getElementById('pg_credits' + mod).innerHTML = mI.adCaption.toUpperCase();
            document.getElementById('newsmakerTally' + mod).innerHTML = mI.adContinue;
            document.getElementById('center_pic_cont' + mod).innerHTML = "";
            var adCont = document.getElementById('ad'+mod);
            
            if(!document.getElementById('ifr'+mod)) {
                var ifr = document.createElement('iframe');
                ifr.setAttribute('id','ifr'+mod);
                ifr.style.height='250px';
                ifr.style.widht='300px';
                ifr.style.overflow='hidden';
                ifr.frameBorder='0';
                if(ifr.scrolling){
                   ifr.scrolling='no';
                }
            } else{
              ifr = document.getElementById('ifr'+mod);
            }
            var adURL = mI.adURL + mI.magicNumber;
            ifr.src = adURL;
            adCont.appendChild(ifr);
            adCont.style.display='block';
        } catch(e) {
          if(debugMode)
             alert(e);
        }
        
    }

    //set the isAd value in module object, this is needed to prevent the ad fromo looping
    mI.isAd = getNodeValue(resXML.getElementsByTagName("isAd")[0]);
}// end updateGallery

// Ad Refresh on Image Change
function galleryAdRefresh(adSpot) {
    try {
        if (adSpot != null && adSpot != 'undefined' && adSpot != '') {
            top.ch_refresher.refresh_ads_by_spot(adSpot);
        }
    } catch(e) {}
    return true;
}

function updateTallyNumber(modId) {
    var mI = window[modId];
    if(mI.navAction == 'next') {
    
        if(mI.glbCurrentImg < mI.pgTotalImages) {
            ++mI.glbCurrentImg;
            mI.navAction = 'next';
        } else {
            mI.glbCurrentImg=1;
            mI.navAction = 'next';
        }
    
    } 

    if(mI.navAction == 'prev') {

        if(mI.glbCurrentImg > 1) {
             --mI.glbCurrentImg;
            mI.navAction = 'prev';
        }
        else 
        {
            mI.glbCurrentImg=mI.pgTotalImages;
            mI.navAction = 'prev';
        }

    }
} // end updateTallyNumber

function getNodeValue(node) {
    var val = "";

    if (node != undefined || node != null){ 
        if(node.nodeValue == null || node.nodeValue == undefined){
            try {
                val = node.firstChild.nodeValue;
        } catch (e){}
      }
  }

    return val;
}

 function sendOmnitureData(resXML,modId) {
    var mI = window[modId];
    var omniUrl = mI.omnitureURL;
    var reqType= "GET";
    var qp = new Object();
    str = "?";
    qp['id'] = mI.pgGalleryId;
    qp['index'] = mI.glbCurrentImg;
    qp['feedtype'] = mI.feedType;
    qp['navAction'] = mI.navAction;
    qp['debug'] = 0;
    // To capture the mmx variable for omniture tracking for both h and g code
 if(typeof(s_channel) != 'undefined') {
     qp['mmx'] = s_channel;
    } else if(typeof(s_265.channel) != 'undefined'){
       qp['mmx'] = s_265.channel;
 } 
    if(document.getElementById('pgOmniIframe'+modId)) {
        ifr = document.getElementById('pgOmniIframe'+modId);
    } else {
        ifr = document.createElement('iframe');
        ifr.setAttribute('id','pgOmniIframe'+modId);
        ifr.width=0;
        ifr.height = 0;
        ifr.border = 0;
        ifr.style.visibility = 'hidden';
        document.body.appendChild(ifr);
    } 
  
    for(var key in qp)
        str=str+"&"+key+"="+qp[key];
    
    omniUrl = omniUrl + str;
    ifr.src = omniUrl;
}

function nextImg(modId) {
    mI = window[modId];
    mI.navAction = 'next';
    appInit(modId);
    return false;
}

function prevImg(modId) {
    mI = window[modId];
    mI.navAction = 'prev';
    appInit(modId);
    return false;
}
/*End:  JS code for the News Photogallery*/

//This function hides the more popup on the //header when a user clicks anywhere on the document

function hideHeaderMore(e) {
    var targ;

    if (!e) var e = window.event;

    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.id != 'smorea') {
        var oDiv=p_o('smore');
         
        if(oDiv.style.display.toLowerCase() == "block") 
            oDiv.style.display='none';
    }
}




//http://www.aolcdn.com/_media/channels/us.games20/games20.js

function gamesdotcomInit(){
    gameDetail();
    genreOnclick();
}

// THIS DOES THE AJAX REQUEST 
var ajax_req = false;

function makeReq(url,outputHere) {
    ajax_req = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        ajax_req = new XMLHttpRequest();
        if (ajax_req.overrideMimeType) {
            ajax_req.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            ajax_req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
            ajax_req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!ajax_req) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    ajax_req.onreadystatechange = outputReq;
    ajax_req.open('GET', url, true);
    ajax_req.send(null);

    function outputReq() {
        try {
            if (ajax_req.readyState == 4) {
                if (ajax_req.status == 200) {
                    var responce = ajax_req.responseText;
                    var outputDiv = document.getElementById(outputHere);
                    outputDiv.innerHTML = responce;
                } else {
                    alert('There was a problem with the request.');
                }
            }
        }
        catch( e ) {
            alert('Caught Exception: ' + e.description);
        }
    }
}

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(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;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}


// THIS BLOCK IS FOR THE BROWSE GAMES TABBED MOD 
function gameIndexSet(pID){ //ADDS ONCLICK TO DISPLAY TABS
    if (document.getElementById("gameIndexTbs"+pID)) {
        var objA = document.getElementById("gameIndexTbs"+pID).getElementsByTagName("A");
        var i = objA.length; 
        while(i-->0) {   // LOOP THROUGH THE A's
            objA[i].onclick = function() {gameIndexGet(this.id,pID); return false;} // ADD ONCLICK FUNCTION
        }
    }
}

function gameIndexGet(obj,pID) {
    if (document.getElementById("gameIndexTbs"+pID)) {
        var objOn = document.getElementById(obj);
        var objA = document.getElementById("gameIndexTbs"+pID).getElementsByTagName("A");
        var i = objA.length; 
        while(i-->0) {   // LOOP THROUGH THE A's
            objA[i].className = "off"; // turn off tabs
        }
        objOn.className = "active"; // turn on tab
        
        var modReqURL = "/mod.adp?_mo=1&_miid=" + obj;
        var CntD = "gameIndexCntD" + pID;
        makeReq(modReqURL,CntD);
    }
}
// THIS ENDS THE BLOCK FOR THE BROWSE GAMES TABBED MOD 



// THIS BLOCK OF JS IS FOR THE GENRE BROWSE MOD
function genreOnclick (){ // ADDS ONCLICK FUNCTIONS 
    if (document.getElementById("disStyle")) {
        var objA = document.getElementById("disStyle").getElementsByTagName("A");
        var i = objA.length; 
        while(i-->0) {   // LOOP THROUGH THE A's
            objA[i].onclick = function() {changeDisStyle(this.id); createCookie("gameView",this.id);  return false;} // ADD ONCLICK FUNCTION
        }
    }
}

function changeDisStyle(obj){ //CHANGES BETWEEN DISPLAY OPTIONS
    if (document.getElementById("disStyle")) {
        var objOn = document.getElementById(obj);
        var objA = document.getElementById("disStyle").getElementsByTagName("A");
        var i = objA.length; 
        while(i-->0) {   // LOOP THROUGH THE A's
            objA[i].className = "off"; // turn off tabs
        }
        objOn.className = "on"; // turn on tab
        document.getElementById("gamesDisHd").className = obj; // change display for hd
        
        if (document.getElementById("gamesDis")) {
            document.getElementById("gamesDis").className = obj; // change display
        }
        removeGameDetail(); // REMOVE DETAIL POPUP WHEN CHANGING VIEWS
    }
}

function gameDetail(){ //AD MOUSEOVER FOR GAME DETAIL POP CALL    

    if (document.getElementById("gamesDis")) {
        var objA = document.getElementById("gamesDis").getElementsByTagName("A"); // GET ALL A WITHIN PARENT CONTAINER
        var i = objA.length;  
        while(i-->0) {   // LOOP THROUGH THE A's
            if (objA[i].id.substr(0,9)=="gameTitle"){  // FIND THE ONES WERE INTERESRTED IN
                objA[i].onmouseover = function() {showGameDetail(this.id);}// ADD ONMOUSEOVER FUNCTION    
                objA[i].onmouseout = function() {removeGameDetail();}// ADD ONMOUSEOUT FUNCTION
            }
        }
    }
}

function showGameDetail(obj){ // SHOWING YOU GUESSED IT  -  GAME DETAIL POP
    removeGameDetail();// FIRST WE NEED TO HIDE ANY GAME DETAILS THAT ARE OPEN
    
    var activeLink = document.getElementById(obj);
    var gameDetail = document.getElementById("gameDetail"+obj.substr(9,10));
    var gameDetailClone = gameDetail.cloneNode(true);
    
    gameDetailClone.id = "CgameDetail"+obj.substr(9,10); // GIVING CLONE A UNIQUE ID 
    
    var div = document.createElement("div");
    div.className = "gameDetailPop";
    div.setAttribute("id","gameDetailPop"+obj.substr(9,10));
    div.appendChild(gameDetailClone);
    gameDetailClone.style.display = "block";
    div.style.display = "block";
    var linkP = activeLink.parentNode.parentNode.parentNode;
    linkP.appendChild(div);
    div.style.width = '437px';
    
    
}

function removeGameDetail(){
    if (document.getElementById("gamesDis")) {
        var objA = document.getElementById("gamesDis").getElementsByTagName("DIV"); // GET ALL DIVs WITHIN PARENT CONTAINER
        var i = objA.length;
            
        while(i-->0) {   // LOOP THROUGH THE DIV's
            if (objA[i].id.substr(0,13)=="gameDetailPop"){  // FIND THE ONES WERE INTERESRTED IN
                objA[i].parentNode.removeChild(objA[i]); // HIDE OPEN GAME DETAILS
            }
        }
    }
}

// this facilitates the games per page dropdown. 
function changeGameCnt(obj){
    window.location=obj;
}

// END GENRE BROWSE JS

function getElementByClass(classname){
    var partscollect=new Array();
    var inc=0;
    var alltags=document.all? document.all.tags("DIV") : document.getElementsByTagName("*");
    for (i=0; i<alltags.length; i++){
        if (alltags[i].className==classname) { partscollect[inc++]=alltags[i];}
    }
    return partscollect;
}

function navigateGallery(gal, galLbl, dir, imgs) {
    var max = imgs.length;
    var gallery = document.getElementById(gal);
    var galleryLabel = document.getElementById(galLbl);
    var index = galleryLabel.innerHTML;

    if ((dir == 'prev') && (index != 1)) {index--;}
    else if ((dir == 'next') && (index != max)) {index++;}
    
    gallery.src = imgs[(index-1)];
    galleryLabel.innerHTML = index;

    if (index > 1) {
        gallery.setAttribute('class','alt'); // FF & Safari
        gallery.className = 'alt'; // IE
    } else {
        gallery.setAttribute('class',''); // FF & Safari
        gallery.className = ''; // IE
    }
}

function toggleText(mode,txtDivName,txtType,shortTxtName,fullTxtName, showText, hideText){
    var txtDiv = eval(txtDivName);
    if (mode == 'hide') {
        var shortTxt = eval(shortTxtName);
        txtDiv.innerHTML = shortTxt + "... <a href=\"javascript:void(0)\" onclick=\"toggleText('show','"+txtDivName+"','"+txtType+"','"+shortTxtName+"','"+fullTxtName+"','"+showText+"','"+hideText+"');\" return false;\">"+ showText + " &rsaquo;</a>";
    } else if (mode == 'show') {
        var fullTxt = eval(fullTxtName);
        txtDiv.innerHTML = fullTxt + " <a href=\"javascript:void(0)\" onclick=\"toggleText('hide','"+txtDivName+"','"+txtType+"','"+shortTxtName+"','"+fullTxtName+"','"+showText+"','"+hideText+"');\" return false;\">&lsaquo;" + hideText + "</a>";
    }
}

function toggleNavToolTip(mode, linkObj, ttObj){
    var to = document.getElementById(ttObj);

    if (mode == 'show') {
        var coors = findPos(linkObj);
        to.style.top = coors[1] + 17 + 'px';
        to.style.left = coors[0] + 78 + 'px'; 
        to.style.display = '';
    }
    else if (mode == 'hide') {
        to.style.display = 'none';
    }
}

function iterateHover(mode, curNum, selectedNum, linkId) {
    for (var n=1; n <= selectedNum; n++) {
        var linkObj= document.getElementById(linkId+n);
        var c;
        if (mode == 'over') {
            c = 'over';
        } else if (mode == 'out') {
            (n <= curNum) ? (c = 'on') : (c = 'off')
        }
        linkObj.setAttribute('class',c); // FF & Safari
        linkObj.className = c; // IE
    } 
}

/*function submitValue(type, screenName, formName, paramName, paramValue) {
    if (screenName != '') {
        alert('Thank you for submitting a ' + type + '!');
        eval('document.' + formName + '.' + paramName + '.value=' + paramValue);
        eval('document.' + formName + '.submit()');
    } else { 
        alert('You must be signed in to submit a ' + type + '!');
    }
}*/

function switchTab(moduleType, numTabs, activeTabNum, numSubTabs, activeSubTabNum) {
    
    //deactivate other tab(s)
    for (var i=1; i<numTabs; i++) {
        var otherTabnum = (activeTabNum + i) % numTabs;
        if (otherTabnum == 0) { otherTabnum = numTabs; }
        document.getElementById(moduleType+"_tab"+otherTabnum).className = "";
        document.getElementById(moduleType+"_tabcontent"+otherTabnum).style.display = "none";
    }

    //activate selected tab
    document.getElementById(moduleType+"_tab"+activeTabNum).className = "active";
    document.getElementById(moduleType+"_tabcontent"+activeTabNum).style.display = "";

    // check for subtabs
    if (numSubTabs) {
        //deactivate other subtab(s)
        for (var i=1; i<numSubTabs; i++) {
            var otherSubTabnum = (activeSubTabNum + i) % numSubTabs;
            if (otherSubTabnum == 0) { otherSubTabnum = numSubTabs; }
            document.getElementById(moduleType+"_tab"+activeTabNum+"_sub"+otherSubTabnum).className = "";
            document.getElementById(moduleType+"_tabcontent"+activeTabNum+"_sub"+otherSubTabnum).style.display = "none";
        }

        //activate selected subtab
        document.getElementById(moduleType+"_tab"+activeTabNum+"_sub"+activeSubTabNum).className = "active";
        document.getElementById(moduleType+"_tabcontent"+activeTabNum+"_sub"+activeSubTabNum).style.display = "";
    }
}

function bookmarkPage(url,title) {
    if (window.sidebar) { // Mozilla Firefox Bookmark
        window.sidebar.addPanel(title, url,"");
    } else if( window.external ) { // IE Favorite
        window.external.AddFavorite( url, title);
    } else if(window.opera && window.print) { // Opera Hotlist
        return true; 
    }
}

function shareMail(formName, toFieldName, msgFieldName, defaultTo, subject, url, alertMsg) {
    var bolSend = true;
    eval('var oShareForm = document.forms.'+ formName);
    
    eval('var shToEmail = oShareForm.' + toFieldName + '.value');
    if ( (shToEmail == '') || (shToEmail == defaultTo)) {
        alert(alertMsg);
        eval('oShareForm.'+ toFieldName + '.focus()');
        bolSend = false;
    }
    
    eval('var shMsg = oShareForm.'+msgFieldName+'.value');
    
    var strMailto = "mailto:";
    strMailto += shToEmail + "?";
    
    strMailto += "&subject=" + subject;
    strMailto += "&body=" + url + "%0D%0D" + shMsg;
    
    if (bolSend) { document.location.href = strMailto; }
}

function checkMaxLength(textareaObj) {
    // Check if we have words longer than maxLongChar chars and break them up
    var maxLongChar = 68; //NOTE: Must be an even number
    var objText = textareaObj.value;
    var regStrLength = new RegExp("([^\\s]{"+maxLongChar+"})", "i");
    var ar = regStrLength.exec(objText);
    if (ar) {
        var longWord = textareaObj.value.substring(ar.index,ar.index+maxLongChar+1);
        var halfWordLength = maxLongChar / 2;
        var firstHalf = longWord.substring(0,halfWordLength-1);
        var lastHalf = longWord.substring(halfWordLength-1,maxLongChar-1);
        var newWord = firstHalf + "- " + lastHalf;
        objText = objText.replace(longWord,newWord);
        textareaObj.value = objText;
    }

    // Enforce textarea maxLength
    var maxLength = textareaObj.getAttribute('maxlength');
    var currentLength = textareaObj.value.length;
    if (currentLength > maxLength)
        textareaObj.value=textareaObj.value.substring(0,maxLength)

    // Update counter object content with current character count
    var counter = document.getElementById(textareaObj.getAttribute('counter'));
    counter.firstChild.nodeValue = currentLength + '/' + maxLength;
}


//begin submit while you type code
//Filter Code Starts             
var timer;  
var chkTimer_fnRef;
var timeOutTime = 200;     

function clicker (strUrl) { 
    timer = 200;            
    if ('undefined' != typeof(chkTimer_fnRef)) {
        window.clearTimeout(chkTimer_fnRef);
    }            
    chkTimer_fnRef = window.setTimeout('chkTimer("'+strUrl+'")', timeOutTime);
}       
 
function chkTimer(strUrl) { 
    var qryObjId = document.getElementById('gameAssetSrchQry');
    if (0 < timer) {
        timer = timer - 50;
        if (qryObjId != '') {
            chkTimer_fnRef = window.setTimeout('chkTimer("'+strUrl+'")', timeOutTime);
        }
        return;
    }
    if(timer == 0) {              
        getGameAssetResult(strUrl);
    }
}       

function getGameAssetResult(strUrl) {   
    var gameAssetSrchQry = URLEncode(document.getElementById('gameAssetSrchQry').value);
  
    //MODIFIED BY KISHOREB
    //var modReqURL = "/mod.adp?_mo=1&_miid="+modID+"&search="+gameAssetSrchQry;
    var modReqURL = "_mo=1&_miid="+strUrl+"&search="+gameAssetSrchQry;
    var CntD = "ajaxSrcResp";

    /*==========================================
    //BELOW TWO FUNCTIONS ARE COMMENTED BY KISHOREB
    makeReq(modReqURL,CntD);
    adRefresh()
    ===========================================*/
    
    //browseAndPlayAjaxCall('genreBrowse',modReqURL);
    browseAndPlayAjaxCall('ajaxSrcResp',modReqURL);

}
   
//Filter Code Ends
// end submit while you type code


// cott.init OVERRIDE
cott.init = function() {
        var topLink = document.getElementById("toplink");
        var links = topLink.getElementsByTagName("A");
        cott.maxLink = links.length;
        if (links.length == 0) { return; }
        for(var i=0;i<links.length;i++) {
            //links[i].style.background = 'url(http://www.aolcdn.com/ch_games/games-sprite) 0 -289px no-repeat';
            links[i].style.zoom = 1;
            if (i>0) { links[i].style.display = 'none'; }
        }
        setTimeout("cott.rotateLink(2)", cott.timeout);
    };


window.addEventListener?window.addEventListener("load",gamesdotcomInit,false):window.attachEvent("onload",gamesdotcomInit);

//http://o.aolcdn.com/journals_js/journals_blog_this.js

// IMPORTANT NOTE
// ==============
// This is the blog_this fole hosted on the CDN servers under
// http://o.aolcdn.com/journals_js/journals_blog_this.js
// 
// Any changes made to this file need to be uploaded to the CDN servers.
// ==============

function openBlogThis (name)
{
        blog_url = encodeURI('http://edit.journals.aol.com/_do/blog_this');
        eurl = this.location;
        esubject = document.title;

    // Make sure the subject is a) defined and b) properly escaped
    esubject = esubject ? esubject.replace(/"/g, '&quot;') : '';

    // Get the selected text.
    var selectedText = '';
    var range;
    if (document.selection && document.selection.createRange) {
          range = document.selection.createRange();
      selectedText = range.htmlText;
    } else {
      if (window.getSelection) {
        var selection = window.getSelection();
        if (selection.rangeCount > 0) {
          range = selection.getRangeAt(0);
          var clonedSelection = range.cloneContents();
          var div = document.createElement('div');
          div.appendChild(clonedSelection);
          selectedText = div.innerHTML;
        }
      }
    }
    selectedText = escape(selectedText);

    // Prepare the journal entry input.
    var jeInput = '';
    jeInput += '<a href="';
    jeInput += eurl;
    jeInput += '">';
    jeInput += esubject;
    if(selectedText.length > 0)
    {
      jeInput += '<\/a> : "';
      jeInput += selectedText;
          jeInput += '"';
    }
    else
    {
      jeInput += '<\/a> : ';
    }

    // Declare the parameters for the new browser window.
    var params = 'directories=yes, location=yes, menubar=yes, resizable=yes, scrollbars=yes, status=yes, titlebar=yes, toolbar=yes, width=680, height=640';

    // IE 6 Workaround to prevent name collision.
    var windowIndex = Math.round(Math.random()*100000);
    name = name + windowIndex;

    // Open the Blog This page in the new browser window.
    var blogThisWindow = window.open('about:blank', name, params);

        // Add hidden form elements
        var form = document.forms['blog_this_form'];
        var cu = document.createElement("input");
        cu.type="hidden";
        cu.name = "cu";
        cu.value = "javascript:window.close();";

        var js = document.createElement("input");
        js.type="hidden";
        js.name = "js";
        js.value = esubject;

        var je = document.createElement("input");
        je.type="hidden";
        je.name = "je";
        je.value = jeInput;

        form.appendChild(cu);
        form.appendChild(js);
        form.appendChild(je);

    // Set form values.
    document.blog_this_form.action = blog_url;
    document.blog_this_form.target = name;

    // Post form.
    document.blog_this_form.submit();

    // Give focus to new browser window.
    if (window.focus) { blogThisWindow.focus(); }
};

//    CONTAINS
var targetDiv;
function browseAndPlayAjaxCall(tDiv,qs) {
    var targetUrl = "games_ajax.adp?"+qs;
    targetDiv = tDiv;
    //alert("afterturlsdf : "+targetUrl+"\ntDiv : "+targetDiv);
    makeRequest(targetUrl,browseAndPlayAjaxResult);
}

function browseAndPlayAjaxResult (url, response, obj) {
    var strRes = removeSpaces(response);
    //strRes = removeSpaces(strRes.replace("<div id=\"genreBrowse\" class=\"module gameDisMod\">",""));
    //alert("match : "+strRes.match("<div id=\"genreBrowse\" class=\"module gameDisMod\">"));
    //alert ("target div  : "+targetDiv);
    
    var divElm = document.getElementById(targetDiv);
    divElm.innerHTML = strRes;
    //gamesdotcomInit();
    gameDetail();
    //divElm.innerHTML = "testing";
    return;
}

// THIS FUNCTION GET THE SELECTED TEXT AND RETURNS THE NUMBER
function setOmnitureData(strOmniture,strPageNo,e){
    strPageNo = removeSpaces(strPageNo);
    strPageNo = removeSpaces(strPageNo.substring(0,strPageNo.indexOf(" ")));
    sendOmniturePI(strOmniture+"-"+strPageNo);
}

//    THIS FUNCTION IS USED TO IMPLEMENT OMNITURE LINK TRACKING
//    REQUIRES OBJECT AND TITLE AS INPUT PARAMETERS
function sendOmnitureLT(obj,linkName) {
    s_265.prop20 = linkName;
    s_265.tl(obj,'o',linkName);
}

//    THIS FUNCTION IS USED TO DO URL ENCODE

function URLEncode(strPlainText)
{
    // The Javascript escape and unescape functions do not correspond
    // with what browsers actually do...
    var SAFECHARS = "0123456789" +                    // Numeric
                    "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +    // Alphabetic
                    "abcdefghijklmnopqrstuvwxyz" +
                    "-_.!~*'()";                    // RFC2396 Mark characters
    var HEX = "0123456789ABCDEF";

    var plaintext = strPlainText;
    var encoded = "";
    for (var i = 0; i < plaintext.length; i++ ) {
        var ch = plaintext.charAt(i);
        if (ch == " ") {
            encoded += "+";                // x-www-urlencoded, rather than %20
        } else if (SAFECHARS.indexOf(ch) != -1) {
            encoded += ch;
        } else {
            var charCode = ch.charCodeAt(0);
            if (charCode > 255) {
                alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
                          "(URL encoding only supports 8-bit characters.)\n" +
                          "A space (+) will be substituted." );
                encoded += "+";
            } else {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    } // for
    return encoded;
}
