/*  Pup Settings Object
 *  (c) 2008 Polder Knowledge
 *--------------------------------------------------------------------------*/
var settings = {
	ajax_index_location: 'index_ajax.php'
}

//base class for functions in classes to give it onStart, onBusy, onError, onSucces ,onComplete
var state_function = {
	options:'',
	code:'',
	finished:true,
	execute:function(){
		if(!is_object(this.options)) this.options = {};
		if(Object.isFunction(this.options.onStart)) this.options.onStart();
		if(Object.isFunction(this.options.onBusy)) this.options.onBusy();
		if(Object.isFunction(this.code)){
			try{
		 		this.code();
				if(Object.isFunction(this.options.onSucces)) this.options.onSucces();
			}catch(e){
				if(Object.isFunction(this.options.onError)) this.options.onError();
			}
		}
		if(Object.isFunction(this.options.onComplete)) this.options.onComplete();
	}
}

var functions = {
	scriptsonload:{
		windowonloadevents:new Array(),
		execute:function(){
			for(var i = 0;i < functions.scriptsonload.windowonloadevents.length;i++){
				eval(functions.scriptsonload.windowonloadevents[i]);
			}
		},
		add:function(p_oFunction){
			functions.scriptsonload.windowonloadevents[functions.scriptsonload.windowonloadevents.length] = p_oFunction;
		}
	},
	scriptsunload:{
		windowunloadevents:new Array(),
		execute:function(){
			for(var i = 0;i < functions.scriptsunload.windowunloadevents.length;i++){
				eval(functions.scriptsunload.windowunloadevents[i]);
			}
		},
		add:function(p_oFunction){
			functions.scriptsunload.windowunloadevents[functions.scriptsunload.windowunloadevents.length] = p_oFunction;
		}
	}
}



var alreadyrunflag=0 //flag to indicate whether target function has already been run

if (document.addEventListener)
  document.addEventListener("DOMContentLoaded", function(){alreadyrunflag=1;  functions.scriptsonload.execute();}, false)
else if (document.all && !window.opera){
  document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
  var contentloadtag=document.getElementById("contentloadtag")
  contentloadtag.onreadystatechange=function(){
    if (this.readyState=="complete"){
      alreadyrunflag=1
     functions.scriptsonload.execute();
    }
  }
}

window.onload=function(){
  setTimeout("if (!alreadyrunflag){ functions.scriptsonload.execute();}", 0)
}

//window.onload = functions.scriptsonload.execute;
window.onbeforeunload = functions.scriptsunload.execute;