// Scripts for Babylon Consulting


/* Style switching scripts ****************************************************************/

// Babylon Consulting specific scripts - controls appearance of icons

function stylehover(i, ev) {
	
	var oImage = eval("document.style_"+i);
	var file = "./style/images/style_" + i + (ev == "over" ? "_over" : "") + ".gif";
	
	var currentStyle = getActiveStyleSheet();
	
	if ((ev == "out") && ((currentStyle == i) || (!currentStyle && (i == "default")))) return;
	
	oImage.src = file;
}

function styleset(i) {

	setActiveStyleSheet(i);
	
	if ((i == null) || (i =="null")) i = "default";
	
	var titles = new Array("default", "larger", "largest");
	
	for (var n=0; n<titles.length; n++) {
		stylehover(titles[n], (titles[n] == i ? "over" : "out"));
	}
}

//Style switcher script from ALA
window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  styleset(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

/*
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
*/
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

/* form functionality ****************************************************************/

function isEmail(email) {
	
	var emailregex=/[\w\d-_]+\@[\w\d-_]+\.[\w\d-_]{2,}/;
	if(email.match(emailregex)) return true;
	
	return false;
}

// validates a contact form

function validateContactform(oForm) {
	
	var err = "";
	
	if (!oForm.cname.value) err += "\nYou need to provide your name";
	if (!oForm.phone.value && !oForm.email.value) err += "\nYou need to provide a means for us to contact you";
	if (oForm.email.value && !isEmail(oForm.email.value)) err += "\nYou need to enter a valid email address";
	
	if (err) {
		alert("We could not process the details you submitted because of the following reason(s):\n" + err);
		return false;
	}
	
	return true;
}