//SFHover code
sfHover = function() {
	var sfEls = document.getElementById("mainMenu").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);



//Stylesheet Switcher code
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;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

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

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);


// Check all function
var formblock;
var forminputs;
 
function prepare() {
  formblock= document.getElementById('messages');
  forminputs = formblock.getElementsByTagName('input');
}
 
function select_all(name, value) {
  for (i = 0; i < forminputs.length; i++) {
    // regex here to check name attribute
    var regex = new RegExp(name, "i");
    if (regex.test(forminputs[i].getAttribute('name'))) {
      if (value == '1') {
        forminputs[i].checked = true;
      } else {
        forminputs[i].checked = false;
  	  }
    }
  }
}
function deselect_all(name, value) {
  for (i = 0; i < forminputs.length; i++) {
    // regex here to check name attribute
    var regex = new RegExp(name, "i");
    if (regex.test(forminputs[i].getAttribute('name'))) {
      if (value == '1') {
        forminputs[i].checked = false;
      } else {
        forminputs[i].checked = true;
  	  }
    }
  }
}
 
if (window.addEventListener) {
  window.addEventListener("load", prepare, false);
} else if (window.attachEvent) {
  window.attachEvent("onload", prepare)
} else if (document.getElementById) {
  window.onload = prepare;
}


//Function for validating email
function validateContactForm() {
with (document.contactForm) {
var alertMsg = "";
var fieldName = contact[email];
if (fieldName.value == "" || fieldName.value == "enter email address") alertMsg += "Email was left blank.\n";

if (!regexEmail.test(fieldName.value) && (fieldName.value != "enter email address")) alertMsg += "Invalid email address.\n";


if (alertMsg != "") {
alert(alertMsg);
return false;
} else {
return true;
} } }


// Center objects
Position.center = function(element){
        var options = Object.extend({
            zIndex: 999,
            update: false
        }, arguments[1] || {});
        element = $(element)
        if(!element._centered){
            Element.setStyle(element, {position: 'absolute', zIndex:
options.zIndex });
            element._centered = true;
        }
        var dims = Element.getDimensions(element);
        Position.prepare();
        var winWidth = self.innerWidth ||
document.documentElement.clientWidth || document.body.clientWidth || 0;
        var winHeight = self.innerHeight ||
document.documentElement.clientHeight || document.body.clientHeight || 0;
        var offLeft = (Position.deltaX + Math.floor((winWidth-dims.width
)/2));
        var offTop = (Position.deltaY + Math.floor((winHeight-dims.height
)/2));
        element.style.top = ((offTop != null && offTop > 0) ? offTop : '0')
+ 'px';
        element.style.left = ((offLeft != null && offLeft > 0) ? offLeft :
'0') + 'px';
        if(options.update){
            Event.observe(window, 'resize', function(evt){
Position.center(element);
}, false);
            Event.observe(window, 'scroll', function(evt){
Position.center(element);
}, false);
        }
    }
    
		
//Accept numbers only
function numbersonly(e, decimal) {
var key;
var keychar;

if (window.event) {
   key = window.event.keyCode;
}
else if (e) {
   key = e.which;
}
else {
   return true;
}
keychar = String.fromCharCode(key);

if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
   return true;
}
else if ((("0123456789xX").indexOf(keychar) > -1)) {
   return true;
}
else if (decimal && (keychar == ".")) { 
  return true;
}
else
   return false;
}
