// Header2.0  (SEARCH BAR)
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='700px';
 oDiv.style.top='47px';
}
// Begin : Headers 2 code
String.prototype.trim = function() {
 return this.replace(/^\s+|\s+$/g,"");
}

function srchSub(ref){
 var frm=p_o("s_form");
 var queryval = frm.topquery.value.trim();
 queryval = queryval.replace( /\+/, " ");
 newurl = ref.href + queryval;
 window.location = newurl;
 return false;
}

function searchTarget(url, newWindow, newTarget) {
 // Set the target for the form
 document.s_form.action = url;
 if (newWindow) {
 document.s_form.target = '_blank';

 } else {
 document.s_form.target = '';

 }


 // Update the tabs classes to allow highlighting of the selected
 var arrElements = getElementsByClassName ('selected', 'li');
 for (var i=0; i<arrElements.length; i++) {
 arrElements[i].className = '';
 }
 document.getElementById(newTarget).className = 'selected';

  var searchfield=document.getElementById('queryname');
  if(document.getElementById(newTarget).id == 'search-tab-blog'){
  searchfield.name='q';
  } else {
   searchfield.name='query';
  }

 return false;
}


function searchTarget2(url, newWindow, newTarget) {
 // Set the target for the form
 document.s_form2.action = url;
 if (newWindow) {
 document.s_form2.target = '_blank';

 } else {
 document.s_form2.target = '';

 }


 // Update the tabs classes to allow highlighting of the selected
 var arrElements = getElementsByClassName ('selected', 'li');
 for (var i=0; i<arrElements.length; i++) {
 arrElements[i].className = '';
 }
 document.getElementById(newTarget).className = 'selected';

  var searchfield2=document.getElementById('queryname2');
  if(document.getElementById(newTarget).id == 'search-tab-blog2'){
  searchfield2.name='q';
  } else {
   searchfield2.name='query';
  }

 return false;
}


function getElementsByClassName(strClass, strTag, objContElm) {
 strTag = strTag || "*";
 objContElm = objContElm || document;
 var objColl = objContElm.getElementsByTagName(strTag);
 if (!objColl.length && strTag == "*" && objContElm.all) objColl = objContElm.all;
 var arr = new Array();
 var delim = strClass.indexOf('|') != -1 ? '|' : ' ';
 var arrClass = strClass.split(delim);
 for (var i = 0, j = objColl.length; i < j; i++) {
 var arrObjClass = objColl[i].className.split(' ');
 if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
 var c = 0;
 comparisonLoop:
 for (var k = 0, l = arrObjClass.length; k < l; k++) {
 for (var m = 0, n = arrClass.length; m < n; m++) {
 if (arrClass[m] == arrObjClass[k]) c++;
 if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
 arr[arr.length] = objColl[i];
 //arr.push(objColl[i]);
 break comparisonLoop;
 }
 }
 }
 }
 return arr;
}

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("s_form");
 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;
}

// 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;
}


//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||d.documentElement.offsetHeight;
                        opt.doCod();
                        opt.ae(window,'scroll',opt.doCod);
        },
        res:function(){
                docHg=w.innerHeight||d.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);
        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";
}


function fly_in(divId) { 
	document.getElementById(divId).className = 'flyDiv'; return false; 
} 
function fly_out(divId) {
	document.getElementById(divId).className = 'hide-me'; return false; 
}
