// switch styles
// http://www.alistapart.com/stories/alternate/
// validated by CG 28/03/04
// original sowden javascript files unvalidated

function setActiveStyleSheet(title) {
  var i, a, main;
  for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if (a.getAttribute("rel") &&
        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") &&
        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") &&
        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);



/* **************************************
                                    MM email functions
 ***************************************/

function MM_findObj(n, d) {  
	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() {
	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 === '');
}


/**** rewrite external links to open in new window ****/
function externalLinks() { 
    if (!document.getElementsByTagName) {
        return; }

    var anchors = document.getElementsByTagName("a"); 
    for (var i=0; i<anchors.length; i=i+1) { 
        var anchor = anchors[i]; 
        if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") { 
            anchor.target = "_blank"; }
    } 
} 
window.onload = externalLinks;
