// form field utilities
function isEmpty(s) { return ((s == null) || (s.length == 0)) }
function isNone(s) { return (s == "None") }

// ============================
// = BLANK INPUT TEXT DEFAULT =
// ============================

function clearText(thefield){
	if (thefield.defaultValue==thefield.value)
	thefield.value = "";
	return false;
}
function flashClicked(log){
    // tap the logging mechanism to record the event -ELB 6/10/2010
	$.ajax({
		url: '/log/Flash:' + log + '/',
		data: null,
		type: 'GET',
		success: function(resp) {}
	});
	// btn values: ['ct2', 'cta3', 'elluminate_in_50', 'five_reasons']
	// Google's GA Flash tracking (ref: http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&answer=55520 )
	getURL("javascript:pageTracker._trackPageview('/flash/homepage/'"+btn+");");
	return true;
}
function linkIntercept (el,log) {
    // tap the logging mechanism to record the event -ELB 6/10/2010
    var url = $(el).attr('href');
    $(el).attr('href', '/cgi-bin/click.php?i='+log+'&u='+escape(url));
    return true;
}
function tabChosen(which) {
	var newClass = which.className;
	var prevClass = $('ul#tabs').attr('class');
	$('ul#tabs').removeClass(prevClass).addClass(newClass);
	$('div#'+prevClass).toggleClass("hidden");
	$('div#'+newClass).toggleClass("hidden");
	return false;
}

function contentTabChosen(which) {
	var newClass = which.className;
	var prevClass = $('div#content_tabs').attr('class');
	//alert(newClass+"::"+prevClass);
	$('div#content_tabs a.current').toggleClass("current");
	$(which).toggleClass("current");
	$('div#content_tabs').removeClass(prevClass).addClass(newClass);
	$('div#'+prevClass).toggleClass("hidden");
	$('div#'+newClass).toggleClass("hidden");
	return false;
}

function toggleSubnav(which){
	var el = $('a.toggler:eq('+which+')');
	$(el).toggleClass("active");
 	$(el).next().toggle('slow');
	return false;
}
$(document).ready(function(){
	$(".youtubePop").colorbox({iframe:true, innerWidth:600, innerHeight:365});
	$("#slider").easySlider({
		continuous: false,
		nextId: "slider1next",
		prevId: "slider1prev"
	});
	$(".expanding .head,.expanding .subhead").click(function() {
		$(this).toggleClass("active");
		$(this).next().toggle('slow');
		return false;
	}).next().hide();

	$('body#home a').each(function(idx,el) {
		var url   = $(el).attr('href' );
		var klass = $(el).attr('class');
		var title = $(el).attr('title');
		if(url) {
			if ( 'more'==klass && null != title && 0 < title.length ) {
				url = 'bit:' + title;
			} else if( url.match(/^http/)) {
				var parts = url.split('.'); exurl=url;
				url = parts[0].replace('http://','').replace('https://','');
				if( 'www'==url || 'elluminate' != parts[1] ) { url = parts[1]; }
				if( 'elluminate'==url && 'go' == parts.pop()) { url = parts.pop().split('/').pop(); }
			} else if ( url.match(/\.go$/)) {
				url = url.split('/').pop();
			} else if ( url.match(/^\//)) { // in-site links (nav & others)
				url = url.split('id=').pop().replace(/\D\.*/,'');
			}
			if('action'==klass) { /* CTA links brand as such */
				if( url.match(/id\=\d+/)) { // in-site link, still a CTA
					url = el.parentNode.className.replace(/\s*cta\s*/,'');
				}
				url = 'CTA:' + url;
			}
			// Don't bother tracking javascript/behavior links
			if ( url.match(/#/) || url.match(/javascript/i)) {
				// these links NOT tracked
			} else {
				$(el).click( function() { return linkIntercept(el,url); });
			}
		}
	});

	$("[class^='count[']").each(function() {
		var elClass = $(this).attr('class');
		var minWords = 0;
		var maxWords = 0;
		var countControl = elClass.substring((elClass.indexOf('['))+1, elClass.lastIndexOf(']')).split(',');

		if(countControl.length > 1) {
			minWords = countControl[0];
			maxWords = countControl[1];
		} else {
			maxWords = countControl[0];
		}

		$(this).before('<small class="wordCount"><strong>0</strong> Words</small>');
		if(minWords > 0) {
			$(this).siblings('.wordCount').addClass('error');
		}

		$(this).bind('keyup click blur focus change paste', function() {
			var numWords = jQuery.trim($(this).val()).split(' ').length;
			if($(this).val() === '') {
				numWords = 0;
			}
			$(this).siblings('.wordCount').children('strong').text(numWords);

		});
	});

});

function OnlineOrientation(link) {
    msgWindow = window.open(
    	link,
    	'orientation',
    	'scrollbars=yes,resizeable=yes,width=720,height=600'
    );
    msgWindow.focus();
    return false;
}

/* ---
	Tag filtering
	--- */
function tag_filtering(f) {
	var showgroup = 0;
	if( f.grouping ) {
		showgroup = f.grouping.value;
		if(0 < showgroup) {
			$('li.list-grouping').each( function(idx) {
				if(this.id != 'grouping'+showgroup){
					$(this).hide('fast');
				} else{
					$(this).show('slow');
					$('#grouping'+showgroup+' a.head').next().show('slow');
				}
			});
		} else {
			$('li.list-grouping a.head').next().hide();
			$('li.list-grouping').show('slow');
		}
	}
	var tags = new Array;
	var tag_id = 0;
	var tag_filter = '';
	$('div.tag-grouping').each( function(idx) {
		tag_id = $(this).children('select')[0].value;
		if( 0 < tag_id ) { tags.push( tag_id ); }
	});
	if( 0 < tags.length ) {
		if(!f.grouping) { $('li.list-grouping').hide(); }
		tag_filter = tags.join(',');
		if( tag_filter != f.showtags.value ) {
			f.showtags.value = tag_filter;
			$.ajax({
				url:'/cgi-bin/bytags.php',
				data: 'ot=' + f.obj_type.value + '&tags=' + tag_filter,
				type: 'POST',
				success: function(resp) {
					var results = resp.split(',');
					$('.list-index li').hide();
					if( 0 < results.length ) {
						for( tag_id in results ) {
							$('#db-' + results[tag_id]).show();
							if( 0 == showgroup ) {
								if(!f.grouping) {
									$('#db-' + results[tag_id]).parent().parent().show();
								}
								// all groups showing, expand those with results
								$('#db-' + results[tag_id]).parent().show('slow');
							}
						}
					}
				}
			});
			return false;
		} else { return false; }
	} else {
		if(!f.grouping) { $('li.list-grouping').show(); }
		$('.list-index li').show();
		return false;
	}
}

function reveal(el){
	var id = el.id;
	$('div.'+id).toggle('slow');
}

function playRecording( url ) {
    if( getCookie('RecordedDemo') == '1' ) {
		var newWindow = window.open( url, '_blank' );
		if( newWindow && newWindow.focus ) { newWindow.focus(); }
        return false;
    } else {
    	return true;
    }
}
function check_downloadWhitepaper(w_id) {
    if (getCookie('DownloadedWhitepaper') == '1') {
		var downloadLink = '/cgi-bin/whitepaper-download.php?id=' + w_id;
        var newWindow = window.open( downloadLink, '_blank');
        if( newWindow && newWindow.focus ) { newWindow.focus(); }
        return false;
    } else {
    	return true;
    }
}


/**
 * src: http://blakehaswell.com/lab/dropdown/deux/
 * Adds and removes classes to a list of links to allow keyboard accessibility
 * @param string dropDownId
 * @param string hoverClass
 * @param int mouseOffDelay
 */
function dropdown(dropdownId, hoverClass, mouseOffDelay) {
	if(dropdown = document.getElementById(dropdownId)) {
		var listItems = dropdown.getElementsByTagName('li');
		for(var i = 0; i < listItems.length; i++) {
			listItems[i].onmouseover = function() { this.className = addClass(this); }
			listItems[i].onmouseout = function() {
				var that = this;
				setTimeout(function() { that.className = removeClass(that); }, mouseOffDelay);
				this.className = that.className;
			}
			var anchor = listItems[i].getElementsByTagName('a');
			anchor = anchor[0];
			if( anchor ) {
				anchor.onfocus = function() { tabOn(this.parentNode); }
				anchor.onblur = function() { tabOff(this.parentNode); }
			}
		}
	}
	function tabOn(li) {
		if(li.nodeName == 'LI') {
			li.className = addClass(li);
			tabOn(li.parentNode.parentNode);
		}
	}
	function tabOff(li) {
		if(li.nodeName == 'LI') {
			li.className = removeClass(li);
			tabOff(li.parentNode.parentNode);
		}
	}
	function addClass(li) { return li.className + ' ' + hoverClass; }
	function removeClass(li) { return li.className.replace(hoverClass, ""); }
}

function buildFlash(vidID,vidTitle){
	$("#"+vidID).attr("src", "http://img.youtube.com/vi/"+ vidID +"/3.jpg");
	$("#"+vidID).attr("title", vidTitle);
	$("#"+vidID).parent().attr("href", "http://www.youtube.com/v/"+ vidID +"?autoplay=1&width=600&height=385");
	$("#"+vidID).parent().attr("title", vidTitle);
	$("#"+vidID).parent().siblings("a.youtubeLink").attr("href", "http://www.youtube.com/v/"+ vidID +"?autoplay=1&width=600&height=385");
	$("#"+vidID).parent().siblings("a.youtubeLink").attr("title", vidTitle);
}

