// JavaScript Document

//Add class jsOn to the html tag if the user has javascript enabled, then use it in front of a style to override
//For example: #basicstyle {display:block} followed by .jsOn #basicstyle {display: none;} will show by default and hide by default if js is on.
	document.getElementsByTagName('html')[0].className='jsOn';
	
	
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//------------begin show Hide layers-------------------------------
var supported = (document.getElementById || document.all);
if (supported)
	{
	document.write("<style type='text/css'>");
	document.write(".linkbody {display:none}");
	document.write("</style>");

	var linkmax = 10;
	var linkshown = new Array();
	for (c=1;c<=linkmax;c++) {linkshown[c+1] = false;}
	}

function showHide(c)
	{
	if (!supported) { alert('This link does not work in your browser.');return; }

	linkshown[c] = (linkshown[c]) ? false : true;
	current = (linkshown[c]) ? 'block' : 'none';
	if (document.getElementById)	{
		document.getElementById('linkb'+c).style.display = current;
		}
	else if (document.all)
		{
		document.all['linkb'+c].style.display = current;
		}
	}
//end showHide


//IE needs this automatically activate Flash content
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
//Degree Tab Content

// JavaScript Document

//** Tab Content script- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
//** Last updated: Nov 8th, 06

var enabletabpersistence=1 //enable tab persistence via session only cookies, so selected tab is remembered?

////NO NEED TO EDIT BELOW////////////////////////
var tabcontentIDs=new Object()

function expandcontent(linkobj){
var ulid=linkobj.parentNode.parentNode.id //id of UL element
var ullist=document.getElementById(ulid).getElementsByTagName("li") //get list of LIs corresponding to the tab contents
for (var i=0; i<ullist.length; i++){
ullist[i].className=""  //deselect all tabs
if (typeof tabcontentIDs[ulid][i]!="undefined") //if tab content within this array index exists (exception: More tabs than there are tab contents)
document.getElementById(tabcontentIDs[ulid][i]).style.display="none" //hide all tab contents
}
linkobj.parentNode.className="selected"  //highlight currently clicked on tab
document.getElementById(linkobj.getAttribute("rel")).style.display="block" //expand corresponding tab content
saveselectedtabcontentid(ulid, linkobj.getAttribute("rel"))
}

function expandtab(tabcontentid, tabnumber){ //interface for selecting a tab (plus expand corresponding content)
var thetab=document.getElementById(tabcontentid).getElementsByTagName("a")[tabnumber]
if (thetab.getAttribute("rel"))
expandcontent(thetab)
}

function savetabcontentids(ulid, relattribute){// save ids of tab content divs
if (typeof tabcontentIDs[ulid]=="undefined") //if this array doesn't exist yet
tabcontentIDs[ulid]=new Array()
tabcontentIDs[ulid][tabcontentIDs[ulid].length]=relattribute
}

function saveselectedtabcontentid(ulid, selectedtabid){ //set id of clicked on tab as selected tab id & enter into cookie
if (enabletabpersistence==1) //if persistence feature turned on
setCookie(ulid, selectedtabid)
}

function getullistlinkbyId(ulid, tabcontentid){ //returns a tab link based on the ID of the associated tab content
var ullist=document.getElementById(ulid).getElementsByTagName("li")
for (var i=0; i<ullist.length; i++){
if (ullist[i].getElementsByTagName("a")[0].getAttribute("rel")==tabcontentid){
return ullist[i].getElementsByTagName("a")[0]
break
}
}
}

function initializetabcontent(){
for (var i=0; i<arguments.length; i++){ //loop through passed UL ids
if (enabletabpersistence==0 && getCookie(arguments[i])!="") //clean up cookie if persist=off
setCookie(arguments[i], "")
var clickedontab=getCookie(arguments[i]) //retrieve ID of last clicked on tab from cookie, if any
var ulobj=document.getElementById(arguments[i])
var ulist=ulobj.getElementsByTagName("li") //array containing the LI elements within UL
for (var x=0; x<ulist.length; x++){ //loop through each LI element
var ulistlink=ulist[x].getElementsByTagName("a")[0]
if (ulistlink.getAttribute("rel")){
savetabcontentids(arguments[i], ulistlink.getAttribute("rel")) //save id of each tab content as loop runs
ulistlink.onclick=function(){
expandcontent(this)
return false
}
if (ulist[x].className=="selected" && clickedontab=="") //if a tab is set to be selected by default
expandcontent(ulistlink) //auto load currenly selected tab content
}
} //end inner for loop
if (clickedontab!=""){ //if a tab has been previously clicked on per the cookie value
var culistlink=getullistlinkbyId(arguments[i], clickedontab)
if (typeof culistlink!="undefined") //if match found between tabcontent id and rel attribute value
expandcontent(culistlink) //auto load currenly selected tab content
else //else if no match found between tabcontent id and rel attribute value (cookie mis-association)
expandcontent(ulist[0].getElementsByTagName("a")[0]) //just auto load first tab instead
}
} //end outer for loop
}


function getCookie(Name){ 
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return ""
}

function setCookie(name, value){
document.cookie = name+"="+value //cookie value is domain wide (path=/)
}

//----------------------------begin show Hide layers-------------------------------------------------
var supported = (document.getElementById || document.all);
if (supported)
	{
	document.write("<style type='text/css'>");
	document.write(".linkbody {display:none}");
	document.write("</style>");

	var linkmax = 10;
	var linkshown = new Array();
	for (c=1;c<=linkmax;c++) {linkshown[c+1] = false;}
	}

function showHide(c)
	{
	if (!supported) { alert('This link does not work in your browser.');return; }

	linkshown[c] = (linkshown[c]) ? false : true;
	current = (linkshown[c]) ? 'block' : 'none';
	if (document.getElementById)	{
		document.getElementById('linkb'+c).style.display = current;
		}
	else if (document.all)
		{
		document.all['linkb'+c].style.display = current;
		}
	}//end showHide

//end degree tab content


//Application Process

function openlegal (){
    window.open('/enrlegal.aspx','legal','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=898,height=600');
}

function openagreelegal (){
    window.open('/enrLegalAgree.aspx','agreelegal','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=898,height=700');
}

function LaunchMyDocs(gentype) {
    window.open('/apply/MyDoc/default.aspx?gentype='+gentype,'blank','menubar=no,toolbar=no,resizable=yes'); 
    return false;
}

function LaunchVideo(videoid)
{
   window.open('/degrees/video.aspx?id='+videoid,'blank','menubar=no,toolbar=no,width=550,height=400,resizable=no');
   return false;
}

function LaunchCourse(courseid)
{
   window.open('/degrees/coursedemo.aspx?id='+courseid,'blank','menubar=no,toolbar=no,width=550,height=400,resizable=no');
   return false;		
}

//Misc Videos//

function CareerService_video (){
window.open('/about_iadt/career_services_video.aspx','blank','width=550,height=400 menubar=no,toolbar=no,resizable=yes');
}

function campus_video (){
window.open('/about_iadt/campus_video.aspx','blank','width=550,height=400 menubar=no,toolbar=no,resizable=yes');
}

function campus_map (){
window.open('/about_iadt/campus_map.aspx','blank','width=215,height=230 menubar=no,toolbar=no,resizable=yes');
}

//360 Facilities tours//

function tour_greenscreen (){
window.open('/images/about_iadt/tours/greenscreen_room.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_cafeteria (){
window.open('/images/about_iadt/tours/cafeteria.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_lobby (){
window.open('/images/about_iadt/tours/lobby.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_patio (){
window.open('/images/about_iadt/tours/patio.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_photostudio (){
window.open('/images/about_iadt/tours/photography_studio.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_recstudio (){
window.open('/images/about_iadt/tours/recording_studio.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_reclab (){
window.open('/images/about_iadt/tours/recording_lab.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function tour_hallway (){
window.open('/images/about_iadt/tours/hallway.aspx','blank','width=620,height=354 menubar=no,toolbar=no,resizable=yes');
}

function mobile_closeup (){
window.open('/iadtmobile/closeup.aspx','blank','width=320,height=445 menubar=no,toolbar=no,resizable=yes');
}

function mobile_tour (){
window.open('/iadtmobile/video_tour.aspx','blank','width=550,height=400 menubar=no,toolbar=no,resizable=yes');
}


//used from education and referral pages 
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	function autoTab(input,len, e) 
	{
		var keyCode = (isNN) ? e.which : e.keyCode; 
		var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

		if(input.value.length >= len && !containsElement(filter,keyCode)) 
		{
			input.value = input.value.slice(0, len);
			input.form[(getIndex(input)+1) % input.form.length].focus();
		}

		function containsElement(arr, ele) 
		{
			var found = false, index = 0;
			while(!found && index < arr.length)

			if(arr[index] == ele)
				found = true;
			else
				index++;

			return found;
		}

		function getIndex(input) 
		{
			var index = -1, i = 0, found = false;
			while (i < input.form.length && index == -1)
			if (input.form[i] == input)
				index = i;
			else 
				i++;
			return index;
		}

	return true;
	}

