/**
 * PLG Delegates System
 * Copyright ©2008 - 2010 Walter Davis Studio for Talking Images LTD
 * All Rights Reserved.
 * This code may be used as part of a licensed PLG Delegates System as specified under the license agreement.
 * No modifications or re-use of this system is permitted, unless authorized in writing by the license holders.
 *
 * @author Walter Lee Davis
 */
function safe_button(theButtonId){
	$(theButtonId).disable();
	$(theButtonId).value = 'Please wait...';
}
var c = function (event) {
	if (confirm('Are you sure you want to delete? There is no Undo!')) {
		return true;
	} else {
		Event.stop(event);
	}
};
document.observe('dom:loaded',function(){
	if($('delete')){
		$('delete').observe('click',c);
	}
	$$('form').invoke('observe','submit',function(evt){if(evt.element().getInputs('submit').find(function(elm){return (elm.id == 'submit' || elm.id == 'delete' || elm.id == 'duplicate') }))return safe_button('submit')});

	$$('a[rel~="new_window"]').each(function(elm){elm.target = '_blank'});
	$$('div.flash').each(function(elm){
		if(!elm.hasClassName('error')) new Effect.Fade(elm,{delay:2});
	});
	stripe = 'odd';
	var alternate = function(){
		if(stripe == 'even'){
			stripe = 'odd';
		}else{
			stripe = 'even';
		}
		return stripe;
	}
	if($('delegates') && $('filter')){
		var list = $$("#delegates li");
		var lastValue = $F("filter");
		var timeout = false;
		for (var i = list.length - 1; i >= 0; i--){
			list[i]['d'] = list[i].innerHTML.replace(/\[?<a[^>]+>|contact?|<\/a>]?/gi,'').toLowerCase();
		};
		var total = new Number(list.length);
		$('filter').observe('keyup', function(e) {
			var value = this.value;
			clearTimeout(timeout);
			if (value !== lastValue) {
				value = value.toLowerCase();
				var stripe = 'even';
				timeout = setTimeout(function(){
					var showing = new Number(total);
					list.each(function(el) {
						if (el.d.include(value)) {
							Element.show(el);
							el.className = alternate();
						}else{
							Element.hide(el);
							showing --;
						}
					})
					lastValue = value;
					if(showing < total) {
						$('message').update('Showing ' + showing + ' of ' + total + '.');
					}else{
						$('message').update('');
					}
				}, 200);
			}
		});
	}
	if($('clear') && $('filter')){
		$('clear').observe('click',function(evt){
			var stripe = 'even';
			$$("#delegates li").each(function(elm){
				elm.show().className = alternate();
			});
			$('filter').clear().activate().blur();
			$('message').update('');
		});
	}
	if($('filter') && !$('filter').hasClassName('safari')){
		$('filter').observe('click',function(evt){
			if(!$('filter').present()){
				$$("#delegates li").each(function(elm){
					elm.show().className = alternate();
				});
				$('message').update('');
			}
		})
	}
    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{
			var clear = new Element('img',{
				'src':'Resources/search_clear.gif',
				'width':18,
				'height':25,
				'alt':'(x)'
			});
			elm.insert({after:clear});
			clear.addClassName('clear');
			if(elm.getValue() == '') {
				elm.setValue(DEF_VAL);
				clear.src = clear.src.replace(/search_clear\.gif/,'search_empty_clear.gif');
			}
			elm.addClassName('search_blur');
			elm.observe('focus',function(){
				clear.src = clear.src.replace(/search_clear\.gif/,'search_focus_clear.gif');
				clear.src = clear.src.replace(/search_empty_clear\.gif/,'search_empty_focus_clear.gif');
				if(elm.getValue() == DEF_VAL) elm.clear();
				elm.removeClassName('search_blur').addClassName('search_focus');
			});
			elm.observe('blur',function(){
				if(elm.getValue() == '') elm.setValue(DEF_VAL).removeClassName('search_focus').addClassName('search_blur');
				clear.src = clear.src.replace(/search_focus_clear\.gif/,'search_clear.gif');
				clear.src = clear.src.replace(/search_empty_focus_clear\.gif/,'search_empty_clear.gif');
			});
			elm.observe('keyup',function(){
				if(elm.getValue() != '') 
				clear.src = clear.src.replace(/search_empty_focus_clear\.gif/,'search_focus_clear.gif');
			});
			
			clear.observe('click',function(evt){
				elm.clear().activate().blur();
				clear.src = clear.src.replace(/search_clear\.gif/,'search_empty_clear.gif');
			});
		}
	});
	$$('input.filter').each(function(elm){
		var txt = 'Start typing...';
		var clear = elm.next('img');
		if(Prototype.Browser.WebKit){
			elm.setAttribute('type', 'search');
			elm.setAttribute('placeholder', txt);
			clear.hide();
		}else{
			if(elm.getValue() == '') elm.setValue(txt).addClassName('search_blur');
			elm.observe('focus',function(){
				clear.src = clear.src.replace(/search_clear\.gif/,'search_focus_clear.gif');
				if(elm.getValue() == txt) elm.clear().removeClassName('search_blur').addClassName('search_focus');
			});
			elm.observe('blur',function(){
				if(elm.getValue() == '') elm.setValue(txt).removeClassName('search_focus').addClassName('search_blur');
				clear.src = clear.src.replace(/search_focus_clear\.gif/,'search_clear.gif');
			});
		}
	});
	if($('delegates')){
		var d;
		$('delegates').observe('click',function(evt){
			var elm = Event.element(evt);
			if(elm.hasClassName('contact_link')){
				Event.stop(evt);
				d = new Dialog({
					width:600,
					ajax:{
						url:elm.href,
						options:{
							evalScripts:true,
							method:'get'
						}
					},
					close:{
						link:         false,
						esc:          false,
						overlay:      false
					}
				});
				d.open();
			}
		});
	}
});

