
var step = 0 ;

function slideit(num, time){
    if (!document.images)  return;
    if (time==null || time<1000)  time = 1000;
    
    step = (step<num)? step + 1 : 1;
    document.images.slide.src=eval("image"+ step +".src");

    setTimeout( ("slideit("+num+")") , time);
}

function slidelink(url){
    window.location=url;
}


function display(id){
    document.getElementById(id).style.display="block";
}

function hide(id){
    document.getElementById(id).style.display="none";
}

function show(id){
    hide ('m1');
    hide ('m2');
    hide ('m3');
    hide ('m4');
    hide ('m5');
    display(id);
    return false ;
}

function on(id){
    document.getElementById(id).className="on" ;
}

function off(id){
    document.getElementById(id).className="off" ;
}

function menufocus(id){
    document.getElementById(id).className="topmenu item link focus" ;
}

function onmenu(id){
    off ('mm0');
    off ('mm1');
    off ('mm2');
    off ('mm3');
    off ('mm4');
    off ('mm5');
    on(id);
    return false ;
}

function sendRequest(callback, url, div, postData) {
    //alert('calling sendRequest 1');
    var req = createXMLHTTPObject();
    if (!req) return;
    //alert('calling sendRequest 2 req = ' + req );
    var method = (postData) ? "POST" : "GET";
    req.open(method,url,true);
    req.setRequestHeader('User-Agent','XMLHTTP/1.0');
    if (postData)
        req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
        
    req.onreadystatechange = function () {
        //alert('@onreadystatechange req.readyState=' + req.readyState );
        if (req.readyState != 4) return;
        if (req.status != 200 && req.status != 304) {
            alert('HTTP error ' + req.status);
            return;
        }
        
        //alert('calling callback ');
        callback(req, div);
    }
    if (req.readyState == 4) return;
    req.send(postData);
    
    //alert('calling sendRequest 9');
}

var XMLHttpFactories = [
    function () {return new XMLHttpRequest()},
    function () {return new ActiveXObject("Msxml2.XMLHTTP")},
    function () {return new ActiveXObject("Msxml3.XMLHTTP")},
    function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
    var xmlhttp = false;
    for (var i=0;i<XMLHttpFactories.length;i++) {
        try {
            xmlhttp = XMLHttpFactories[i]();
        }
        catch (e) {
            continue;
        }
        break;
    }
    return xmlhttp;
}

/*  
usage: sendRequest(setContents, 'file.txt', 'div');
*/
function setContents(req,div) {
    //alert('calling setRightSideBar');
    if (!div) return;
    var importBlock = document.getElementById(div);
    //alert(req.responseText);
    if (!importBlock) return;
    importBlock.innerHTML = req.responseText;
}


/* PREPARING THE HEADER */
function setHeader(req) {
    var header = document.createElement('div');
    header.className = 'pageHeader';
    document.body.insertBefore(header,document.body.firstChild);
    header.innerHTML = req.responseText;
    document.getElementById('lastMod').innerHTML = lastMod();
    var lastModContainer = document.getElementById('lastModPar')
//  lastModContainer.style.marginLeft = 243 - lastModContainer.clientWidth + 'px';
    document.body.insertBefore(lastModContainer,document.body.firstChild);
    var searchBox = document.getElementById('searchTop');
    if (!searchBox) return;
    searchBox.onfocus = function () {
        if (this.value == this.defaultValue) this.value = '';   
    }
    searchBox.onblur = function () {
        if (!this.value) this.value = this.defaultValue;    
    }
    searchBox.form.onsubmit = function () {
        searchBox.value = 'site:www.quirksmode.org ' + searchBox.value;
    }
}

/* IMPORT MAIN NAVIGATION */
function setNavigation(req) {
    var importHeader = document.getElementById('header');
    if (!importHeader) return;
    importHeader.innerHTML = req.responseText;
    document.getElementById('menuLink').onclick = getMainNav;
    if (Preferences.showSiteNav && Preferences.showSiteNav == 'yes') {
        document.getElementById('menuLink').onclick();
    }
}

/* IMPORT Extra Right side bar */
function setRightSideBar(req,div) {
    //alert('calling setRightSideBar');
    if (!div) return;
    var importBlock = document.getElementById(div);
    //alert(req.responseText);
    if (!importBlock) return;
    importBlock.innerHTML = req.responseText;
}
