﻿/* 
(function(){
    var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = "http://shepherd-interactive.googlecode.com/svn/trunk/overlay-comp/overlay-comp.js";
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(script);
})();
*/

$('document').ready(function(){
	/*main navigation*/
	var path = window.location.pathname;
	//preload
    $('#main_nav a img').each(function(){
        var rollSrc = $(this).attr('src');
        var rollOver = rollSrc.replace(/\./i, '_f2.');
        $('<img>').attr('src', rollOver);
        
        //rollovers
        
        var $img = $(this);
        var $nav_a_tag = $img.parents('a');
        var href = $nav_a_tag.attr('href');
        if(href === path){
    	    Sensis.Util.swap_over($img);
		    $nav_a_tag.replaceWith($img);
	    }
	    else{
            $nav_a_tag.hover(function(){
                Sensis.Util.swap_over($img);
            }, function(event){
                Sensis.Util.swap_up($img);
            });
        }
    });
	
	/*font size adjust*/
    $('#btn_decrease_font_size').click(function(){
        Sensis.Util.update_font_size(false);
    });
    
    $('#btn_increase_font_size').click(function(){
        Sensis.Util.update_font_size(true);
    });
    
    /*email signup*/
    $('#btn_email_signup').click(function(e){
		$('#signup_container').slideDown('normal');
		e.stopPropagation();	
	});
	
	$('body, #btn_close').click(function(){
		$('#signup_container').slideUp('normal', function(){
			$('#signup_form :text').val('');
			$('#signup_form :checkbox').each(function(){
				this.checked = false;	
			});
			$('#signup_confirmation').hide();
			$('#signup_form').show();
		});	
	});
	
	$('#signup_container').click(function(e){
		e.stopPropagation();
	});
	
	$('#btn_send').click(function(){
		if(Sensis.WMMC.validate_signup()){
			var frm = Sensis.WMMC.get_signup_form();
			var lang_pref = 0;
			if(frm.chkEN){
				lang_pref = 1;
			}
			if(frm.chkES){
				lang_pref = 2;
			}
			if(frm.chkEN && frm.chkES){
				lang_pref = 3;
			}
			$('#btn_send').attr('disabled', 'disabled');
			$('#btn_send_image').fadeOut();
			$('#ajax-loader').fadeIn();
			
			$.post('/xhr/email_signup.php', {Name:frm.txtName, EmailAddress:frm.txtEmail, LangPref: lang_pref}, function(){
				$('#signup_form').fadeOut('normal');
				$('#signup_confirmation').fadeIn('normal');
			});   	
		}  
	});
	
	$('#btn_return').click(function(){
		$('#signup_confirmation').hide();
		$('#signup_form').fadeIn('normal');	
		$('#signup_form :text').val('')	
		$('#signup_form :checkbox').each(function(){
			this.checked = false;	
		});	
		$('#btn_send').attr('disabled', '');
		$('#btn_send_image').show();
		$('#ajax-loader').hide();
	});

	/*language switch*/
	/*	
	var ENGLISH_DOMIAN = 'wmmc.la4.sensisagency.com';
	var SPANISH_DOMAIN = 'wmmc_es.la4.sensisagency.com';
	*/

	var ENGLISH_DOMIAN = 'whitememorialdoctors.com';
	var SPANISH_DOMAIN = 'doctoreswhitememorial.com';

	
	$('#btn_espanol').click(function(){
		var domain = window.location.hostname;
		var url = window.location.href;
		if(domain.indexOf(SPANISH_DOMAIN) != -1){
			location.href = url.replace(domain, ENGLISH_DOMIAN);
		}
		else{
			location.href = url.replace(domain, SPANISH_DOMAIN);
		}
		
		return false;
	});
    
    Sensis.WMMC.header_nav_init();
    
    Sensis.Util.set_font_size();
    
    if(BrowserDetect.browser === 'Safari' || BrowserDetect.browser === 'Opera'){
        $('#signup_content :checkbox + span').css({'vertical-align':'0px'});
    }
    
});

var Sensis = (function(){

	function change_font_size($body, font_size){
	    $body.css('font-size', font_size + 'px');
	    createCookie('font_size_preference', font_size + 'px', 365);
	    
	    if($.browser.msie && $.browser.version == '6.0' && font_size < 14 && font_size > 11){
	        location.reload(true);
	    }
	}
	
	function createCookie (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function readCookie (name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0; i < ca.length; i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') {
				c = c.substring(1, c.length);
			}
			if (c.indexOf(nameEQ) == 0){
				return c.substring(nameEQ.length, c.length);
			}
		}
		return null;
	}
	
	function eraseCookie (name) {
		createCookie(name, "", -1);
	}
	
	function font_reset(){
	    $('body').css('font-size', '11px');
	    eraseCookie('font_size_preference');
	}
	
	return {
		Util:{
			readCookie: function (name) {
				return readCoookie(name);
			},
			createCookie: function (name, value, days) {
				createCookie(name, value, days);
			},
			eraseCookie: function (name) {
				eraseCookie(name);
			},
			update_font_size: function (isIncrease){
			    var $body = $('body');
			    current_size = $body.css('font-size');
			    var font_size = parseFloat(current_size, 10);
			    if(isIncrease && font_size < 14){
					++font_size;
					change_font_size($body, font_size);
				} 	
				else if(!isIncrease && font_size > 11){
					--font_size;
					change_font_size($body, font_size);
				}   
			},
			set_font_size: function (){
			    //check for font-size preference
			    var font_size_preference = readCookie('font_size_preference');
			    if(font_size_preference != null){
			        $('body').css('font-size', font_size_preference);
			    }
			},
			swap_over: function($img){
			    var imgsrc = $img.attr('src');
			    var imgsrcOver = imgsrc.replace(/\./i, '_f2.');
			    $img.attr('src', imgsrcOver);
			},
			swap_up: function($img){
			    var imgsrc = $img.attr('src');
			    var imgsrcUp = imgsrc.replace(/_f2/i, '');
			    $img.attr('src', imgsrcUp);
			}
		},
		WMMC:{
			validate_signup: function(){
				var msg = '';
				var frm = this.get_signup_form();
				
				if( ! frm.txtName){
					msg = 'Please enter your name!\n';
				}
				
				if( ! frm.txtEmail){
					msg += 'Please enter your email address!\n';
				}
				else{
					if( ! /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(frm.txtEmail)){
                		msg += 'Please check the formatting of your email address!\n';
            		}
				}
				
				if( ! frm.chkEN && ! frm.chkES){
					msg += 'Please select a language preference!'
				}
				
				if(msg){
					alert(msg);
					return false;
				}
				
				return true;
			},
			get_signup_form: function(){
				return {
					txtName: $('#input_name').val()
					,txtEmail: $('#input_email').val()
					,chkEN: $('#lang_pref_EN').get(0).checked
					,chkES: $('#lang_pref_ES').get(0).checked
				}
			},
			header_nav_init: function (){
			    var path = window.location.pathname;
			    if(path === '/' || path === 'index.php'){
			        var $btn_home = $('#btn_home');
			        $btn_home.css('cursor', 'default');
			        $('img', $btn_home).attr('src', '/images/home_active.gif');
			    }
			}
		}						
	}
})();

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();      




