/*
 * Sitewide, UI interactivity configuration
 */
var siteConfig = {
	inquire: {
		form: {
			retrieveFromUrl: 	"data/inquire.php", //http://myllu.llu.edu/apps/ask/inquire.php?html_segment_only_in=Y
			action: 			"http://myllu.llu.edu/apps/ask/inquire.php"
		}
	},
	campusMap: {
		centerLatLon: [34.052615,-117.261693],
		serviceUrl: "data/campus-map.php",
		endpoints: {
			getBuildings: 			"?opt=buildings",
			search: 				"?opt=search",
			getBuildingDetails: 	"?opt=buildingInfo"
		}
	},
	ams: { // this is the ams data proxy service, in use only in the wizard for the moment
		serviceUrl: "data/ams.php",
		//serviceUrl: "../marketing/prospective_students_proxy.php",
		endpoints: {
			getProgramDetails: 			"?action=search_programs",
			getProgramFinancialInfo:	"?action=get_financial_info",
			getContentList: 			"?action=search_programs",
			getProgramList: 			"?action=get_programs",
			getSchoolList: 				"?action=get_schools",
			getDegreeList: 				"?action=get_degrees",
			search: 					"?action=search_programs"
		}
	},
	calendar: {
		iframeBaseUrl: "data/restylegc/restylegc.php",
		serviceUrl: "data/calendars.php",
		endpoints: {
			getList: "?opt=list"
		}
	}
};

/*
 * Temporary javascript to implement hover before the same is done with css sprites
 */
$("img.hoverable").each(function(i) {
	$(this).mouseover(function() {
        var src = $(this).attr("src").match(/[^\.]+/) + "-on.png";
        $(this).attr("src", src);
    })
    .mouseout(function() {
        var src = $(this).attr("src").replace("-on", "");
        $(this).attr("src", src);
    });
});


/*
 * Remove the focus bar from clicked elements
 */
$("a").each(function() {
	$(this).click(function() { this.blur(); });
});


/*
 * Make sure that all of the wizard steps keep the previously selected state
 */
if (document.location.hash != '') {
	$("a.context").each(function() {
		$(this).attr('href', $(this).attr('href')+document.location.hash);
	});
}


/*
 * Sitemap functionality
 */
$('#showSitemap > a').click(function(){
	$('#sitemap').toggle();

//	$(this).find('img.selectable').attr('src', 'img/btn-sitemap-current.png').removeClass('selectable').addClass('current');
//		.end();
//		.find('img.current').attr('src', 'img/btn-sitemap.png').removeClass('current').addClass('selectable');
	return false;
});
$('#hideSitemap img').click(function(){
	$('#sitemap').toggle();
});


// source: http://rosskendall.com/blog/web/javascript-function-to-check-an-email-address-conforms-to-rfc822
function isRFC822ValidEmail(sEmail) {

  var sQtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
  var sDtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
  var sAtom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
  var sQuotedPair = '\\x5c[\\x00-\\x7f]';
  var sDomainLiteral = '\\x5b(' + sDtext + '|' + sQuotedPair + ')*\\x5d';
  var sQuotedString = '\\x22(' + sQtext + '|' + sQuotedPair + ')*\\x22';
  var sDomain_ref = sAtom;
  var sSubDomain = '(' + sDomain_ref + '|' + sDomainLiteral + ')';
  var sWord = '(' + sAtom + '|' + sQuotedString + ')';
  var sDomain = sSubDomain + '(\\x2e' + sSubDomain + ')*';
  var sLocalPart = sWord + '(\\x2e' + sWord + ')*';
  var sAddrSpec = sLocalPart + '\\x40' + sDomain; // complete RFC822 email address spec
  var sValidEmail = '^' + sAddrSpec + '$'; // as whole string
  
  var reValidEmail = new RegExp(sValidEmail);
  
  if (reValidEmail.test(sEmail)) {
    return true;
  }
  
  return false;
}

