function safe_button(theButtonId){
	$(theButtonId).update('Please wait...').disable();
}
c = function (event) {
	if (confirm('Are you sure you want to delete? There is no Undo!')) {
		return true;
	} else {
		Event.stop(event);
	}
};
var Cookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire + '; path=/');
  },
  get: function(name) {
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    Cookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') === '1');
  }
};
document.observe('dom:loaded',function(){
	if($('reset_site')){
		$('reset_site').observe('click',function(evt){
			if(!confirm('Are you sure you want to reset this counter? There is no Undo!')) evt.stop();
		});
	}
	if($('delete')){
		$('delete').observe('click',c);
	}
	$$('div.flash').each(function(elm){
		if(!elm.hasClassName('error')) new Effect.Fade(elm,{delay:2});
	});
	$$('form.edit_form').each(function(elm){
		new Form.Observer(elm, 0.3, function(form, value){
			if($('preview')) $('preview').update('Please save your changes').addClassName('caption');
		});
	})
	$$('a[rel~="external"]').each(function(elm){elm.target = '_blank'});
	
	if($('ip')){
		var cook = Cookie.get('cloaked');
		if(cook == 'hide'){
			$('ip').addClassName('cloak').title = 'show hits from this address';
		}
		$('ip').observe('click',function(evt){
			evt.stop();
			if($('ip').hasClassName('cloak')){
				$('ip').removeClassName('cloak').title = 'hide hits from this address';
				Cookie.set('cloaked','');
			}else{
				$('ip').addClassName('cloak').title = 'show hits from this address';
				Cookie.set('cloaked','hide');
			}
			new Ajax.Updater('main',window.location.href,{
				'method':'get',
				evalScripts: true
			});
		});
	}
	var setup_archive_delete = function(){
		$$('img.delete').invoke('observe','click',function(evt){
			evt.stop();
			if (confirm('Are you sure you want to delete? There is no Undo!')){
				var elm = evt.element();
				var theId = elm.id.replace(/[^\d]*/gi,'');
				new Ajax.Request('ajax_delete_archive.php',{
					parameters:{id:theId},
					onCreate:function(){
						elm.src = 'Resources/spinner.gif';
					},
					onComplete:function(){
						new Ajax.Updater('main',window.location.href,{
							'method':'get',
							evalScripts: true,
							onComplete: setup_archive_delete
						});
					}
				});
			}
		});
	};
	if($('hits_list')){
		new Ajax.PeriodicalUpdater('hits_list','/counter2/sites/overview',{method:'get',frequency:8,decay:2});
	}
	if($('stats')){
		new Ajax.PeriodicalUpdater('stats','/counter2/home/stats',{method:'get',frequency:8,decay:2,evalScripts:true});
	}
	
	if($('archives')) setup_archive_delete();
	$$('a.detail').invoke('observe','click',function(evt){
		evt.stop();
		var td = evt.element().up('td');
		new Ajax.Updater(td,evt.element().href,{
			'method':'get',
			onCreate:function(){
				td.insert({top:'<img src="Resources/spinner.gif" width="16" height="16" alt="" />'});
			}
		});
	});
    var DEF_VAL = 'Search...';
	$$('input.search').each(function(elm){
		if(Prototype.Browser.WebKit){
			elm.setAttribute('type', 'search');
			elm.setAttribute('autosave', 'saved.data');
			elm.setAttribute('results', '5');
			elm.setAttribute('placeholder', DEF_VAL);
		}else{
			if(elm.getValue() == '') elm.setValue(DEF_VAL);
			elm.addClassName('safari');
			elm.observe('focus',function(){
				if(elm.getValue() == DEF_VAL) elm.clear();
			});
			elm.observe('blur',function(){
				if(elm.getValue() == '') elm.setValue(DEF_VAL);
			});
		}
	});
});

