Cufon.replace('H3, H1', { fontFamily: 'Gotham Narrow Black' }); // Works without a selector engine
Cufon.replace('.telephone', { fontFamily: 'Gotham Narrow Medium' }); // Requires a selector engine for IE 6-7, see above
		

window.addEvent('domready', function(){
	
	// on the category page, contract sub groups and add click even onto group to display sub group
	$$('.sub_group').slide('hide');
	$$('.group A').addEvent('mouseover', function(){
		
		var group_id = this.getProperty('id').substring(6);
		
		$('sub_' + group_id).slide('in');
		if (current != '') {
			close_sub_group_now(current);
		}
		clearTimeout(timer);
		
		current = $('sub_' + group_id);
	});
	
	
	function close_sub_group() {
		this.slide('out');
	}
	
	function close_sub_group_now(group_elem) {
		group_elem.slide('out');
	}
	
	var timer = '';
	var current = '';
	
	$$('.group A').addEvent('mouseout', function(){
		
		var group_id = this.getProperty('id').substring(6);		
		
		timer = close_sub_group.delay(1800, $('sub_' + group_id));
		
	});
	
	$$('.sub_group').addEvent('mouseover', function(){
		clearTimeout(timer);
	});
	
	$$('.sub_group').addEvent('mouseout', function(){
		timer = close_sub_group.delay(1800, this);
	});
	
	
	
	
	if ($('search_term') != null) {
		new OverText('search_term',{ //there are many more options available!!
		    positionOptions: {
		      offset: {
		        x: 8,
		        y: 11
		      }
		    }
		  });
	}
	
	if ($('home_search') != null) {
		new OverText('home_search',{ //there are many more options available!!
		    positionOptions: {
		      offset: {
		        x: 8,
		        y: 14
		      }
		    }
		  });
	}
	
	
	if($('search_term') != null){
		autocomplete = new Autocompleter.Request.JSON('search_term', 'ajax.php?action=auto-complete', {
			indicator: "autospinner",
			width: "300px",
			className: 'autocompleter-choices-main',
			autoSubmit: true,
			selectMode: false,
			onSelection: function() {
				$('search_form').submit();
			}
		});
	}
	
	if($('home_search') != null){
		autocomplete = new Autocompleter.Request.JSON('home_search', 'ajax.php?action=auto-complete', {
			indicator: "autospinner",
			autoSubmit: true,
			selectMode: false,
			onSelection: function() {
				$('home_search_form').submit();
			}
		});
		
	}

	
	if($('requestQuoteform') != null){
		$$('#requestQuoteform INPUT[type=text]').each(function(item){
			
			new OverText(item, { //there are many more options available!!
				positionOptions: {
			      offset: {
			        x: 5,
			        y: 9
			      }
				}
			});
		})
		
		
		var contactFormValidator = new Form.Validator($('requestQuote'), {
			errorPrefix : '',
			onElementPass : myElementPass,
			onElementFail : myElementFail,
			onFormValidate : validate_func,
			serial : false,
		});
		
		contactFormValidator.add('isEmpty', {
			errorMsg: '<img src="eph/skin/images/fail.gif"/>',
		    test: function(field){
		        return !((field.get('value') == null) || (field.get('value').length == 0));
		    }			
		});
		
	}
	
	function validate_func(status, element, submitevent) {
		if (status == true) {
			submitevent.stop();
			requestQuotePopup.validateAndSend();
		}
	}
	
	
	function myElementPass(element) {
		success_message = '<img src="eph/skin/images/pass.gif"/>';
		
		if ($('validation_status_' + element.get('id')) != null) {
			$('validation_status_' + element.get('id')).set('html', success_message)
		} else {
			status_elem = new Element('div', {
				styles: {
					display: 'block'
				},
				id: 'validation_status_' + element.get('id'),
				'class': 'validation-advice',
				html: success_message
			});
			status_elem.inject(element, 'after');
		}
	}
	
	function myElementFail(element) {
		success_message = '<img src="eph/skin/images/fail.gif"/>';
		
		if ($('validation_status_' + element.get('id')) != null) {
			$('validation_status_' + element.get('id')).set('html', success_message)
		} else {
			status_elem = new Element('div', {
				styles: {
					display: 'block'
				},
				id: 'validation_status_' + element.get('id'),
				'class': 'validation-advice',
				html: success_message
			});
			status_elem.inject(element, 'after');
		}
	}
	
	if($('contact_form') != null){
		
		$$('#contactForm INPUT[type=text], textarea').each(function(item){
			
			new OverText(item,{ //there are many more options available!!
				positionOptions: {
			      offset: {
			        x: 10,
			        y: 14
			      }
			    }
			});
		})
		
		var contactFormValidator = new Form.Validator($('contact_form'), {
			errorPrefix : '',
			onElementPass : myElementPass,
			onElementFail : myElementFail,
			serial : false
		});
		
		contactFormValidator.add('isEmpty', {
			errorMsg: '<img src="eph/skin/images/fail.gif"/>',
		    test: function(field){
		        return !((field.get('value') == null) || (field.get('value').length == 0));
		    }			
		});
	}
	
})
