﻿var loadedobjects = '';
var rootdomain = 'http://' + window.location.hostname;
var loader = '<div class="loading"></div>';

function ajaxref(){
	var minutes = 1000 * 60;
	var hours = minutes * 60;
	var days = hours * 24;
	var years = days * 365;
	var d = new Date();
	var t = d.getTime();
	return t;
}

function ajaxpage(url, containerid, load) {
	
	var container = document.getElementById(containerid);
	
	if(container && url){
		if(load){container.innerHTML = loader;}
		ajaxdo(url, containerid, ajaxKey);
	}
}

function ajaxdo(url, containerid) {
	var page_request = false;
	var _url;
	var _no;

	if(url.indexOf("?")==-1){_no = '?~' + ajaxref();}else{_no = '&~' + ajaxref();}
	_url = url + _no;
	
	if(window.XMLHttpRequest){
		page_request = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		try{
			page_request = new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				page_request = new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){}
		}
	}else{
		return false;
	}
	
	page_request.onreadystatechange = function(){
	    loadpage(page_request, containerid);
	}

	page_request.open('GET', _url, true);
	page_request.send(null);
}

function loadpage(page_request, containerid) {
    if (page_request.readyState == 4 && (page_request.status == 200 || window.location.href.indexOf('http') == -1)) {
        document.getElementById(containerid).innerHTML = null;
	    document.getElementById(containerid).innerHTML = page_request.responseText;
	    var ob = document.getElementById(containerid).getElementsByTagName("script");
	    if(ob)
	    {
	        for(var i=0; i<ob.length; i++)
		    {
                if(ob[i].text!=null)
                {
                    if (window.execScript) 
                        window.execScript(ob[i].text);
                    else 
                        eval.call(null, ob[i].text);
                }
            }
        }
	}
}

History.Adapter.bind(window, 'statechange', function () {

    var State = History.getState();

    //alert('statechange');
    //History.log(State.data, State.title, State.url);

});

History.Adapter.bind(window, 'hashchange', function () {

    var State = History.getState();

    //alert('hashchange');
    //History.log(State.data, State.title, State.url);

});

History.Adapter.bind(window, 'anchorchange', function () {

    var State = History.getState();

    //alert('anchorchange');
    //History.log(State.data, State.title, State.url);

});

History.Adapter.onDomLoad(function () {

    var State = History.getState();

    //alert('onDomLoad');
    //History.log(State.data, State.title, State.url);

}); 

History.Adapter.bind(window, 'popstate', function () {

    var State = History.getState();

//    alert('hashchange');
//    History.log(State.data, State.title, State.url);

});

