﻿// JScript File

jQuery.noConflict();

jQuery(document).ready(function($)  {    
    $.datepicker.setDefaults({showOn: 'both', buttonImageOnly: true, 
    buttonImage: 'media/images/secondary/coursefinder/fieldbutton.gif', buttonText: 'Calendar'});
    $('.Calendar').datepicker({showOn: 'both', buttonImage: 'media/images/secondary/coursefinder/fieldbutton.gif', buttonImageOnly: true});
    $('.CalendarLeft').datepicker({showOn: 'both', buttonImage: 'media/images/secondary/coursefinder/fieldbutton.gif', buttonImageOnly: true});
    var id = getQueryVariable("id");
    var state = getQueryVariable("st");
	var instructor = getQueryVariable("instructor");
    if (id != "-1")
    {
        SearchCourse(id);
    }
    else if (state != "-1")
    {
        SearchState(state);
    }
	else if (instructor != "-1")
	{
		SearchInstructor(instructor);
	}
    else
    {
        $("#MapHold").show();
    }
});

function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13)
     {
        SearchKeyword();
        return false;
     }     
     else
     {
        return true;
     }
}

function getQueryVariable(variable)
{
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++)
	{
		var pair = vars[i].split("=");
		if (pair[0] == variable)
		{
			return pair[1];
		}
	}
	return -1;
}

function SearchKeyword()
{
    var search = getObj('SearchBox').value;
    CourseFinder.SearchKeyword(search, Search_CallBack)
}

function SearchState(state)
{
    getObj('CurrentState').value = state;    
    SubmitStateSearch()
}

function SearchCourse(id)
{
	CourseFinder.GetCourse(id, Search_CallBack)	
}

function SearchInstructor(id)
{
	CourseFinder.GetInstructor(id, Search_CallBack)
}

function SearchState_CallBack(response)
{
    try
    {
        if(response.error != null){
            CreateMessage(response.error, "error");  
            return;
        }else{
            getObj('stateName').innerHTML = response.value;
            getObj('StateSearchArea').style.display = 'block';
            return;
        }
    }
    catch(e)
    {
        CreateMessage(response.value, "error");  
    }
}

function CloseStateSearch()
{
    getObj('StateSearchArea').style.display = 'none';
}

function SubmitStateSearch()
{
    var startDate = getObj('StateStartDate').value;
    var endDate = getObj('StateEndDate').value;
    var state = getObj('CurrentState').value;
    getObj('ctl00_ctl00_Content_SideNavContent_Location').value = state;
    getObj('SearchStartDate').value = startDate;
    getObj('SearchEndDate').value = endDate;
    CourseFinder.Search(state, startDate, endDate, 'Event Date', Search_CallBack)
}

function SubmitSearch()
{
    var startDate = getObj('SearchStartDate').value;
    var endDate = getObj('SearchEndDate').value;
    var state = getObj('ctl00_ctl00_Content_SideNavContent_Location').value;
    CourseFinder.Search(state, startDate, endDate, 'Event Date', Search_CallBack)
}

function SearchSort(orderBy)
{
    var startDate = getObj('StateStartDate').value;
    var endDate = getObj('StateEndDate').value;
    var state = getObj('CurrentState').value;
    CourseFinder.Search(state, startDate, endDate, orderBy, Search_CallBack)
}

function Search_CallBack(response)
{
    try
    {
        if(response.error != null){
            CreateMessage(response.error, "error");  
            return;
        }else{
            getObj('ResultsHold').innerHTML = response.value;
            getObj('ResultsHold').style.display = 'block';
            getObj('MapHold').style.display = 'none';
            Initialize();
            return;
        }
    }
    catch(e)
    {
        CreateMessage(response.value, "error");  
    }
}

function ReturnToMap()
{
    getObj('ResultsHold').style.display = 'none';
    getObj('MapHold').style.display = 'block';
}

function RemoveCourse(id)
{
    CourseFinder.RemoveCourse(id, AddCourse_CallBack)
}

function AddCourse(id)
{
    CourseFinder.AddCourse(id, AddCourse_CallBack)
}

function AddCourse_CallBack(response)
{
    try
    {
        if(response.error != null){
            CreateMessage(response.error, "error");  
            return;
        }else{
            getObj('RegisterHold').innerHTML = response.value;
            return;
        }
    }
    catch(e)
    {
        CreateMessage(response.value, "error");  
    }
}

function CreateMessage(msg, type)
{
    getObj('Status').innerHTML = "<table class=\"messagelist\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\" style=\"margin-top: 20px; margin-left: 20px;\"><tr><td><img src=\"/media/images/icons/" + type + ".gif\" align=\"absmiddle\" style=\"border-width:0px;\" /></td><td>" + msg + "</td></tr></table>";
}

function ClearMessages()
{
    getObj('Status').innerHTML = "";
}

function Left()
{
   dw_scrollObj.scrollBy('wn',620,0); 
   return false;
}

function Right()
{          
   dw_scrollObj.scrollBy('wn',-620,0);
   return false;           
}

function Initialize()
{
    var wndo = new dw_scrollObj('wn', 'CatDiv', null);
    dw_scrollObj.GeckoTableBugFix('wn');
}


function over(id, cursorVal)
{
document.getElementById(id).style.cursor = cursorVal;
}

function out(id)
{
document.getElementById(id).style.cursor = 'default';
}