                 
                     
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);
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function hideSummaries(txt){
	var summaries = getElementsByClassName(document, "div", "summary");
	
	//var ww = 'weather_'+bid;
	for( var i=0; i < summaries.length; i++ ){
	        var summary = summaries[i];
		summary.style.display = 'none';
	}
	document.getElementById("summary_toggle").innerHTML = '<a href="javascript: showSummaries();">Show Summaries</a>';
	createCookie('summary', 'hide');
}	

function showSummaries(txt){
	var summaries = getElementsByClassName(document, "div", "summary");
	
	//var ww = 'weather_'+bid;
	for( var i=0; i < summaries.length; i++ ){
	        var summary = summaries[i];
		summary.style.display = 'block';
	}
	document.getElementById("summary_toggle").innerHTML = '<a href="javascript: hideSummaries();">Hide Summaries</a>';
	createCookie('summary', 'show');
}

function runScripts(){
 var initscripts = getElementsByClassName(document, 'script', 'scripttorun');
    for( var i=0; i < initscripts.length; i++ ){
        if(initscripts[i].text!="") {
            var txt = initscripts[i].text;
            if(window.execScript) {
                try{
                    window.execScript(txt);
                } catch(e) {}
            } else {
                window.eval(txt);
            }
        }
    }
}


function updateContents(content){
	document.getElementById('content').innerHTML = content;
	if(document.getElementById("summary_toggle")){
		if(readCookie('summary') == 'hide'){
			hideSummaries();
			document.getElementById("summary_toggle").innerHTML = '<a href="javascript: showSummaries();">Show Summaries</a>';
		}
	}
	runScripts();
}	


function page(id) {
	var url = "get_contents.php";
	var parameters = '?page_id='+id;
	var callback_function = 'updateContents';
	makeRequest(url, callback_function, parameters);
}

function article(id){
	var url = "get_article.php";
	var parameters = '?page_id='+id;
	var callback_function = 'updateContents';
	makeRequest(url, callback_function, parameters);
}

function book(id){
	var url = "get_book.php";
	var parameters = '?page_id='+id;
	var callback_function = 'updateContents';
	makeRequest(url, callback_function, parameters);
}
	
function event(id){
	var url = "get_event.php";
	var parameters = '?page_id='+id;
	var callback_function = 'updateContents';
	makeRequest(url, callback_function, parameters);
}	
	
function makeRequest(url, callback_function, parameters){
	var ispost = false;
	

	document.getElementById('content').innerHTML = 'Loading...';
        document.getElementById('topbar').focus();
    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) {
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
            }
        }
    }

     if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
     }

    http_request.onreadystatechange = function() {
       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
                return_xml = false;
               if (return_xml) {
                   eval(callback_function + '(http_request.responseXML)');
               } else {
                   eval(callback_function + '(http_request.responseText)');
               }
           } else {
               alert('There was a problem with the request.(Code: ' + http_request.status + ')');
           }
       }
    }
    
    if (ispost) {
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
    } else {
        http_request.open('GET', url + parameters, true);
        if (window.XMLHttpRequest) {
            http_request.send(null);
        } else if (window.ActiveXObject) {
            http_request.send();
        }
    }
 }
