/*
-----------------------------------------------
Common JavaScript
Site: ohel.co.uk
Version: 29 May 2009
----------------------------------------------- */
window.addEvent('domready', function() {
	window.defaultStatus='Owls Hall Environmental';
	current();
	newWin();
});

/* Sliding Menu (mt)
----------------------------------------------- */
window.addEvent('domready', function() {
	var menuSlide = new Fx.Slide('submenu');
	$('toggle').addEvent('click', function(e){
		e = new Event(e);
		menuSlide.toggle();
		e.stop();
	});
	if(!document.location.href.match('servicing/')) {
		menuSlide.hide();
	}
	var menuSlide2 = new Fx.Slide('submenu2');
	$('toggle2').addEvent('click', function(e){
		e = new Event(e);
		menuSlide2.toggle();
		e.stop();
	});
	if(!document.location.href.match('case_studies.asp')) {
		menuSlide2.hide();
	}
});

/* Current Navigation (mt)
----------------------------------------------- */
function current() {
	path = document.location.href.split('ohel.co.uk').getLast();
	$$('#menu a[href="' + path + '"]').addClass('current');
}

/* Zebra Stripes (mt)
----------------------------------------------- */
function zebraStripes() {
	var z;
	$$('.zebra tr').each(function(tr) {
		z = (z) ? false : true;
		if (z) tr.addClass('alt');
	});
}

/* New Window Links (mt)
----------------------------------------------- */
function newWin() {
	$$('a[href]').each(function(a) {
		if ((!a.href.indexOf('http://') && !a.href.match('^http://([^.]+[.])?(' + document.domain + ')')) || a.href.match('.wmv|.pdf|https://')) {
			a.onclick = function(event) {
				event = new Event(event);
				if (event.shift || event.alt || event.control || event.meta) {
					return true;
				} else {
					window.open(this.href);
					return false;
				}
			};
		}
	});
}

/* Copy Address (mt)
----------------------------------------------- */
function copyAddress() {
	$('name2').value = $('name').value;
	$('company2').value = $('company').value;
	$('street2').value = $('street').value;
	$('city2').value = $('city').value;
	$('state2').value = $('state').value;
	$('zip2').value = $('zip').value;
	$('phone2').value = $('phone').value;
	$('email2').value = $('email').value;
	var scroll = new Fx.Scroll(window);
	scroll.toElement('siteinfo');
}

/* New Window Controlled (legacy)
----------------------------------------------- */
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

/* Form Checks
----------------------------------------------- */
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
