var isFirstPage = true;
var StateManager = Class.create();
StateManager.sendMessage = false;
StateManager.currentLocation = window.location.hash;
StateManager.getState = function (){
  var query = StateManager.getQuery();
  var state = new Object();
  var stateArray = query.split('&');
  for (var i=0; i<stateArray.length; i++) {
    var keyArray = stateArray[i].split('=');
    state[keyArray[0]] = keyArray[1];
  }
  return state;
}
StateManager.getQuery = function() {
  if((window.location.href.indexOf("#")!= -1)) {
  	return "bookmark="+window.location.href.substring(window.location.href.indexOf("#")+1, window.location.href.length);
  } else {
    return "bookmark=null";
  }
}

function initialize() {
  // initialize our DHTML history
  dhtmlHistory.initialize();
  // subscribe to DHTML history change
  // events
  dhtmlHistory.addListener(historyChange);
	so.write("flashcontent");
  $('preloader').focus();
}

/** Our callback to receive history 
   change events. */
function historyChange(newLocation,  historyData) {
  isFirstPage = !historyData;
  applicationProxy.call('setState', StateManager.getState());
}

function debugMsg(msg) {
  var debugMsg = 
    document.getElementById("debugMsg");
  debugMsg.innerHTML = msg;
}

function addHistoryEvent(){
  dhtmlHistory.add.apply(dhtmlHistory, arguments);
};

function goBack(){
  if (!isFirstPage) { history.back(); }
  else { applicationProxy.call('setState', StateManager.getState()); }
};