/* 
	enhance.js
	description: Scripts used to initialize progressive enhancement of pages. Assumes that default pages display and functions without javascript
	author: Doug Hamaker
	date: 04/16/09
	
	functions:
	- change href on site language version link to be page-to-page switch instead of site-to-site.
	- setAudienceLinks() sets the audience menu href for current section to reference last visited audience home.
	- enhanceFindADenist() enables enhanced display for Find A Dentist component
	- enhanceLogin()  enables enhanced display for Online Services login components
	- enhanceForms() enables enhanced display for Form download component
	- showEnhancedLoginControls ()
	- enhanceSupportguideMenu() enables enhanced Support Guide Menus
	- enhanceHomePage() enables Home Page rollovers
	- activateOpenCloseControl() enables expand collaps controls on seealso components
	- initCartoonLightbox
	
*/
function setLangURL(){
	/* enhance language version to switch page  */
	document.domain=="es.deltadentalins.com" ? langDomain="www" : langDomain="es";
	document.getElementById("toggleLang").href="http://"+langDomain+".deltadentalins.com"+location.pathname;
}


function setAudienceLink(){
	/*
		- get cookie value for last audience home page
		- get utility and footer links
		- set links 
	*/
	myIndividualHome=readCookie('individualHome');
	myDentistHome=readCookie('dentistHome');

	utilityLinks=document.getElementById('utility').getElementsByTagName('a'); // get utility link collection
	footerLinks=document.getElementById('footerNav').getElementsByTagName('a'); //get footer link collection
	if (myIndividualHome) {
		utilityLinks[0].href = myIndividualHome;
		footerLinks[0].href = myIndividualHome;
	}
	if (myDentistHome) {
		utilityLinks[1].href = myDentistHome;
		footerLinks[1].href = myDentistHome;
	}
}


function setAudienceLinks() {
	//sets the audience menu href for current section to reference last visited audience home.
	}
	
function enhanceFindADentist() {
	//enables enhanced display for Find A Dentist component
	document.getElementById('findADentist_default').style.display ="none";  // hide the default find a dentist module
	document.getElementById('findADentist').style.display ="block";	// display the enhanced find a dentist module
	}
	
function showEnhancedLoginControls () {
	options = document.getElementById('sectionNav').getElementsByTagName('li');
	for (i=0;i<options.length;i++) {
		if (options[i].className.indexOf('secondary')==0) {
			options[i].className='secondary';
		};
	}
}

function enableRotatingFeatures (){
     $(function() {
		// initialize rotating banner module
		$(".featuresControl").show();
        $(".featuresControl").tabs(".features > .promo", {
        	effect: 'fade',
            fadeInSpeed: 2000,
            fadeOutSpeed: 1500,
            rotate: true	
          	}).slideshow({autoplay:true, interval:7000});
		});
}

function enhanceLogin()  {
	//enables enhanced display for Online Services login components
	document.getElementById('onlineServices').style.display="none";
	}
function enhanceForms() {
	//enables enhanced display for Form download component
	}


function enhanceSupportGuideMenu() {
	//enables enhanced Support Guide Menus
	// Requires global var "category" set in HTML local script 
	menus = document.getElementById('supportGuideMenus').getElementsByTagName('div');
	for (i=0;i<menus.length;i++) {
		menus[i].style.display = 'none'
	}
	document.getElementById(category).style.display="block";
	document.getElementById('dentalPlanGuide').style.display="block";

}
	
function activateOpenCloseControl() {
}


function onlineServicesDialogue() {
/*
	el = document.getElementById("onlineServicesDefault");
	el.id="onlineServicesEnhanced"; 
	el = document.getElementById("onlineServicesEnhanced");
	el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
	lb = document.getElementById("lightbox");
	lb.style.visibility = (lb.style.visibility == "visible") ? "hidden" : "visible";
*/
}
		
		
function doOnlineServices(){
	return false; //dh
    document.getElementById('onlineServices').style.display = "none"
}


/* 	Find A Dentist Quick Search 
 	Author: D. Hamaker
	Created: 11/08/2007 
	Last Updated: 11/19/2007
		
	Logic for form based navigation to different Provider Searches.  Does not include special Group Networks.
	Goal of Quick Search is to combine all public link navigation into a dropdown list.  
	User selects plan/network and is taken directly to the appropriate search form (or disclaimer if DeltaCare)
*/
function setDependentFields(el) {
	if (el.value==5) { // DeltaCare
    	document.getElementById('deltacareStateElement').style.display="block";
    } else {
    	document.getElementById('deltacareStateElement').style.display="none";
        document.getElementById('gotoProviderSearch').focus();
	}
}

 
function openDirectory(relativeURL) {
	target = relativeURL;
    //url = "http://www.wekeepyousmiling.com"+target;  // Absolute path for testing only
    url = target;       // Root relative path for PRODUCTION.
	childWidth = screen.width * .8;
	childHeight = screen.height * .8;
	windowParams = "width="+childWidth+"px, height="+childHeight+"px, directories=0, location=0, menubar=0, resizable=1, scrollbars=1 ,status=0, titlebar=1, toolbar=0, left=25, top=25";
	if (target!="0") {
    	childWindow = window.open(url,'Directory', windowParams);
		childWindow.focus();
	}           
}
            
function goProviderSearch() {
	var network = document.getElementById('searchNetwork').value;
	var state = document.getElementById('searchState').value;
	var dev = "https://es.deltadentalins.com/";
	var stateQuery = "&state="+state+"&pmiState="+state+"&entState="+state;
	var target = "/PD/providerDirectory.do?action=s01";
	network = parseInt(network);
	switch (network) {
		case 0: // default
			alert('Seleccione un plan e intente de nuevo.')
			document.getElementById('searchNetwork').focus();
			return false;
			break;
		case 1: // no plan
			target = dev + target;
			break;
		case 2: // Premier
			target = dev + "/PD/enterpriseSearchDirect.do?action=s01&productCode=01&organization=default&product=Delta%20Dental%20Premier";
			break;
		case 3: // PPO
			target = dev + "/PD/enterpriseSearchDirect.do?action=s01&productCode=20&organization=DIRECT&product=Delta%20Dental%20PPO";
			break;
		case 4: // DPO (Same search as PPO; but have to say DPO in TX)
			target = dev + "/PD/enterpriseSearchDirect.do?action=s01&productCode=20&organization=DIRECT&product=Delta%20Dental%20PPO";
			break;
		case 5: // DeltaCare USA
			if (state=="") {
				alert('Seleccione un estado o territorio e intente de nuevo.');
				document.getElementById('searchState').focus();
				return false;
			} 
			if (state=="other"){
				target="http://www.deltadental.com/DentistSearch/DentistSearchController.ccl?DView=DentistDentistSearch";
			} else {
				target = dev + "/PD/providerDirectory.do?action=provSearch&productCode=30&product=Delta%20Care%20USA";
				target = target + stateQuery;
			}
			break;
		case 6: // Vision
			target = dev + "/PD/pmi/DentistSearch_PMI_vision_discl.jsp?product=DeltaVision&state=CA&entState=CA";
			break;
		default:
			break;

		
			}
	openDirectory(target);
}
function goProviderSearchTrack() {
	var network = document.getElementById('searchNetwork').value;
	var state = document.getElementById('searchState').value;
	var dev = "https://es.deltadentalins.com/";
	var stateQuery = "&state="+state+"&pmiState="+state+"&entState="+state;
	var target = "/PD/providerDirectory.do?action=s01";
	network = parseInt(network);
	switch (network) {
		case 0: // default
			alert('Seleccione un plan e intente de nuevo.')
			document.getElementById('searchNetwork').focus();
			return false;
			break;
		case 1: // no plan
			target = dev + target;
			dir="directoryMain";
			break;
		case 2: // Premier
			target = dev + "/PD/enterpriseSearchDirect.do?action=s01&productCode=01&organization=default&product=Delta%20Dental%20Premier";
			dir="directoryPremier";
			break;
		case 3: // PPO
			target = dev + "/PD/enterpriseSearchDirect.do?action=s01&productCode=20&organization=DIRECT&product=Delta%20Dental%20PPO";
			dir="directoryPPO";
			break;
		case 4: // DPO (Same search as PPO; but have to say DPO in TX)
			target = dev + "/PD/enterpriseSearchDirect.do?action=s01&productCode=20&organization=DIRECT&product=Delta%20Dental%20PPO";
			dir="directoryDPO";
			break;
		case 5: // DeltaCare USA
			if (state=="") {
				alert('Seleccione un estado o territorio e intente de nuevo.');
				document.getElementById('searchState').focus();
				return false;
			}
			if (state=="other"){
				target="http://www.deltadental.com/DentistSearch/DentistSearchController.ccl?DView=DentistDentistSearch";
			} else {
				target = dev + "/PD/providerDirectory.do?action=provSearch&productCode=30&product=Delta%20Care%20USA";
				target = target + stateQuery;
			}
			dir="directoryDeltaCare-" + state;
			break;
		case 6: // Vision
			target = dev + "/PD/pmi/DentistSearch_PMI_vision_discl.jsp?product=DeltaVision&state=CA&entState=CA";
			dir="directoryVision";
			break;
		default:
			break;

		
			}
	virtualpage = "proxy/" + dir;
	pageTracker._trackPageview(virtualpage);
	openDirectory(target);
}

