// Premier Global js


//browser detect

/****
** Browser Detection Script for CSS overrides
**
** Helps ease cross-browser compatibility by allowing you to define browser-specific CSS style rules on your page without hacks, therefore allowing compression.
** 
** Concept by:  Aaron Segal
** Coded By: Brian Gisseler
** Date: 2010-09-04
**
****/

var BrowserDetect = {
	debug: false,
	init: function () {
		this.classList = [];
		this.classes = [];
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| navigator.appVersion
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
		this.updateClasses();
	},
	applyToBody: function () {
		var i, s;
		if (!this.browser) this.init();
		if (!this.browser) return false;
		if (this.debug) alert('BROWSER: ' + this.browser + "\nVERSION: " + this.version + "\nOS: " + this.OS);
		var body = $('body');
		for(i in this.classes) {
			s = this.classes[i];
			body.addClass(s);
		}
		if (this.debug) alert('CLASSES: ' + body.attr('class'));
	},
	updateClasses: function () {
		var i, j, c, v, t;
		for(i in this.classList) {
			c = this.classList[i];
			v = this.version;
			v = (''+v).replace(/[-.+/]/g, '_');
			j = 0;
			while ((j = v.indexOf('_', j)) >= 0) {
				t = v.substring(0, j);
				this.classes.push(c.replace('%v', t));
				j++;
			}
			this.classes.push(c.replace('%v', v));
		}
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++) {
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1) {
					if (data[i].addClass)
						this.classList = data[i].addClass;
					return data[i].identity;
				}
			} else if (dataProp) {
				if (data[i].addClass)
					this.classList = data[i].addClass;
				return data[i].identity;
			}
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome",
			addClass: [ "webkit", "chrome", "chrome%v" ]
		}, {
			string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb",
			addClass: [ "omniweb" ]
		}, {
			//string: navigator.vendor,
			string: navigator.userAgent,
			subString: "AppleWebKit",
			identity: "Safari",
			addClass: [ "webkit", "safari", "safari%v" ],
			versionSearch: "Version"
		}, {
			prop: window.opera,
			identity: "Opera",
			addClass: [ "opera" ]
		}, {
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		}, {
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror",
			addClass: [ "webkit", "konqueror" ]
		}, {
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox",
			addClass: [ "gecko", "firefox", "firefox%v" ],
			versionSearch: "Firefox"
		}, {
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino",
			addClass: [ "camino" ]
		}, { // for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape",
			addClass: [ "netscape", "netscape%v" ]
		}, {
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			addClass: [ "ie", "ie%v" ],
			versionSearch: "MSIE"
		}, {
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			addClass: [ "gecko", "konqueror" ],
			versionSearch: "rv"
		}, { // for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			addClass: [ "mozilla", "netscape%v" ],
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		}, {
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		}, {
			string: navigator.userAgent,
			subString: "iPhone",
			identity: "iPhone/iPod"
		}, {
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};
$(function(){
	BrowserDetect.applyToBody();
});

// end browser detect



// RSS feed display


(function($){var current=null;$.fn.rssfeed=function(url,options){var defaults={limit:10,header:true,titletag:'h4',date:true,content:true,snippet:true,showerror:true,errormsg:'',key:null};var options=$.extend(defaults,options);return this.each(function(i,e){var $e=$(e);if(!$e.hasClass('rssFeed'))$e.addClass('rssFeed');if(url==null)return false;var api="http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q="+url;if(options.limit!=null)api+="&num="+options.limit;if(options.key!=null)api+="&key="+options.key;$.getJSON(api,function(data){if(data.responseStatus==200){_callback(e,data.responseData.feed,options);}else{if(options.showerror)
if(options.errormsg!=''){var msg=options.errormsg;}else{var msg=data.responseDetails;};$(e).html('<div class="rssError"><p>'+msg+'</p></div>');};});});};var _callback=function(e,feeds,options){if(!feeds){return false;}
var html='';var row='odd';if(options.header)
html+='<div class="rssHeader">'+'<a href="'+feeds.link+'" title="'+feeds.description+'">'+feeds.title+'</a>'+'</div>';html+='<div class="rssBody">'+'<ul>';for(var i=0;i<feeds.entries.length;i++){var entry=feeds.entries[i];var entryDate=new Date(entry.publishedDate);var pubDate=entryDate.toLocaleDateString()+' '+entryDate.toLocaleTimeString();html+='<li class="rssRow '+row+'">'+'<'+options.titletag+'><a href="'+entry.link+'" title="View this feed at '+feeds.title+'">'+entry.title+'</a></'+options.titletag+'>'
if(options.date)html+='<div>'+pubDate+'</div>'
if(options.content){if(options.snippet&&entry.contentSnippet!=''){var content=entry.contentSnippet;}else{var content=entry.content;}
html+='<p>'+content+'</p>'}
html+='</li>';if(row=='odd'){row='even';}else{row='odd';}}
html+='</ul>'+'</div>'
$(e).html(html);};})(jQuery);



// Ticker 


/*
* Tadas Juozapaitis ( kasp3rito@gmail.com )
*/
(function($){
$.fn.vTicker = function(options) {
	var defaults = {
		speed: 700,
		pause: 4000,
		showItems: 3,
		animation: '',
		mousePause: true,
		isPaused: false
	};

	var options = $.extend(defaults, options);

	moveUp = function(obj2, height){
		if(options.isPaused)
			return;
		
		var obj = obj2.children('ul');
		
    	first = obj.children('li:first').clone(true);
		
    	obj.animate({top: '-=' + height + 'px'}, options.speed, function() {
        	$(this).children('li:first').remove();
        	$(this).css('top', '0px');
        });
		
		if(options.animation == 'fade')
		{
			obj.children('li:first').fadeOut(options.speed);
			obj.children('li:last').hide().fadeIn(options.speed);
		}

    	first.appendTo(obj);
	};
	
	return this.each(function() {
		var obj = $(this);
		var maxHeight = 0;

		obj.css({overflow: 'hidden', position: 'relative'})
			.children('ul').css({position: 'absolute', margin: 0, padding: 0})
			.children('li').css({margin: 0, padding: 0});

		obj.children('ul').children('li').each(function(){
			if($(this).height() > maxHeight)
			{
				maxHeight = $(this).height();
			}
		});

		obj.children('ul').children('li').each(function(){
			$(this).height(maxHeight);
		});

		obj.height(maxHeight * options.showItems);
		
    	var interval = setInterval(function(){ moveUp(obj, maxHeight); }, options.pause);
		
		if(options.mousePause)
		{
			obj.bind("mouseenter",function(){
				options.isPaused = true;
			}).bind("mouseleave",function(){
				options.isPaused = false;
			});
		}
	});
};
})(jQuery);



// Nav Script


function showSecNav(){


$('ul#tNav li').hover(function(){
$('#btmHold ul.secNav').removeClass('none').removeClass('liOn').hide();
var parentLink = $('ul#tNav li').index(this);
$('#btmHold').find('ul.secNav:eq('+parentLink+')').fadeIn('slow').addClass('liOn');
},function(){


// $('#btmHold').find('ul.secNav:eq('+parentLink+')').removeClass('liOn').fadeOut('slow');
});


$('#btmHold ul.secNav').hover(function(){
$(this).show();
var babyLink = $('ul.secNav').index(this);
$('#topHold').find('ul#tNav li a:eq('+babyLink+')').addClass('over');

},function(){
$(this).removeClass('liOn').fadeOut('slow');
$('ul#tNav li a').removeClass('over');
});

}


$(function() {
			
			showSecNav();
			 
 });



//  RSS call


$(document).ready(function () {
	$('#premierTick').rssfeed('http://www.chicagobusiness.com/section/news?template=rss').ajaxStop(function() {
		$('#premierTick div.rssBody').vTicker({ 
		
		showItems: 2,
		pause: 10000,
		mousePause: true,
		height: 0,
		animation: 'fade'		
		
		});
	});

});


function validate_email(field,alerttxt)
{
with (field)
  {
  apos=value.indexOf("@");
  dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2)
    {alert(alerttxt);return false;}
  else {return true;}
  }
}

function validate_form(thisform)
{
with (thisform)
  {
  if (validate_email(email,"Please enter a valid e-mail address")==false)
    {email.focus();return false;}
  }
}

