// TBC Jquery ini
var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('display', 'block');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('display', 'none');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{

	$('.navMain > li').bind('mouseover', jsddm_open)
	$('.navMain > li').bind('mouseout',  jsddm_timer)
   
   
	// validate forms on keyup and submit
	$("#contact").validate({
		rules: {
			fName: "required",
			lName: "required",
			email:  {
				required: true,
				email: true
			}

		},
		messages: {
			fName: "Please enter your First Name",
			lName: "Please enter your Last Name",
			email: "Please enter a valid email address"

		}
	});
	
	
	$("input#phone").mask("(999) 999-9999");
	

	
	$(".personnelListing li a").fancybox({
		'width'				: 600,
		'height'			: 50,
		'autoScale'			: false,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe'
	}); 

	

	//Anchor Navigation
	var myFile;
	var myAnchor;
	initContact();
	initServices();
	initLeaders();
	initResources();
	
	
	$('#servicesLink a').click(function() { initServices(); });
	$('#leadersLink a').click(function() { initLeaders(); });
	$('#resourcesLink a').click(function() { initResources(); });
	$('.footer_links a').click(function() { initServices(); });
	

	function initContact(){
		//Contact Listing Code
		var $_GET = {};
		document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
			function decode(s) {
				return decodeURIComponent(s.split("+").join(" "));
			}
		
			$_GET[decode(arguments[1])] = decode(arguments[2]);
		});
		$("#personnelTable tr").css('display', 'none');
		$("#personnelHead").fadeIn();
		myAnchor = '#' + $_GET["contact"];
		$(myAnchor).fadeIn();
			

	}
	
	//Services Menu Code
	function initServices(){
		window.setTimeout(function(){
			myFile = document.location.toString();
			if (myFile.match('services')) {
				myAnchor = myFile.split('#')[1];
				$("#servicesContent div").css('display', 'none');
				$('#' + myAnchor).fadeIn();
				$(".header h1").css('background-image', 'url(images/H-Services'+myAnchor+'.jpg)' );
				$('#headerImage').fadeOut('fast', function() {
					if(myAnchor=="HealthWelfare"){
						$("#healthyLiving a").css('display', 'block' );
					}else{
						$("#healthyLiving a").css('display', 'none' );
					}
					$("#headerImage").css('background-image', 'url(images/head_image_Services'+myAnchor+'.jpg)' );
					$("#headerImage").fadeIn();
				});
			}
		},50); 

	}
	
	//resources Menu Code
	function initResources(){
		window.setTimeout(function(){
			myFile = document.location.toString();
			if (myFile.match('resources')) {
				myAnchor = myFile.split('#')[1];
				$("#resourcesContent div").css('display', 'none');
				$('#' + myAnchor).fadeIn();
				$(".header h1").css('background-image', 'url(images/H-Resources'+myAnchor+'.jpg)' );
				$('#headerImage').fadeOut('fast', function() {
					$("#headerImage").css('background-image', 'url(images/head_image_Resources'+myAnchor+'.jpg)' );
					$("#headerImage").fadeIn();
				});
			}
		},50); 

	}
	
	//Leaders Menu Code
	function initLeaders(){
		window.setTimeout(function(){
			myFile = document.location.toString();
			if (myFile.match('leaders')) {
				myAnchor = myFile.split('#')[1];
				$("#leaderContent div").css('display', 'none');
				if($('#' + myAnchor).hasClass('principal')) {
					$('#headerImage').fadeOut('fast', function() {
						$("#headerImage").css('background-image', 'url(images/head_image_leaders.jpg)' );
						$("#headerImage").fadeIn();
					});
				}else {
					$('#headerImage').fadeOut('fast', function() {
						$("#headerImage").css('background-image', 'url(images/head_image_leadersNormal.jpg)' );
						$("#headerImage").fadeIn();
					});
				}
				
				var leaderText;
				switch(myAnchor){
					case "CBrown":
						leaderText="Carey Brown<br /><em>Principal</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "JHearn":
						leaderText="John Hearn<br /><em>Principal</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "FMcCorkle":
						leaderText="Faye McCorkle<br /><em>Chief Operating Officer</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "SClark":
						leaderText="Susan Clark<br /><em>Vice President</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "SCook":
						leaderText="Stacy Cook<br /><em>Vice President, Practice Leader, Large Groups</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";				
					break;
					case "EDuvall":
						leaderText="Eva Duvall<br /><em>Benefits Analyst & Wellness Coordinator</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";		
					break;
					case "CEvans":
						leaderText="Crystal Evans <br /><em>Benefit Analyst</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";		
					break;
					case "CJackson":
						leaderText="Cathy Jackson<br /><em>Vice President, Practice Leader</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";		
					break;					
					case "SManafi":
						leaderText="Sam Manafi<br /><em>Director of Technology</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "SMurray":
						leaderText="Sloane Murray<br /><em>Director of Employee Advocacy</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "BOverton":
						leaderText="Bruce Overton<br /><em>Compensation Practice Leader</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";				
					break;
					case "KPanichi":
						leaderText="Kevin Panichi<br /><em>Director of Underwriting & Clinics</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";				
					break;
					case "KReisner":
						leaderText="Kathy Reisner<br /><em>Director of Underwriting</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "ASpeaker":
						leaderText="Alan Speaker<br /><em>Human Resources Practice Leader</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
					case "SWheeler":
						leaderText="Salina Wheeler<br /><em>Practice Leader, Emerging Markets</em><BR><img src='images/headshots/" + myAnchor + ".jpg'>";					
					break;
				}
				$('#' + myAnchor).fadeIn();
				$('#leaderName').html(leaderText);
			}
		},50); 
	}

	
});

document.onclick = jsddm_close;



(function($) {
    $.softAjax = function(s) {
        //s = {url: '', type: 'POST', data: {}, success: {}, showErrorPopUp: true, error: {}};
        s = $.extend({ url: '/', type: 'POST', data: {}, success: function() { }, showErrorPopUp: true, error: null, recovery: null }, s);  //Setup defaults
        $.ajax({
            type: s.type,
            url: s.url,
            data: s.data,
            success: function(results) {
                if (!results.Success && $.isFunction(s.error)) {
                    s.error(results)
                }
                else {
                    if (!results.Success) {
                        $.mPrompt({
                            message: 'Sorry there was an error processing your request.</br> ' + results.ErrorMessage,
                            callback: s.recovery
                        });
                    }
                    else {
                        s.success(results);
                    }
                }
            },
            error: function(request, status, errorThrown) {
                if (parseInt(request.status, 10) == 403) {
                    $.mPrompt({ message: 'That action is not authorized. You must first login.', callback: function() { document.location = '/Admin/Login.aspx' } });
                }
                else {
                    if (s.error != null && $.isFunction(s.error)) {
                        s.error(request, status, errorThrown);
                    }
                    else {
                        if (s.showErrorPopUp) {
                            $.mPrompt({ message: 'Sorry there was an error processing your request.</br> ' });
                        }
                    }
                }
            }
        });
    }
})(jQuery);


$(function() {

    //Can search an array of primitive and complex types to find the index of the matching object parameters.
    jQuery.indexOfArray = function(search, array) {
        var keys = [];
        var index = -1;
        var keysLength = 0;
        var primitiveType = true;
        for (var propertyName in search) {
            primitiveType = false;
            keys.push(propertyName);
        }

        if ($.isArray(array)) {
            keysLength = keys.length; //Cache the length because we'll be using it more than once.
            for (var a = 0; a < array.length; a++) {
                var match = 0;
                if (primitiveType && array[a] == search) {
                    index = a;
                    break;
                }
                else if (!primitiveType) {
                    for (var b = 0; b < keysLength; b++) {
                        if (search[keys[b]] == array[a][keys[b]]) {
                            match++;
                        }
                    }
                    if (match == keysLength) {
                        index = a;
                        break;
                    }
                }
            }
        }
        return index;
    }

    jQuery.searchArray = function(search, array) {
        var obj = $.indexOfArray(search, array);
        if (obj > -1) {
            return array[obj];
        }
        return null;
    }
});


