
/*
 * Homepage
 */

/* For homepage Whats Hot Toggling and Cookie Monstering
---------------------------------------------------------------*/

function hotToggle(){
    if(document.getElementById("whatsup")){
        if(document.getElementById("whatsup").className == "box open")
            {
                hotCorners(0);
                //setCookie("hp-wh-state","0",365,".technorati.com");
            }
        else
            {
                hotCorners(1);
            //    setCookie("hp-wh-state","1",365,".technorati.com");
            }
    }
}


function hotCorners(i){
    if(document.getElementById("whatsup")){
        if(i == 0) {
            if(document.getElementById("whatsup").className != "box")
                { document.getElementById("whatsup").className = "box"; }
            }
        else {
            if(document.getElementById("whatsup").className != "box open")
                { document.getElementById("whatsup").className = "box open"; }
        }
    }
//    cornerFix();

}

function hotTab(tab){
    hotCorners(1);
//    cornerFix();
//    setCookie("hp-wh-state","1",365,".technorati.com");
//    setCookie("hp-wh-tab",tab,365,".technorati.com");
}



// -----=====-----


/*
 * General
 */



function hasClass(object, className) {
    if (!object.className) return false;
    return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
}

function removeClass(object,className) {
    if (!object) return;
    object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2);
}

function addClass(object,className) {
    if (!object || hasClass(object, className)) return;
    if (object.className) {
        object.className += ' '+className;
    } else {
        object.className = className;
    }
}

function isParentOrSelf(element, id) {
    if (element == null || element.nodeName=='BODY') return false;
    else if (element.id == id) return true;
    else return isParentOrSelf(element.parentNode, id);
}

function GetElementsWithClassName(elementName,className) {
    var allElements = document.getElementsByTagName(elementName);
    var elemColl = new Array();
    for (var i = 0; i< allElements.length; i++) {
        if (hasClass(allElements[i], className)) {
            elemColl[elemColl.length] = allElements[i];
        }
    }
    return elemColl;
}


function cornerFix() {
    corners = GetElementsWithClassName('b','cn');
    for (var i = 0; i < corners.length; i++) {
        if (hasClass(corners[i],'bl') || hasClass(corners[i],'br')) {
            if (corners[i].style.marginBottom == '1px') {
                corners[i].style.marginBottom = '0';
                corners[i].style.bottom = '-1px';
            } else {
                corners[i].style.marginBottom = '1px';
                corners[i].style.bottom = '-2px';
            }
        }
    }
}

function changePanes(scope,newPane) {
    if (!newPane) return;
    panes = GetElementsWithClassName('div',scope+'-sub');
    for (var i = 0; i < panes.length; i++) {
        panes[i].style.display = 'none';
    }
    document.getElementById(scope+'-'+newPane).style.display = 'block';
    if (navigator.userAgent.indexOf('Safari') > 0) cornerFix();
}


function subTab(scope,newTab) {
    if (!newTab) return;
    tabs = GetElementsWithClassName('*','activetab');
    for (i = 0; i < tabs.length; i++) {
        if (isParentOrSelf(tabs[i],scope+'-tabs')) {
            removeClass(tabs[i],'activetab');
        }
    }
    obj = document.getElementById(scope+'tab-'+newTab);
    addClass(obj,'activetab');
    obj.focus;
    changePanes(scope,newTab);

}


/*
 * onLoad
 */

// http://simon.incutio.com/archive/2004/05/26/addLoadEvent
// Adds to the window.onload event

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


addLoadEvent(function() {
    //if (document.getElementById("sponsors")) document.getElementById("sponsors").style.display = "block";
//    if (navigator.userAgent.indexOf('Safari') > 0) cornerFix();
});




function boxToggle(id,cookiename){

    l = document.getElementById(id);


    if(l){
        if(hasClass(l,"open"))
            {
                removeClass(l,"open");
                cornerFix();
                setCookie(cookiename,"0",365,".technorati.com");
            }
        else
            {
                addClass(l,"open");
                cornerFix();
                setCookie(cookiename,"1",365,".technorati.com");
            }
    }
}




/*
 * Cookie
 */


function setCookie(cookieName,cookieValue,nDays,domain) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString()
                 + ";domain=" + domain;
}


function deleteCookie(name, domain)
{
    alert("delete cookie function");
    if (getCookie(name))
    {
        alert("getcookie has worked");
        document.cookie = name + "=" +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}


function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}



/*
 * Sample Tags
 */


function toggleTagLink(o){
    if(o)
        { document.getElementById("taglink").style.display = "block"; }
    else
        { document.getElementById("taglink").style.display = "none";  }
}





