function fixPNG(){
	$$('div, a').each(function(el){		   
		var imgURL = el.getStyle('background-image');
		var imgURLLength = imgURL.length;
		if(imgURL != 'none' && imgURL.substring(imgURLLength - 5, imgURLLength - 2)=='png'){
			if(el.getStyle('backgroundRepeat')=='no-repeat'){
				var setimg = 'crop';
			}else{
				var setimg = 'scale';
			}
			el.setStyles({
				background: '',
				filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='"+setimg+"', src='"+imgURL.substring(5,imgURLLength - 2)+"')"
			});
		}
	});
}
function resetCCform(){
	var cc_reset = new Request({
		method: 'post',
		url: '/ajax/cc_form.php',
		onFailure: function() {
			$('constant_contact_wrap').set('html','<b>Error:</b> [404 Transport] - Please try again later');
		},
		onSuccess: function(response){
			$('constant_contact_wrap').set('html',response);
			$('cc_loader').setStyle('display','none');
			$('cc_form').setStyle('display','block');
			$('submit_cc_form').addEvent('click', function(){
				sendConstantContact();
			});
			$$('submit_cc_form input').addEvent('focus', function(e){
				if(e.get('value')=='Name' || e.get('value')=='Email'){
					e.set('value','');
				}
			});
			$$('#cc_form input').each(function(el){
				el.addEvents({
					'focus': function(){
						if(el.get('value')=='Name' || el.get('value')=='Email'){
							el.set('value','');
						}
					},
					'blur': function(){
						if(el.get('value')==''){
							if(el.get('id')=='Full_Name')
							el.set('value','Name');
						}
						if(el.get('value')==''){
							if(el.get('id')=='Email')
							el.set('value','Email');
						}
					}
				})
			});
		}
	});
	cc_reset.send();	
}
function sendConstantContact(){
	var cc_submit = new Request({
		method: 'post',
		url: '/lib/ajax/send-info.php',
		data: 'name='+$('Full_Name').get('value')+'&email='+$('Email').get('value'),
		onRequest: function(response){
			$('cc_loader').setStyle('display','block');
			$('cc_form').setStyle('display','none');
		},
		onFailure: function() {
			(function(){
				$('cc_loader').setStyle('display','none');
				$('cc_return').setStyle('display','block');
				$('cc_return').set('html','<b>Error [404 Transport]:</b><br />Please try again later');
			}).delay(750);
		},
		onSuccess: function(response){
			(function(){
				$('cc_loader').setStyle('display','none');
				$('cc_return').setStyle('display','block');
				$('cc_return').set('html',response);
			}).delay(750);
		}
	});
	cc_submit.send();
}
function resetContactForm(){
	var cc_reset = new Request({
		method: 'post',
		url: '/lib/ajax/contact_form.php',
		onFailure: function() {
			$('contact_form').set('html','<h4>Error:</h4><p>[404 Transport] - Please try again later</p><p><a href="javascript:resetContactForm();">To try again now click here</a></p>');
		},
		onSuccess: function(response){
			$('contact_form').set('html',response);
			if($defined($('js_check_form'))){
				new FormCheck('js_check_form', {
					submit: false,
					onValidateSuccess: (function(){ processForm($('js_check_form')); }),
					display : {
						errorsLocation : 0,
						indicateErrors : 2,
						showErrors : 1,
						addClassErrorToField : 1
					}
				});
			}
			if($defined($('js_check_form'))){
				$$('#js_check_form input','#js_check_form textarea').each(function(el){
					el.addEvents({
						'focus': function(){
							if(el.get('value')==el.get('title') && el.get('title')!='Submit'){
								el.set('value','');
							}
						},
						'blur': function(){
							if(el.get('value')=='' && el.get('title')!='Submit'){
								el.set('value',el.get('title'));
							}else{
								switch(el.get('name')){
									case 'first_name':
										ajaxUtilities('method=name&var='+el.get('value'),'first_name','name');
									break;
									case 'last_name':
										ajaxUtilities('method=name&var='+el.get('value'),'last_name','name');
									break;
									case 'phone_number':
										ajaxUtilities('method=phone&var='+el.get('value'),'phone_number','phone')
									break;
								}
							}
						}
					});
				});
			}
		}
	});
	cc_reset.send();	
}
function processForm(data){
	var accessInput = new Element('input',{
		type: 'hidden',
		name: 'access_code',
		id: 'access_code',
		value: '8'
	});
	accessInput.inject(data);
	var regFormRequest = new Request.HTML({
		method: 'post',
		url: data.get('action'),
		evalScripts:false,
		evalResponse:false,
		onRequest: function(){
			data.setStyle('display','none');
			var processingDiv = new Element('p', {
				id: 'processingDiv',
				html: '<img src="/lib/img/tree-loader.gif" width="27" height="24" border="0" alt="loader" class="float_l" style="margin: 2px 16px 0px 0px;" />Please be patient while we process your form...'
			});
			 processingDiv.inject($('contact_form'));
		},
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) {
			(function(){
				$('contact_form').set('html',responseHTML);
			}).delay(1750);
		},
		onFailure: function() {
			(function(){
				$('contact_form').set('html','<h4>Error:</h4><p>[404 Transport] - Please try again later</p><p><a href="javascript:resetContactForm();">To try again now click here</a></p>');
			}).delay(1750);
		}
	});
	regFormRequest.post(data);
}
function ajaxUtilities(theData,containerID,theType){
	new Request({
			url: '/lib/ajax/utilities.php',
			onSuccess: function(response){
				switch(theType){
					case 'name':
						$(containerID).set('value',response.trim()); 
					break;
					case 'phone':
						$(containerID).set('value',response.trim()); 
					break;
					case 'zip':
						var addressParts = response.trim().split('||');
						$('zip').set('value',addressParts[0]); 
						$('city').set('value',addressParts[1]); 
						$('state').set('value',addressParts[2]);
					break;
				}
			}
		}).send(theData);
}
function relCheck(el){
	if (el.get('value')==el.get('title')) {
		el.errors.push("Please enter: "+el.get('title'));
		return false;
	} else {
		return true;
	}
}
window.addEvent('domready', function() {
	if($defined($$('#nav li ul'))){
		$$('#nav li ul').each(function(el){
			el.getParent('li').addEvent('mouseenter',function(){
					el.set('opacity','0');
					el.getChildren('li,a').each(function(ele){
						ele.setStyle('opacity',1);
					});
					el.tween('opacity','.94');
			});
			el.getParent('li').addEvent('mouseleave',function(e){
				el.setStyle('display', 'block');
				el.getChildren('li,a').each(function(ele){
					ele.setStyle('opacity',0);
				});
				el.tween('opacity',0);
			});
		});
	}
	if($defined($('cc_form'))){
		$('submit_cc_form').addEvent('click', function(){
			sendConstantContact();
		});
		$$('#cc_form input').each(function(el){
			el.addEvents({
				'focus': function(){
					if(el.get('value')=='Name' || el.get('value')=='Email'){
						el.set('value','');
					}
				},
				'blur': function(){
					if(el.get('value')==''){
						if(el.get('id')=='Full_Name')
						el.set('value','Name');
					}
					if(el.get('value')==''){
						if(el.get('id')=='Email')
						el.set('value','Email');
					}
				}
			});
		});
	}
	if($defined($$('.contact'))){
		$$('.contact').addEvent('click',function(e){
			e.stop();										 
		});
	}
	if($defined($('js_check_form'))){
		$$('#js_check_form input','#js_check_form textarea').each(function(el){
			el.addEvents({
				'focus': function(){
					if(el.get('value')==el.get('title') && el.get('title')!='Submit'){
						el.set('value','');
					}
					if(el.get('title')!='Submit'){
						$('form-status').setStyle('text-indent','-300px');
						$('form-status').set('html','Please provide: '+el.get('title')).tween('text-indent','0px');
					}else{
						$('form-status').setStyle('text-indent','-300px');
						$('form-status').set('html','If everything looks ok, click submit.').tween('text-indent','0px');
					}
				},
				'blur': function(){
					if(el.get('value')=='' && el.get('title')!='Submit'){
						el.set('value',el.get('title'));
						$('form-status').set('html','');
					}else{
						switch(el.get('name')){
							case 'first_name':
								ajaxUtilities('method=name&var='+el.get('value'),'first_name','name');
							break;
							case 'last_name':
								ajaxUtilities('method=name&var='+el.get('value'),'last_name','name');
							break;
							case 'phone_number':
								ajaxUtilities('method=phone&var='+el.get('value'),'phone_number','phone')
							break;
						}
					}
				}
			});
		});
		new FormCheck('js_check_form', {
			submit: false,
			onValidateSuccess: (function(){ processForm($('js_check_form')); }),
			display : {
				errorsLocation : 0,
				indicateErrors : 2,
				showErrors : 1,
				addClassErrorToField : 1,
				scrollToFirst: 0
			}
		});
	}
	if(Browser.Engine.trident && Browser.Engine.version < 5){
		fixPNG();
	}
});
