// WINDOW load
Event.observe(window, 'load', function() {
	
});


window.dhtmlHistory.create({
  toJSON: function(o) { return Object.toJSON(o); },
  fromJSON: function(s) { return s.evalJSON(); } 
});

//Event Observations 
Event.observe(window, 'load', function() {
    dhtmlHistory.initialize(); 
    dhtmlHistory.addListener(load);
});

load = function(page) {
	if (jQuery.trim(page) != '') {
		openPage(page);
		dhtmlHistory.add(page);
	} return false; 
};



// DOM load
document.observe("dom:loaded", function() {
  updateLinks('main_nav');
  updateLinks('main');
  updateLinks('right');
});

// WINDOW resize
Event.observe(window, 'resize', function() {
	
});





// function for ajax links
function openPage (page) {
  var body = $('main');
  var sidebar = $('right');
  body.innerHTML = "<img src='assets/images/logos/loading.png' alt='Loading...' />";
  sidebar.innerHTML = "<img src='assets/images/logos/loading.png' alt='Loading...' />";
	var query_url = page.replace("http://", "");
	var query_url = query_url.replace("index.php?page=", "news.html?page=");
	var query_url = query_url.replace("?", "_q_");
	var query_url = query_url.replace("&", "_q_");
  var ajax_url = 'custom/ajax.php?part=MAIN&u=' + query_url;
	// MAIN
	new Ajax.Updater('main', ajax_url, {
		evalScripts: true, 
		method: 'get', 
		onComplete: function() {
			updateLinks('main');
		}
	});
  /*new Ajax.Request(ajax_url, {
		method: 'get',
		evalScripts: true, 
    onSuccess: function(transport) {
      var full_page_content = transport.responseText;
      body.innerHTML = full_page_content;
			updateLinks('main');
    }
  });*/
  
	// SIDEBAR
  var ajax_url = 'custom/ajax.php?part=RIGHT&u=' + query_url;
  new Ajax.Request(ajax_url, {
    method: 'get',
    onSuccess: function(transport) {
      var full_page_content = transport.responseText;
      sidebar.innerHTML = full_page_content;
			updateLinks('right');
    }
  });
	
	dhtmlHistory.add(query_url.replace(this_base, ''));
	
  return false;
}

function updateLinks (div) {
	$$('#' + div + ' a').each(
    function (el) {
    	relative_url = el.href.replace(this_base, '');
      if (el.hasClassName('external') == false 	// not an external link by class
					&& el.hasClassName('stbutton') == false 	// not an external link by class
					&& (' ' + relative_url).indexOf('http://') <= 0) {	// not an external link by href containing http://
        el.observe('click', function(ev) {
	        //el = ev.target || ev.srcElement;
	        resetNav();
	        if (div == 'main_nav') {
		        el.up('li').addClassName('active');
	        }
          openPage(el.href.replace(this_base, ''));
          ev.stop();
        });
      }
    }
  );
  // fix pagination links with ajax
  $$('.pagination li a').each(function(el) {
  	var page_no = el.href;
  	page_no = page_no.charAt(page_no.length-1);
  	el.href = "news.html?page=" + page_no;
  });
}

function resetNav () {
	$$('#main_nav a').each(
		function (el) {
			if (el.up('li'))
				el.up('li').removeClassName('active');
		}
	)
}

function setAjaxForm() {
	Event.observe('mailing_list_form', 'submit', function(event) {
		$('mailing_list_container').insert({ 'before' : "<div id='temp_status'><center><strong>Saving your details...</strong></center></div>" });
		$('mailing_list_form').style.display = 'none';
    $('mailing_list_form').request({
      onFailure: function() { alert('An error has occurred, please try again soon.'); },
      onSuccess: function(t) {
	      $('temp_status').style.display = 'none';
      	$('mailing_list_container').update('<center><strong>' + t.responseText + '</strong></center>');/*"<center><img src='assets/images/logos/thanks_sign.jpg' alt='Thanks' /></center>"*/
      }
    });
    Event.stop(event);
	});
}



// Email Updates OPEN highslide hook
function openEmailUpdates () {
	$('mailing_list_signup').onclick();
  window.setTimeout(setAjaxForm, 2000);
	return false;
}

// Audio player OPEN flash + top panel hook
function openAudioPlayer () {
	var params = { menu: "false", repeat: "false", wmode: "opaque", width: "475", height: "135", quality: "high", align: "middle", scale: "noscale", bgcolor: "#000", allowFullScreen: "false", allowScriptAccess: "sameDomain", salign: "lt" };
  var attributes = { id: "audio_player_control", name: "audio_player_control" };
  attributes.id = "audio_player_control";
  swfobject.embedSWF("assets/flash/audioplayer.swf", "audio_player_control", "475", "135", "8.0.0", "assets/flash/expressInstall.swf", flashvars, params, attributes);
	
	//Effect.Scroll(window, { y: 0, duration: 1 })
	
	$('audio_player').slideDown();
	return false;
}

// Audio player CLOSE flash + top panel hook
function closeAudioPlayer () {
	$('audio_player').slideUp();
	return false;
}

function updateMailingList() {
	var options = {
	    errorClass: 'mce_inline_error',
	    errorElement: 'div',
	    errorStyle: err_style,
	    onkeyup: function() {},
	    onfocusout: function() {},
	    onblur: function() {}
	};
	var mce_validator = mce_jQuery("#mc-embedded-subscribe-form").validate(options);
	options = {
	    url: 'http://decemberists.us1.list-manage.com/subscribe/post-json?u=ae21e715e4a42f12fa4e0ed80&id=e282d33c86&c=?',
	    type: 'GET',
	    dataType: 'json',
	    contentType: "application/json; charset=utf-8",
	    beforeSubmit: function() {
	        mce_jQuery('#mce_tmp_error_msg').remove();
	        mce_jQuery('.datefield', '#mc_embed_signup').each(function() {
	            var txt = 'filled';
	            var fields = new Array();
	            var i = 0;
	            mce_jQuery(':text', this).each(function() {
	                fields[i] = this;
	                i++;
	            });
	            mce_jQuery(':hidden', this).each(function() {
	                if (fields[0].value == 'MM' && fields[1].value == 'DD' && fields[2].value == 'YYYY') {
	                    this.value = '';
	                } else if (fields[0].value == '' && fields[1].value == '' && fields[2].value == '') {
	                    this.value = '';
	                } else {
	                    this.value = fields[0].value + '/' + fields[1].value + '/' + fields[2].value;
	                }
	            });
	        });
	        return mce_validator.form();
	    },
	    success: mce_success_cb
	};
	mce_jQuery('#mc-embedded-subscribe-form').ajaxForm(options);
}