// BEGIN POLICY PAGE/POLICY ITEM PROCEDURES

policynode = new Array();
policyassetids = new Array();
var maxpolicynode;
var thepolicytype;
var policytxt;

function sortthearray() {
   var i;
   var j;
   var k;
   var tmp;
   for (i=0; i<maxpolicynode; i++) {
      for (j=i+1; j<maxpolicynode; j++) {
         // IF NODE i IS BIGGER THAN NODE j, THEN EXCHANGE THEM
	 if (policynode[i][0]>policynode[j][0]) {
            for (k=0; k<6; k++) { // EXCHANGE EACH OF THE ARRAY ELEMENTS
               tmp = policynode[i][k];
	       policynode[i][k] = policynode[j][k];
	       policynode[j][k] = tmp;
	       }
	    }
         }
      }
   }
function displaynewslist(themax) {
   var i;
   var policytxt;
   sortthearray();
   policytxt = '';
   for (i=0; i<maxpolicynode && i<themax; i++) {
      policytxt = policytxt + '<div class="NEWSITEM">\n';
      policytxt = policytxt + '<span class="date">'+policynode[i][1]+'</span>\n';
      policytxt = policytxt + '<br/><b>'+policynode[i][2]+'</b>\n';
      policytxt = policytxt + '<p>'+policynode[i][3]+'</p>\n';
      if (policynode[i][4]!='') {
         policytxt = policytxt + '<p><a href="javascript:void(openPopup(\''+policynode[i][4]+'\'))">&gt;More</a></p>\n';
      }
      policytxt = policytxt + '</div><p/>';
      }
    document.write(policytxt);
   }
function startnewpolicyarray(thetype) {
   maxpolicynode=0;
   if (thetype=="") thepolicytype="NONE";
   else thepolicytype=thetype;
   policytxt='';
   }
function showItemDescription(theassetid) {
   var i;
   if (!theassetid) return true;
   for (i=0; i<maxpolicynode; i++) {
      if (policynode[i][0] == theassetid) {
         document.write(policynode[i][1]);
	 return true;
         }
      }
   document.write('EXPIRED');
   return true;
   }
function addpolicynode(assetid,name,keys,url,startdate) {
   var thekey;
   if (keys=="") thekey="NONE";
   else thekey=keys;
   var keyArray = thekey.split(';');
   var i;
   for (i=0; i<keyArray.length; i++) {
      if (keyArray[i] != '') {
         policynode[maxpolicynode++] = new Array(assetid,name,keyArray[i],url,startdate);
         }
      }
   }
   
function displayeventpageitems(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) {
   var i;
   var j;
   var txt;
   policyassetids[0] = a1;
   policyassetids[1] = a2;
   policyassetids[2] = a3;
   policyassetids[3] = a4;
   policyassetids[4] = a5;
   policyassetids[5] = a6;
   policyassetids[6] = a7;
   policyassetids[7] = a8;
   policyassetids[8] = a9;
   policyassetids[9] = a10;
   policyassetids[10] = a11;
   policyassetids[11] = a12;
   policyassetids[12] = a13;
   policyassetids[13] = a14;
   policyassetids[14] = a15;
   policytxt = policytxt + '<div class="DATATABLE"><table width="100%">\n';
   policytxt = policytxt + '<tr><th>ALL ACTIVE ITEMS TO CHOOSE FROM</th></tr></table><p><p>\n';
   policytxt = policytxt + '<p>';
   policytxt = policytxt + '<table width="100%">\n';
   policytxt = policytxt + '<tr><td width="10%"><b>AssetID</b></td>';
   policytxt = policytxt + '<td width="70%"><b>Name</b></td><td><b>Type(s)</b></td><td width="10%"><b>Date(s)</b></td><td><b>Time(s)</b></td><td width="9%"><b>More</b></td></tr>\n';
   for (i=0; i<maxpolicynode; i++) {
      str = '';
      for (j=0; j<15; j++) {
         if (policyassetids[j] == policynode[i][0]) str = '*';
         }
      policytxt = policytxt + '<tr><td><b>'+str+policynode[i][0]+'</td>';
      policytxt = policytxt + '<td>'+policynode[i][1]+'</td>';
      policytxt = policytxt + '<td>'+policynode[i][2]+'</td>';
      policytxt = policytxt + '<td>'+policynode[i][4]+'</td>';
      policytxt = policytxt + '<td><a target="_new" href="'+policynode[i][3]+'">>More</a></td></tr>\n';
      }
   policytxt = policytxt + '</table><p>\n';
   policytxt = policytxt + '</div>';
   document.write(policytxt);
   }
   
   
function displaypolicyitems(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) {
   var i;
   var oldtype;
   var typesdone = thepolicytype + ';';
   policyassetids[0] = a1;
   policyassetids[1] = a2;
   policyassetids[2] = a3;
   policyassetids[3] = a4;
   policyassetids[4] = a5;
   policyassetids[5] = a6;
   policyassetids[6] = a7;
   policyassetids[7] = a8;
   policyassetids[8] = a9;
   policyassetids[9] = a10;
   policyassetids[10] = a11;
   policyassetids[11] = a12;
   policyassetids[12] = a13;
   policyassetids[13] = a14;
   policyassetids[14] = a15;
   oldtype = 'ZZZ';
   policytxt = policytxt + '<div class="DATATABLE"><table width="100%">\n';
   policytxt = policytxt + '<tr><th>ALL ACTIVE ITEMS TO CHOOSE FROM</th></tr></table><p><p>\n';
   displayallpoliciesofthistype(thepolicytype);
   policytxt = policytxt + '<p>';
   for (i=0; i<maxpolicynode; i++) {
      oldtype = policynode[i][2];
      if (oldtype != thepolicytype) {
         if (typesdone.indexOf(oldtype + ';') < 0) {
            typesdone = typesdone + oldtype + ';';
            displayallpoliciesofthistype(oldtype);
            }
	 }
      }
   policytxt = policytxt + '</div>';
   document.write(policytxt);
   }
function displayallpoliciesofthistype(thetype) {
   policytxt = policytxt + '<table width="100%"><tr><th width="80%"><b>'+thetype+'</b></th>\n';
   policytxt = policytxt + '<th width="20%"><span onclick="togglepolicyvisible(\''+thetype+'\')"><button id="'+thetype+'_button">SHOW</button></span></th></tr></table>\n';
   policytxt = policytxt + '<span id="'+thetype+'_span" name="'+thetype+'_span" style="display:none">\n';
   policytxt = policytxt + '<table width="100%">\n';
   policytxt = policytxt + '<tr><td width="10%"><b>AssetID</b></td>';
   policytxt = policytxt + '<td width="70%"><b>Name</b></td><td width="10%"><b>StartDate</b></td><td width="9%"><b>More</b></td></tr>\n';
   for (i=0; i<maxpolicynode; i++) {
      if (thetype == policynode[i][2]) {
         displayonepolicy(i);
         }
      }
   policytxt = policytxt + '</table></span><p>\n';
   }
function displayonepolicy(i) {
   var j;
   var str;
   str = '';
   for (j=0; j<15; j++) {
      if (policyassetids[j] == policynode[i][0]) str = '*';
      }
   policytxt = policytxt + '<tr><td><b>'+str+policynode[i][0]+'</td>';
   policytxt = policytxt + '<td>'+policynode[i][1]+'</td>';
   policytxt = policytxt + '<td>'+policynode[i][4]+'</td>';
   policytxt = policytxt + '<td><a target="_new" href="'+policynode[i][3]+'">>More</a></td></tr>\n';
   }
function togglepolicyvisible(thetype) {
   var d;
   var espan, ebutton;
   eval('espan=document.getElementById("'+thetype+'_span");');
   eval('ebutton=document.getElementById("'+thetype+'_button");');
   if (espan.style.display=="none") {
      espan.style.display="block";
      ebutton.innerHTML="HIDE";
      }
   else {
      espan.style.display="none";
      ebutton.innerHTML="SHOW";
      }
//   eval('d=('+thetype+'.style.display=="none");');
//   if (d) {
//      eval(thetype+'.style.display = "block";');
//      eval(thetype+'_button.innerHTML = "HIDE";');
//      }
//  else {
//      eval(thetype+'.style.display = "none";');
//      eval(thetype+'_button.innerHTML = "SHOW";');
//      }
   return true;
   }

// END OF POLICY PAGE/POLICY ITEM PROCEDURES
// BEGIN NEWS PAGE/NEWS LIST/NEWS ITEM PROCEDURES

function startnewnewsarray(thesite) {
   startnewpolicyarray(thesite);
//   maxpolicynode=0;
//   thepolicytype=thesite;
//   policytxt='';
   }
function addnewsnode(assetid,name,sites,url,startdate) {
   addpolicynode(assetid,name,sites,url,startdate);
   }
function displaynewsitems(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) {
   displaypolicyitems(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
   }

// END OF NEWS PAGE/NEWS LIST/NEWS ITEM PROCEDURES



isIE4 = document.all? true : false;
isIE6 = document.getElementById && document.all ? true : false;
isNS4 = document.layers? true : false;
isNS6 = document.getElementById && !document.all ? true : false;

function getDOMObject(documentID) {
   if (isIE4) { return document.all[documentID]; }
   else if (isIE6) { return document.getElementById(documentID); }
   else if (isNS4) { return document.layers[documentID]; }
   else if (isNS6) { return document.getElementById(documentID); }
   }

function setRandomPicNew(i) {
   var len = arguments.length - 2;
   var rand = Math.round((len)*Math.random(0))+1;
   var item = getDOMObject(i);
   item.src = arguments[rand];
    }

imagearray = new Array();
var flashinstalled = 0;
if (navigator.plugins && navigator.plugins.length) {
// alert('a');
   for (i = 0; i < navigator.plugins.length; i++) {
      if (navigator.plugins[i].name.indexOf("Flash") >= 0) {
         flashinstalled = 1;
         break;
         }
      }
   }
else if (navigator.mimeTypes && navigator.mimeTypes.length) {
// alert('b');
   x = navigator.mimeTypes['application/x-shockwave-flash'];
   if (x && x.enabledPlugin)
      flashinstalled = 1;
   }
else {
// alert('c');
   for (var i=7; i>0; i--) {
      try {
         var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
         flashinstalled = 1;
         }
      catch(e) { }
      }
   }

function hamFlashHeader() {
   if (flashinstalled == 1) {
      document.write('<object classid="clsid:d27cb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="755" height="60" id="header" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="http://www.hamline.edu/shared/images/homepage/header.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="http://www.hamline.edu/shared/images/homepage/header.swf" quality="high" bgcolor="#ffffff" width="755" height="60" name="header" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
      }
   else {
      document.write('<img id="headImg" src="http://www.hamline.edu/shared/images/homepage/home/header.gif" alt="Hamline University" width="755" height="54" border="0">');
      }
   }

function setRandomPic(item) {
  var len = arguments.length - 2;
  var rand = Math.round((len)*Math.random(0))+1;
  item.src = arguments[rand];
//  window.status = arguments[rand];
  } 

function closePopup(url) {
   window.opener.location=url;
   window.opener.focus();
   self.close();
   }
   
function profileForName(lname,fname,mname) {
   var url;
   url = 'https://piperline.hamline.edu/pls/prod/hamutil.P_Profile?lname='+lname+'&fname='+fname;
   if (mname) { url=url+'&mname='+mname; }
 //  alert(url);
   openPopup(url);
 //  document.location = url;
   }

function profileForID(id) {
   var url;
   url = 'https://piperline.hamline.edu/pls/prod/hamutil.P_Profile?id='+id;
   openPopup(url);
   }

function profileForPIDM(pidm) {
   var url;
   url = 'https://piperline.hamline.edu/pls/prod/hamutil.P_Profile?pidm='+pidm;
   openPopup(url);
   }


function openPopup(url,regularwindow,width,height) {
  var HamlinePopup;
  var TheWidth;
  var TheHeight;
  if (width) { TheWidth=width; } else { TheWidth=700; }
  if (height) { TheHeight=height; } else { TheHeight=500; }
  if (regularwindow=='Y') {
    HamlinePopup = window.open(url, 'HamlinePopup',
       'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width='+TheWidth+',height='+TheHeight);
    }
  else {
    HamlinePopup = window.open(url, 'HamlinePopup',
       'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width='+TheWidth+',height='+TheHeight);
    }
  HamlinePopup.focus();
  }

function gotoURLFromSelect() {
   var e = document.forms['URLSelectForm'].elements;
   var s;
   for (var i = 0; i < e.length; i++) {
      if (e[i].name == "URLSelect") {
         var s = e[i].options;
         var url = s.options[s.selectedIndex].value;
         if (url != "") {
            self.location=url;
            }
         }
      }
  }

// WRITE THE "File" PART OF A FULL PATH
function filepart(txt) {
   var a = txt.split('/');
   if (a.length == 0) return;
   document.write(a[a.length-1]);
   }

function contributionImages(l,r,c) {
   var txt='';
   var len=0;
   var rand;
   var i;
   for (i=3; i<arguments.length; i++) {
      if (arguments[i]!='') imagearray[len++]=arguments[i];
      }
//alert('there are '+len+' random images ... l='+l+' r='+r+' c='+c);
//for (i=0; i<len; i++) {
//alert('image['+i+']='+imagearray[i]);
//}
   rand = Math.round((len)*Math.random(0));
   if (c!='') {
      if (rand==0) txt=txt+c;
      else txt=txt+imagearray[rand-1];
      txt=txt+'<br>';
      rand=0;
      }
   if (r!='') {
      txt=txt+'<div class="floatright">';
      if (rand==0) txt=txt+r;
      else txt=txt+imagearray[rand-1];
      txt=txt+'</div>';
      rand=0;
      }
   if (l!='') {
      txt=txt+'<div class="floatleft">';
      if (rand==0) txt=txt+l;
      else txt=txt+imagearray[rand-1];
      txt=txt+'</div>';
      }
//   alert('txt='+txt);
   document.write(txt);
//  window.status = arguments[rand-1];
   }

function displayRandomItems(nameOfItems,numToDisplay) {
   var aRandom = new Array;
   var aTheseItems = new Array;
   var i;
   var aItems;
   var numItems=0;
   var displayItems=999;
   if (numToDisplay) displayItems=numToDisplay;
   if (!document.getElementsByTagName) return;
   aItems = document.getElementsByTagName("DIV");
   for (i = 0; i < aItems.length; i++) {
      if (aItems[i].className == nameOfItems) {
         aTheseItems[numItems++] = aItems[i];
         }
      }
   if (displayItems < numItems) {
      // alert('show '+numToDisplay+' of '+numItems);
      for (i=0; i<numItems; i++) { aRandom[i] = i; }
      shuffleArray(aRandom);
      for (i=displayItems; i<numItems; i++) {
         aTheseItems[aRandom[i]].style.display = "none";
         // alert('make item '+aRandom[i]+' invisible');
         }
      }
   }

function shuffleArray(a) {
   var l = a.length;
   var i;
   var j;
   var r;
   var t;
   // alert('sorted array='+a[0]+' '+a[1]+' '+a[2]+' '+a[3]);
   for (i=0; i<10; i++) {
      for (j=0; j<l; j++) {
         r = Math.round((l-1)*Math.random(0));
         t = a[j];
         a[j] = a[r];
         a[r] = t;
         }
      }
   // alert('shuffled array='+a[0]+' '+a[1]+' '+a[2]+' '+a[3]);
   }

function displayPromoTile(theimage,thelink) {
  var a;
  a = thelink.split('>');
  document.write(a[0] + '>' + theimage + '</a>');
  }

function do_mail_link(host,user,name) {
   if (name) {document.write('<a href=mail'+'to:'+user+'@'+host+'>'+name+'</a>');}
   else {document.write('<a href=mail'+'to:'+user+'@'+host+'>'+user+'</a>');}
   }

function do_mail(host,user) {
   location='mail'+'to:'+user+'@'+host;
   }
   
function includeflash(infile,width,height,align) {
   var flashfile;
   flashfile = infile.replace('\/WebSite','');
   document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'+
'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"'+
'width="'+width+'" height="'+height+'"'+
'id="header" align="'+align+'">'+
'<param name="allowScriptAccess" value="sameDomain" />'+
'<param name="movie" value="http://www.hamline.edu/'+flashfile+'" />'+
'<param name="quality" value="high" />'+
'<param name="bgcolor" value="#ffffff" />'+
'<embed src="'+flashfile+'" quality="high"'+
'   bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="header"'+
'   align="'+align+'" allowscriptaccess="sameDomain"'+
'   type="application/x-shockwave-flash"'+
'   pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
'</object>');
   }
   
   function includeexternalflash(url,width,height,align) {
   document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'+
'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"'+
'width="'+width+'" height="'+height+'"'+
'id="header" align="'+align+'">'+
'<param name="allowScriptAccess" value="sameDomain" />'+
'<param name="movie" value="'+url+'" />'+
'<param name="quality" value="high" />'+
'<param name="bgcolor" value="#ffffff" />'+
'<embed src="'+url+'" quality="high"'+
'   bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="header"'+
'   align="'+align+'" allowscriptaccess="sameDomain"'+
'   type="application/x-shockwave-flash"'+
'   pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
'</object>');
   }
//added for large .swf file on homepage mhuber
function homepageLargePic(){
	if (flashinstalled == 1) {
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="565" height="355" id="homepage_studentsspeak" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="http://www.hamline.edu/studentsspeak/homepage_studentsspeak.swf" /><param name="quality" value="high" /><param name="salign" value="t" /><param name="bgcolor" value="#ffffff" /><embed src="http://www.hamline.edu/studentsspeak/homepage_studentsspeak.swf" quality="high" salign="t" bgcolor="#ffffff" width="565" height="355" name="homepage_studentsspeak" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
	}
	 else {
      document.write('<img id="headImg" src="http://www.hamline.edu/shared/images/homepage/home/hamline_w071.jpg" alt="Hamline University Students" width="565" height="355" border="0">');
      }
}

//added function for policy items to translate metadata into formatted text. mhuber 3/8/07
function Translate(){
var results= "";
var myString = document.getElementById('myDiv').innerHTML;
var resident_check = myString.indexOf("resident_student");
var cla_check = myString.indexOf("cla_student");
var gsm_check = myString.indexOf("gsm_student");
var gls_check = myString.indexOf("gls_student");
var gse_check = myString.indexOf("gse_student");
var law_check = myString.indexOf("law_student");
var faculty_check = myString.indexOf("faculty_student");
var staff_check = myString.indexOf("staff_student");
if (resident_check >= 0) results = results + "Resident Students, ";
if (cla_check >= 0) results = results + "College of Liberal Arts Students, ";
if (gsm_check >= 0) results = results + "Graduate School of Management Students, ";
if (gls_check >= 0) results = results + "Graduate School of Liberal Arts Students, ";
if (gse_check >= 0) results = results + "Graduate School of Education Students, ";
if (law_check >= 0) results = results + "Law School Students, ";
if (faculty_check >= 0) results = results + "Faculty, ";
if (staff_check >= 0) results = results + "Staff Students, ";
results = results.slice(0, -2)
return results;
}

//embed background sound function 8/27/07 mhuber03
function embedSound(filename) {
   document.write('<embed src="'+filename+'" hidden=true autostart=true loop=false />');
   }

