function popUp(URL){day=new Date();id=day.getTime();eval("page"+id+" = window.open(URL, '"+id+"', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=500');");}
function externalLinks(){if(!document.getElementsByTagName)
return;var anchors=document.getElementsByTagName("a");var areas=document.getElementsByTagName("area");var forms=document.getElementsByTagName("form");for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute("href")&&anchor.getAttribute("rel")=="external")
anchor.target="_blank";}
for(var x=0;x<areas.length;x++){var area=areas[x];if(area.getAttribute("href")&&area.getAttribute("rel")=="external")
area.target="_blank";}
for(var y=0;y<forms.length;y++){var form=forms[y];if(form.getAttribute("rel")=="external")
form.target="_blank";}}
var oldImage="";function rollOver(oImg){oldImage=oImg.src;var newImage=oldImage.replace("_i.","_o.");oImg.src=newImage;}
function rollOut(oImg){oImg.src=oldImage;}
function clearText(thefield){if(thefield.defaultValue==thefield.value){thefield.value="";}}
function replaceText(thefield){if(thefield.value==""){thefield.value=thefield.defaultValue;}}
function simplePreload(){var args=simplePreload.arguments;document.imageArray=new Array(args.length);for(var i=0;i<args.length;i++){document.imageArray[i]=new Image();document.imageArray[i].src=args[i];}}
function startup(){externalLinks();}
var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=startup;}
else{window.onload=function(){oldonload();startup();}}
function toggletIt(){$(".toggled").slideToggle("slow");$(".toggler").toggle();}
function toggleText(whatIs,whatLink){var toggled=whatIs;var toggler=whatLink;$("#"+whatIs).slideToggle("slow");$("."+whatLink).toggle();}
function days_between(date1,date2){var ONE_DAY=1000*60*60*24
date1.setHours(0);date1.setMinutes(0);date1.setSeconds(0);date2.setHours(0);date2.setMinutes(0);date2.setSeconds(0);var date1_ms=date1.getTime()
var date2_ms=date2.getTime()
var difference_ms=Math.abs(date1_ms-date2_ms)
return Math.round(difference_ms/ONE_DAY)}
function formatCurrency(num){num=num.toString().replace(/\$|\,/g,'');if(isNaN(num))
num="0";sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);cents=num%100;num=Math.floor(num/100).toString();if(cents<10)
cents="0"+cents;for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)
num=num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));return(((sign)?'':'-')+'$'+num+'.'+cents);}
function calculateRentalPrice(numdays,baseRentalPrice){var price;if(numdays==60){price=baseRentalPrice;}
else if(numdays>=61&&numdays<=125){price=baseRentalPrice*(1+((numdays-60)*0.002));}
else if(numdays>=126&&numdays<=149){price=baseRentalPrice*(1+((numdays-60)*0.0052));}
else if(numdays>=150&&numdays<=250){var adjusted_base_rental_price=baseRentalPrice*1.67;price=adjusted_base_rental_price*(1+((numdays-150)*0.003));}
return price;}
sfHover=function(){var sfEls=document.getElementById("nav").getElementsByTagName("li");for(var i=0;i<sfEls.length;i++){sfEls[i].onmouseover=function(){this.className+=" hover";}
sfEls[i].onmouseout=function(){this.className=this.className.replace(new RegExp(" hover\\b"),"");}}}
if(window.attachEvent)window.attachEvent("onload",sfHover);var bannerDeck={autoRotate:1,deck:'',navCount:0,nextSlide:0,bannerAnimate:function(myLI){var liwidth=$(myLI).width()+32+'px';var lileft=parseInt($(myLI).position().left+10)+'px';$('#banner-nav .highlight_container').animate({left:lileft,width:liwidth},350,function(){bannerDeck.autoRotate=1;});},init:function(){if($('#banner-nav li').length){$('#banner-nav li').click(function(){bannerDeck.autoRotate=0;var navIndex=$('#banner-nav li').index($(this))+1;bannerDeck.deck.goTo(navIndex);bannerDeck.bannerAnimate(this);});}}}
//var bookScroller={deck:'',init:function(){if($('#scrollerPrev').length){$('#scrollerPrev').click(function(){bookScroller.deck.prev();});}
//if($('#scrollerNext').length){$('#scrollerNext').click(function(){bookScroller.deck.next();});}}}

$(document).ready(function(){

	$('#selected_cat').bind('click', function(){
      $this = $('#selected_cat');
      $cat_list = $('#search_category_list');
      $this.hide();
      $cat_list.show();
      $cat_list.addClass('open');
        
    });
    
    $('#search_category_list').bind('mouseleave', function(e){
      setTimeout(function(){
	    if(!($('#search_category_list').children('.hovered').length)){
		  $this = $('#search_category_list');
          $this.hide();
          $this.removeClass('open');
          $('#selected_cat').show(); 
		}
      }, 500);
    });
	
    $('#search_category_list div').mouseenter(function(e){
      $(e.target).addClass('hovered');                                                            
    }).mouseleave(function(e){
      setTimeout(function(){
      $(e.target).removeClass('hovered');}, 250);
    });

    $('#search_category_list div').bind('click', function(){
        var html = $(this).html();
        $('#header_search_dept').val(html);
        $('#selected_cat').html(html);
        $('#search_category_list').hide();
    });
	
    $("#header_find_course input").bind("click",function(){return false;$("#li_find_course").addClass("open");});$("#headerresults").bind("click",function(){return false;$("#li_find_course").addClass("open");});$("#vb_dealEmail").bind("focus",function(e){var input=$(e.target);var value=input.val();if(value=="Your Email Address"||value=="Invalid Email Address"||value=="You are now registered"){input.val("");input.css("color","#000");}});$("#vb_dealEmail").bind("blur",function(e){var input=$(e.target);var value=input.val();if(value==""){input.val("Your Email Address");}});$("#vb_emailsubmit").bind("click",function(){var input=$("#vb_dealEmail");var address=input.val();var reg=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(reg.test(address)==false){input.val("Invalid Email Address");input.css("color","#c00000");return false;}else{$("#vb_dealsForm").submit();}});$("#header_modal").bind('click',function(){$("#selectionBar li").each(function(){if($(this).hasClass('open')){$(this).removeClass('open');}});$("#header_modal").hide();});$("#selectionBar li").bind('click',function(){var li=$(this);if(!(li.hasClass("open"))){$("#selectionBar li").each(function(){if($(this).hasClass('open')){$(this).removeClass('open');}});$("#header_modal").show();li.addClass("open");}else{$("#header_modal").hide();li.removeClass("open");li.removeClass("openMO");li.css("left","-999em");}});$("#li_getDeals .sb_contentdiv").bind("click",function(){$("#li_getDeals").addClass("open");});$(".sb_contentdiv").bind('click',function(){return false;});$('input[type="text"]').blur(function(){if(this.value==''){$(this).removeClass("textFieldFocus").addClass("textField");this.value=(this.defaultValue);}});if($('#topContent #more').length){$('#more').click(function(){$(this).fadeOut('fast');$('div.expand span.close').fadeIn();$('div.expand').slideDown();});$('div.expand span.close').click(function(){$(this).fadeOut();$('#more').fadeIn('fast');$('div.expand').slideUp();});}
if($('a.scrollTo').length){$('a.scrollTo').click(function(event){event.preventDefault();var destination=this.href.split("#")[1];$.scrollTo('#'+destination,1000,{easing:'easeInOutCubic',offset:{top:-30,left:0}});});}});


/***********************
 * The following functions are for 
 * the autosuggest in the header
 *********************/
function headersuggest(keywordsVar, keyVar) {

	  keywords = keywordsVar;
	  keycode = keyVar.keyCode;

	  
	  var str = escape(keywords);
	  if (str == '' || str == ' ') {
	    hideSuggest();
	  }
	  else if( (str.length > 1) && (searchReq.readyState == 4 || searchReq.readyState == 0) ) {
	    searchReq.open("GET", '/SchoolSuggestServlet?q=' + str, true);
	    searchReq.onreadystatechange = headersearchSuggest;
	    searchReq.send(null);
	  }
	}

	/***********************************************
	 * Find search keys in data set
	 ***********************************************/
	function headersearchSuggest()
	{
		var results = document.getElementById("headerresults");
		
		if (searchReq.readyState == 4) {
		
		if(keywords != "")
		{
			var terms = get_data(); // sort? -- data should be alphabetical for best results

			var ul = document.createElement("ul");
			var li;
			var a;
			
			if ((keycode == 40 || keycode == 38 || keycode == 13))
			{
				navigate(keycode);
			}
			else
			{
				var kIndex = -1;
			
				for(var i = 0; i < terms.length; i++)
				{	
					kIndex = terms[i].toLowerCase().indexOf(keywords.toLowerCase());
					
					if(kIndex >= 0) 
					{
						li = document.createElement("li");
						
						// setup the link to populate the search box
						a = document.createElement("a");
						a.href = "javascript://"; 

						a.setAttribute("rev", getRank(terms[i].toLowerCase(), keywords.toLowerCase()));
						
						if(!document.all) a.setAttribute("onclick","headerpopulate(this);");
						else a.onclick = function() { headerpopulate(this); }
						
						a.appendChild(document.createTextNode(""));
						
						if(keywords.length == 1) 
						{
							var kws = terms[i].toLowerCase().split(" ");
							var firstWord = 0;
							
							for(var j = 0; j < kws.length; j++)
							{
								if(kws[j].toLowerCase().charAt(0) == keywords.toLowerCase()) {
									
									ul.appendChild(li);
									
									if(j != 0) {
										kIndex = terms[i].toLowerCase().indexOf(" " + keywords.toLowerCase());
										kIndex++;
									}
									
									break;
								}
							}
						}
						else if(keywords.length > 1) {
							ul.appendChild(li);
						}
						else continue;

						
						var before = terms[i].substring(0, kIndex);
						var middle = terms[i].substring(kIndex, keywords.length + kIndex);
						var after = terms[i].substring(keywords.length + kIndex, terms[i].length);
		
						a.innerHTML = before + "<strong>" + middle + "</strong>" + after;
		
						li.appendChild(a);

					}
				}		
				
				if(results.hasChildNodes()) results.removeChild(results.firstChild);
								
				/*results.style.width = s.offsetWidth + "px";*/
				
				// if there are some results, show them
				if(ul.hasChildNodes()) {
					results.appendChild(filterResults(ul));
					
					if(results.firstChild.childNodes.length == 1) results.firstChild.firstChild.getElementsByTagName("a")[0].className = "hover";
					
				}

			}
		}
		else
		{
			if(results.hasChildNodes()) results.removeChild(results.firstChild);
		}
		
		}
	}
	
	/***********************************************
	 * Helper to preserve onclick on suggestions
	 ***********************************************/
	function headerclearSuggest()
	{
		// need a timeout so the onclick event is captured before results are hidden
		setTimeout("headerhideSuggest()",450);
	}

	/***********************************************
	 * Hide the suggestions list and remove from DOM
	 ***********************************************/
	function headerhideSuggest()
	{
		var results = document.getElementById("headerresults");
		if(results.hasChildNodes()) results.removeChild(results.firstChild);
		
	          results.appendChild(document.createComment("IE BUG FIX"));
		
		document.getElementById("keyIndex").value = "-1"; // reset the suggestions index
	}
	
	/***********************************************
	 * Populate hidden fields via onclick on 'Enter'
	 ***********************************************/
	function headerpopulate(a)
	{
		var ul = document.getElementById("headerresults").childNodes[0];
		
		try {

			var pick = $(a).text().replace("<strong>","").replace("</strong>","");
//			var pick = a.innerHTML.replace("<strong>","").replace("</strong>","");
			pick = pick.replace("<STRONG>","").replace("</STRONG>","");
			
			// IE6 converts HTML elements to uppercase -- could be done with RegExp
			if(document.all) pick = pick.replace("<STRONG>","").replace("</STRONG>","");
			
			//document.getElementById("header_txt_search").value = pick;
			
			$("#header_txt_search").val(pick);
			$('#header_find_course').submit();
		}
		catch(e) {alert(e);}
		
		
		//clearSuggest();
	}
