/* ----------------------------------------------

 StyleSwitcher functions written by Paul Sowden
 http://www.idontsmoke.co.uk/ss/
 - - - - - - - - - - - - - - - - - - - - - - -
 For the details, visit ALA:
 http://www.alistapart.com/stories/alternate/

 StyleSwitcher scripts modified by Gerard Greenidge 04/12/2004

 Filename: styleswitcher.js
 Description: To provide users with a method performing explicit stylesheet switching.
 Date created: 12-04-2004
 Last Modified by: Gerard Greendige
 Date Last Modified: 04-20-2004
 Usage:
 
 Place the following in the head of the page
 	<script type="text/javascript" src="http://www.csulb.edu/misc/depot/styleswitcher.js">
 	<link rel="alternate stylesheet" type="text/css" media="screen,print" href="http://www.csulb.edu/small_text.css" title="Small_Text" />
 	<link rel="alternate stylesheet" type="text/css" media="screen,print" href="http://www.csulb.edu/medium_text.css" title="Medium_Text" />
 Place the following in the body of the page.
	<a href="#" onclick="setActiveStyleSheet('Small_Text'); return false;">change style to default</a>
	<a href="#" onclick="setActiveStyleSheet('Medium_Text'); return false;">change style to paul</a>

---------------------------------------------- */

function setActiveStyleSheet(title, reset) {
  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;
    }
  }
  if (reset == 1) {
	  createCookie("wstyle", title, 365);
  	  if (navigator.appName=="Netscape") {
	  	MM_reloadPage(false);
	  }
  }	
}

function setStyle() {
	var style = readCookie("wstyle");
	if (style != null) {
		setActiveStyleSheet(style, 0);
	}
}

function MM_reloadPage(init) {
  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {
  	if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage;
    }
  }
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
  location.reload();
}



// ----------------------------------------------
// Window functions
// ----------------------------------------------

function popChild(url, width, height, winName) {
  var features = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=" + width + ",height=" + height;
  if (winName == "") {
  	winName = "childWin";
  }
  SmallWin = window.open(url,winName,features);
  if (window.focus) {
    SmallWin.focus();
  }
}

// ----------------------------------------------

function loadParent(url) {
  var parentWin = window.opener
  if (window.opener.closed) {
    window.open(url,"parentWin");
  } else {
    parentWin.location = url;
    if (window.focus) {
      parentWin.focus();
    }
  }
}


// ----------------------------------------------
// Cookie functions
// ----------------------------------------------

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+";domain=.csulb.edu;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;
}


// ----------------------------------------------
// Date functions
// ----------------------------------------------

function isValidDay(iMonth, iDay, iYear) {

	//if selected exceeds max days in the month, returns max

	//set the days of the month array
	var aMonthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	//if it's a leap year, add a day to feb
	if (iYear%4 == 0) {
		aMonthDays[1] = 29;
	}

	var iMonthIndex = iMonth-1;
	var iMaxDays = aMonthDays[iMonthIndex];
	
	//if the day exceeds the max, return the max
	if (iDay > iMaxDays) {
		return iMaxDays;
	} else {
		return iDay;
	}

}

//-->