// body onload
$(function(){
	$('.popup-info').hide();
	setTimeout(fitToScreen,10);
	$(window).resize(fitToScreen);
	// menu dropdown functionality
	$('#menu li').mouseenter(showMenu).mouseleave(hideMenu);
	// login tab dropdown
	$("#login-button").click(function () {
		$("#login").slideToggle(function(){
			var text = $('#login:hidden').length ? 'Login' : 'Close';
			$('#login-button').text(text);
			$("#login :text:visible:first").focus();
		});
	});
	// Login submit
	$("#login-submit").click(function(){
		var site = $('#login-site').val();
		if (!site){
			$('#login-site').stop().animate({backgroundColor: "#FFFF00"}, 200).animate({ backgroundColor: "#FFFFFF"}, 800);
			return false;
		}
		// set parameters based on login site selected
		if (site=='eservice'){
			$('#login').attr('action','https://eservice.xactware.com/apps/esc/Login');
			$('#login-username').attr('name','userid');
		} else if (site=='xactanalysis'){
			$('#login').attr('action','https://apps.xactware.com/apps/xnportal/user_router.jsp');
			$('#login-username').attr('name','user_id');
		} else if (site=='360value'){
			$('#login').attr('action','https://www.360-value.com/apps/iv/Login');
			$('#login-username').attr('name','userid');
		} else if (site=='express'){
			$('#login').attr('action','https://apps.xactimate.com/express/default.aspx');
			$('#login-username').attr('name','Email');
		} else if (site=='contents'){
			$('#login').attr('action','https://www.xactcontents.com/Contents/default.aspx');
			$('#login-username').attr('name','Email');
		}
		setCookie('login',site,'','/',new Date(Date.parse(Date())+(10*52*7*24*60*60*1000))); // set it out 10 years
		// send Omniture data
		s.events="event3";
		s.prop3= $('#login-site').val();
		s.eVar1="D=c3";
		s.t();
	});
	// sites dropdown
	$("#sites-toggle").click(function () {
		$("#sites-other").toggle(function(){
			$('#sites-other:hidden').length ? $('#sites').removeClass('selected') : $('#sites').addClass('selected');
		});
	});
	// colorbox popup (modal popup with overlay)
	if($('.popup').length || $('form#search').length){
		$.getScript('/scripts/jquery.colorbox.js', function(){
			$('.popup').each(function(){
				if(this.hash){
					// we removed the need for the extra div around the popup content that would normally hide it, so we need to show/hide it manually
					$(this).bind('cbox_open',function(){$(this.hash).show()}).bind('cbox_cleanup',function(){$(this.hash).hide()}).colorbox({inline:true,href:this.hash,width:900});
				} else {
					$(this).colorbox();
				}
				// send Omniture tracking when we open a popup
				$(this).bind('cbox_open',function(){
					s.pageName = this.title ? this.title : this.href;
					s.t();
				});
			});
			$('form#search').submit(function(){
				$('input[value=Search]').focus();
				var q = $.trim($('input[name=q]').val());
				if (!q) q='xactware';
				$.fn.colorbox({
					open: true,
					width:"750",
					height:"95%",
					iframe:true,
					href:"http://www.google.com/cse?cx=001054238857482562512%3Ac7yi4gwkhwa&cof=FORID%3A10&ie=UTF-8&q="+q
				});
				// send Omniture tracking
				s.events = 'event5';
				s.prop5 = q.toLowerCase();
				s.prop11 = 'D=pageName+" : '+q.toLowerCase()+'"';
				s.t();
				s.events='',s.prop5='',s.prop11='';
				return false;
			});
		});
	}
	// Get cookie script and prepop the login dropdown
	// If no cookie, then check the page to see if we can best guess
	$.getScript('/scripts/cookies.js',function(){
		var site = getCookie("login");
		if (site){
			$('#login-site').val(site);
		} else if (document.URL.indexOf('/claims-management/') > -1) {
			$('#login-site').val('xactanalysis');
		} else if (document.URL.indexOf('/property-valuations/') > -1) {
			$('#login-site').val('360value');
		} else if (document.URL.indexOf('/eservice-center/') > -1) {
			$('#login-site').val('eservice');
		} else if (document.URL.indexOf('/contents-estimating/') > -1){
			$('#login-site').val('contents');
		} else if (document.URL.indexOf('/xactimate-express/') > -1){
			$('#login-site').val('express');
		}
	});
	// Manually track pdf clicks with Omniture
	$('a[href*="elqRedir.htm"]').click(function(){
		s.tl(this,'d',this.href.match(/ref=(.*)$/)[1]);
	});
	// Star rating functionality
	var starFull = '/images/star-full.png';
	var starEmpty = '/images/star-empty.png';
	$('#star-rating').show(1,function(){
		var allowedChars = 250;
		fitToScreen();
		$('#star-rating img').mouseenter(function(){
			$(this).prevAll().andSelf().attr('src',starFull);
			$(this).nextAll().attr('src',starEmpty);
		}).click(function(){
			$('#star-rating').children('img').css('cursor','auto').andSelf().unbind();
			var rating = this.id.split('-')[1]
			s.prop7=rating;
			s.events="event6";
			s.products=";;;;event6="+rating;
			s.t();
		});
		$('#star-rating-comment-link').click(function(){
			$('#star-rating-comment').fadeIn();
			fitToScreen();
			$('#star-rating-comment textarea').val('').focus().siblings('.comment-counter').text(allowedChars);
			return false;
		});
		$('#star-rating-comment input').click(function(){
			$('#star-rating-comment').fadeOut('fast',function(){
				fitToScreen();
			});
			s.prop12=$(this).prevAll('textarea').val().substring(0,allowedChars);
			if (s.prop12) s.t();
			s.prop12='';
		});
		$('#star-rating-comment textarea').keyup(function(){
			var chars = this.value.length;
			var total = allowedChars - chars;
			if (total < 0){
				total = 0;
				$(this).val(this.value.substring(0,allowedChars)).scrollTop(this.scrollHeight);
			}
			$(this).siblings('.comment-counter').text(total);
		});
	}).mouseleave(function(){
		$(this).children('img').attr('src',starEmpty);
	});
	// Track site changes
	$('#sites-other a').click(function(){
		s.prop1=$(this).text();
		s.t();
	});
});

function header(){
	document.write(
		'<div id="wrapper">'+
		'	<a href="/"><img src="/images/xactware-logo.png" id="company-logo" width="451" height="48"/></a>'+
		'	<form id="search" action="http://www.google.com/cse" id="cse-search-box">'+
		'		<input type="hidden" name="cx" value="001054238857482562512:c7yi4gwkhwa" />'+
		'		<input type="hidden" name="ie" value="UTF-8" />'+
		'		<input type="text" name="q" style="width: 200px; font:9pt arial; background-color: #f3f3f3; color: #c4c4c4; border: 1px solid #ececec" />'+
		'		<input type="submit" name="sa" alt="Search" value="Search" />'+
		'	</form>'+
		'	<div id="sites">'+
		'		<a href="#show-sites" onclick="return false" id="sites-toggle">US/Canada (English)</a>'+
		'		<div id="sites-other">'+
		'			<a href="/ca/">Canada (fran&#231;ais)</a><br>'+
		'			<a href="/ie/">Ireland</a><br>'+
		'			<a href="/uk/">United Kingdom</a>'+
		'		</div>'+
		'	</div>'+
		'	<ul id="menu">'+
		' 	<li>'+
		'			<a href="/solutions/">Solutions</a>'+
		'			<ul>'+
		'				<li class="first"><a href="/solutions/#claims-estimating">Claims Estimating</a></li>'+
		'				<li><a href="/solutions/#claims-management">Claims Management</a></li>'+
		'				<li><a href="/solutions/#remodeling-estimating">Remodeling Estimating</a></li>'+
		'				<li><a href="/solutions/#property-valuations">Property Valuations</a></li>'+
		'				<li><a href="/solutions/#underwriting-management">Underwriting Management</a></li>'+
		'				<li><a href="/solutions/#ilx-construction-training">Construction Training</a></li>'+
		'			</ul>'+
		'		</li>'+
		' 	<li>'+
		'			<a href="/solutions/by-product">Products</a>'+
		'			<ul>'+
		'				<li class="first"><a href="/solutions/claims-estimating/">Xactimate</a></li>'+
		'				<li><a href="/solutions/claims-estimating/xactimate-express/">Xactimate Express</a></li>'+
		'				<li><a href="/solutions/contents-estimating/">XactContents</a></li>'+
		'				<li><a href="/solutions/claims-management/">XactAnalysis</a></li>'+
		'				<li><a href="/solutions/claims-management/sp/">XactAnalysis SP</a></li>'+
		'				<li><a href="/solutions/industry-trend-reports/">Industry Trend Reports</a></li>'+
		'				<li><a href="/solutions/property-valuations/">360Value</a></li>'+
		'				<li><a href="/solutions/property-valuations/home-valuations">Home Valuations</a></li>'+
		'				<li><a href="/solutions/remodeling-software/">XactRemodel</a></li>'+
		'				<li><a href="/training/ilx-construction-training/">ILX Construction Training</a></li>'+
		'			</ul>'+
		'		</li>'+
		' 	<li>'+
		'			<a href="/resources/">Resources</a>'+
		'			<ul>'+
		'				<li class="first"><a href="/resources/pricing-data-services/">Pricing Data Services</a></li>'+
		'				<li><a href="/resources/property-reports/">Property Reports</a></li>'+
		'				<li><a href="/resources/market-your-credentials/">Market Your Credentials</a></li>'+
		'				<li><a href="/resources/locate-a-professional">Locate a Professional</a></li>'+
		'				<li><a href="/resources/webinars/">Webinars</a></li>'+
		'				<li><a href="/training/ilx-construction-training/#glossary">Construction Glossary</a></li>'+
		'				<li><a href="/resources/wallpaper">Wallpaper</a></li>'+
		'				<li><a href="/resources/resources">Resource Links</a></li>'+
		'			</ul>'+
		'		</li>'+
		' 	<li>'+
		'			<a href="/training/">Training</a>'+
		'			<ul>'+
		'				<li class="first"><a href="/training/classroom-training/">Classroom Training</a></li>'+
		'				<li><a href="/training/virtual-classroom/">Virtual Classroom</a></li>'+
		'				<li><a href="/training/self-paced/">Self-Paced Training</a></li>'+
		'				<li><a href="/training/elearning-library/">eLearning Library</a></li>'+
		'				<li><a href="/training/certification/">Certification</a></li>'+
		'			</ul>'+
		'		</li>'+
		' 	<li>'+
		'			<a href="/company/">Company</a>'+
		'			<ul>'+
		'				<li class="first"><a href="/company/about">About Xactware</a></li>'+
		'				<li><a href="/company/contact-us">Contact Us</a></li>'+
		'				<li><a href="/company/visit-us">Visit Us</a></li>'+
		'				<li><a href="/company/employment">Employment</a></li>'+
		'				<li><a href="/company/events">Events</a></li>'+
		'				<li><a href="/news/">News</a></li>'+
		'				<li><a href="http://www.allegiancetech.com/xactwareCTP.jsp?feedbackSource=20">We\'re Listening</a></li>'+
		'				<li><a href="http://my.xactware.com/">Join Mailing List</a></li>'+
		'				<li><a href="/company/online-meetings">Online Meetings</a></li>'+
		'				<li><a href="/site-map">Site Map</a></li>'+
		'			</ul>'+
		'		</li>'+
		' 	<li>'+
		'			<a href="/support/">Support</a>'+
		'			<ul>'+
		'				<li class="first"><a href="/support/eservice-center/">Online Support</a></li>'+
		'				<li><a href="/support/storm-watch/">Storm Watch</a></li>'+
		'			</ul>'+
		'		</li>'+
		'		<li class="store last">'+
		'			<a href="http://www.xactware.com/store/">Store<img src="/images/cart-icon.png" width="23" height="18"/></a>'+
		'		</li>'+
		'	</ul>'+
		'	<form id="login" name="login-form" action="" method="post">'+
		'		<label for="username">User ID</label><input type="text" name="username" id="login-username" value=""/>'+
		'		<label for="password">Password</label><input type="password" name="password" id="login-password" value=""/>'+
		'		<label for="site">Service</label>'+
		'		<select name="site" id="login-site">'+
		'			<option value="">Please select...</option>'+
		'			<option value="eservice">eService Center</option>'+
		'			<option value="xactanalysis">XactAnalysis</option>'+
		'			<option value="360value">360Value</option>'+
		'			<option value="contents">XactContents Online</option>'+
		'			<option value="express">Xactimate Express</option>'+
		'		</select>'+
		'		<input type="submit" name="login" value="Sign In" id="login-submit"/><input type="hidden" name="login" value="Sign In"/><br/>'+ // The extra hidden login is because some browsers don't send the submit button value, and the ESC checks for that
		'		<a href="/support/login-help">Register / Need Help?</a><br/>'+
		'		<span style="position: relative; top: 2px"><img src="/images/security.gif" style="vertical-align:text-bottom" width="6" height="9"/> <a href="/support/secure">security</a></span>'+
		'		<input type="hidden" name="context" value="GENER"/><input type="hidden" name="loginPage" value=""/><input type="hidden" name="startPage" value=""/><input type="hidden" name="app" value=""/><input type="hidden" name="referrer" value=""/><input type="hidden" name="PassThru" value="1"/>'+
		'	</form>'+
		'	<div id="login-button">Login</div>'
	); // wrapper div is closed in the footer
	// Add Omniture and Eloqua tracking code
	document.write(
		'<!-- SiteCatalyst code version: H.9.\n' +
		'Copyright 1997-2007 Omniture, Inc. More info available at\n' +
		'http://www.omniture.com -->\n' +
		'<script type="text/javascript" src="/scripts/us/s_code.js"></script>\n');
	document.write('<script type="text/javascript" src="/scripts/elqNow/elqCfg.js"></script>\n');
}

function footer(){
	document.write(
		'	<div id="footer">'+
		'		<div id="footer-left">'+
		'			<a href="/copyright">Copyright '+ new Date().getFullYear() +' Xactware Solutions, Inc. All rights reserved.</a>'+
		'		</div>'+
		'		<div id="footer-right">'+
		'			<a href="http://www.verisk.com/"><img src="/images/verisk_logo.png" alt="A Verisk Analytics Company" width="144" height="20"/></a>'+
		'		</div>'+
		'	</div>'+
		' <br style="clear:both"/>'+
		'</div><!-- close wrapper from header -->'+
		'<div id="background-img"></div>'
	);
	
	// Eloqua and Omniture tracking scripts
	document.write('<div id="web_track_footer" style="display:none">\n');
	document.write('<script type="text/javascript"><!--\n' +
	'/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/\n' +
	'var s_code=s.t();if(s_code)document.write(s_code)//--></script>\n' +
	'<script type="text/javascript"><!--\n' +
	'if(navigator.appVersion.indexOf(\'MSIE\')>=0)document.write(unescape(\'%3C\')+\'\!-\'+\'-\')\n' +
	'//--></script><!--/DO NOT REMOVE/-->\n' +
	'<!-- End SiteCatalyst code version: H.9. -->');
	document.write('<script type="text/javascript" src="/scripts/elqNow/elqImg.js"></script>\n');
	document.write('</div>\n');
}

function fitToScreen(){
	var min = 980; // 1024 screen with a buffer
	var max = 1236; // 1280 screen with a buffer
	var current = $(window).width();
	if (current < min) current = min;
	if (current > max) current = max;
	//$("#wrapper").width(current);
	
	var wrapperH = $('#wrapper').height();
	var backgroundH = $('#background-img').height();
	var windowH = $(window).height() - backgroundH;
	current = wrapperH > windowH ? wrapperH : windowH;
	$("#background-img").css('top',current).show();
	$("#footer").css('top',current+backgroundH-30).show();
}

function popWindow(loc, config)
{
	//possible configs "left=x,top=y,width=width,height=height,status=no,menubar=no,location=no,directories=no,scrollbars=no,resizable=no'
	if (loc.charAt(0) == '/'){
		if (loc.indexOf('.') != -1){
			loc = ""+loc;
		} else {
			loc = ""+loc;
		}
	}
	pop = window.open(loc, "Xactware", config);
	pop.focus();
}

function showMenu(){
	var parentEl = $(this);
	parentEl.addClass('selected');
	var submenuEl = $('ul',parentEl);
	if (submenuEl){
		var position = parentEl.position();
		submenuEl.css('left',position.left);
		submenuEl.css('top',position.top+parentEl.outerHeight()-1); // -1 is to overlap 1px border
		submenuEl.show();
	}
}
function hideMenu(){
	$('ul',this).hide();
	$(this).removeClass('selected');
}

function showEstimatesProcessed(){
	var dayDate = estCtrDateTime.split(' at')[0].split(', ');
	var day = dayDate[0];
	var date = dayDate[1] + ", " + dayDate[2];
	var total = estCtrTotalEstimates;
	var dollar = estCtrTotalDollar.split('.')[0];
	document.write("As of <span class='blue'>"+day+"</span>"+date);
	document.write("<br/>Xactware has processed <span>"+total+"</span> estimates");
	document.write("<br/>with a total value of <b>$"+dollar+"</b>");
}