/* nbcarchives js library
 * $Revision: 4466 $
 * $Id: aodjax.js 4466 2010-04-12 20:33:47Z vivek.awana@nbcuni.com $ 
 */
var subscription_file 		= 'xml/subscriptions/dev-prv-subscription.xml';//need
var chapter_prefix		= 'xml/testchapterchannelutilasxml/';
var nodelist_prefix 		= 'xml/testnodelistasxml/';
var cuecard_prefix		= 'https://preview.icue.com/icue/icue-v1_1.xml?id=';
var flatview_prefix		= 'https://preview.icue.com/portal/site/iCue/flatview/?cuecard=';

var edit_pencil			= false;
var position_id			= false;
var chapter_xml			= false;
var cycle_view_channel_id		= false;
var nodelist_buffer_type	= false;
var subscription_buffer 	= false;
var chapter_buffer 		= false;
var nodelist_buffer 		= false;

var na_sortby			= 'publish';
var na_sortorder		= 'descending';
var na_totalitems 		= 0;
var na_start			= 1;
var na_end				= 0;

var sort_criteria 		= '';
var sort_direction 		= '';
var items_per_page 		= 25;
var items_offset		= 0;

var search_simple_terms		= '';
var search_terms_and		= '';
var search_terms_or		= '';
var search_terms_not		= '';
var search_date_view		= '';
var search_sort_order		= '';
var search_sort_by		= 'relevance';
var search_pageNumber		= '1';
var search_perPage		= '25';
var search_terms_all		= '';
var search_terms_exact		= '';
var search_atLeastOne		= '';
var search_without		= '';

var search_airFromMonth		= '';
var search_airFromDay		= '';
var search_airFromYear		= '';
var search_airToMonth		= '';
var search_airToDay		= '';
var search_airToYear		= '';

var search_eventFromMonth	= '';
var search_eventFromDay		= '';
var search_eventFromYear	= '';
var search_eventToMonth		= '';
var search_eventToDay		= '';
var search_eventToYear		= '';

var search_videos		= '';
var search_audios		= '';
var search_images		= '';
var search_documents		= '';
var search_sources		= '';
var search_selectedCollection 	= '';
var search_selectedCourses 	= '';
var search_checkAll		= 'true';
var search_searchWhere		= 'icue';

var search_resultCount		= 52;
var first_page_number		= '0';
var prev_page_number		= '0';
var next_page_number		= '2';
var last_page_number		= '4';
var search_page_from		='1';
var search_page_to		='25';

var search_filterby_collections = '';
var search_filterby_cources 	= '';
var search_filterby_sources 	= '';
var search_filterby_videos 	= '';
var search_filterby_audios 	= '';
var search_filterby_images 	= '';
var search_filterby_documents 	= '';
var search_page_view_type	= 'view_thumb';
var homepage = false;
var isHelpHomePage = false ;
var h1img			 = 'https://dev-preview.archives.nbclearn.com/files/nbcarchives/site/images/thumbs/Section_SearchResults.jpg';
		
var show_thumbover_flyout	 = false; // default value was true : must be updated to true when flyout debugging begins
var current_view		= 'large';
var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");

var nolist_title		= 'Welcome to the Collections Homepage.';
var nolist_body			= 'Please select a collection to the left and start exploring the archives!';
var helphome_title		= 'Welcome to the Help Page.';
var helphome_body		= 'Please select a help topic to the left to get started!';  

var isSearchActive		= false;

var isPlaylistActive = false;
var isSharedPlaylistActive= false;
var isHelpActive = false;
var isCollectionNodeList = false;
var shared_playlist_uid = '';
var nodelist_buffer = '';
var filter_buffer = '';
var addthis_config = {
		services_compact: 'email,favorites,myspace,twitter,facebook,google,stumbleupon,digg,newsvine,aim,myaol,delicious,more',
		ui_language: 'en',
		ui_cobrand: 'These Cue Cards .....'
}

window.onload = function() {
    nbcarchiveInitialize();
}
/* triggered at page load */
function nbcarchiveInitialize()
{
    /* prevents dotted outline around clicked elements in firefox */
    window.onclick = function(theEvent)
    {
            theTagName = theEvent.target.tagName;
            doBlur = true;
            if (theTagName == "INPUT") doBlur = false;
            if (theTagName == "SELECT") doBlur = false;
            if (theTagName == "TEXTAREA") doBlur = false;
            if (theTagName == "OPTION") doBlur = false;
            if (theTagName == "EMBED") doBlur = false;

            if (doBlur) {
                    theEvent.target.focus = theEvent.target.blur();
            }
    }
}
var advsearch = {};
advsearch.filter = function(title,count,subfilters,ischecked){
	this.title=title;
	this.count= count - 0;
	this.subfilters=subfilters;
	if (true == ischecked) {
		this.ischecked = true;
	}else {
		this.ischecked = false;
	}
}
advsearch.filter.prototype.stringCompareTo = function(aa,bb){
	return ((aa < bb) ? -1 : ((aa == bb) ? 0 : 1)) ;
}
advsearch.filter.prototype.titleCompareTo = function(filter){
	var aa = this.title.toLowerCase() ;
	var bb = filter.title.toLowerCase() ;
	return this.stringCompareTo(aa,bb);
}
advsearch.filter.prototype.compareTo = function(filter){
	return this.titleCompareTo(filter);
}
advsearch.filter.prototype.equals = function(that){
	return this.title.toLowerCase() == that.title.toLowerCase();
}
advsearch.filter.prototype.toString = function(){
	return "title[" + this.title + "] count[" + this.count + "]checked[" + this.ischecked + "]";
}
advsearch.util = {
		isEmpty : function (s)
		{  
			return ((s == null) || (s.length == 0));
		}
}
advsearch.builder = {
	collfilters: [],
	srcfilters: [],
	typfilters: [],
	selCollArr: [],
	selCourseArr: [],
	selSourcesArr: [],
	collExpanderjqSelectors:'',
	filtercontentexpanderjqSel:'',
	isFilterInArray: function(title, filterArray) {
		if (filterArray ==  null || filterArray.length == 0 ) {
			return -1;
		}
	
		for (var i in filterArray)
		{
			if (filterArray[i].equals(new advsearch.filter(title))) {
				return i;
			} 
		}
		return -1;
	},
	setcollfilter:function(title,count,subfilters,ischecked){
		this.collfilters[this.collfilters.length]= new advsearch.filter(title,count,subfilters,ischecked);
	},
	setsrcfilter:function(title,count,subfilters,ischecked){
		this.srcfilters[this.srcfilters.length]= new advsearch.filter(title,count,subfilters,ischecked);
	},
	settypfilter:function(title,count,subfilters,ischecked){
		this.typfilters[this.typfilters.length]= new advsearch.filter(title,count,subfilters,ischecked);
	},
	resetAll:function(){
	 	this.collfilters=new Array() ;
	 	this.srcfilters = new Array() ;
	 	this.typfilters = new Array() ;
	 	this.selCollArr = new Array();
	 	this.selCourseArr = new Array();
		this.selSourcesArr = new Array();
		collectionExpanderIds='';
	},
	sortAllFiltersByTitle: function(){
		var builder = this;
		if (builder.collfilters.length > 0 ) {
			/* Hardcoded ordering of collections */
			var sortingArray = new Array();
			sortingArray[0] = "In The News" ;
			sortingArray[1] = "Social Studies" ;
			sortingArray[2] = "Language Arts" ;
			sortingArray[3] = "Science" ;
			sortingArray[4] = "Health & Wellness" ;
			sortingArray[5] = "Business and Financial Literacy" ;
			sortingArray[6] = "Business & Financial Literacy" ;
			var newArr = new Array();
			
			$.each(sortingArray, function(n, sortingTitle){
				var  i = builder.isFilterInArray(sortingTitle, builder.collfilters);
				if ( i != -1) {
					newArr[newArr.length] = builder.collfilters[i];
				}
			 });
			
			/* If we have a collection that didn't get new index then it should be added in new Arr*/	
			$.each(builder.collfilters, function(n,filter){
				var  i = builder.isFilterInArray(filter.title, newArr);  
				if ( i == -1) {
					newArr[newArr.length] = filter;
				}
			 });
			/* Finally replace coll filter */
			builder.collfilters = newArr;
		}
		
		if (builder.srcfilters.length > 0 ) {
			builder.srcfilters.sort(function(a,b){ return a.titleCompareTo(b); });
		}
				
		if (builder.typfilters.length > 0 ) {
			builder.typfilters.sort(function(a,b){ return a.titleCompareTo(b); });
		}
	},
	processResults: function(){
		var builder = this;
		builder.resetAll();
		if (null != search_selectedCollection && $.trim(search_selectedCollection).length >0) {
			builder.selCollArr = $.trim(search_selectedCollection).split(/\s*,\s*/);
		}
		if (null != search_selectedCourses && $.trim(search_selectedCourses).length >0) {
			builder.selCourseArr = $.trim(search_selectedCourses).split(/\s*,\s*/);
		}
		if (null != search_sources && $.trim(search_sources).length >0) {
			builder.selSourcesArr = $.trim(search_sources).split(/\s*,\s*/);
		}
		
		$('a.subfilter_off').each(function(){
			if ($(this).is(':visible')){
				if (builder.collExpanderjqSelectors.length >0) {
					builder.collExpanderjqSelectors += ',';
				}
				builder.collExpanderjqSelectors += '#' + $(this).attr('id');
			}
		});
		var openfilercontentId= $('div.filter_content').filter(':visible').attr('id');
		if (null != openfilercontentId && openfilercontentId.length > 0) {
			builder.filtercontentexpanderjqSel = "h4." + openfilercontentId.substring(0, openfilercontentId.indexOf('_'));
		}
		$('#bycollection').children().find('input[id^=coll_]').each(function(){
			var coll_title = $.trim($(this).parent().find('span.title').text());
			var coll_count = $.trim($(this).parent().find('span.count').text());
			var coll_count_num = $.trim(coll_count.substring(coll_count.indexOf('(') + 1, coll_count.indexOf(')')));
			var coll_checkid = $(this).attr('id');
			var subfilters=new Array() ;
			$('#bycollection').children().find('input[id^=course_'+coll_checkid+']').each(function(){
				var title = $.trim($(this).parent().find('span.title').text());
				var count = $.trim($(this).parent().find('span.count').text());
				var count_num = $.trim(count.substring(count.indexOf('(') + 1, count.indexOf(')')));
				subfilters[subfilters.length]= new advsearch.filter(title,count_num,new Array(), false);
			});
			builder.setcollfilter(coll_title, coll_count_num, subfilters, false);
		});
		
		$('#filterbysource').children().find('input[id^=src_]').each(function(){
			var title = $.trim($(this).parent().find('span.title').text());
			var count = $.trim($(this).parent().find('span.count').text());
			var count_num = $.trim(count.substring(count.indexOf('(') + 1, count.indexOf(')')));
			builder.setsrcfilter(title, count_num,new Array(), false);
		});
		$('#filterbytype').children().find('input[id^=typ_]').each(function(){
			var title = $.trim($(this).parent().find('span.title').text());
			var count = $.trim($(this).parent().find('span.count').text());
			var count_num = $.trim(count.substring(count.indexOf('(') + 1, count.indexOf(')')));
			builder.settypfilter(title, count_num,new Array(), false);
		});
		
		/* ---------------------- COLLECTION FILTERS --------------------*/
		 $(filter_buffer).find('collection').each(function(){
			 var coll_title = $(this).attr('title');
			 var coll_count = $(this).attr('count');
			 var i = builder.isFilterInArray(coll_title, builder.collfilters); 
			 if ( i != -1) {
				 /* Filtered Results */
				 var filter = builder.collfilters[i];
				 var subfilters = filter.subfilters;
				 if (($.trim(search_selectedCourses).length==0 && $.trim(search_selectedCollection).length==0) || ($.inArray(coll_title,  builder.selCollArr) != -1)) {
					 filter.ischecked = true;
					 filter.count=coll_count;
				 } else {
					 filter.ischecked = false;
				 }
				 /* ---------------------- COLLECTION SUB FILTERS --------------------*/
				 $(this).find('course').each(function(){
					 var subfilter_title = $(this).attr('title');
					 var subfilter_count = $(this).attr('count');
					 var j = builder.isFilterInArray(subfilter_title, subfilters);
					 if (j != -1) {
						 var subfilter = subfilters[j];
						 /*
						  * If both search_selectedCourses and search_selectedCollection are blank then
						  * only we should update sub filters. Why?
						  */
						 if (($.trim(search_selectedCourses).length==0 && $.trim(search_selectedCollection).length==0) 
								 || ($.inArray(subfilter_title,  builder.selCourseArr) != -1)) {
							 subfilter.ischecked = true;
							 subfilter.count=subfilter_count;
						 } else {
							 subfilter.ischecked = false;
						 }
						 subfilters[j] = subfilter;
					 } else {
						 /* New sub filter. How it is possible? */
						 subfilters[subfilters.length]= new advsearch.filter(subfilter_title,subfilter_count,new Array(),true);
					 }
				  });
				 
				 filter.subfilters = subfilters;
				 
				 
				 var countOfCheckedSubFilters = 0;
				 $.each(subfilters, function(n,subfilter){
					 if (subfilter.ischecked == true) {
						 countOfCheckedSubFilters = countOfCheckedSubFilters + (subfilter.count - 0);
						 filter.count=countOfCheckedSubFilters;
						 filter.ischecked = true;
					 }
				 });
				 
				 builder.collfilters[i] = filter ;
	             
			 }else {
				 /* First time results */
				 var subfilters=new Array() ;
				 $(this).find('course').each(function(){
					 var subfilter_title = $(this).attr('title');
					 var subfilter_count = $(this).attr('count');
					 subfilters[subfilters.length]= new advsearch.filter(subfilter_title,subfilter_count,new Array(),true);
				 });
				 builder.setcollfilter(coll_title, coll_count, subfilters,true);
			 }
		 });/* end -collection*/
		 
		 $.each(builder.collfilters, function(n,filter){
			 if (null!= filter.subfilters && filter.subfilters.length > 0) {
				 filter.subfilters.sort(function(a,b){ return a.titleCompareTo(b); });
			 }
		 });
		 /* ---------------------- SOURCE FILTERS --------------------*/
		 $(filter_buffer).find('source').each(function(){
			 var src_title = $(this).attr('title');
			 var src_count = $(this).attr('count');
			 var i = builder.isFilterInArray(src_title, builder.srcfilters); 
			 if ( i != -1) {
				 /* Filtered Results */
				 var filter = builder.srcfilters[i];
				 
					 filter.ischecked = true;
					 filter.count=src_count;
				
				 builder.srcfilters[i] = filter ;
				 
			 }else {
				 /* First time results */
				 builder.setsrcfilter(src_title, src_count, new Array(), true);
			 }
		 });/* end -source*/
		 /* ---------------------- TYPE FILTERS --------------------*/
		 $(filter_buffer).find('type').each(function(){
			 var typ_title = $(this).attr('title');
			 var typ_count = $(this).attr('count');
			 var i = builder.isFilterInArray(typ_title, builder.typfilters); 
			 
			 if ( i != -1) {
				 /* Filtered Results */
				 var filter = builder.typfilters[i];
				 
				 switch (typ_title.toLowerCase()) {
				 	case "video": 
				 	case "audio":
				 	case "image":
				 	case "document":	
				 	{
						filter.ischecked = true;
						filter.count=typ_count;
				 	}
				 	break;
				 	default: {
				 	}
				 	break;
				 }/* end-switch*/
				 
				 builder.typfilters[i] = filter ;
				 
			 }else {
				 /* First time results */
				 builder.settypfilter(typ_title, typ_count, new Array(), true);
			 }
		 });/* end -type*/
		 builder.sortAllFiltersByTitle();
	}
}
function setHomePageFlag(value) {
	homepage = value;
}
function clearSearchResults(){
	$('#page_setup > .content > .item').remove();
	$('#page_setup > .content > .bottom').remove();
	$('#page_setup > .content > .top > .pagination').find('a').remove();
	$('#page_setup > .content > .top > .pagination > .position').text('').html('<span class="current_start">0 of 0</span>');
	$('#page_setup > .content').find('select').attr('onchange','');
}
function submitFilter(filterId){
	
	if (filterId != null && filterId.match(/^coll_/) != null ) {
		$('#bycollection').children().find('input[id^=course_'+filterId+']').attr('checked', $('#' + filterId).is(':checked'));
		$('#filterbysource').children().find(':checkbox').filter('[id^=src_]').attr('checked', true);
		$('#filterbytype').children().find(':checkbox').filter('[id^=typ_]').attr('checked', true);
		
		if ($('#bycollection').children().find(':checkbox:checked').filter('[id^=coll_]').size() == 0) {
			clearSearchResults();
			return true;
		}
	}
	
	if (filterId != null && filterId.match(/^course_/) != null ) {
		$('#filterbysource').children().find(':checkbox').filter('[id^=src_]').attr('checked', true);
		$('#filterbytype').children().find(':checkbox').filter('[id^=typ_]').attr('checked', true);
	}
	
	if (filterId != null && filterId.match(/^src_/) != null ) {
		
		$('#bycollection').children().find(':checkbox').filter('[id^=coll_]').attr('checked', true);
		$('#bycollection').children().find(':checkbox').filter('[id^=course_]').attr('checked', true);
		$('#filterbytype').children().find(':checkbox').filter('[id^=typ_]').attr('checked', true);
		
		if ($('#filterbysource').children().find(':checkbox:checked').filter('[id^=src_]').size() == 0) {
			clearSearchResults();
			return true;
		}
	}
	
	if (filterId != null && filterId.match(/^typ_/) != null ) {
		
		$('#bycollection').children().find(':checkbox').filter('[id^=coll_]').attr('checked', true);
		$('#bycollection').children().find(':checkbox').filter('[id^=course_]').attr('checked', true);
		$('#filterbysource').children().find(':checkbox').filter('[id^=src_]').attr('checked', true);
		
		if ($('#filterbytype').children().find(':checkbox:checked').filter('[id^=typ_]').size() == 0) {
			clearSearchResults();
			return true;
		}
	}
	submitSearchForm('true');
	return true ;
}
function searchSubmitAjax(formId, jqmFlag) {

         $('#' + formId).ajaxSubmit({ 
	    	type:      'POST', 
	    	dataType:  'script',
	    	timeout:   30000,
	    	async : true,
		beforeSubmit: function(arr,set,options){
			if ('true' == jqmFlag) {
			$('#searchProgressDialog').jqmShow();
			}
			return true;
		},
		error: function(xhr,message,exception) {
			$('#searchProgressDialog').jqmHide();
		 	alert("ERROR\n" + xhr.responseText + "\n" + xhr.status + "\n" + xhr.statusText + "\n" + exception);
		},
		success: function(responseText,status) {
			$('#searchProgressDialog').jqmHide();
			$('body').removeAttr('id');
			isSearchActive = true;
			setUtility(); 
			$('#headline').empty().append('<h1 class="image"><img src="'+h1img+'" alt="Search Results" /></h1>');
	           	if (nodelist_buffer_type == 'results') {
					 processNodelistBuffer();
					 createFilters();
				     populateSearchForm();
	           	} else if (nodelist_buffer_type == 'error') {
					emptyFilters();
					$('#page_setup').empty().append('<h3>&nbsp;</h3><div class="content"><h2>'+message_title+'</h2><p>'+message_body+'</p></div>');
					fixIE6footer();
	          	} 	
		}, 
	         url:'/portal/site/k-12/template.BINARYPORTLET/nbcArchivesSearchResults/?javax.portlet.tpst=8f15c4d7f2c68f02484307536b3c2d04_ws_BI'       
	 	}); 
}

function submitPagiForm() {

	getElement('searchPagiForm').pageView.value = search_page_view_type;
	getElement('searchPagiForm').pageNumber.value = search_pageNumber;
	//getElement('searchPagiForm').terms.value = search_simple_terms;
	getElement('searchPagiForm').all.value = search_terms_all;
	getElement('searchPagiForm').atLeastOne.value = search_atLeastOne;
	getElement('searchPagiForm').without.value = search_without;

	getElement('searchPagiForm').dateView.value = search_date_view;

	getElement('searchPagiForm').airFromDay.value = search_airFromDay;
	getElement('searchPagiForm').airFromMonth.value = search_airFromMonth;
	getElement('searchPagiForm').airFromYear.value = search_airFromYear;

	getElement('searchPagiForm').airToDay.value = search_airToDay;
	getElement('searchPagiForm').airToMonth.value = search_airToMonth;
	getElement('searchPagiForm').airToYear.value = search_airToYear;

	getElement('searchPagiForm').eventFromDay.value = search_eventFromDay;
	getElement('searchPagiForm').eventFromMonth.value = search_eventFromMonth;
	getElement('searchPagiForm').eventFromYear.value = search_eventFromYear;

	getElement('searchPagiForm').eventToDay.value = search_eventToDay;
	getElement('searchPagiForm').eventToMonth.value = search_eventToMonth;
	getElement('searchPagiForm').eventToYear.value = search_eventToYear;

	getElement('searchPagiForm').selectedCollection.value =search_selectedCollection;
	getElement('searchPagiForm').selectedCourses.value =search_selectedCourses;
	getElement('searchPagiForm').sources.value = search_sources;
	getElement('searchPagiForm').videos.value = search_videos;
	getElement('searchPagiForm').audios.value = search_audios;
	getElement('searchPagiForm').images.value = search_images;
	getElement('searchPagiForm').documents.value = search_documents;
	searchSubmitAjax('searchPagiForm', 'false');
}

function submitSearchForm(jqmFlag) {
	
	getElement('advanceSearchForm').pageView.value = search_page_view_type;
	getElement('advanceSearchForm').sortOrder.value = na_sortorder;
	getElement('advanceSearchForm').sortBy.value = na_sortby;
	getElement('advanceSearchForm').perPage.value = '50';
	getElement('advanceSearchForm').pageNumber.value = '1';
	//getElement('terms').value = search_simple_terms;

		from = getElement('advanceSearchForm').fromdate.value;
		to = getElement('advanceSearchForm').todate.value;
		if(!isValidDate(from) || !isValidDate(to)){
			alert("Please, Enter a valid date. Format should be mm/dd/yyyy");
			return false;
		} else if(isDefaultDate(from) && !isDefaultDate(to)){
			alert("Please, Enter 'From' date also.");
			return false;
		}else if( (!isDefaultDate(from) && !isDefaultDate(to)) && !isFromDateLessThanToDate(from, to) ){
			alert("'From' date must be less than 'To' date.");
			return false;
		} else {
			setSelectedDate();
		}

	setSelectedFilters();
	searchSubmitAjax('advanceSearchForm', jqmFlag);
}

function getElement(id){
	return document.getElementById(id);
}

function isValidDate(dateStr) {
	dateStr = trim(dateStr);
	var filter = /^(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](16|17|18|19|20)\d\d+$/;
	if(dateStr != '' && dateStr != 'mm/dd/yyyy'){
		return filter.test(dateStr);
	} else if(dateStr == '' || dateStr == 'mm/dd/yyyy'){
		return true;
	} else{
		return false;
	}
}
function isDefaultDate(dateStr) {
	return (trim(dateStr) == '' || dateStr == 'mm/dd/yyyy') ? true : false;
}
function isFromDateLessThanToDate(fromDateStr, toDateStr) {
	fromdate = formatDate(fromDateStr);
	todate = formatDate(toDateStr);
	return fromdate < todate ? true : false;
}
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function setSelectedDate(){
	if(getElement('advanceSearchForm').eventdateview.checked) {
		from = trim(getElement('advanceSearchForm').fromdate.value);
		to = trim(getElement('advanceSearchForm').todate.value);
		if(from != '' && from != 'mm/dd/yyyy'){
			from = from.split('/');
			getElement('advanceSearchForm').eventFromMonth.value = from[0];
			getElement('advanceSearchForm').eventFromDay.value = from[1];
			getElement('advanceSearchForm').eventFromYear.value = from[2];
			if(to == '' || to == 'mm/dd/yyyy'){
				/* to date will be today's date */
				var today = new Date();
				var dd = today.getDate();
				var mm = today.getMonth()+1;//January is 0!
				var yyyy = today.getFullYear();
				if(dd<10){dd='0'+dd}
				if(mm<10){mm='0'+mm}
				to = mm + '/' + dd + '/' + yyyy ;
			} 
		}

		if(to != '' && to != 'mm/dd/yyyy' && isValidDate(to)){
			to = to.split('/');
			getElement('advanceSearchForm').eventToMonth.value = to[0];
			getElement('advanceSearchForm').eventToDay.value = to[1];
			getElement('advanceSearchForm').eventToYear.value = to[2];
		}

	}else if(getElement('advanceSearchForm').airdateview.checked){
		from = trim(getElement('advanceSearchForm').fromdate.value);
		to = trim(getElement('advanceSearchForm').todate.value);
		if(from != '' && from != 'mm/dd/yyyy'){
			from = from.split('/');
			getElement('advanceSearchForm').airFromMonth.value = from[0];
			getElement('advanceSearchForm').airFromDay.value = from[1];
			getElement('advanceSearchForm').airFromYear.value = from[2];
			if(to == '' || to == 'mm/dd/yyyy'){
				/* to date will be today's date */
				var today = new Date();
				var dd = today.getDate();
				var mm = today.getMonth()+1;//January is 0!
				var yyyy = today.getFullYear();
				if(dd<10){dd='0'+dd}
				if(mm<10){mm='0'+mm}
				to = mm + '/' + dd + '/' + yyyy ;
			} 
		}
		if(to != '' && to != 'mm/dd/yyyy' && isValidDate(to)){
			to = to.split('/');
			getElement('advanceSearchForm').airToMonth.value = to[0];
			getElement('advanceSearchForm').airToDay.value = to[1];
			getElement('advanceSearchForm').airToYear.value = to[2];
		}
	} 
}

function setSelectedFilters(){
	var filterBy  = '';

		$('#bycollection').children().find(':checkbox:checked').filter('[id^=coll_]').each(function(){
			var collcheckid = $(this).attr('id');
			var courses =$('#bycollection').children().find('input[id^=course_'+collcheckid+']');
			var coursesCount = courses.size();
			var checkedCoursesCount= courses.filter(':checked').size();
			
			if (coursesCount == 0 || (coursesCount == checkedCoursesCount)) {
				var title = $.trim($(this).parent().find('span.title').text());
				filterBy = filterBy == '' ? title : filterBy+','+title;
			}
			
		});

	getElement('advanceSearchForm').selectedCollection.value = filterBy;

	filterBy  = '';
	$('#bycollection').children().find(':checkbox:checked').filter('[id^=course_]').parent().find('span.title').each(function(){
		var title = $.trim($(this).text());
		filterBy = filterBy == '' ? title : filterBy+','+title;
	});
	getElement('advanceSearchForm').selectedCourses.value = filterBy;
	
	
	filterBy  = '';
		$('#filterbysource').children().find(':checkbox:checked').parent().find('span.title').each(function(){
			var title = $.trim($(this).text());
			filterBy = filterBy == '' ? title : filterBy+','+title;

		});
	getElement('advanceSearchForm').sources.value = filterBy;
	getElement('advanceSearchForm').videos.value = 'false';
        getElement('advanceSearchForm').audios.value = 'false';
        getElement('advanceSearchForm').images.value = 'false';
        getElement('advanceSearchForm').documents.value = 'false';

	$('#filterbytype').children().find(':checkbox:checked').parent().find('span.title').each(function(){
		var title = $.trim($(this).text()).toLowerCase();
		if( title == 'video'){
			getElement('advanceSearchForm').videos.value = 'true';
		} else if( title == 'audio'){
			getElement('advanceSearchForm').audios.value = 'true';
		} else if(title == 'image'){
			getElement('advanceSearchForm').images.value = 'true';
		} else if(title == 'document'){
			getElement('advanceSearchForm').documents.value = 'true';
		}
	});

}

function setUtility(){
	na_sortorder = search_sort_order;
	na_sortby = search_sort_by;
	items_per_page = search_perPage;
	na_totalitems = search_resultCount;
	search_page_from = (search_pageNumber-1)*search_perPage+1;
	search_page_to = search_pageNumber*search_perPage;
	
}
/* function called from grid */
function getSubscriptionData(id,chapturl) {
	$.get(subscription_file, function(data) {
		subscription_buffer = data;
		cycleNav(id, chapturl);
	});
}

function cycleNav(id,chapturl) {
	initNav('loading');
	isCollectionNodeList = false;
	if (id) {
		position_id = id;
		nodelist_buffer_type = false;
	} else {
		position_id = false;
	}
	if ((nodelist_buffer_type != 'results')&&(nodelist_buffer_type != 'error') && nodelist_buffer_type != 'playlist_results') {
		/* we can safely assume that we are not dealing with search results and playlists */
		if (!subscription_buffer && !chapturl) {
			/*subscription buffer is empty, load it by calling subscription servlet.*/
			$.get(subscription_file, function(data) {
				subscription_buffer = data;
				if (!homepage)
				{
					$('#page_setup').empty().append('<h3>&nbsp;</h3><div class="content"><h2>'+nolist_title+'</h2><p>'+nolist_body+'</p></div>');
				}
				/* processSubscriptionBuffer builds left hand side initial collection list. */
				processSubscriptionBuffer();
			});
			
		} else {
			/*the subscription buffer is loaded, process it */
			if (!position_id || ($(subscription_buffer).find('#'+position_id).children().length > 0)) {
				/*
				 * If there is no position id then it means, the tree is reset (we are on 'All Collections').
				 * If we find position id in subcription xml then it means that
				 * position_id either a collection or a course channel id.
				 * 
				 */
				$('#page_setup').empty().append('<h3>&nbsp;</h3><div class="content"><h2>'+nolist_title+'</h2><p>'+nolist_body+'</p></div>');
				/* processSubscriptionBuffer builds left hand side navigation and will highlight 
				 * the selected channel (position id) if it is present. */
				processSubscriptionBuffer();
				
				$('body').removeAttr('id');
				/* set the brow flag for collection navigator tab to highlight the tab. */
				$('#absnav ul li').removeClass('brow'); $('#tab1').addClass('brow'); 
				
				if (chapturl) {
					/* chapurl points to collection or course xml. That means for collection and courses, position_id and 
					 *  chapurl will point to the same url. 
					 *  Call cycleView to process node xml of this collection or course.
					 *  */
					isCollectionNodeList = true;
					cycleView(position_id, 'recent');
				}
				
			} else {
				/* We are dealing with a chapter because position id is present and it is not in subscription buffer.
				 */
				$('body').removeAttr('id');
				/* set the brow flag for collection navigator tab to highlight the tab.*/
				var tabHighlighted = "#tab1"; /*default is collections tab*/
				if (isHelpActive) {
					tabHighlighted = "#tab4";
				}
				$('#absnav ul li').removeClass('brow'); $(tabHighlighted).addClass('brow');
				if ((!chapter_buffer)||(chapter_xml != chapturl)) {
					/*chapter buffer is empty or outdated, load it.
					 * chapurl points to collection or course xml. load this xml and process it.
					 * purpose of  processChapterBuffer is to build left navigation and call 
					 * cycleview for the position_id (which is a chapter channel id here).
					 */
					$.get(chapturl, function(data) {
						chapter_buffer = data;
						chapter_xml = chapturl;
						initView();
						processChapterBuffer();
					});
					
				} else {
					/*the chapter buffer is loaded, process it*/
					initView();
					processChapterBuffer();
				}
			}
		}
	} else if (nodelist_buffer_type == 'results') {// we're dealing with search results, initialize the subscription and render the nodelist
		isSearchActive = true;
		setUtility(); 
		$.get(subscription_file, function(data) {
			subscription_buffer = data;
			processSubscriptionBuffer();
		});
		processNodelistBuffer();
	} else if (nodelist_buffer_type == 'error') {// we're dealing with a search error, initialize the subscription and display the message
		isSearchActive = true;
		setUtility();
		$.get(subscription_file, function(data) {
			subscription_buffer = data;
			processSubscriptionBuffer();
		});		
		$('#page_setup').empty();
		$('#page_setup').append('<h3>&nbsp;</h3><div class="content"><h2>'+message_title+'</h2><p>'+message_body+'</p></div>');
		fixIE6footer();
	} else if (nodelist_buffer_type == 'playlist_results') { // we're dealing with playlist search results
		isPlaylistActive = true;
		processNodelistBuffer();
		
	}
}
function cycleView(channel_id, type) {
	initView('loading');
	if (!nodelist_buffer
			||(type == 'recent')
			||(type == 'full' && cycle_view_channel_id != position_id)
			||(type == 'filter'&& cycle_view_channel_id != false && 
					$(chapter_buffer).find('#'+cycle_view_channel_id).find('#'+position_id).size() != 1)
			) {
		/* Store the channel id in a temporary variable so that 
		 * we don't have to load node xml next time when same chapter hierarchy is browsed.
		 */
		cycle_view_channel_id = channel_id;
		/* get nodes xml and process it. */
		$.get(nodelist_prefix+channel_id+'.xml', function(data) {
			nodelist_buffer = data;
			nodelist_buffer_type = type;
			/* items_offset = 0; */
			processNodelistBuffer();
		});
		
	} else {
		/*the nodelist buffer is loaded, process it*/
		nodelist_buffer_type = type;
		items_offset = 0;
		processNodelistBuffer();
	}
}

function cyclePagi(arg) {
	if (isSearchActive)	{
		search_pageNumber = 1;
		search_perPage = arg;
		submitPagiForm();
		return false;
	} 
	if (arg == 'all') {
		items_per_page = arg;
	} else {
		// need to consider if current range extends past total items,
		// then scoot back a bit
		items_per_page = parseInt(arg);
		if (parseInt(items_offset + items_per_page) > na_totalitems) {
			if (parseInt(na_totalitems -  items_per_page) >= 0) {
				items_offset = parseInt(na_totalitems -  items_per_page);
			} else {
				items_offset = 0;
			}
		}
	}
	processNodelistBuffer();
	
}

function offsetPagi(arg) {
	if (items_per_page != 'all') {
		if (arg == 'first') {
			if (isSearchActive)	{
				if(first_page_number != '0'){
					search_pageNumber = first_page_number;
					submitPagiForm();
					return false;
				}
			} 
			if (items_offset != 0) {
				items_offset = 0;
				processNodelistBuffer();
			}
		} else if (arg == 'prev') {
			if (isSearchActive)	{
				if(prev_page_number != '0'){
					search_pageNumber = prev_page_number;
					submitPagiForm();
					return false;
				}
			} 
			if (parseInt(items_offset - items_per_page) > 0) {
				items_offset = parseInt(items_offset - items_per_page);
				processNodelistBuffer();
			} else if (parseInt(items_offset - items_per_page) > parseInt(0 - items_per_page)) {
				items_offset = 0;
				processNodelistBuffer();
			} else if (parseInt(items_offset - items_per_page) < parseInt(0 - items_per_page)) {
			}
		} else if (arg == 'next') {
			if (isSearchActive)	{
				if(last_page_number != '0')
				search_pageNumber = next_page_number;
				submitPagiForm();
				return false;
			}
			if (parseInt(items_offset + items_per_page) < na_totalitems) {
				items_offset = parseInt(items_offset + items_per_page);
				processNodelistBuffer();
			}
		} else if (arg == 'last') {
			if (isSearchActive)	{
				if(last_page_number != '0'){
					search_pageNumber = last_page_number;
					submitPagiForm();
					return false;
				}
			} 
			if (items_per_page < na_totalitems) {
				items_offset = parseInt(na_totalitems - items_per_page);
				processNodelistBuffer();
			}
		}
	}
}

function cycleSort(arg) {
	
	if ((arg == 'ascending')||(arg == 'descending')) {
		na_sortorder = arg;
	} else if ((arg == 'title')||(arg == 'airpublish')||(arg == 'event')||(arg == 'type')||(arg == 'publish') ||(arg == 'relevance')) {
		na_sortby = arg;
	}
	if (isSearchActive)	{
		search_pageNumber = 1;
		submitPagiForm();
	} else {
		
		processNodelistBuffer();
	}
	return true ;
}

function orderbyTitles(a,b) {
	/*
	** This method is using regular expression which ignors quotes (' or ") from the string
	** befor comparing. 
	*/
	strA = a[6].replace(/[\"\']+/g,'');
	strB = b[6].replace(/[\"\']+/g,'');
	if (na_sortorder == 'descending') {
		if (strA > strB) {
			return -1
		}
		if (strA < strB) {
			return 1
		} else {
			return 0
		}
	} else {
		if (strA < strB) {
			return -1
		}
		if (strA > strB) {
			return 1
		} else {
			return 0
		}
	}
}
function orderbyType(a,b) {
	if (na_sortorder == 'descending') {
		a = a[0] + a[6];
		b = b[0] + b[6];
		return a == b ? 0 : (a > b ? -1 : 1)
	} else {
		a = a[0] + a[6];
		b = b[0] + b[6];
		return a == b ? 0 : (a < b ? -1 : 1)
	}
}

function orderbyEventdate(a,b) {
	/*
	**Eventdate is mapped with nodeArray[i][4]
	**Converting in uppercase for date in BC/bc point of view
	**Format would be: 1975, 1964 AD, 1965-1973, 500,000 B.C., 10,000B.C., mm/dd/yyyy
	*/

	dateA = a[4].toUpperCase();
	dateB = b[4].toUpperCase();
	
	returnOrder = 0;
	
	dateAFormat = checkDateFormat(dateA);
	dateBFormat = checkDateFormat(dateB);
	if (dateAFormat == 'Normal' && dateBFormat == 'Normal') {  //format: mm/dd/yyyy
		dateA = formatDate(dateA);
		dateB = formatDate(dateB);
		returnOrder = compareData(dateA, dateB);
	} else if (dateAFormat == 'BC' && dateBFormat == 'BC') {  //format: 10,000 B.C | etc
		dateA = replaceSpecialChar(dateA).substr(0, dateA.indexOf('BC'));
		dateB = replaceSpecialChar(dateB).substr(0, dateB.indexOf('BC'));
		returnOrder = -compareData(dateA, dateB);		 
	} else if (dateAFormat == 'Normal' && dateBFormat == 'BC') {
		returnOrder = na_sortorder == 'descending' ? -1 : 1;
	} else if (dateAFormat == 'BC' && dateBFormat == 'Normal') {
		returnOrder = na_sortorder == 'descending' ? 1 : -1;
	} else if (dateAFormat == 'Other' && dateBFormat == 'Other') { //format: yyyyy | yyyy-yyyy | 1,000 A.D. | etc
		returnOrder = compareData(getYearFromOtherDate(dateA), getYearFromOtherDate(dateB));
	} else if (dateAFormat == 'Normal' && dateBFormat == 'Other') {
		returnOrder = compareData(getYearFromDate(dateA), getYearFromOtherDate(dateB));
	} else if (dateAFormat == 'Other' && dateBFormat == 'Normal') {
		returnOrder = compareData(getYearFromOtherDate(dateA), getYearFromDate(dateB));
	} else if (dateAFormat == 'BC' && dateBFormat =='Other') {
		returnOrder = na_sortorder == 'descending' ? 1 : -1;
	} else if (dateAFormat == 'Other' && dateBFormat == 'BC') {
		returnOrder = na_sortorder == 'descending' ? -1 : 1;
	}
	
	if (returnOrder == 0) {
		return orderbyTitles(a,b);
	} else {
		return returnOrder;
	}
}

function getYearFromOtherDate (obj) { //for date formate: AD | yyyy-yyyy | yyyy
	if  (obj.indexOf("A") != -1 ) {
		return replaceSpecialChar(obj).substr(0, obj.indexOf('AD'));
	} else if  (obj.indexOf("-") != -1 ) {
		tokens = obj.split("-", 2);
		return tokens[0]
	} else {
		return obj;
	}
}

function getYearFromDate(obj) {
	tokenks = obj.split("/", 3);
	return tokenks[2]; 
}

function checkDateFormat(obj) {
	if(obj.indexOf('B') != -1) {
		return "BC";// BC-for date in BC formate:10,000BC|10,000B.C.|10000 BC|etc
	}else if(obj.indexOf('/') != -1) {
		return "Normal";// Normal-for normal formate:mm/dd/yyyy or 01/01/2000 AD
	}else {
		return "Other";// other-for date formate: yyyy | yyyy-yyyy | 100AD | 100, A.D. | etc
	}
}

function replaceSpecialChar(dateStr) {
	/*
	**Regular expression which remove all the special chars
	**from string along with space between letters also.
	*/
	return dateStr.replace(/[^a-zA-Z0-9]+/g,'');
}

function formatDate(dateStr) {
	tokenks = dateStr.split("/", 3);
	// Assuming Date String is in mm/dd/yyyy format example:(02/23/9183)
	if(tokenks[0].charAt(0) == '0') {
		month = (tokenks[0].charAt(1))-1;
	} else {
		month = tokenks[0]-1;
	}
	
	formatStr = tokenks[2]+tokenks[0]+tokenks[1];
	return formatStr; //constructornew Date("Month dd, yyyy")
	
}

function compareData(a, b) {
	if (na_sortorder == 'descending') {
		return a == b ? 0 : (a > b ? -1 : 1);
	} else {
		return a == b ? 0 : (a < b ? -1 : 1);
	}
}

function orderbyAirdate(a,b) {
	//airpublish  is mapped with nodeArray[i][3]
	return compareData(formatDate(a[3]), formatDate(b[3]));
}

function orderbyPublish(a,b) {
	//publish is mapped with nodeArray[i][11]
	var publishdatecomparison = compareData(formatDate(a[11]), formatDate(b[11]));
	if (publishdatecomparison == 0) {
		// as the publish date is same, now compare the event date
		return orderbyEventdate(a,b);
	} else {
		return publishdatecomparison;
	}
}

function sortBySearchRelevance(a,b) {
	if (na_sortorder == 'descending') {
		return a[12] == b[12] ? 0 : (a[12] > b[12] ? -1 : 1)
	} else {
		return a[12] == b[12] ? 0 : (a[12] < b[12] ? -1 : 1)
	}		
}
function removeDupeIDs(a,b) {
	if (a[1] == b[1]) {
		// if the id is the same, remove one of these dupes
		return -1
	} else {
		// do nothing
		return 0
	}
}

/*
This function will remove all the duplicate elements
from the array contains nodes of aod element.
This function is working on the basis of node id
which is available at nodeArray[][1] position.
*/
function makeUnique (obj) {
	var r = new Array();
	o:for(var i = 0, n = obj.length; i < n; i++)
	{
		for(var x = 0, y = r.length; x < y; x++)
		{
			if(r[x][1]==obj[i][1])
			{
				continue o;
			}
		}
		r[r.length] = obj[i];
		if (r.length >= 400) 
		{
            return r;
		}
	}
	return r;
}

function processNodelistBuffer() {
	var nodeArray = [];
	na_totalitems = 0;
	// setup nodeArray
	if ((nodelist_buffer_type == 'results')||(nodelist_buffer_type == 'recent') || nodelist_buffer_type == 'playlist_results') {
		$(nodelist_buffer).find('node').each(function(){
			var rtype = $(this).attr('type');
			var rid = $(this).attr('id');
			var rlength = $(this).attr('length');
			var rairdate = $(this).attr('airdate');
			var reventdate = $(this).attr('eventstart');
			var rthumb = $(this).attr('thumb');			
			var rtitle = $(this).find('title').text();
			var rdesc = $(this).find('description').text();
			var rnumber = $(this).attr('number');
			var rairlabel = $(this).attr('airlabel');
			var reventlabel = $(this).attr('eventlabel');
			var rpublish = $(this).attr('publish');
			var rrelevance = $(this).attr('relevance');		
			var nodeArrayItem ;
			if(isSearchActive && rrelevance != null ){
				nodeArrayItem = [rtype,rid,rlength,rairdate,reventdate,rthumb,rtitle,rdesc,rnumber,rairlabel,reventlabel,rpublish,rrelevance];
			} else{
				nodeArrayItem = [rtype,rid,rlength,rairdate,reventdate,rthumb,rtitle,rdesc,rnumber,rairlabel,reventlabel,rpublish];
			}
			nodeArray[na_totalitems] = nodeArrayItem;
			na_totalitems++;
		});
	} else {
		$(nodelist_buffer).find('#'+position_id+' node').each(function(){
			var rtype = $(this).attr('type');
			var rid = $(this).attr('id');
			var rid2 = $(this).attr('id2');
			var rlength = $(this).attr('length');
			var rairdate = $(this).attr('airdate');
			var reventdate = $(this).attr('eventstart');
			var rthumb = $(this).attr('thumb');	
			var rtitle = $(this).find('title').text();
			var rdesc = $(this).find('description').text();
			var rnumber = $(this).attr('number');
			var rairlabel = $(this).attr('airlabel');
			var reventlabel = $(this).attr('eventlabel');
			var rpublish = $(this).attr('publish');	
			var rrelevance = $(this).attr('relevance');	
			var nodeArrayItem;
			if(isSearchActive && rrelevance != null ){
				nodeArrayItem = [rtype,rid,rlength,rairdate,reventdate,rthumb,rtitle,rdesc,rnumber,rairlabel,reventlabel,rpublish,rrelevance];
			} else{
				nodeArrayItem = [rtype,rid,rlength,rairdate,reventdate,rthumb,rtitle,rdesc,rnumber,rairlabel,reventlabel,rpublish];
			}
			if (rid2 == null || rid2.length == 0 ) {
				nodeArray[na_totalitems] = nodeArrayItem;
				na_totalitems++;
			}
			
		});
	}
	if (isPlaylistActive && na_totalitems == 0) {
		showEmptyPlaylistMessage();
		return;
	}
	
	if (isHelpActive) {
		renderHelpNodes(nodeArray);
		return;
	}

	/* remove duplicates */
	if ((nodelist_buffer_type == 'recent')||(nodelist_buffer_type == 'full')||(nodelist_buffer_type == 'filter')||isPlaylistActive) {
		nodeArray = makeUnique(nodeArray);
		na_totalitems = nodeArray.length;
	}
	
	/* no need to sort search results as FAST has already sent sorted results.
	 * sort if not search. 
	 */
	if (!isSearchActive) {  
		// nodeArray is setup, sort it
		if (na_sortby == 'title') {
			nodeArray = nodeArray.sort(orderbyTitles);
		} else if (na_sortby == 'type') {
			nodeArray = nodeArray.sort(orderbyType);
		} else if (na_sortby == 'event') {						
			nodeArray = nodeArray.sort(orderbyEventdate);
		} else if (na_sortby == 'airpublish') {					
			nodeArray = nodeArray.sort(orderbyAirdate);
		} else if (na_sortby == 'publish') {
			nodeArray = nodeArray.sort(orderbyPublish);
		}else if(na_sortby == 'relevance' && nodeArray[12] != null){//Added for search relevance
			nodeArray = nodeArray.sort(sortBySearchRelevance);
		} else {
			/* Default sort-by is by publish date so that most recent is shown on top. */
			na_sortby == 'publish';
			nodeArray = nodeArray.sort(orderbyPublish);
		}
	}
	// nodeArray is sorted, paginate it
	var na_currentitems = 0;
	if(!isSearchActive){
		if (items_per_page != 'all') {
			na_start	= parseInt(items_offset + 1);
			na_end		= parseInt(items_offset + items_per_page);
			nodeArray	= nodeArray.slice(items_offset,na_end);
			na_currentitems = parseInt(na_end - na_start);
		} else {
			na_start	= 1;
			na_end		= na_totalitems;
			na_currentitems = na_totalitems;
		}
	} else{
		na_start	= 1;
		na_end		= na_totalitems;
		na_currentitems = na_totalitems;
	}
	
	// nodeArray is paginated, render it
	initView();
	initUtility('top', na_totalitems);
	renderNodes(nodeArray);
	
	if (nodeArray.length > 10) {initUtility('bottom', na_totalitems);}	
	
	if(isSearchActive){
		$('#page_setup .content .utility .current_start').text(search_page_from);
		if (search_page_to > search_resultCount) {
			$('#page_setup .content .utility .current_end').text(search_resultCount);
		} else {
			$('#page_setup .content .utility .current_end').text(search_page_to);
		}
		$('#page_setup .content .utility .current_total').text(search_resultCount);
	} else{
		$('#page_setup .content .utility .current_start').text(na_start);
		if (na_end > na_totalitems) {
			$('#page_setup .content .utility .current_end').text(na_totalitems);
		} else {
			$('#page_setup .content .utility .current_end').text(na_end);
		}
		$('#page_setup .content .utility .current_total').text(na_totalitems);
	}
	if(!isPlaylistActive) {
		if(!isSearchActive) {
			addThis();
		} else {
			addThisSearch();
		}
	}
	
	fixIE6footer();
}

function renderNodes(nodeArray) {
	
	var list_view_state = '';
	if ($('#page_setup.view_expanded').length) {
		list_view_state = ' expanded';
	}

	for (i=0; i < nodeArray.length; i++) {
		var renderedNode = '<div class="item'+list_view_state+'" id="'+nodeArray[i][1]+'"><div class="iterate">';
		if (edit_pencil) {
			argNode = formateNodeArg(nodeArray[i]);
			renderedNode += '<div class="thumbnail"><a href="'+flatview_prefix+nodeArray[i][8]+'" onclick="CueCardManager.openCard(\''+cuecard_prefix+nodeArray[i][1]+'\');return false;"><img src="'+nodeArray[i][5]+'" onmouseover="addThumbflyout(\''+argNode+'\',this)" /></a><div class="edit_pencil"><a onclick="SimplePopwin(\'/AppConsole/secure/cmaViewer.do?spfAId='+nodeArray[i][1]+'&amp;propertiesClose=true\', \''+nodeArray[i][1]+'\', \'\', \'800\', \'600\'); return false;" href="#"><span class="hide">edit</span></a></div></div>';
		} else {
			renderedNode += '<div class="thumbnail"><a href="'+flatview_prefix+nodeArray[i][8]+'" onclick="CueCardManager.openCard(\''+cuecard_prefix+nodeArray[i][1]+'\');return false;"><img src="'+nodeArray[i][5]+'"  /></a></div>';
		}
		if (na_sortby == 'airpublish') { 
			renderedNode += '<div class="date">'+nodeArray[i][9]+'</div>'; 
		} else {
			renderedNode += '<div class="date">'+nodeArray[i][10]+'</div>'; 
		}
		renderedNode += '<div class="type '+nodeArray[i][0]+'"><span>'+nodeArray[i][0]+'</span></div>';
		
		if (isPlaylistActive && !isSharedPlaylistActive) {
			renderedNode += '<a href="#" onclick="playlist.util.deleteCardPopup(\''+nodeArray[i][1]+'\'); return false;"><div class="type playlist_delete"><span>delete from playlist</span></div></a>';
		}
		
		var specprefix = '';
		if (nodeArray[i][0] == 'image' || nodeArray[i][0] == 'document') {
			specprefix = 'Pages: ';
		}
		renderedNode += '<div class="spec">&nbsp;'+specprefix+nodeArray[i][2]+'</div>';
		
		if (edit_pencil) {
			renderedNode += '<div class="title"><div class="edit_pencil"><a onclick="SimplePopwin(\'/AppConsole/secure/cmaViewer.do?spfAId='+nodeArray[i][1]+'&amp;propertiesClose=true\', \''+nodeArray[i][1]+'\', \'\', \'800\', \'600\'); return false;" href="#"><span class="hide">edit</span></a></div><a href="'+flatview_prefix+nodeArray[i][8]+'" onclick="CueCardManager.openCard(\''+cuecard_prefix+nodeArray[i][1]+'\');return false;">'+nodeArray[i][6]+'</a></div>';
		} else {
			renderedNode += '<div class="title"><a href="'+flatview_prefix+nodeArray[i][8]+'" onclick="CueCardManager.openCard(\''+cuecard_prefix+nodeArray[i][1]+'\');return false;">'+nodeArray[i][6]+'</a></div>';
		}
		renderedNode += '<div class="description" onclick="toggleParentExpansion(\''+nodeArray[i][1]+'\'); return false;">'+nodeArray[i][7]+'</div>';
		renderedNode += '</div></div>';
		
		$('#page_setup > .content').append(renderedNode);
		
	}
}
/*
** This method have a regular expression which will
** replace all quotes (' or ") with a scape sequence
** char (\) and single quotes. This is required for
** remove confussion (ambiguety) of browser regarding
** termination of string litrals.
*/
function formateNodeArg(obj) {
	
	var temp = new Array();
	for (var i=0 ;i<obj.length ; i++)	{
		token = obj[i];
		token = token.replace(/[\"\,\']+/g, function(m){return replacechar(m)});
		temp[i] = token;
	}
	return temp;
}
function replacechar(match){
	if (match=="'")
		return "\\'"
	else if (match=="\"")
		return "~"
	else if (match==",")
		return "\\,"
}

function addThumbflyout(nodeArr, obj) {
	if (!show_thumbover_flyout)
	{
		return false;
	}
	var newdiv = document.createElement('div');
	var divIdName = 'flyDiv';
	
	newdiv.setAttribute('id',divIdName);
	
	if (current_view == 'large') {
		newdiv.setAttribute('class','large');
		if ($.browser.msie && $.browser.version.substr(0,1)<7) {
			newdiv.style.width = "229px";
		}
	} else if (current_view == 'small') {
		newdiv.setAttribute('class','small');
		if ($.browser.msie && $.browser.version.substr(0,1)<7) {
			newdiv.style.width = "212px";
		}
	}
	newdiv.onmouseout = function() {
		try	{
			d = document.getElementById(divIdName);
			d.parentNode.removeChild(d);
		}
		catch (err)	{
		}
		
	}
	newdiv.style.left = (parseInt(findPosX(obj))-5)+"px";
	newdiv.style.top = (parseInt(findPosY(obj))-5)+"px";
	newdiv.style.position = "absolute";
	var parts = nodeArr.split(",");
	var titleStr = parts[6].replace(/[~]+/g,'\"');
	var desc = parts[7].replace(/[~]+/g,'\"'); 
	
	newdiv.innerHTML = '<div class="content"><div class="type '+parts[0]+'"><span>'+parts[0]+'</span></div><div class="spec">'+parts[2]+'</div><div class="title">'+titleStr+'</div><div class="description">'+desc+'</div><div class="date"><ul><li class="date_published">Published: '+parts[11]+'</li><li class="date_air_date">Air date: '+parts[3]+'</li><li class="date_air_label">Air label: '+parts[9]+'</li><li class="date_event_date">Event date: '+parts[4]+'</li><li class="date_event_label>Event label: '+parts[10]+'</li></ul></div><div class="cap"><span class="hide">&nbsp;</span></div></div>';
	document.body.appendChild(newdiv);
}

function findPosX(obj) {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}
function findPosY(obj) {
    var curtop = 0;
    if(obj.offsetParent)
        while(1) {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}

function processChapterBuffer() {
	initNav();
	$('#page_left .content.browse').append('<div class="breadcrumb">');
	if (isHelpActive) {} else {
		$('#page_left .content.browse .breadcrumb').append('<div><a href="/collection.html" onclick="cycleNav(); return false;">All Collections</a><span class="separator"><span>&nbsp;&gt;</span></span> </div>');
	}
	var $chapter_buffer_dom = $(chapter_buffer);
	$chapter_buffer_dom.find('collection').each(function(){// build breadcrumb from root collection
		var coltitle = $(this).attr('title');
		var colid = $(this).attr('id');
		if (colid == position_id) {
			$('#page_left .content.browse .breadcrumb').append('<div class="selected"><a href="/collection.html" onclick="cycleNav(\''+colid+'\',\''+chapter_prefix + colid+'.xml\'); return false;">'+coltitle+'</a></div>');
		} else {
			$('#page_left .content.browse .breadcrumb').append('<div><a href="/collection.html" onclick="cycleNav(\''+colid+'\',\''+chapter_prefix + colid+'.xml\'); return false;">'+coltitle+'</a><span class="separator"><span>&nbsp;&gt;</span></span> </div>');
		}
	});
	
	$chapter_buffer_dom.find('collection > course').each(function(){// build breadcrumb from root course
		var coutitle = $(this).attr('title');
		var couid = $(this).attr('id');
		if (couid == position_id) {
			$('#page_left .content.browse .breadcrumb').append('<div class="selected"><a href="/collection.html" onclick="cycleNav(\''+couid+'\',\''+chapter_prefix + couid+'.xml\'); return false;">'+coutitle+'</a></div>');
		} else {
			$('#page_left .content.browse .breadcrumb').append('<div><a href="/collection.html" onclick="cycleNav(\''+couid+'\',\''+chapter_prefix + couid+'.xml\'); return false;">'+coutitle+'</a><span class="separator"><span>&nbsp;&gt;</span></span> </div>');
		}
	});
	
	var chaout = '';
	$chapter_buffer_dom.find('#'+position_id).parents('chapter').each(function(){
		/*build parent chapter breadcrumbs */
		var chatitle = $(this).attr('title');
		var chaid = $(this).attr('id');
		var chatemp = ''
		chatemp = ('<div><a href="/collection.html" onclick="cycleNav\(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a><span class="separator"><span>&nbsp;&gt;</span></span> </div>');
		chaout = chatemp + chaout;
	});
	
	$chapter_buffer_dom.find('#'+position_id).each(function(){
		/*add current chapter breadcrumb */
		if (($(this).children().length)&&($(this).parents().length > 0)&&($chapter_buffer_dom.find('course#'+position_id).length <1)) {
			var chatitle = $(this).attr('title');
			var chaid = $(this).attr('id');
			chaout += ('<div class="selected"><a href="/collection.html" onclick="cycleNav\(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a></div>');
		}
	});
	$('#page_left .content.browse .breadcrumb').append(chaout);
	// update the h1 section header - the chapterbuffer root element will always have one...
	$chapter_buffer_dom.find('[headerimg]').each(function(){
		var h1img		= $(this).attr('headerimg');
		var h1text		= $(this).attr('title');
		var h1current 	= $('#headline h1 img').attr('alt');
		if (h1text != h1current) {
			$('#headline').empty().append('<h1 class="image"><img src="'+h1img+'" alt="'+h1text+'" /></h1>');
		}
	});

	
	// back button
	if (($chapter_buffer_dom.find('#'+position_id).parents().length) == 0) {// 'back' to all collections
		if (isHelpActive) {
		} else {
			$('#page_left .content.browse').append('<div class="back"><a href="#" onclick="cycleNav(); return false;"><span>Back</span></a></div>');
		}
	} else if (($chapter_buffer_dom.find('#'+position_id).parents().length) == 1) {// 'back' to root collection
	
		$chapter_buffer_dom.find('collection').each(function(){// root collection
			var colid = $(this).attr('id');
			$('#page_left .content.browse').append('<div class="back"><a href="#" onclick="cycleNav(\''+colid+'\',\''+chapter_prefix + colid+'.xml\'); return false;"><span>Back</span></a></div>');
		});
	
		
	} else if (($chapter_buffer_dom.find('#'+position_id).parents().length) > 1) {// 'back' to parent chapter
		$chapter_buffer_dom.find('#'+position_id).parent().each(function() {
			var paid = $(this).attr('id');
			$('#page_left .content.browse').append('<div class="back"><a href="#" onclick="cycleNav(\''+paid+'\',\''+chapter_xml+'\'); return false;"><span>Back</span></a></div>');
		});
	}
	
	
	// build ul
	$('#page_left .content.browse').append('<ul id="cnroot" class="cnavigator">');
	// either the position_id has children, and we render as a link, or it's a widow, and we render it active
	if ($chapter_buffer_dom.find('#'+position_id+' > chapter').length) {
		$chapter_buffer_dom.find('#'+position_id+' > chapter').each(function(){
			var chatitle = $(this).attr('title');
			var chaid = $(this).attr('id');
			if ($(this).children().length != 0) {
				$('#page_left .content.browse ul#cnroot').append('<li id="'+chaid+'"><a href="#" onclick="cycleNav(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a></li>');
			} else {
				$('#page_left .content.browse ul#cnroot').append('<li id="'+chaid+'" class="widow"><a href="#" onclick="cycleNav(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a></li>');
			}
		});
	} else {
		$chapter_buffer_dom.find('#'+position_id).parent().children().each(function(){// render as active li
			var chatitle = $(this).attr('title');
			var chaid = $(this).attr('id');
			if (chaid == position_id) {
				$('#page_left .content.browse ul#cnroot').append('<li id="'+chaid+'" class="selected"><a href="#" onclick="cycleNav(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a></li>');
			} else {
				if ($(this).children().length != 0) {
					$('#page_left .content.browse ul#cnroot').append('<li id="'+chaid+'"><a href="#" onclick="cycleNav(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a></li>');
				} else {
					$('#page_left .content.browse ul#cnroot').append('<li id="'+chaid+'" class="widow"><a href="#" onclick="cycleNav(\''+chaid+'\',\''+chapter_xml+'\'\); return false;">'+chatitle+'</a></li>');
				}
			}
		});
	}
	
	/* render page_view
	 *		full 	= load full xml
	 *		none	= traverse ancestry in search of full, then filter against current id
	 */
	$chapter_buffer_dom.find('#'+position_id).each(function(){
		var chanodelist = $(this).attr('nodelist');
		if (chanodelist == 'recent') {
			cycleView(position_id, 'recent');
		} else if (chanodelist == 'full') {
			cycleView(position_id, 'full');
		} else if (chanodelist == 'none') {
			/* nearest full nodelist */
			cycleView($chapter_buffer_dom.find('#'+position_id).parents('[nodelist=full]').filter(':first').attr('id'), 'filter');
		} else {
			fixIE6footer();
		}
	});

}

function processSubscriptionBuffer() {
	initNav();
	var $subscription_buffer_dom = $(subscription_buffer);
	$('#page_left .content.browse').append('<div class="breadcrumb">');
	
	if (!position_id) {
		$('#page_left .content.browse .breadcrumb').append('<div class="selected"><a href="/collection.html" onclick="cycleNav(); return false;">All Collections</a></div>');
		
		// update the h1 section header
		if ((nodelist_buffer_type == 'results')||(nodelist_buffer_type == 'error')) {
			$('#headline').empty().append('<h1 class="image"><img src="'+h1img+'" alt="Search Results" /></h1>');
		} else {
			if (!homepage)
			{
				$('#headline').empty().append('<h1 class="image"><img src="'+h1img+'" alt="Browse the Collections" /></h1>');
			}
		}
		
		$('#page_left .content.browse').append('<ul id="cnroot" class="cnavigator">');
		/* process each collection in subscription */
		$subscription_buffer_dom.find('subscription > collection').each(function(){
			var title = $(this).attr('title');
			var id = $(this).attr('id');
			$('#page_left .content.browse ul#cnroot').append('<li id="' + id + '"><a href="#" onclick="cycleNav(\'' + id + '\',\'' + chapter_prefix+id + '.xml\'); return false;">' + title + '</a></li>');
		});
	
	} else {
		
		$('#page_left .content.browse .breadcrumb').append('<div><a href="/collection.html" onclick="cycleNav(); return false;">All Collections</a><span class="separator"><span>&nbsp;&gt;</span></span> </div>');
		$subscription_buffer_dom.find('#'+position_id).each(function(){
			var chtitle = $(this).attr('title');
			$('#page_left .content.browse .breadcrumb').append('<div class="selected"><a href="/collection.html" onclick="cycleNav(\''+position_id+'\'); return false;">'+chtitle+'</a></div>');
		});
		
		// update the h1 section header
		if ((nodelist_buffer_type == 'results')||(nodelist_buffer_type == 'error')) {
			$('#headline').empty().append('<h1 class="image"><img src="'+h1img+'" alt="Search Results" /></h1>');
		} else {
			var position_id_header_img = $subscription_buffer_dom.find('#'+position_id+'[headerimg]');
			if (position_id_header_img.size() > 0) {
				position_id_header_img.each(function(){
					var h1img		= $(this).attr('headerimg');
					var h1text		= $(this).attr('title');
					$('#headline').empty().append('<h1 class="image"><img src="'+h1img+'" alt="'+h1text+'" /></h1>');
				});
			}
		}
		
		
		// back button
		if ($subscription_buffer_dom.find('#'+position_id).parents().length == 1) {
			$('#page_left .content.browse').append('<div class="back"><a href="#" onclick="cycleNav(); return false;"><span>Back</span></a></div>');
		}
		
		
		$('#page_left .content.browse').append('<ul id="cnroot" class="cnavigator">');
		$subscription_buffer_dom.find('#'+position_id+' > course').each(function(){
			var cotitle = $(this).attr('title');
			var coid = $(this).attr('id');
			$('#page_left .content.browse ul#cnroot').append('<li id="'+coid+'"><a href="#" onclick="cycleNav(\''+coid+'\',\''+chapter_prefix + coid+'.xml\'); return false;">'+cotitle+'</a></li>');
		});
	
	}
	fixIE6footer();
}



var loadingSnip = '<h3>Loading...</h3><div class="content loading"><span>&nbsp;</span></div><!-- /.content -->';

function initNav(arg) {
	if (arg == 'loading') {// initNav('loading');
		$('#page_left').empty();
		$('#page_left').append(loadingSnip);
	} else {
		$('#page_left').empty();
		if (isHelpActive) {
			$('#page_left').append('<h3>Help</h3>');
			$('#page_left').append('<div class="content browse">');
		} else {
			$('#page_left').append('<h3><a class="browse_panel" href="#" onclick="left_view(\'browse\'); return false;">Browse</a> <a class="search_panel" href="#" onclick="left_view(\'search\'); return false;">Advanced Search</a></h3>');
	
			$('#page_left').append('<div class="content browse">');
			
			//Creating Advance Search Form 
			createAdvanceSearchForm();
			if ((nodelist_buffer_type == 'error')||(nodelist_buffer_type == 'results')) {
				populateSearchForm();
				createFilters();
				left_view('search');
				$('body').removeAttr('id');
				isSearchActive = true ;
			}else {
				isSearchActive = false ;
			}
		}
	}
}


function createAdvanceSearchForm() {
	$('#page_left').append('<div class="content search"><form class="search" id="advanceSearchForm" name="advanceSearchForm" action="/portal/site/k-12/nbcArchivesSearchResults" method="post" onsubmit="preSubmitCheck();">'+
		'<input id="results" type="hidden" value="yes" name="showResults" />'+
		'<input id="selectedValue" type="hidden" value="ADVANCED" name="selectedValue" />'+
		'<input id="pageView" name="pageView" type="hidden" value=""/>'+
		'<input id="terms" name="terms" type="hidden" value=""/>'+
		'<input id="pageNumber" name="pageNumber" type="hidden" value=""/>'+
		'<input id="sortBy" name="sortBy" type="hidden" value=""/>'+
		'<input id="sortOrder" name="sortOrder" type="hidden" value=""/>'+
		'<input id="perPage" name="perPage" type="hidden" value=""/>'+
		'<input id="airToDay" name="airToDay" type="hidden" value=""/>'+
		'<input id="airToMonth" name="airToMonth" type="hidden" value=""/>'+
		'<input id="airToYear" name="airToYear" type="hidden" value=""/>'+
		'<input id="airFromDay" name="airFromDay" type="hidden" value=""/>'+
		'<input id="airFromMonth" name="airFromMonth" type="hidden" value=""/>'+
		'<input id="airFromYear" name="airFromYear" type="hidden" value=""/>'+
		'<input id="eventFromDay" name="eventFromDay" type="hidden" value=""/>'+
		'<input id="eventFromMonth" name="eventFromMonth" type="hidden" value=""/>'+
		'<input id="eventFromYear" name="eventFromYear" type="hidden" value=""/>'+
		'<input id="eventToDay" name="eventToDay" type="hidden" value=""/>'+
		'<input id="eventToMonth" name="eventToMonth" type="hidden" value=""/>'+
		'<input id="eventToYear" name="eventToYear" type="hidden" value=""/>'+
		'<input id="selectedCollection" name="selectedCollection" type="hidden" value=""/>'+
		'<input id="selectedCourses" name="selectedCourses" type="hidden" value=""/>'+
		'<input id="sources" name="sources" type="hidden" value=""/>'+
		'<input id="videos" name="videos" type="hidden" value=""/>'+
		'<input id="audios" name="audios" type="hidden" value=""/>'+
		'<input id="images" name="images" type="hidden" value=""/>'+
		'<input id="documents" name="documents" type="hidden" value=""/>'+
		'<h4 class="keyword">Search By Keyword:</h4>'+
		'<div class="keyword option"><label for="kwAnd">All</label>'+
		'<input class="keyword" id="all" name="all" /></div>'+
		'<div class="keyword option"><label for="kwOr">Or</label>'+
		'<input class="keyword" id="atLeastOne" name="atLeastOne" /></div>'+
		'<div class="keyword option"><label for="kwNot">Not</label>'+
		'<input class="keyword" id="without" name="without" /></div>'+
		'<h4 class="date">Search By Date:</h4>'+
		'<div class="radio option bydate">'+
		'<label><input type="radio" name="dateView" id="eventdateview" value="eventdate"/><span>Event Date</span></label>'+
		'<label><input type="radio" name="dateView" id="airdateview" value="airpublish" /><span>Air/Publish Date</span></label>'+
		'</div>'+
		'<div class="dateoption option"><label for="from">From</label>'+
		'<input type="text" class="keyword" id="fromdate" name="fromdate" value="mm/dd/yyyy" onfocus="remValue(this,\'mm/dd/yyyy\');" onblur="chkValue(this,\'mm/dd/yyyy\')"/><button type="button" onclick="browseDate(\'fromdate\');">.</button></div>'+
		'<div class="dateoption option"><label for="to">To</label>'+
		'<input type="text" class="keyword" id="todate" name="todate" value="mm/dd/yyyy" onfocus="remValue(this,\'mm/dd/yyyy\');" onblur="chkValue(this,\'mm/dd/yyyy\')"/><button type="button" onclick="browseDate(\'todate\');">.</button></div>'+
		'<div class="submit"><input class="submit submit_btn" type="button" value="SEARCH" onclick="submitSearchForm()"/></div>'+
		'<p class="search_restart"><a href="#" onclick="startSearchOver()">Start Search Over</a></p>' +
		'<div class="checkbox option" id="bycollection"></div>'+
		'<div id="filterbysource"></div>'+
		'<div id="filterbytype"></div>'+
		'</form></div>');
	

	$('input#fromdate').css({'color': '#999999'});
	$('input#todate').css({'color': '#999999'});
	/* set event date as the default selected date */
	getElement('advanceSearchForm').eventdateview.checked='checked'; 
       $('#all,#atLeastOne,#without').change(function(){
                if ($.trim(search_terms_all) == '' && $.trim(search_atLeastOne) == '' && $.trim(search_without) == '') {
                        return true ;
                } else if (
                        $.trim($('#all').val()) == $.trim(search_terms_all) &&
                        $.trim($('#atLeastOne').val()) == $.trim(search_atLeastOne) &&
                        $.trim($('#without').val()) == $.trim(search_without)) {
                        return true ;
                }
                emptyFilters();
                return true ;
        });

        $("#airdateview, #eventdateview").change(function(){
                var sdv = $.trim(search_date_view);
                if (sdv !=  getElement('advanceSearchForm').dateView.value) {
                        emptyFilters();
                        return true ;
                }
                return true ;
        });

        $('#fromdate, #todate').change(function(){

                var sdv = $.trim(search_date_view);
                var fdate = $.trim($('#fromdate').val());
                var tdate = $.trim($('#todate').val());

                        if (sdv == 'airpublish' &&
                                fdate == (search_airFromMonth + '/' + search_airFromDay + '/' + search_airFromYear)) {
                                return true ;
                        }

                        if (sdv == 'eventdate' &&
                                tdate == (search_eventFromMonth + '/' + search_eventFromDay + '/' + search_eventFromYear)) {
                                return true ;
                        }
                        emptyFilters();
                return true ;
        });
        
    	$('#advanceSearchForm').find('input').keypress(function (e) {
            if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
       		     $('#all,#atLeastOne,#without,#airdateview, #eventdateview,#fromdate, #todate').trigger('change');
                    submitSearchForm();
                    return false;
            } else {   
                    return true;
            }
    	});
}
function emptyFilters(){
	$('#bycollection').empty();
	$('#filterbysource').empty();
	$('#filterbytype').empty();
	getElement('advanceSearchForm').selectedCollection.value = '';
	getElement('advanceSearchForm').selectedCourses.value = '';
	getElement('advanceSearchForm').sources.value = '';
	getElement('advanceSearchForm').videos.value = '';
	getElement('advanceSearchForm').audios.value = '';
	getElement('advanceSearchForm').images.value = '';
	getElement('advanceSearchForm').documents.value = '';
}
function startSearchOver(){
	emptyFilters();
	getElement('advanceSearchForm').all.value = '';
	getElement('advanceSearchForm').atLeastOne.value = '';
	getElement('advanceSearchForm').without.value = '';
	getElement('advanceSearchForm').fromdate.value = 'mm/dd/yyyy' ;
	$('input#fromdate').css({'color': '#999999'});
	getElement('advanceSearchForm').todate.value = 'mm/dd/yyyy' ;
	$('input#todate').css({'color': '#999999'});

	getElement('advanceSearchForm').eventFromMonth.value = '';
	getElement('advanceSearchForm').eventFromDay.value = '';
	getElement('advanceSearchForm').eventFromYear.value = '';
	getElement('advanceSearchForm').eventToMonth.value = '';
	getElement('advanceSearchForm').eventToDay.value = '';
	getElement('advanceSearchForm').eventToYear.value = '';

	getElement('advanceSearchForm').airFromMonth.value = '';
	getElement('advanceSearchForm').airFromDay.value = '';
	getElement('advanceSearchForm').airFromYear.value = '';
	getElement('advanceSearchForm').airToMonth.value = '';
	getElement('advanceSearchForm').airToDay.value = '';
	getElement('advanceSearchForm').airToYear.value = '';
	getElement('advanceSearchForm').eventdateview.checked='checked'; 
	return false ;
}

function createFilters() {
	/* make sure that advsearch.builder.processResults is called first thing in this method */
	advsearch.builder.processResults();
	emptyFilters();
	var colFlag = false;
	var srcFlag = false;
	var typFlag = false;
	var content = '';
	var coll_check_id="";
	var course_check_id="";
	var src_check_id="";
	var typ_check_id="";
	//Processing Filter By Collection
	$.each(advsearch.builder.collfilters, function(collIndex, collfilter){
		if(!colFlag){
			content = '<h4 class="fcollection filter_content_header">Filter By Collection:<a class="showfilters_open">open</a><a class="showfilters_close">close</a></h4>';
			content += '<div id="fcollection_content" class="filter_content">';
			content += '<dl><dt>Select:</dt><dd><a href="javascript:;" class="filter_content_all">All</a></dd><dd><a href="javascript:;" class="filter_content_none">None</a></dd></dl>';
			content += '<ul>';
			colFlag = true;
		}
		if (collfilter.subfilters.length > 0 ) {
			content +='<li class="bycollection_has_subfilter"><a class="subfilter_on">on</a><a id="subfilter_off_' + collIndex + '" class="subfilter_off">off</a>';
		} else {
			content +='<li>';
		}
		coll_check_id="coll_" + collIndex;
		content += '<label><input id="' + coll_check_id + '" type="checkbox" value="" class="check" ';
		if (true == collfilter.ischecked) {
			content += 'checked ';
		}
		content += 'onclick="submitFilter(this.id)" /><span class="title">' + collfilter.title + '</span> <span class="count">('+collfilter.count+')</span></label>';

		if (collfilter.subfilters.length > 0) {
			content +='<ul class="bycollection_subfilter">';
			$.each(collfilter.subfilters,function(courseIndex, subfilter){
			course_check_id="course_" + coll_check_id + "_" + courseIndex;
			content += '<li><label><input id="' + course_check_id + '" type="checkbox" value="" class="check" ';
			if (true == subfilter.ischecked) {
				content += 'checked ';
			}
			content += 'onclick="submitFilter(this.id)" /><span class="title">' + subfilter.title + '</span> <span class="count">('+subfilter.count+')</span></label></li>';
			});

			content +='</ul>';
		}
		content +='</li>';
	});
	if (colFlag) {
		content = content + '</div></ul>';
	}
	$('#bycollection').append(content);
	
	//Processing Filter By Source
	content='';
	$.each(advsearch.builder.srcfilters, function(srcIndex, srcfilter){
		src_check_id="src_" + srcIndex;
		if(!srcFlag){
			content = '<h4 class="fsource filter_content_header">Filter By Source:<a class="showfilters_open">open</a><a class="showfilters_close">close</a></h4>';
			content += '<div id="fsource_content" class="filter_content">';
			content += '<dl><dt>Select:</dt><dd><a href="javascript:;" class="filter_content_all">All</a></dd><dd><a href="javascript:;" class="filter_content_none">None</a></dd></dl>';
			srcFlag = true;
		}
		content += '<div class="checkbox option"><label><input id="'+src_check_id+'" type="checkbox" value="" class="check" ';
		if (true == srcfilter.ischecked) {
			content += ' checked ';
		}
		content += 'onclick="submitFilter(this.id)" /><span class="title">'+srcfilter.title+'</span> <span class="count">('+srcfilter.count+')</span></label></div>';
	});
	if (srcFlag) {
		content = content + '</div>';
	}
	$('#filterbysource').append(content);
	//Processing Filter By Type
	content='';
	$.each(advsearch.builder.typfilters, function(typIndex,typfilter){
		typ_check_id="typ_" + typIndex;
		if(!typFlag){
			content = '<h4 class="ftype filter_content_header">Filter By Type:<a class="showfilters_open">open</a><a class="showfilters_close">close</a></h4>' ;
			content += '<div id="ftype_content" class="filter_content">';
			content += '<dl><dt>Select:</dt><dd><a href="javascript:;" class="filter_content_all">All</a></dd><dd><a href="javascript:;" class="filter_content_none">None</a></dd></dl>';
			typFlag = true;
		}
		content += '<div class="checkbox option"><label><input id="'+typ_check_id+'" type="checkbox" value="" class="check" ' ; 
		if (true == typfilter.ischecked) {
			content += ' checked ';
		}
		 content += 'onclick="submitFilter(this.id)" /><span class="title">'+typfilter.title+'</span> <span class="count">('+typfilter.count+')</span></label></div>';
	});
	if (typFlag) {
		content = content + '</div>';
	}
	$('#filterbytype').append(content);
	
	if (colFlag) {
		/* Add some listeners */
		$('.subfilter_on').click(function(){
			$(this).siblings('.bycollection_subfilter').toggle();
			$(this).siblings('.subfilter_off').toggle();
			$(this).toggle();
		});
		$('.subfilter_off').click(function(){
			$(this).siblings('.bycollection_subfilter').toggle();
			$(this).siblings('.subfilter_on').toggle();
			$(this).toggle();
		});
		
		if (advsearch.builder.collExpanderjqSelectors.length >0) {
			$(advsearch.builder.collExpanderjqSelectors).trigger('click');
			advsearch.builder.collExpanderjqSelectors='';
		}
	}
	
	// NATH - the code below is new
	$('.filter_content_all').click(function(){
		if ($(this).parents('.filter_content').find(':checkbox').size() == 
			$(this).parents('.filter_content').find(':checkbox:checked').size()) {
			return true;
		}
		$(this).parents('.filter_content').find(':checkbox').attr('checked', true);
		submitFilter('coll_0');
	});
	
	$('.filter_content_none').click(function(){
		$(this).parents('.filter_content').find(':checkbox').attr('checked', false);
		clearSearchResults();
	});
	
	$('.filter_content_header').click(function(){
		if ($(this).siblings('.filter_content').is(':visible')) {
			return true;
		}
		var allCheckBoxChecked = false ;
		if ($('.filter_content').find(':checkbox').size() == 
			$('.filter_content').find(':checkbox:checked').size()) {
			allCheckBoxChecked = true;
		}
		
		$('.filter_content').hide();
		$('.filter_content_header').children('.showfilters_open').hide();
		$('.filter_content_header').children('.showfilters_close').show();
		$(this).siblings('.filter_content').show();
		$(this).children('.showfilters_open').show();
		$(this).children('.showfilters_close').hide();
		$('.filter_content').each(function(){
			if ($(this).is(':visible') == false) { 
				$(this).find(':checkbox').attr('checked', true);
			}
		});
		
		if (advsearch.builder.filtercontentexpanderjqSel.length == 0 
				&& allCheckBoxChecked == false) {
			//submitSearchForm('false');
			submitFilter('coll_0');
			
		}
		
		return true ;
	});
	
	if (advsearch.builder.filtercontentexpanderjqSel.length >0) {
		$(advsearch.builder.filtercontentexpanderjqSel).trigger('click');
		advsearch.builder.filtercontentexpanderjqSel='';
	}
}

function populateSearchForm () {

	$('#all').val(search_terms_all);
	$('#atLeastOne').val(search_terms_or);
	$('#without').val(search_terms_not);
	var omnitureSearchTerms ="";
	if (!advsearch.util.isEmpty(search_terms_all)) {
		omnitureSearchTerms += search_terms_all;
	}
	if (!advsearch.util.isEmpty(search_atLeastOne)) {
		omnitureSearchTerms += ' (OR) ' + search_atLeastOne;
	}
	if (!advsearch.util.isEmpty(search_without)) {
		omnitureSearchTerms += ' (NOT) ' + search_without ;
	}
		
	if (!advsearch.util.isEmpty(omnitureSearchTerms) ) {
			if (s.events) {
				if (s.events.indexOf('event31') == -1) {
					s.events = s.events + ",event31";
				}
			}else{
				s.events = "event31";
			}
			
			if (s.eVar31) {
				if (s.eVar31 != omnitureSearchTerms) {
					s.eVar31=omnitureSearchTerms;
					void(s.t());
				}
			} else {
				s.eVar31=omnitureSearchTerms;
				void(s.t());
			}
	}
	
	if (search_date_view == 'eventdate') {

		getElement('advanceSearchForm').eventdateview.checked='checked'; 

		if ($.trim(search_eventFromMonth) == '') {
			getElement('advanceSearchForm').fromdate.value = 'mm/dd/yyyy' ;
			$('input#fromdate').css({'color': '#999999'});
		} else {
			getElement('advanceSearchForm').fromdate.value = search_eventFromMonth + '/' + search_eventFromDay + '/' + search_eventFromYear;
		}


		if ($.trim(search_eventToMonth) == '') {
			getElement('advanceSearchForm').todate.value = 'mm/dd/yyyy' ;
			$('input#todate').css({'color': '#999999'});
		} else {
			getElement('advanceSearchForm').todate.value = search_eventToMonth + '/' + search_eventToDay + '/' + search_eventToYear;
		}

	} else if (search_date_view == 'airpublish') {
		getElement('advanceSearchForm').airdateview.checked='checked'; 

		if ($.trim(search_airFromMonth) == '') {
			getElement('advanceSearchForm').fromdate.value = 'mm/dd/yyyy';
			$('input#fromdate').css({'color': '#999999'});
		} else {
			getElement('advanceSearchForm').fromdate.value = search_airFromMonth + '/' + search_airFromDay + '/' + search_airFromYear;;
		}

		if ($.trim(search_airToMonth) == '') {
			getElement('advanceSearchForm').todate.value = 'mm/dd/yyyy' ;
			$('input#todate').css({'color': '#999999'});
		} else {
			getElement('advanceSearchForm').todate.value = search_airToMonth + '/' + search_airToDay + '/' + search_airToYear;
		}
	} else {
		/* set event date as the default selected date */
		getElement('advanceSearchForm').eventdateview.checked='checked'; 
	}



}
function browseDate(arg) {
	var jqSelector ='';
	if(arg == 'fromdate'){
		jqSelector= 'input#fromdate' ;
	} else {
		jqSelector= 'input#todate' ;
	}
		
	var tmp = $(jqSelector).val();		
	/* to date will be today's date */
	var today = new Date();
	var dd = today.getDate();
	var mm = today.getMonth()+1;//January is 0!
	var yyyy = today.getFullYear();
	if(dd<10){dd='0'+dd}
	if(mm<10){mm='0'+mm}
	var endDate = mm + '/' + dd + '/' + yyyy ;

	if(tmp != '' && tmp != 'mm/dd/yyyy' && isValidDate(tmp)){
		tmp = tmp.split('/');
		$(jqSelector).datePicker({month: tmp[0] -1 , year: tmp[2], startDate:'01/01/1600', endDate:endDate}).dpDisplay();
		$(jqSelector).css({'color': '#000000'});
	} else {
		$(jqSelector).datePicker({startDate:'01/01/1600',endDate:endDate}).dpDisplay();
		$(jqSelector).css({'color': '#000000'});
	}
}
/**
 * page_setup is a child div of page_center div. 
 * This function either shows a animated gif or dymanic links (thumbnail/list view, small/large).    
 */
function initView(arg) {
	if (arg == 'loading') {
		$('#page_setup').empty();
		$('#page_setup').append(loadingSnip);
	} else {
		$('#page_setup').empty();
		
		$('#page_setup').append('<h3><span class="links expansion"><span class="thumb"><a class="collapse" href="#" onclick="page_view(\'small\'); return false;">Small</a><a class="expand" href="#" onclick="page_view(\'large\'); return false;">Large</a></span><span class="list"><a class="expand" href="#" onclick="$(\'#page_setup > .content > .item\').addClass(\'expanded\'); page_view(\'expanded\'); fixIE6footer(); return false;">Expanded</a><a class="collapse" href="#" onclick="$(\'#page_setup > .content > .item\').removeClass(\'expanded\'); page_view(\'collapsed\'); fixIE6footer(); return false;">Collapsed</a></span></span><a class="thumb_view" href="#" onclick="page_view(\'thumb\'); return false;">Thumbnail View</a> <a class="list_view" href="#" onclick="page_view(\'list\'); return false;">List View</a></h3><div class="content" />');
	}
}


function initUtility(location, total_items) {
	$('#page_setup > .content').append('<div class="utility '+location+'" />');
	
	$('#page_setup > .content > .utility.'+location).append('<div class="links pagination"><div class="first"><a href="#" onclick="offsetPagi(\'first\'); return false;"><span>First</span></a></div><div class="previous"><a href="#" onclick="offsetPagi(\'prev\'); return false;"><span>Previous</span></a></div><div class="position"><span class="current_start">X</span>-<span class="current_end">XX</span> of <span class="current_total">XXX</span></div><div class="next"><a href="#" onclick="offsetPagi(\'next\'); return false;"><span>Next</span></a></div><div class="last"><a href="#" onclick="offsetPagi(\'last\'); return false;"><span>Last</span></a></div></div>');
	
	var classToAdd = '';
	var show_tooltip_code = '';
	
	if (location == 'top' && total_items >= 400) {
		classToAdd = ' sorting_hidden';
		show_tooltip_code = '<a href="Javascript:;" class="show_tooltip" title="The Sort feature is not available, because there are more than 400 resources for this topic. The most recently added resources are displayed. Please narrow your selection by choosing a sub-topic on the left.">Where is Sort?</a>';
	
	} else if (location == 'bottom' && total_items >= 400) {
		classToAdd = ' sorting_hidden';
	}
		

	$('#page_setup > .content > .utility.'+location).append('<div class="links ordination">'+
		'<form class="sortby" id="searchPagiForm" action="/portal/site/k-12/nbcArchivesSearchResults" method="post">'+
		'<input id="selectedValue" name="selectedValue" type="hidden" value="ADVANCED"/>'+
		'<input id="showResults" name="showResults" type="hidden" value="yes"/>'+
		'<input id="pageView" name="pageView" type="hidden" value=""/>'+
		'<input id="dateView" name="dateView" type="hidden" value="eventdateview"/>'+
		'<input id="terms" name="terms" type="hidden" value=""/>'+
		'<input id="all" name="all" type="hidden" value=""/>'+
		'<input id="atLeastOne" name="atLeastOne" type="hidden" value=""/>'+
		'<input id="without" name="without" type="hidden" value=""/>'+
		'<input id="pageNumber" name="pageNumber" type="hidden" value=""/>'+
		'<input id="airToDay" name="airToDay" type="hidden" value=""/>'+
		'<input id="airToMonth" name="airToMonth" type="hidden" value=""/>'+
		'<input id="airToYear" name="airToYear" type="hidden" value=""/>'+
		'<input id="airFromDay" name="airFromDay" type="hidden" value=""/>'+
		'<input id="airFromMonth" name="airFromMonth" type="hidden" value=""/>'+
		'<input id="airFromYear" name="airFromYear" type="hidden" value=""/>'+
		'<input id="eventFromDay" name="eventFromDay" type="hidden" value=""/>'+
		'<input id="eventFromMonth" name="eventFromMonth" type="hidden" value=""/>'+
		'<input id="eventFromYear" name="eventFromYear" type="hidden" value=""/>'+
		'<input id="eventToDay" name="eventToDay" type="hidden" value=""/>'+
		'<input id="eventToMonth" name="eventToMonth" type="hidden" value=""/>'+
		'<input id="eventToYear" name="eventToYear" type="hidden" value=""/>'+
		'<input id="selectedCollection" name="selectedCollection" type="hidden" value=""/>'+
		'<input id="selectedCourses" name="selectedCourses" type="hidden" value=""/>'+
		'<input id="sources" name="sources" type="hidden" value=""/>'+
		'<input id="videos" name="videos" type="hidden" value=""/>'+
		'<input id="audios" name="audios" type="hidden" value=""/>'+
		'<input id="images" name="images" type="hidden" value=""/>'+
		'<input id="documents" name="documents" type="hidden" value=""/>'+
		'<div class="sorting"><div class="sorting_sort_by'+classToAdd+'"><div class="sorting_where_is">'+show_tooltip_code+'</div>' + 
		' <span>Sort By:</span><select name="sortBy" class="sortingby" onchange="cycleSort(this.value);"></select>' +
		' <select name="sortOrder" class="sortingorder" onchange="cycleSort(this.value);"></select></div>' + 
		' <div class="sorting_show_me"><span>Show me:</span><select name="perPage" class="paginumber" onchange="cyclePagi(this.value);"></select>' +
		' <span>results per page</span></div>' +
		' <div class="share_me"><a class="shareme_button"></a></div>' +
		' </div></form></div>');
	
	if(location == 'top'){
		showToolTip();
	}
	
//	if (nodelist_buffer_type == 'recent') {
//			$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="publish" selected="selected">Recently Added</option>');
//			$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').attr('disabled', true)
//			$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').css('color', '#999999')
//			$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingorder').append('<option value="descending" selected="selected">Descending</option>');
//			$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingorder').attr('disabled', true)
//			$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingorder').css('color', '#999999')
//	}
	
 	if(isSearchActive){
                if (na_sortby == 'title') {
                        $('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title" selected="selected">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="type">Type</option><option value="relevance">Search Relevance</option>');
                } else if (na_sortby == 'airpublish') {
                        $('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish" selected="selected">Air/Publish Date</option><option value="type">Type</option><option value="relevance">Search Relevance</option>');
                } else if (na_sortby == 'type') {
                        $('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="type" selected="selected">Type</option><option value="relevance">Search Relevance</option>');
                } else if(na_sortby == 'relevance') {
                        $('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="type">Type</option><option value="relevance" selected="selected">Search Relevance</option>');
                } else {
                        /* Default is Selected Event Date */
                        $('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event" selected="selected">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="type">Type</option><option value="relevance">Search Relevance</option>');

                }

	} else{
				if (na_sortby == 'title') {
					$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title" selected="selected">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="publish">Recently Added</option><option value="type">Type</option>');
				} else if (na_sortby == 'airpublish') {
					$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish" selected="selected">Air/Publish Date</option><option value="publish">Recently Added</option><option value="type">Type</option>');
				} else if (na_sortby == 'event') {
					$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event" selected="selected">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="publish">Recently Added</option><option value="type">Type</option>');
				} else if (na_sortby == 'type') {
					$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="publish">Recently Added</option><option value="type" selected="selected">Type</option>');
				} else if (na_sortby == 'publish') {
					$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="publish" selected="selected">Recently Added</option><option value="type">Type</option>');
				} else {
					/* Default is by publish date */
					$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingby').append('<option value="title">Title</option><option value="event">Event Date</option><option value="airpublish">Air/Publish Date</option><option value="publish" selected="selected">Recently Added</option><option value="type">Type</option>');
				}
	}
	
	if (na_sortorder == 'ascending') {
		$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingorder').append('<option value="ascending" selected="selected">Ascending</option><option value="descending">Descending</option>');
	} else if (na_sortorder == 'descending') {
		$('#page_setup > .content > .utility.'+location+' .links.ordination select.sortingorder').append('<option value="ascending">Ascending</option><option value="descending" selected="selected">Descending</option>');
	}
	
	if(isSearchActive){
		if (items_per_page == '5') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5" selected="selected">5</option><option value="10">10</option><option value="25">25</option><option value="50">50</option>');
		} else if (items_per_page == '10') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10" selected="selected">10</option><option value="25">25</option><option value="50">50</option>');
		} else if (items_per_page == '25') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10">10</option><option value="25" selected="selected">25</option><option value="50">50</option>');
		} else if (items_per_page == '50') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10">10</option><option value="25">25</option><option value="50" selected="selected">50</option>');
		}
	}else {
		if (items_per_page == 'all') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option><option value="all" selected="selected">All</option>');
		} else if (items_per_page == '5') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5" selected="selected">5</option><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option><option value="all">All</option>');
		} else if (items_per_page == '10') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10" selected="selected">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option><option value="all">All</option>');
		} else if (items_per_page == '25') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10">10</option><option value="25" selected="selected">25</option><option value="50">50</option><option value="100">100</option><option value="all">All</option>');
		} else if (items_per_page == '50') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10">10</option><option value="25">25</option><option value="50" selected="selected">50</option><option value="100">100</option><option value="all">All</option>');
		} else if (items_per_page == '100') {
			$('#page_setup > .content > .utility.'+location+' .links.ordination select.paginumber').append('<option value="5">5</option><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100" selected="selected">100</option><option value="all">All</option>');
		}
	}
}
function addThis() {
	var addthisUrl = window.location.protocol + "//" + document.domain +  
	  (window.location.port ? (":" + parseInt(window.location.port)) : '') + 
	  "/portal/site/k-12/collectionnavigator?addinum=" + (new Date().getTime());
	
	addthisUrl += '&sb=' + na_sortby;
	addthisUrl += '&so=' + na_sortorder;
	addthisUrl += '&ip=' + items_per_page;
	addthisUrl += '&pi=' + position_id;
	addthisUrl += '&cp=' + chapter_xml;
	addthisUrl += '&io=' + items_offset;
	addthisUrl += '&cl=' + escape($('#page_setup').attr('class'));
	
	if (isCollectionNodeList) {
		addthisUrl += '&ls=true'; // loadsubscription
	}
	
	var theForm = document.getElementById('modalLoginHeaderAreaForm');
	if (theForm != undefined) {
		theForm.chromeurl.value= addthisUrl;
	}
	
	var addthis_share = {
			url: addthisUrl,
			title : $('#page_left .content.browse .breadcrumb').text().replace(/All Collections/, 'NBC Archives On Demand').replace(/\s*>\s*/g, ':')
	}
	addthis.button('.shareme_button', addthis_config, addthis_share);
	
}
function addThisSharePlaylist() {
	if (isPlaylistActive && !isSharedPlaylistActive && null != shared_playlist_uid && shared_playlist_uid.length > 0) {
		if($("#playlist_list_view > li.selected > input").size() > 0) {
			var addthisUrl = window.location.protocol + "//" + document.domain +  
			  (window.location.port ? (":" + parseInt(window.location.port)) : '') + 
			  "/portal/site/k-12/sharedlist?addpnum=" + (new Date().getTime()) + '&uid=' + shared_playlist_uid;
			
			addthisUrl += '&lid=' + $("#playlist_list_view > li.selected > input:first").attr('id') ;
			
			var addthis_share = {
					url: addthisUrl,
					title : $.trim('NBC Archives On Demand > My Play List')  
			}
			addthis.button('.shareme_button', addthis_config, addthis_share);
		}
	}
}
function addThisSearch() {
	
	var addthisUrl = window.location.protocol + "//" + document.domain +  
	  (window.location.port ? (":" + parseInt(window.location.port)) : '') + 
	  "/portal/site/k-12/collectionnavigator?addqnum=" + (new Date().getTime());
	
	if (!advsearch.util.isEmpty(search_terms_all)) {
		addthisUrl += '&ta=' + escape(search_terms_all.replace(/\'/g,'\\\''));
	}
	if (!advsearch.util.isEmpty(search_atLeastOne)) {
		addthisUrl += '&to=' + escape(search_atLeastOne.replace(/\'/g,'\\\''));
	}
	if (!advsearch.util.isEmpty(search_without)) {
		addthisUrl += '&tw=' + escape(search_without.replace(/\'/g,'\\\''));
	}
	if (!advsearch.util.isEmpty(search_selectedCollection)) {
		addthisUrl += '&cl=' + escape(search_selectedCollection.replace(/\'/g,'\\\''));
	}
	if (!advsearch.util.isEmpty(search_selectedCourses)) {
		addthisUrl += '&cs=' + escape(search_selectedCourses.replace(/\'/g,'\\\''));
	}
	if (!advsearch.util.isEmpty(search_sources)) {
		addthisUrl += '&sr=' + search_sources;
	}
	if (!advsearch.util.isEmpty(search_videos)) {
		addthisUrl += '&vi=' + search_videos;
	}
	if (!advsearch.util.isEmpty(search_audios)) {
		addthisUrl += '&au=' + search_audios;
	}
	if (!advsearch.util.isEmpty(search_images)) {
		addthisUrl += '&im=' + search_images;
	}
	if (!advsearch.util.isEmpty(search_documents)) {
		addthisUrl += '&do=' + search_documents;
	}
	if (!advsearch.util.isEmpty(na_sortby)) {
		addthisUrl += '&sb=' + na_sortby;
	}
	if (!advsearch.util.isEmpty(na_sortorder)) {
		addthisUrl += '&so=' + na_sortorder;
	}
	if (!advsearch.util.isEmpty(search_page_view_type)) {
		addthisUrl += '&pv=' + search_page_view_type;
	}
	
	/* page setup class */
	addthisUrl += '&ps=' + escape($('#page_setup').attr('class'));
	
	if (!advsearch.util.isEmpty(search_pageNumber)) {
		addthisUrl += '&pn=' + search_pageNumber;
	}
	if (!advsearch.util.isEmpty(search_date_view)) {
		addthisUrl += '&dv=' + search_date_view;
	}
	if (!advsearch.util.isEmpty(search_airFromDay)) {
		addthisUrl += '&ad=' + search_airFromDay;
	}
	if (!advsearch.util.isEmpty(search_airFromMonth)) {
		addthisUrl += '&am=' + search_airFromMonth;
	}
	if (!advsearch.util.isEmpty(search_airFromYear)) {
		addthisUrl += '&ay=' + search_airFromYear;
	}
	if (!advsearch.util.isEmpty(search_airToDay)) {
		addthisUrl += '&bd=' + search_airToDay;
	}
	if (!advsearch.util.isEmpty(search_airToMonth)) {
		addthisUrl += '&bm=' + search_airToMonth;
	}
	if (!advsearch.util.isEmpty(search_airToYear)) {
		addthisUrl += '&by=' + search_airToYear;
	}
	if (!advsearch.util.isEmpty(search_eventFromDay)) {
		addthisUrl += '&ed=' + search_eventFromDay;
	}
	if (!advsearch.util.isEmpty(search_eventFromMonth)) {
		addthisUrl += '&em=' + search_eventFromMonth;
	}
	if (!advsearch.util.isEmpty(search_eventFromYear)) {
		addthisUrl += '&ey=' + search_eventFromYear;
	}
	if (!advsearch.util.isEmpty(search_eventToDay)) {
		addthisUrl += '&fd=' + search_eventToDay;
	}
	if (!advsearch.util.isEmpty(search_eventToMonth)) {
		addthisUrl += '&fm=' + search_eventToMonth;
	}
	if (!advsearch.util.isEmpty(search_eventToYear)) {
		addthisUrl += '&fy=' + search_eventToYear;
	}
	if (!advsearch.util.isEmpty(items_per_page)) {
		addthisUrl += '&ip=' + items_per_page;
	}
	
	var theForm = document.getElementById('modalLoginHeaderAreaForm');
	if (theForm != undefined) {
		theForm.chromeurl.value= addthisUrl;
	}
		
	var addthis_share = {
			url: addthisUrl,
			title : $.trim('NBC Archives On Demand ' + search_terms_all.replace(/\'/g,'\\\'') + ' ' + search_atLeastOne.replace(/\'/g,'\\\'') + ' ' + search_without.replace(/\'/g,'\\\''))
	}
	addthis.button('.shareme_button', addthis_config, addthis_share);
	
}
function showToolTip() {
	$('.top .show_tooltip').tooltip({
		track: false,
		delay: 0,
		showURL: false,
		fade: 250,
		top: -117,
		left: -313
	});
	$('.bottom .show_tooltip').tooltip({
		track: false,
		delay: 0,
		showURL: false,
		fade: 250,
		top: -117,
		left: -313
	});
}
function fixIE6footer() {
	if ($.browser.msie && $.browser.version.substr(0,1)<7) {
		var temp_absfoo = $('#absfoo');
		$('#absfoo').remove();
		$('#absout').append(temp_absfoo);
	}
}
function toggleParentExpansion(id) {// click the description of a list view item to expanded or collapse it
	if ($('#'+id).hasClass('expanded')){
		$('#'+id).removeClass('expanded')
		fixIE6footer();
	} else {
		$('#'+id).addClass('expanded')
		fixIE6footer();
	}
}
function page_view(viewtype) {// change #page_setup.view_<type> [thumb|list]
	search_page_view_type = 'view_'+viewtype;
	if (viewtype=='list') {
		show_thumbover_flyout = false;
		$('#page_setup').removeClass('view_thumb').addClass('view_'+viewtype);
		fixIE6footer();
	} else if (viewtype=='thumb') {
		show_thumbover_flyout = false; // this value was true, set to false intentionally until somebody starts working on flyouts.
		$('#page_setup').removeClass('view_list').addClass('view_'+viewtype);
		fixIE6footer();
	} else if (viewtype=='small') {
		show_thumbover_flyout = false; // this value was true, set to false intentionally until somebody starts working on flyouts.
		current_view = 'small';
		$('#page_setup').removeClass('view_large').addClass('view_'+viewtype);
		fixIE6footer();
	} else if (viewtype=='large') {
		current_view = 'large';
		show_thumbover_flyout = false; // this value was true, set to false intentionally until somebody starts working on flyouts.
		$('#page_setup').removeClass('view_small').addClass('view_'+viewtype);
		fixIE6footer();
	} else if (viewtype=='expanded') {
		show_thumbover_flyout = false;
		$('#page_setup').removeClass('view_collapsed').addClass('view_'+viewtype);
		fixIE6footer();
	} else if (viewtype=='collapsed') {
		show_thumbover_flyout = false;
		$('#page_setup').removeClass('view_expanded').addClass('view_'+viewtype);
		fixIE6footer();
	}
	if(!isPlaylistActive) {
		if(!isSearchActive) {
			addThis();
		} else {
			addThisSearch();
		}
	}
	
}
function left_view(viewtype) {// change #page_left.panel_<type> [browse|search]
	if(isSearchActive && viewtype == 'browse'){
		nodelist_buffer_type = false;
		isSearchActive = false;
	}
	$('#page_left').removeClass().addClass('panel_'+viewtype);
	fixIE6footer();
	if(!isPlaylistActive) {
		if(!isSearchActive) {
			addThis();
		} else {
			addThisSearch();
		}
	}
}
/* thumbnail rollover with mask */
var timeOut;
function thumbover(showStatus, thoid, imgid) {
	thumbImg = document.getElementById(imgid);
	if (showStatus == "in") {
		thumbImg.style.position = "relative";
		thumbImg.style.zIndex = "10001";
		timeOut = setTimeout("$('#" + thoid + "').fadeIn(300)", 500);
	} else {
		clearTimeout(timeOut);
		thumbImg.style.position = "static";
		$('#'+thoid).fadeOut(300);
		thumbImg.style.zIndex = "0";
	}
}
function remValue(a, b){// form input elements: compare/restore
	if (a.value==b){
		a.value='';
		$(a).css({'color': '#000000'});
	} else if (a.value==''){
		a.value=b;
	} else {
		a.value=a.value;
	}
}
function chkValue(a, b){// form input elements: compare/restore
	if (a.value==''){
		a.value=b;
		$(a).css({'color': '#999999'});
	} else {
		a.value=a.value;
	}
}
function loadcssfile(filename, filetype){
	var addfileref=document.createElement("link")
	addfileref.setAttribute("rel", "stylesheet")
	addfileref.setAttribute("type", "text/css")
	addfileref.setAttribute("href", filename)
	document.getElementsByTagName("head")[0].appendChild(addfileref)
}
function removecssfile(filename, filetype){
	var targetelement=(filetype=="css")? "link" : "none" //determine element type to create nodelist from
	var targetattr=(filetype=="css")? "href" : "none" //determine corresponding attribute to test for
	var allsuspects=document.getElementsByTagName(targetelement)
	for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
		if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
		allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
	}
}
function parseXML( xml ) {
	if( window.ActiveXObject && window.GetObject ) {
		var dom = new ActiveXObject( 'Microsoft.XMLDOM' );
		dom.loadXML( xml );
		return dom;
	}
	if( window.DOMParser )
	return new DOMParser().parseFromString( xml, 'text/xml' );
	throw new Error( 'No XML parser available' );
}
function registration_popup(title,msg,dialogClass){
	$('<div class="dialog_popup">'+msg+'<div class="button_div_line"></div></div>').insertAfter('#absout');
	$(".dialog_popup").dialog({
	buttons: { "ok": function() {
			verifyEmail();
			//$(this).remove();
	}, "Cancel": function() { 
		$(this).dialog("close");
		$(this).remove();
		$("#email_input").val("");
		$("#email_input").focus();
		} 
	},
		modal: true,
		title: title,
		dialogClass: dialogClass
	});
}
function confirmCommunityChange_popup(title,msg,dialogClass){
	$('<div class="dialog_popup">'+msg+'<div class="button_div_line"></div></div>').insertAfter('#absout');
	$(".dialog_popup").dialog({
	buttons: { "ok": function() {
			$(this).dialog("close");
			$(this).remove();
			proceedWithNewCommunity();
	}, "Cancel": function() { 
			icuesnasregistration.Validator.displayError(icuesnasregistration.Validator.emailexistonsite,document.getElementById("email_input"));
			$(this).dialog("close");
			$(this).remove();
			document.getElementById("email_input").focus();
			
		} },
		modal: true,
		title: title,
		dialogClass: dialogClass
	});
}
function age_popup(title,msg,dialogClass){
	$('<div class="dialog_popup dialog_popup_single_btn">'+msg+'<div class="button_div_line"></div></div>').insertAfter('#absout');
	$(".dialog_popup").dialog({
	buttons: { "ok": function() {
		
			window.location.href="portal/site/k-12/";
			
	} },
		modal: true,
		title: title,
		dialogClass: dialogClass
	});
}
function continueFreeTrialConversion_popup(title,msg,dialogClass){
	$('<div class="dialog_popup dialog_popup_single_btn">'+msg+'<div class="button_div_line"></div></div>').insertAfter('#absout');
	$(".dialog_popup").dialog({
	buttons: { "ok": function() {
		$(this).dialog("close");
		$(this).remove();
	} },
		modal: true,
		title: title,
		dialogClass: dialogClass
	});
}
function changeFirstTimePassword_popup(title, msg, dialogClass){
	$('<div class="dialog_popup dialog_popup_single_btn">'+msg+'<div class="button_div_line"></div></div>').insertAfter('#absout');
	$(".dialog_popup").dialog({
	buttons: { "ok": function() {
		if (verifyChangePasswordEntry()) {
			$(this).dialog("close");
		}
	} },
		modal: true,
		title: title,
		dialogClass: dialogClass
	});
}
function verifyChangePasswordEntry() {
	
	var $newpassword1val = $('#newpassword1').val();
	var $newpassword2val = $('#newpassword2').val();
	
	if ($newpassword1val.length < 6 || $newpassword1val.length > 32) {
		alert('Please enter a password that is 6-32 characters long (letters and/or numbers).');
		return false;
	}
	
	if ($newpassword1val == $newpassword2val) {
		submitChangePasswordViaAjax();
		return true;
	} else {
		alert('The passwords did not match, please re-enter your new passwords.');
		return false;
	}
}
function submitChangePasswordViaAjax() {
	$('#changepasswordform').ajaxSubmit({ 
    	type:      'POST', 
    	dataType:  'xml',
    	timeout:   30000,
    	async : true,
    	error: function(xhr,message,exception) {
			if (xhr.status == '200' && xhr.statusText == 'OK') {
				if (xhr.responseText.indexOf('<success>ok</success>') > -1) {
					alert('Your password has been updated successfully.');
				} else {
					alert("ERROR\n" + xhr.responseText + "\n" + xhr.status + "\n" + xhr.statusText + "\n" + exception);
				}
			} else {
				alert("ERROR\n" + xhr.responseText + "\n" + xhr.status + "\n" + xhr.statusText + "\n" + exception);
			}
			$(".dialog_popup").remove();
		},
		success: function(responseXml,status) {
			alert(responseXml);
			$(".dialog_popup").remove();
		}, 
        url:'/portal/site/k-12/template.ARCHIVES_SNAS_PROFILE/action.process'       
 	}); 
}
function toggleFilteredCheckbox(checkbox) {
	if ($(checkbox).parent().parent().hasClass('collapsed')) {
		$(checkbox).parent().parent().removeClass().addClass('expanded');
	} else {
		$(checkbox).parent().parent().removeClass().addClass('collapsed');
	}
}
function showEmptyPlaylistMessage() {
	$('#page_setup').empty().append('<h3>&nbsp;</h3><div class="content"><h2>'+message_title+'</h2><p>'+message_body+'</p></div>');
}
function renderHelpNodes(nodeArray) {
	$('#page_setup').empty();
	$('#page_setup').append('<h3>&nbsp;</h3><div class="content" />');
	$('#page_setup').removeClass('view_thumb');
	$('#page_setup').removeClass('view_collapsed');
	if (!isHelpHomePage) {
	  for (i=0; i < nodeArray.length; i++) {
		var renderedNode = '<div class="help_item" id="'+nodeArray[i][1]+'"><div class="iterate">';
		renderedNode += '<div class="title" style="color: #0072BC; font-size: 16px;"><B>'+nodeArray[i][6]+'</B><BR/><BR/></div>';
		renderedNode += '<div class="description">'+nodeArray[i][7]+'</div>';
		renderedNode += '<hr/></div></div>';
		
		$('#page_setup > .content').append(renderedNode);
  	  }  
	} else {
		$('#page_setup').empty().append('<h3>&nbsp;</h3><div class="content"><h2>'+helphome_title+'</h2><p>'+helphome_body+'</p></div>');
		isHelpHomePage = false ;
	}
	$('body').attr('id','helppage');
	fixIE6footer();
}

function cycleHelp(chapterId, xmlid) {
	cycleNav(chapterId, chapter_prefix+xmlid+".xml" );
}
/*
End of the File
$Id: aodjax.js 4466 2010-04-12 20:33:47Z vivek.awana@nbcuni.com $
*/