
function strstr( haystack, needle, bool ) {
    var pos = 0;
    haystack += '';
    pos = haystack.indexOf( needle );
    if( pos == -1 ){
        return false;
    } else{
        if( bool ){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}

var OpenLinks = new Class({
	initialize: function(file_extensions,override_targets,target,no_class) {
		$$('a').each(function(el) {
			//check each href for case-insensitive file extensions
			var str = el.get('href');
			if (str != null) {
				var ext = str.substring(str.lastIndexOf('.') + 1,str.length);
				if((strstr(str, 'http') || file_extensions.contains(ext.toLowerCase())) && ((override_targets || !el.get('target')) && !el.hasClass(no_class + '')))
				{
					el.setProperty('target',target ? target : '_blank');
				}
			}
		});
	}
});

/* classes */
var ZebraTables = new Class({
	//initialization
	initialize: function(table_class) {
		//add table shading
		$$('table.' + table_class + ' tr').each(function(el,i) {
			//do regular shading
			var _class = i % 2 ? 'even' : 'odd'; el.addClass(_class);
			//do mouseover
			el.addEvent('mouseenter',function() { if(!el.hasClass('highlight')) { el.addClass('mo').removeClass(_class); } });
			//do mouseout
			el.addEvent('mouseleave',function() { if(!el.hasClass('highlight')) { el.removeClass('mo').addClass(_class); } });
			//do click
			el.addEvent('click',function() {
				//click off
				if(el.hasClass('highlight'))
				{
					el.removeClass('highlight').addClass(_class);
				}
				//click on
				else
				{
					el.removeClass(_class).removeClass('mo').addClass('highlight');
				}
			});
		});
	}
});

window.addEvent('domready', function() {
	
	var olinks = new OpenLinks(['doc','pdf','xls','jpg','gif','png', 'pps', 'ppt', 'zip', 'swf', 'gif', 'doc'],1,'_blank','no-target');
	
	//create our Accordion instance
	var myAccordion = new Accordion($('accordion'), 'h3.toggler', 'div.element', {
		opacity: false,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#555');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#5588bb');
		}
	});
	
	if ($chk($('captcha_img'))) {
		$('reload_captcha').addEvent('click', function(e){
			reload_captcha();
			return false;
		});
	}
	
	// zebra table
	if ($chk($$('zebra'))) {
		var zTables = new ZebraTables('zebra');
	}
});

var ajaxed = function(which, to_update) {
	if ($chk($$('.'+which))) {
		$$('.'+which).addEvent('click', function(e){
			e.stop();
			var req = new Request.HTML({
				method: 'get', 
				url: this.get('href'),
				update: $(to_update)
			}).send();
		});
	}
}

var submitform = function(id_form, id_container) {
	var APop = new Fx.Slide(id_container);
	var req = new Request.HTML({
		method: 'post',
		url: $(id_form).get('action'),
		data: $(id_form),
		update: $(id_container),
		onComplete: function() {
			APop.hide().show();
		}
	}).send();
}

var close_pop = function(id_pop) {
	var Pop = new Fx.Slide(id_pop);
	Pop.toggle();
}

/* contacts */
var c = 0
var reload_captcha = function() {
	c = c + 1;
	var src = $('reload_captcha').get('href');
	$('captcha_img').dispose();
	
	var newcha = new Element('img', {
		'id': 'captcha_img',
		'src': src + '/' + c,
		'alt': 'captcha'
    });
	newcha.inject('cha', 'top');
}




