var KCPL = new Object()
KCPL.months=["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
KCPL.days=["Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday", "Saturday"];
KCPL.today =new Date();
KCPL.qlink = {};  
KCPL.stiles = document.getElementsByTagName('link')
    KCPL.getRandomInteger= function(low, high){
        var x = high - low;
        return Math.floor((Math.random()*x)+low);
    }
    KCPL.buildElement = function(el, cn, id){
        var node = document.createElement(el);
        if(cn){
            node.className=cn;
        }
        if(id){
            node.id = id
        }
        return node;
    }
    
    KCPL.limitByLibrary = function(e){
    //alert('hit ' + document.getElementById('libraryb').value) 
        if(document.getElementById('libraryb').checked){
            document.getElementById('library').value=document.getElementById('libraryb').value
        }
    }
    KCPL.buildGmapAddress = function(e){
        var ss=document.getElementById('street').value+' '+document.getElementById('city').value + ' ' + document.getElementById('state').value + ' ' + document.getElementById('zip').value
               document.getElementById('saddr').value = ss;
         if(document.getElementById('daddr').value=='select'){
                 
                   return false
            }
     }
    //setFontSize(title) is a site-wide utility function that allows the user to change the font size on the page they are currently viewing 
    KCPL.setFontSize = function(title){
         for(var i=0;i<KCPL.stiles.length;i++){
            if(KCPL.stiles[i].className=='size'){
                if(KCPL.stiles[i].title==title){
                    KCPL.stiles[i].disabled = false}
                else{KCPL.stiles[i].disabled = true}
            }
        }
       KCPL.createCookie('fontsize',title)
    }
    
    KCPL.initializeFontSizer = function(){
        var cookie = KCPL.readCookie("fontsize");
        if(cookie){KCPL.setFontSize(cookie)}
    }
    
KCPL.slideIE6= function(id, direct, dist, c){
        var sel = document.getElementById(id);
         if(dist>0){
   switch (direct){
        case 'down': selposition = c;
                                document.getElementById('showmeframe').style.borderWidth='1px';
                               selposition = selposition+10;
                               sel.style.marginTop = selposition +'px';
                               dist = dist -10;
                               break;
         case 'up': selposition = c;
                           selposition = selposition-10;
                           sel.style.marginTop = selposition +'px';
                           dist = dist -10;
                            if(dist<10){
                                document.getElementById('showmeframe').style.borderWidth='0px';
                                }
                           break;
        }                   
    }
    else{
    
        return}
        f='KCPL.slideIE6("'+id+'","'+direct +'",' +dist+','+selposition+')';
        setTimeout(f, 25);

}
KCPL.slide=function (id, direct, dist, c){
        var sel = document.getElementById(id);
    if(dist>0){
        switch (direct){
            case 'down': selposition = c;
                                    sel.style.borderWidth='1px'
                                   selposition = selposition+10;
                                   sel.style.height = selposition +'px';
                                   dist = dist -10;
                                   break;
            case 'up': selposition = c;
                              selposition = selposition-10;
                              sel.style.height = selposition +'px';
                              dist = dist -10;
                              if(dist<10){
                                  sel.style.borderWidth='0'
                              }
                              break;
            case 'left': selposition = c;
                               selposition = selposition-10;
                               sel.style.left = selposition+'px';
                               dist = dist -10;
                               break;
            case 'right': selposition = c;
                                 selposition = selposition-10;
                                 sel.style.right = selposition+'px';
                                 dist = dist -10;
                                 break;
        }
        f='KCPL.slide("'+id+'","'+direct +'",' +dist+','+selposition+')';
        setTimeout(f, 35);
    }
    else{
    
        return}
}
    //QuickSwitch(qa, qb) is a general utility function used site-wide to open/close quick-links-style drawer controls. currently only used on the index page.
    KCPL.quickSwitch= function (qa, qb){
        if(KCPL.qlink.id ){
            if(KCPL.qlink.id==qa){
                if(KCPL.qlink.ref.style.display== 'none'){
                    KCPL.qlink.ref.style.display = 'block'
                }
                else{
                    KCPL.qlink.ref.style.display = 'none'
                }
            }
            else{
                KCPL.qlink.ref.style.display = 'none';
                KCPL.qlink.id = qa;
                if(qb){KCPL.qlink.text = document.getElementById(qb).innerHTML;}
                KCPL.qlink.ref = document.getElementById(qa);
                KCPL.qlink.ref.style.display = 'block';
            }
        }
        else{
            KCPL.qlink.id = qa;
            if(qb){KCPL.qlink.text = document.getElementById(qb).innerHTML;}
            KCPL.qlink.ref = document.getElementById(qa)
            KCPL.qlink.ref.style.display  = 'block';
        }
    }

    var blink ={};
    function BlurbSwitch(id){
        if(blink.id){
            if(blink.id==id){
                bs=document.getElementById(id);
                if(bs.className=='blurb'){
                    bs.className='visible'
                }
            else{
                bs.className='blurb'
                }
            }
        else{
            document.getElementById(blink.id).className='blurb'
            bs=document.getElementById(id);
            if(bs.className=='blurb'){
                bs.className='visible'
                }
            else{
               bs.className='blurb'
               }
            }
            blink.id=id
        }
        else{
            blink.id=id
            bs=document.getElementById(id);
            if(bs.className=='blurb'){
                bs.className='visible'
                }
            else{
                bs.className='blurb'
                }
        }
    }
    
    //DeweySwitch(qa, qb) appears to only be used on the collection guide page to hide/reveal dewey subdivisions on form   
    function DeweySwitch(qa, qb){   
        if(KCPL.qlink.id ){
            if(KCPL.qlink.id==qa){
                if(KCPL.qlink.ref.style.display== 'none'){
                    KCPL.qlink.ref.style.display = 'block'
                }
                else{
                    KCPL.qlink.ref.style.display = 'none'
                }
            }
            else{
                KCPL.qlink.ref.style.display = 'none';
                KCPL.qlink.id = qa;
                KCPL.qlink.text = document.getElementById(qb).innerHTML;
                KCPL.qlink.ref = document.getElementById(qa);
                KCPL.qlink.ref.style.display = 'block';
            }
        }
        else{
            document.getElementById('s0').style.display='none';
            KCPL.qlink.id = qa;
            KCPL.qlink.text = document.getElementById(qb).innerHTML;
            KCPL.qlink.ref = document.getElementById(qa)
            KCPL.qlink.ref.style.display  = 'block';
        }
        document.getElementById(qa + '2').checked ='checked'
        document.getElementById('browserhead').innerHTML = KCPL.qlink.text
    }

    function ClassSwitch(buttext,featureID){
        if(featureID){cs=document.getElementById(featureID)}
        else{cs = document.getElementById('feature')}
        if(document.getElementById(buttext).innerHTML=='view expanded list'){document.getElementById(buttext).innerHTML = 'view compact list'}
        else{document.getElementById(buttext).innerHTML='view expanded list'}
        if(cs.className=='expanded'){
            cs.className='standard'}
        else if(cs.className=='standard'){cs.className='expanded'}
    }  
    
    
    KCPL.setActiveStyleSheet = function(title) {
        var i, a, main;
        for(i=0; (a = KCPL.stiles[i]); i++) {
            if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
                a.disabled = true;
                if(a.getAttribute("title") == title||a.getAttribute("title")==KCPL.readCookie('fontsize')) a.disabled = false;
            }
        }
    }

    KCPL.getActiveStyleSheet = function() {
        var i, a;
        for(i=0; (a = KCPL.stiles[i]); i++) {
            if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
        }
        return null;
    }

    KCPL.getPreferredStyleSheet = function() {
        var i, a;
        for(i=0; (a = KCPL.stiles[i]); i++) {
            if(a.getAttribute("rel").indexOf("style") != -1&& a.getAttribute("rel").indexOf("alt") == -1&& a.getAttribute("title")) return a.getAttribute("title");
        }
        return null;
    }

    KCPL.createCookie = function(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=/";
    }

    KCPL.readCookie = function(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;
    }
    
    //Checks on pageload for the show me menu cookie.  If there reads cookie to determine Show me menu state and fires the appropriate function call.
    KCPL.ShowMeState= function(e){
    var tm = '<a class="b1" href="/teenzone">Teen Zone</a><a class="b1" href="/teenzone/getgraphic.html">Get Graphic!</a><a class="b1" href="/teenzone/getcreative.html">Get Creative!</a><a class="b1" href="/teenzone/getahead.html">Get Ahead!</a><a class="b1" href="/teenzone/getclinked.html">Get Connected!</a>';
        document.getElementById("teenmenu").innerHTML = tm
        var show=KCPL.readCookie('imstate');
         var temp=navigator.appVersion.split('MSIE');
        var browsecheck = parseInt(temp[1]);
        var isIE6=(browsecheck == 6)?1:0;

        if(document.getElementById('showmeframe')){
            if(show=='closed'){
            if(isIE6){
                 document.getElementById('content').style.marginTop='-50px';
                 }
             else{
                 document.getElementById('showmeframe').style.height='0px';
                 }
document.getElementById('hideshow').style.visibility = 'hidden'
                document.getElementById('showmeframe').style.borderWidth='0px';
                for(i=0;a=document.getElementById('showmemenu').showme.options[i];i++){
                    if(a.value==show){a.selected = true}
                }
            }
            else{
                for(i=0;a=document.getElementById('showmemenu').showme.options[i];i++){
                    if(a.value==show){a.selected = true}
                }
                KCPL.setShowMe();
            }
        }
        return;
    }
    KCPL.hideShowMe = function(){
        document.getElementById('rep').selected = true
        KCPL.setShowMe()
    }


    KCPL.setShowMe= function(){
        var sms=KCPL.readCookie('imstate')
        var i,a;
       var temp=navigator.appVersion.split('MSIE');
        var browsecheck = parseInt(temp[1]);
         var isIE6=(browsecheck == 6)?1:0;

        if(isIE6){
            for(i=0;a=document.getElementById('showmemenu').showme.options[i];i++){
                if(a.selected){
                    if(sms=='closed'){
                        switch (a.value){
                            case 'closed': document.getElementById('hideshow').style.visibility = 'hidden'
                                                      break;
                            default:            document.getElementById(a.value).style.height='50px';
                                                      KCPL.slideIE6('content','down',50,-50);
                                                         //document.getElementById('hideshow').style.display = 'inline'
                                                      break;
                        }
                    }
                    else{
                        switch (a.value){
                            case 'closed':    document.getElementById('hideshow').style.visibility = 'hidden'
                                                         document.getElementById(sms).style.height='0px';
                                                         KCPL.slideIE6('content','up',50,0);
                                                         break;
                            default:                if(sms){document.getElementById(sms).style.height='0px';}
                                                         document.getElementById(a.value).style.height='50px';
                                                         document.getElementById('hideshow').style.visibility = 'visible'
                                                         break;
                        }
                    }
                    KCPL.createCookie("imstate",a.value)
                }
                if(!a.selected&&a.value!='closed'){document.getElementById(a.value).style.height='0px'}
            }
        }
        else{
            for(i=0;a=document.getElementById('showmemenu').showme.options[i];i++){
                if(a.selected){
                    if(sms=='closed'){
                        switch (a.value){
                            case 'closed': document.getElementById('hideshow').style.visibility = 'hidden'
                                                      break;
                            default:            document.getElementById(a.value).style.height='50px';
                                                      KCPL.slide('showmeframe','down',50,0);
                                                      document.getElementById('hideshow').style.visibility = 'visible'
                                                      break;
                        }
                    }
                    else{
                        switch (a.value){
                            case 'closed':    document.getElementById(sms).style.height='0px';
                                                         KCPL.slide('showmeframe','up',50,50);
                                                         document.getElementById('hideshow').style.visibility = 'hidden'
                                                         break;
                            default:                if(sms){document.getElementById(sms).style.height='0px';}
                                                         document.getElementById(a.value).style.height='50px';
                                                         document.getElementById('hideshow').style.visibility = 'visible'
                                                         break;
                        }
                    }
                    KCPL.createCookie("imstate",a.value)
                }
                if(!a.selected&&a.value!='closed'){document.getElementById(a.value).style.height='0px'}
            }
        }
    }        

    KCPL.styleChanger = function(e) {
        var cookie = KCPL.readCookie("color");
        var title = cookie ? cookie : KCPL.getPreferredStyleSheet();
        var test =document.getElementById("colorselet")
        if(test){
        KCPL.setActiveStyleSheet(title);
        }
        if(document.getElementById('myaccount')){
            document.getElementById('myaccount').reset()
        } 
    }

KCPL.loadCalendar = function(){
        if(document.getElementById('locations')){
            var sysCal = new sidecal.ScheduleLoader(evtArray, bkschedule, 'locations')
            sysCal.createEventDrawerControls('locations')
        }
    }
   
KCPL.dateHighliter = function(){
        if(document.getElementById(KCPL.days[KCPL.today.getDay()])){
            document.getElementById(KCPL.days[KCPL.today.getDay()]).style.backgroundColor ="#FFF1AD"
        }
    }
   
KCPL.removeDefaultSearchText = function(){
    var s1=document.getElementById('searchdata1');
    if(s1){
    //alert('hit')
        s1.onfocus=function(){if(this.value=='enter title, subject, or author here' || this.value==' enter author, title, or subject here' || this.value==' enter title, subject, or author here')this.value=''}
        }
        }


var slides = new Array();
function LoadSlides(){
    for (i=0;(document.getElementsByTagName('div')[i]);i++){
        pots=document.getElementsByTagName('div')[i]
        if(pots.className=='makeslideshow'){
            pots.className='slideshow'
            for (j=0;(pots.getElementsByTagName('div')[j]);j++){
                if (pots.getElementsByTagName('div')[j].className=='slide'||pots.getElementsByTagName('div')[j].className=='slide iodd'||pots.getElementsByTagName('div')[j].className=='slide ieven'){
                pots.getElementsByTagName('div')[j].style.visibility='hidden'
                    slides.push(pots.getElementsByTagName('div')[j])
                }
            }
            RunShow()
        }
    }
}

var sscreen={
title: document.getElementById('title'),
picture : document.getElementById('pic'),
author : document.getElementById('author'),
blurb : document.getElementById('blurb')
}

var counter = 0
function RunShow(){
if(counter==0){slides[slides.length - 1].style.visibility='hidden'}
if(counter>0){ slides[counter-1].style.visibility='hidden'}
slides[counter].style.visibility='visible'

counter++
if(counter==slides.length){counter=0;}
setTimeout('RunShow()', 15000);
}
   
   
   
   
   
   
   
   
   
   
   
   
    window.onloadListeners=new Array();
    
    window.addOnLoadListener = function (listener){
        window.onloadListeners[window.onloadListeners.length]=listener;
    }
    
    window.addOnLoadListener(KCPL.loadCalendar);
    window.addOnLoadListener(KCPL.dateHighliter);
    window.addOnLoadListener(KCPL.removeDefaultSearchText );
    window.addOnLoadListener(LoadSlides)

    window.onload = function(){
        for(var i=0;i<window.onloadListeners.length; i++){
            var func=window.onloadListeners[i];
            func.call()
        }
    }
    


    window.onunload = function(e) {
        var title = KCPL.getActiveStyleSheet();
        KCPL.createCookie("color", title, 365);
        var i,a;
        if(document.getElementById('showmemenu')){
            for(i=0;a=document.getElementById('showmemenu').showme.options[i];i++){
                if(a.selected){KCPL.createCookie("imstate",a.value)}
            }
        }
    }
KCPL.styleChanger();
KCPL.initializeFontSizer();
