google.setOnLoadCallback(function(){

    $("a[name='"+location.hash.replace("#","")+"']").nextAll("p:first,h3:first").css("background-color", "#999999").animate({"background-color":"#292929"}, 3000);



	$(".previewBox").each(function() {
		var rml = $(".readmoreLink", this);
		var linkurl= rml.attr("href");
		rml.wrap("<nobr />").before("[ ").after(" ]");
		$("h3, img", this).wrap("<a class=\"prog\" href=\""+ linkurl +"\" />");
	});
	
	
	
});
function setMap(mapelement, elementContainingAddress) {
    var marker = elementContainingAddress.data("gm_marker");
    if (marker != undefined) {
        marker.setMap(mapelement);
        mapelement.panTo(marker.position);
    }else{
        var address = extractAddressFromLocationBtn(elementContainingAddress);
        
        var geocoder = new google.maps.Geocoder();
        geocoder.geocode( {"address":address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                mapelement.setCenter(results[0].geometry.location);
                var newmarker = new google.maps.Marker({
                    position: results[0].geometry.location
                });
                elementContainingAddress.data("gm_marker", newmarker);
                newmarker.setMap(mapelement);
                mapelement.panTo(newmarker.position);
            } else {
                alert("Geocode was not successful for the following reason: " + status);
            }
        
        });
    }
}

function extractAddressFromLocationBtn(el) {
    var rx = new RegExp("\\d+\\s+[^,]+,\\s+[^,]+,\\s[a-zA-z]{2}\\s+\\d+", "gi");
    
    var elstring = 
    $.trim($($(el).get(0)).html())
    .replace(/<br[^>]*>/ig, ", ").replace(/[\r\n]*/gi, "");
    
    var result = rx.exec(elstring);
    
    return result[0];
}
function setPage(pageName) {
    $("#nav li a").removeClass("selected").filter(":contains('"+pageName+"')").addClass("selected");
}
function lamevalidation (txtEmail) {
    
       var regex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
       var passEmail  = regex.test($(txtEmail).val());
       
       
       if (passEmail) {
           return true;
       }else {
           alert("The email address that you entered doesn't look quite right. Please try again.");
           return false;
       }
}
   
  
