String.prototype.startsWith = function(t, i) { if (i==false) { return	(t == this.substring(0, t.length)); } else { return (t.toLowerCase() == this.substring(0, t.length).toLowerCase()); } }
String.prototype.endsWith = function(t, i) { if (i==false) { return (t == this.substring(this.length - t.length)); } else { return (t.toLowerCase() == this.substring(this.length -	t.length).toLowerCase()); } }

$.fn.outerHTML = function(s) {return (s)? this.before(s).remove()	: jQuery("<p>").append(this.eq(0).clone()).html();}
$.fn.tagName = function() {if(1 === this.length){return this[0].tagName.toLowerCase();} else{var tagNames = []; this.each(function(i, el){tagNames[i] = el.tagName.toLowerCase();}); return tagNames;}}

function logout(){
	$.getJSON('logout.php');
}
function refresh_page(){
	setTimeout("window.location.reload(true);",333);
}
function __postback(cmd, cmd_arg, cmd_action, cmd_target){
	var f = $('#form');
	f.attr('target', '_self');
	if(cmd) f.append($('<input />').attr('type', 'hidden').attr('name', 'cmd').attr('value', cmd));
	if(cmd_arg) f.append($('<input />').attr('type', 'hidden').attr('name', 'cmd_arg').attr('value', cmd_arg));
	if(cmd_action)f.attr('action', cmd_action);
	if(cmd_target)f.attr('target', cmd_target);

	var v = f.validate({onfocusout: true});
	var b = true;

	if(cmd == 'Cancel'){
		v.cancelSubmit = true;
	}else{
		b = f.valid();
	}
	if(b){
		if(!f.attr('doubleSubmit')){
			if(f.attr('target') == '_self')	f.attr('doubleSubmit', true);
			f.submit();
		}
	}
}
function GetCmsLookups(){
	var article_type_cd = 'All';
	$('.latest-news').each(function(i, element){ article_type_cd = $(this).css('color') == 'rgb(255, 255, 255)'? '01':'03'; });

	$.ajax({
	  type: "GET",
	  url: "/integerws/Default.asmx/GetCmsLookup",
	  data: {'article_type_cd':article_type_cd},
	  contentType: "application/xml; charset=utf-8",
	  dataType: "xml",
	  complete: function(request, status){
			if(status == "error"){
		  	if(request.responseXML) trace(request.responseXML);
		  	if(request.responseText) trace(request.responseText);
		  }
	  },
	  success: function(data, status) {
			$('.filters .filter').remove();
			var ids = ['topic', 'date', 'region', 'featured'];
			$.each(ids, function(i, id){
				var title = null;
				$(data).find(id + '_collection').each(function(i, element){ title = $(element).attr('title'); });
		  	var div = $('<div>').addClass('filter').append($('<div>').addClass('title').append($('<div>').html(  title )));
		  	var ul = $('<ul>').addClass('options');
		  	$(data).find(id).each(function(i, element){
		  		$(ul).append($('<li>').append($('<div>').attr(id + '_id', $(element).attr(id + '_id')).html( $(element).attr('name')  )));
		  	});
		  	$(div).append(ul);
		  	$('.filters').append(div);
			});



				$('.filter .options li div').click(function(){


					if(!$(this).hasClass('checked')){
						$(this).parent().parent().find('.checked').removeClass('checked');
						$(this).addClass('checked');
					}else{
						$(this).removeClass('checked');
					}


				var criteria = '';
				var date_id = 0;
				var topic_id = 0;
				var region_id = 0;
				var featured_id = 0;

				$('#search').each(function(i, element){criteria = $(element).val()});
				$('.filter .options li div.checked[date_id]').each(function(i, element){ date_id = $(element).attr('date_id')});
				$('.filter .options li div.checked[topic_id]').each(function(i, element){ topic_id = $(element).attr('topic_id')});
				$('.filter .options li div.checked[region_id]').each(function(i, element){ region_id = $(element).attr('region_id')});
				$('.filter .options li div.checked[featured_id]').each(function(i, element){ featured_id = $(element).attr('featured_id')});

				GetCmsByFilter(criteria, date_id, topic_id, region_id, featured_id);


				});

				$('.filters').select(function(){
					return false;
				});
				$('.filter .title').click(function(){
					if(!$(this).hasClass('expand')){
						$('.filter .title').removeClass('expand');
						$('.filter .options').slideUp();
						$(this).addClass('expand');
						$(this).next().slideDown();
					}

				});
	  }, error:function(request, status, err){
	  	if(request.responseXML) trace(request.responseXML);
	  	if(request.responseText) trace(request.responseText);
	  	if(err) trace(err);

	  }
	 });


}

var cmscoll = new Array();


function NextPage(index, sender){
	var icount = 5;
	var istart = index*icount;
	var iend = Math.min((index+1)*icount, cmscoll.length);

	$('.results .para').remove();
	$('.results .result').remove();

	for(var i=istart; i<iend; i++){
		var cms = cmscoll[i];
		var cms_id = $(cms).attr('cms_id');
		var title = $(cms).attr('title');
		var summary = null;
		$(cms).children('summary').each(function(i, element){ summary = $(element).text(); });
		var release_dtm = $(cms).attr('release_dtm');

		var div = $('<div>').addClass('result').attr('cms_id', cms_id);
		$(div).append($('<div>').addClass('title').html(title))
		$(div).append($('<div>').addClass('subtitle').html(summary))
		$(div).append($('<div>').addClass('dtm').html(release_dtm));

		$('.results').append($(div));
		PositionFooter();
	}

	$('.result .dtm').each(function(i, element){
		var h = $(this).height() + parseInt($(this).css('padding-top')) + parseInt($(this).css('padding-bottom'));
		$(this).append($('<img>').addClass('btn').attr('src','images/plus.png').attr('width', '16').attr('height', '16').css({position:'absolute',top: ((h/2)-8) +'px', left:'100%', 'margin-left':'-22px'}));
		$(this).parent().after($('<div>').addClass('para').html('Description Here'));
	});

	$('.result .dtm .btn').click(function(){
		var btn = this;
		var div = $(btn).parent().parent();

		if($(div).hasClass('expanded')){
			FloatFooter();
			//$(div).removeClass('expanded').find('p,.para').slideUp('normal', function(){$(btn).attr('src','images/plus.png'); LockFooter();});
			$(div).removeClass('expanded').next().slideUp('normal', function(){$(btn).attr('src','images/plus.png'); LockFooter(); });

		}else{
			$.ajax({
			  type: "GET",
			  url: "/integerws/Default.asmx/GetCmsDetail",
			  data: {'cms_id': $(this).parent().parent().attr('cms_id')},
			  contentType: "application/xml; charset=utf-8",
			  dataType: "xml",
				success: function(data, status){
					$(div).next().html($(data.documentElement).text());
				}
			});
			FloatFooter();
			//$('.expanded').removeClass('expanded').find('p,.para').slideUp('normal', function(){$(this).parent().find('.btn').attr('src','images/plus.png'); LockFooter(); });
			$('.expanded').removeClass('expanded').next().slideUp('normal', function(){ $(this).parent().find('.btn').attr('src','images/plus.png'); LockFooter(); });
			//$(this).attr('src','images/minus.png');
			//$(div).addClass('expanded').find('p,.para').slideDown('normal', function(){$(btn).attr('src', 'images/minus.png');});
			FloatFooter();
			$(div).addClass('expanded').next().slideDown('normal', function(){$(btn).attr('src', 'images/minus.png'); LockFooter(); });
		}
	});

}

function ShowPage(){
}
function GetCmsByFilter(criteria, date_id, topic_id, region_id, featured_id){

	var article_type_cd = 'All';
	$('.latest-news').each(function(i, element){ article_type_cd = $(this).css('color') == 'rgb(255, 255, 255)'? '01':'03'; });
	var s = 'GetCmsByFilter(' + criteria + ', ' + date_id + ', ' + topic_id + ', ' +  region_id + ', ' +  featured_id + ', ' +  article_type_cd + ')';
	trace(s);

	$.ajax({
	  type: "GET",
	  url: "/integerws/Default.asmx/GetCmsByFilter",
	  data: {'criteria':criteria, 'date_id':date_id, 'topic_id':topic_id, 'region_id':region_id, 'featured_id':featured_id, 'article_type_cd':article_type_cd},
	  contentType: "application/xml; charset=utf-8",
	  dataType: "xml",
	  success: function(data, status) {
			// build the collection here
			// set is as global
			// then call the function

			cmscoll = new Array();
			$(data.documentElement).find('cms').each(function(i, cms){
				cmscoll[i] = cms;
			});

		 $('div.results div.pager').pagination(cmscoll.length, {items_per_page:5, callback:NextPage});

			NextPage(0);

	  }, error:function(request, status, err){
	  	if(request.responseXML) trace(request.responseXML);
	  	if(request.responseText) trace(request.responseText);
	  	if(err) trace(err);
	  }
	});
}





function xalert(o){
	for(p in o){
		alert(p + ':' + o[p]);
	}
}

function trace(s){
	if(window.console)window.console.log(s);
}

$(window).load(function(){
});


var fintid = null;

function PositionFooter(){
	var v1 = $(window).scrollTop();
	var v2 = $('.content').height() + parseInt($('.content').css('top'));
	var v3 = $(window).height();
	var v4 = $('.footer').height();

	if($('div.results').length > 0) v2 += 45;

	var v5 = (v2 > (v3 - v4 - v1 - 20))? 'bottom':'dock';
	var v6 = (v5=='dock')?(v3-v4):(v2+20);
	$('.footer').css('top', v6 + 'px');
}
function FloatFooter(){
	if(fintid == null) fintid = setInterval("PositionFooter()", 100);
}
function LockFooter(){
	if(fintid != null){
		setTimeout('clearTimeout('+fintid+')', 1500);
		fintid = null;
	}
}

$(document).ready(function(e){


	$('.header-nav a').click(function(){
		if($(this).attr('rel') != 'contact'){ return false; }
	});

	$('.header-nav a[rel="contact"]').css('cursor', 'pointer');

	$('.header-nav a').hover(function(evt){
		// hover in


		var element = this;
		var p = $(this).position();
		var l = p.left + parseInt($('.header-left').css('width'));
		$('.header-nav a.hover').removeClass('hover');
		$(element).addClass('hover');


		$('.subheader').stop(true);
		$('.subheader').animate({top:"0"}, {duration:50, queue:true, complete:function(evt){
				$(this).css('left', l + 'px');
				$('.subheader ul:visible').hide();

				if($(element).attr('rel') != 'contact' && $(element).html() != ''){
					$('.subheader ul[rel="' + $(element).attr('rel') + '"]').show();
					$('.subheader').animate({top:"40px"}, {duration:100, queue:true, complete:function(evt){
					}});
				}

			}});

		},function(evt){
			// hover out
	});


	var sPath = window.location.pathname;
	var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
	trace('sPage:'+sPage);
	if(sPage != 'contact.php' && sPage != 'default.php'){
		var sa = $('.subheader ul a[href="' + sPage + '"]');
		if(sa){
			$(sa).addClass('hover');
			var ul = $(sa).parent().parent();
			if(ul){
				var a =  $('.header-nav a[rel="' + ul.attr('rel') + '"]');
				if(a){
					$(a).addClass('hover');
					var p = $(a).position();
					if(p){
						var l = p.left + parseInt($('.header-left').css('width'));
						$(ul).show();
						$('.subheader').css('left', l + 'px').animate({top:"40px"}, {duration:100, queue:true});
					}
				}
			}
		}
	}

	$('.expandable h2').each(function(i, element){
		var h = $(element).height() + parseInt($(this).css('padding-top')) + parseInt($(element).css('padding-bottom'));
		if(h > 30) h = h-22;
		else h = ((h/2)-8);
		$(element).append($('<img>').addClass('btn').attr('src','images/plus.png').attr('width', '16').attr('height', '16').css({position:'absolute',top: h+'px', left:'100%', 'margin-left':'-22px'}));
		$(element).click(function(){
			$(this).find('.btn').click();
		});
	});

	$('.expandable h2 .btn').click(function(){
		var btn = this;
		var div = $(btn).parent().parent();
		if($(div).hasClass('expanded')){
			FloatFooter();
			$(div).removeClass('expanded').find('p,.para').slideUp('normal', function(){$(btn).attr('src','images/plus.png'); LockFooter();});

		}else{
			FloatFooter();
			$('.expanded').removeClass('expanded').find('p,.para').slideUp('normal', function(){ $(this).parent().find('.btn').attr('src','images/plus.png'); LockFooter();});
			$(this).attr('src','images/minus.png');
			$(div).addClass('expanded').find('p,.para').slideDown('normal', function(){$(btn).attr('src', 'images/minus.png');});
		}
		return false;
	});


	$('.subheader ul').each(function(){
		$(this).children().slice($(this).children().length-1).children('a').addClass('last');
	});

	$('a[rel="external"]').attr('target', '_blank');



	if($('.results')){
		GetCmsLookups();
		GetCmsByFilter('', 0, 0, 0, 0);
	}

	$('.latest-news').click(function(i, element){
		$('.latest-news').css('background-color', '#282727').css('color', '#fff');
		$('.news-releases').css('background-color', '#201f1f').css('color', '#7B7573');
		$('.filter .options li div.checked').removeClass('checked');
		$('#search').val('');
		GetCmsLookups();
		GetCmsByFilter('', 0, 0, 0, 0);
	});

	$('.news-releases').click(function(i, element){
		$('.news-releases').css('background-color', '#282727').css('color', '#fff');
		$('.latest-news').css('background-color', '#201f1f').css('color', '#7B7573');
		$('.filter .options li div.checked').removeClass('checked');
		$('#search').val('');
		GetCmsLookups();
		GetCmsByFilter('', 0, 0, 0, 0);
	});


	$('#search').keydown(function(evt){
		if(evt.keyCode == 13){
			// this needs to be set to the current id
			GetCmsByFilter($(this).val(), 0, 0, 0, 0);
			return false;
		}
	});



	$('.login #password').keydown(function(evt){
		if(evt.keyCode == 13){
			$(this).parent().parent().find('a:first').each(function(i, element){
				__postback('Login','','login.php','');
			});
			return false;
		}
	});

	if(jQuery.browser.msie){
		$('.filters').bind('selectstart', function(){return false;});
	}


	if($('.work')){
		var dd = $('<span>').addClass('client-gallery');
		$('.work').append(dd);
		var ul = $('<ul>').addClass('client-select');
		$('.work .client .name').each(function(i, element){
				var s = $(element).html().replace('Client:', '').replace('<span class="bold"></span>', '');
				s = s.replace('<sup>*</sup>', '');

				var t = s;
				t = t.replace('MillerCoors', 'Blue Moon');
				t = t.replace('Mohawk Industries', 'Mohawk');
				t = t.replace('Slurpee.com', 'Slurpee');
				t = t.replace('Polaris/Victory Motorcycles', 'Victory');
			$(ul).append(
			$('<li>').attr('s', s).html(t).hover(function(evt){
				$('.work .client-select li:not(.selected)').css('color', '#ffffff');
				$(this).css('color', '#212121');
			},function(evt){
				$(this).css('color', '#ffffff');
			}).click(function(){
				// need a value selector
				$('.work .client-select li').css('color', '#ffffff').removeClass('selected');
				$(this).css('color', '#212121').addClass('selected');
				$('.work .client:visible').fadeOut('fast');
				var s = $(this).attr('s').replace('&amp;', '&');
				trace('s:'+s);

				$('.work .client .name:contains("' + s + '")').each(function(i, element){
					var p = $(element).parent();  // the client div

					FloatFooter();
					$(p).fadeIn('slow', function(){  LockFooter();});

					$(dd).empty();
					$(dd).css('visibility:hidden');
					$(p).find('.photoset div:first img:first').each(function(i, img){
						$(dd).append($(img).clone());
						$(p).css('left', ($(dd).width() + 20 + parseInt($(dd).css('left'))) + 'px');
					});
					var h = $(dd).height() > $(p).height()? $(dd).height():$(p).height();
					$('.content').css('height', (h + 35) + 'px');

					//alert('now');
					$(dd).css('visibility:visible');

				});


			}));
		});

		$('.work').append(ul);
		$('.work .client-select li:first').click();

		// now link the photoselect
		$('.client .photoselect li img').each(function(i, element){
			$(element).click(function(){
				var img = $(this);
				var src = $(img).attr('src').replace('thumb', 'full');
				var dd = $('.client-gallery').get(0);
				var p = $(img).parent().parent().parent();



				$(dd).empty();

				$(p).find('.photoset img').each(function(i, img){
					if($(img).attr('src') == src){
						$(dd).append($(img).clone());
						// slide

						//$(p).animate({left: ($(dd).width() + 20 + parseInt($(dd).css('left'))) + 'px' }, 'slow');

						$(p).css('left', ($(dd).width() + 20 + parseInt($(dd).css('left'))) + 'px');
					}
				});

				var h = $(dd).height() > $(p).height()? $(dd).height():$(p).height();
				$('.content').css('height', (h + 35) + 'px');


				//$(dd).fadeOut('fast', function(){

				//$(dd).fadeIn('slow');


				});
			});
	}

	$('.vertical-align-middle').each(function(i, element){
		if(jQuery.browser.msie){
			$(this).wrapInner('<div class="middle-ie"><div class="inner-ie"></div></div>');
		}else{
			$(this).wrapInner( $('<div>').addClass('middle').css('height', $(this).height()).css('width',$(this).width()) );
		}
	});


	$(window).resize(function(e){
		PositionFooter();
	});

	PositionFooter();

	$('div.terms-policies').jScrollPane();



	$('input[type="text"]:first').focus();

	// clear the cookie
	// $.cookie('liteintro', null);


	if(!FlashDetect.versionAtLeast(10)){
		if($.cookie('liteintro') == null){
			// here show the dialog
			var div = $('<div>').attr('id', 'dialog').css('display', 'none').html('You are viewing the HTML version of the site. To view the flash version, please download the flash player 10 <a href="http://www.adobe.com/go/getflashplayer">here</a>.');
			$('body').append(div);
			$('#dialog').modal();

			$.cookie('liteintro', 'true', { expires: 365 });
		}
	}else{
		 //document.location = 'http://www.integer.com';
	}


	//trace('ok then');
});