/* Browser Detection */
var isMac = false;
var isSafari = false;
var isFirefox = false;
var isMSIE = false;
var isMSIE6 = false;

if (navigator.userAgent.indexOf("Macintosh") != -1) {
    isMac = true;
}

if (navigator.userAgent.indexOf("Safari") != -1) {
    isSafari = true;
} else if (navigator.userAgent.indexOf("MSIE") != -1) {
    isMSIE = true;
    if (navigator.userAgent.indexOf("MSIE 6.0") != -1) {
        isMSIE6 = true;
    }
} else if (navigator.userAgent.indexOf("Firefox") != -1) {
    isFirefox = true;
}

/* AddThis Configuration */
var addthis_options = 'facebook, twitter, myspace, delicious, digg, email'; // List of Social Media Outlets

var addthis_header_color = "#FFFFFF"; // AddThis Popup Header Text Color

var addthis_header_background = "#AA1F23"; // AddThis Popup Header Background Color

var addthis_localize = {
    share_caption: "<strong>Share</strong>"
} // AddThis Popup Header Text

var addthis_share = {
    templates: { twitter: "twitter share goes here! {{url}}" }
} // AddThis URL to Share

var addthis_config = {
    //ui_click: true,
    data_ga_tracker: "pageTracker",
    data_track_clickback: true
} // AddThis Google Analytics Integration


/* Product Page Tabs */
var prodTabNames = ["information", "faqs", "wheretobuy", "wheretoreg"];
var prodTabs;
var prodTabCurrent;

function showProdTab(divID, wtbSKU){
    pageTracker._trackPageview(getTrackPath(prodTabNames[divID]));
    if (prodTabCurrent != -1){
        toggleProdTab(prodTabCurrent, false);
    }
    toggleProdTab(divID, true);
    prodTabCurrent = divID;
	if ((divID == 2) && (wtbSKU != null)){
		window.frames["wtbproduct"].location.href = "/where_to_buy_results.html?zipcode=-1&type=thin&sku=" + wtbSKU;
	}
}

function toggleProdTab(divID, showIt){
    prodTabs[divID].tab.className = showIt ? "tabon" : "taboff";
    prodTabs[divID].content.style.display = showIt ? "block" : "none";
}

function getTrackPath(eventName){
    return (location.pathname.substring(0, location.pathname.indexOf(".")) + "_" + eventName + ".aspx");
}

function initProdTabs(){
    
        var tmpTab;
        prodTabs = new Array();
        for (var i = 0; i < prodTabNames.length; i++){
            tmpTab = new Object();
            tmpTab.tab = document.getElementById(prodTabNames[i] + "Link");
            tmpTab.content = document.getElementById(prodTabNames[i]);
            prodTabs.push(tmpTab);
        }
        prodTabCurrent = -1;
        showProdTab(0);
   }

function getElementsByTagClass(tagName, className) {
    var matches = new Array();
    var matchesByTag = document.getElementsByTagName(tagName);
    for (var i = 0; i < matchesByTag.length; i++) {
        if (matchesByTag[i].className.indexOf(className) != -1) {
            matches.push(matchesByTag[i]);
        }
    }
    return matches;
}

// Enables Assignment of Multiple window.onload Functions
function addLoadEvent(func) {   
	var oldonload = window.onload;   
	if (typeof window.onload != 'function') {   
		window.onload = func;   
	} else {   
		window.onload = function() {   
			if (oldonload) {   
				oldonload();   
			}   
			func();   
		}   
	}   
}   

function showProductImage(theLink) {
    var selectedImg = theLink.getElementsByTagName("IMG")[0];
    var displayDiv = document.getElementById("mainProdImage");
    var displayImg = displayDiv.getElementsByTagName("IMG")[0];
    displayImg.src = selectedImg.src;
}

/* QUIZFRENCH */
var quizPos;
var quizMax;
var quizSets;
var quizSteps;
var quizContent;
var quizNextQuestion;
var quizEnd;
var quizChoices;
var quizChoiceHolder;

function quizInitFrench(){
	quizEnd = document.getElementById("quizend");
	quizSteps = document.getElementById("quizsteps");
	quizNextQuestion = document.getElementById("quiznext");
	quizContent = document.getElementById("quizcontent");
	quizChoiceHolder = document.getElementById("quiztf");
	quizChoices = quizChoiceHolder.getElementsByTagName("A");
	quizSets = getElementsByPTagClass(quizContent, "DIV", "quizset");
	quizMax = quizSets.length;
	quizPos = -1;
	quizShowNextQuestionFrench();
}

function quizShowNextQuestionFrench(){
	if (quizPos >= 0){
		quizHideQuestionFrench(quizPos);
	}
	quizPos++;
	quizNextQuestion.style.display = "none";
	if (quizPos < quizMax){
		quizEnableChoicesFrench(true);
		quizShowQuestionFrench(quizPos);
		quizDisplayStepsFrench(quizPos, quizMax);
		pageTracker._trackPageview(location.pathname + "/quiz_step" + (quizPos + 1));
	} else {
		quizChoiceHolder.style.display = "none";
		quizSteps.style.display = "none";
		quizEnd.style.display = "block";
		pageTracker._trackPageview(location.pathname + "/quiz_results");
	}	
}

function quizShowAnswer(choiceBtn, choiceValue){
	if (choiceBtn.enabled){
		quizEnableChoicesFrench(false);
		getElementsByPTagClass(quizSets[quizPos], "DIV", choiceValue)[0].style.display = "block";
		getElementsByPTagClass(quizSets[quizPos], "DIV", "quiza")[0].style.display = "block";
		quizNextQuestion.style.display = "block";
		choiceBtn.className = "selected";
	}
}

function quizDisplayStepsFrench(stepNum, stepMax){
	stepNum++;
	quizSteps.innerHTML = stepNum + " de " + stepMax;
}

function quizEnableChoicesFrench(turnOn){
	for (var i = 0; i < quizChoices.length; i++){
		if (turnOn){
			quizChoices[i].className = "";
		} else {
			quizChoices[i].className = "nonselected";
		}
		quizChoices[i].enabled = turnOn;
	}
}

function quizHideQuestionFrench(index){
	quizSets[index].style.display = "none";
}

function quizShowQuestionFrench(index){
	quizSets[index].style.display = "block";
}

/* QUIZ */
var quizPos;
var quizMax;
var quizSets;
var quizSteps;
var quizContent;
var quizNextQuestion;
var quizEnd;
var quizChoices;
var quizChoiceHolder;

function quizInit(){
	quizEnd = document.getElementById("quizend");
	quizSteps = document.getElementById("quizsteps");
	quizNextQuestion = document.getElementById("quiznext");
	quizContent = document.getElementById("quizcontent");
	quizChoiceHolder = document.getElementById("quiztf");
	quizChoices = quizChoiceHolder.getElementsByTagName("A");
	quizSets = getElementsByPTagClass(quizContent, "DIV", "quizset");
	quizMax = quizSets.length;
	quizPos = -1;
	quizShowNextQuestion();
}

function quizShowNextQuestion(){
	if (quizPos >= 0){
		quizHideQuestion(quizPos);
	}
	quizPos++;
	quizNextQuestion.style.display = "none";
	if (quizPos < quizMax){
		quizEnableChoices(true);
		quizShowQuestion(quizPos);
		quizDisplaySteps(quizPos, quizMax);
		pageTracker._trackPageview(location.pathname + "/quiz_step" + (quizPos + 1));
	} else {
		quizChoiceHolder.style.display = "none";
		quizSteps.style.display = "none";
		quizEnd.style.display = "block";
		pageTracker._trackPageview(location.pathname + "/quiz_results");
	}	
}

function quizShowAnswer(choiceBtn, choiceValue){
	if (choiceBtn.enabled){
		quizEnableChoices(false);
		getElementsByPTagClass(quizSets[quizPos], "DIV", choiceValue)[0].style.display = "block";
		getElementsByPTagClass(quizSets[quizPos], "DIV", "quiza")[0].style.display = "block";
		quizNextQuestion.style.display = "block";
		choiceBtn.className = "selected";
	}
}

function quizDisplaySteps(stepNum, stepMax){
	stepNum++;
	quizSteps.innerHTML = stepNum + " of " + stepMax;
}

function quizEnableChoices(turnOn){
	for (var i = 0; i < quizChoices.length; i++){
		if (turnOn){
			quizChoices[i].className = "";
		} else {
			quizChoices[i].className = "nonselected";
		}
		quizChoices[i].enabled = turnOn;
	}
}

function quizHideQuestion(index){
	quizSets[index].style.display = "none";
}

function quizShowQuestion(index){
	quizSets[index].style.display = "block";
}

function getElementsByPTagClass(parentElement, tag, className){
	var tagMatches = parentElement.getElementsByTagName(tag);
	var tagClassMatches = new Array();
	for (var i = 0; i < tagMatches.length; i++){
		if (tagMatches[i].className.indexOf(className) != -1){
			tagClassMatches.push(tagMatches[i]);
		}
	}
	return tagClassMatches;
}

//Sign Up Form
function initFormHandlers() {
        var radioYes = getFormElements("SignUpAreYouPregnant")[0];
        var radioNo = getFormElements("SignUpAreYouPregnant")[1];
        var childrenDropdown = getFormElements("SignUpHowManyChildren")[0];
        radioYes.onclick = function() {
            onPregantNowClick(this);
        };
        radioNo.onclick = function() {
            onPregantNowClick(this);
        };
		if (radioYes.checked){
			onPregantNowClick(radioYes);
		} else if (radioNo.checked){
			onPregantNowClick(radioNo);
		}
        childrenDropdown.onchange = function() {
            onHowManyChildrenChange(this);
        };
		onHowManyChildrenChange(childrenDropdown);
    }

    function getFormElements(sub) {
        var elems = new Array();
        var elem;
        for (var i = 0; i < document.forms[0].elements.length; i++) {
            elem = document.forms[0].elements[i];
            if (elem.name.indexOf(sub) != -1) {
                elems.push(elem);
            }
        }
        return elems;
    }

    function onPregantNowClick(radioBtn) {
        var radioYes = getFormElements("SignUpAreYouPregnant")[0];
        var radioNo = getFormElements("SignUpAreYouPregnant")[1];
        var dueDate = document.getElementById("dueDate");
        if (radioBtn == radioYes) {
            dueDate.style.display = "block";
        } else {
            dueDate.style.display = "none";
        }
    }

    function onHowManyChildrenChange(dropdown) {
        var maxChildren = dropdown.length - 2;
        var choice = dropdown.options[dropdown.selectedIndex].value;
        var childDOB;
        for (var i = 1; i <= maxChildren; i++) {
            childDOB = document.getElementById("child" + i);
            if (i <= choice) {
                childDOB.style.display = "block";
            } else {
                childDOB.style.display = "none";
            }
        }
    }

// Home Page Expandable Menu
var homeExpNavItems;
var homeExpNav;
var homePods;

function initHomeExpMenu(){
	homePods = document.getElementById("homepods");
	homeExpNav = document.getElementById("homeexpmenu");
	homeExpNavItems = getElementsByPTagClass(homeExpNav, "DIV", "expnav");
	for (var i = 0; i < homeExpNavItems.length; i++){
		homeExpNavItems[i].navID = i;
		homeExpNavItems[i].closed = true;
		homeExpNavItems[i].onmouseover = function(){
			if (this.closed){
				this.className = "expnav hover";
			}
		};
		homeExpNavItems[i].onmouseout = function(){
			if (this.closed){
				this.className = "expnav closed";
			}
		};
		homeExpNavItems[i].onclick = function(){
			if (this.closed){
				closeAllHomeExpNavItems();
				openHomeExpNavItem(this.navID);
			} else {
				closeHomeExpNavItem(this.navID);
			}
			positionHomeExpMenu();
		};
	}
}

function closeHomeExpNavItem(navIndex){
	homeExpNavItems[navIndex].closed = true;
	homeExpNavItems[navIndex].className = "expnav closed";
}

function openHomeExpNavItem(navIndex){
	homeExpNavItems[navIndex].closed = false;
	homeExpNavItems[navIndex].className = "expnav opened";
}

function closeAllHomeExpNavItems(){
	for (var i = 0; i < homeExpNavItems.length; i++){
		closeHomeExpNavItem(i);
	}
}

function positionHomeExpMenu(){
	homeExpNav.style.top = (homePods.clientHeight - homeExpNav.clientHeight) + "px";
}

// Pacifier Comparison Article (/Pacifiers/Tips-Tools/Pacifiers-That-Comfort-Mommy-Too.aspx)
var pacCompHitAreas;
var pacCompHitText;

function pacCompInit(){
	pacCompHitAreas = getElementsByTagClass("DIV", "hitarea");
	pacCompHitText = getElementsByTagClass("DIV", "hittext");
	document.getElementById("hit1textorig").style.display = "block";
	document.getElementById("hit2textorig").style.display = "block";
	for (var i = 0; i < pacCompHitAreas.length; i++){
		pacCompHitAreas[i].onclick = function(){
			pacCompShow(this);
		}
	}
}

function pacCompShow(hitArea, showDefault){
	var hitAreaSet = hitArea.id.charAt(3);
	var hitAreaIndex = hitArea.id.charAt(8);
	if (showDefault){
		hitAreaIndex = 0;
	}
	for (var i = 0; i < pacCompHitAreas.length; i++){
		if (pacCompHitAreas[i].id.charAt(3) == hitAreaSet){
			pacCompHitAreas[i].className = "hitarea";
		}
	}
	for (var i = 0; i < pacCompHitText.length; i++){
		if (pacCompHitText[i].id.charAt(3) == hitAreaSet){
			if (pacCompHitText[i].id.charAt(8) == hitAreaIndex){
				pacCompHitText[i].style.display = "block";
			} else {
				pacCompHitText[i].style.display = "none";
			}
		}
	}
	hitArea.className = "hitareaon";
}

// Contact Us FAQ Category Toggle
var faqsCats;
var faqsCatLinks;

function faqsContactUsInit(){
	faqsCats = getElementsByTagClass("DIV", "faqscat");
	faqsCatLinks = getElementsByTagClass("A", "faqscatlink");
	for (var i = 0; i < faqsCatLinks.length; i++){
		faqsCatLinks[i].catID = i;
		faqsCatLinks[i].onclick = function(){
			faqsContactUsToggle(this);
		}
	}
}

function faqsContactUsToggle(catLink){
	var category = catLink.catID;
	if (faqsCats[category].style.display == "block"){
		faqsCats[category].style.display = "none";
	} else {
		for (var i = 0; i < faqsCats.length; i++){
			faqsCats[i].style.display = "none";
		}
		faqsCats[category].style.display = "block";
	}
}

// Flash Lightbox
function fancyboxSWF(docURL, swfHeadline, swfSubhead, swfURL, swfWidth, swfHeight, minVersion, swfID, flashVars, swfWMode, isLightbox){
	if (isLightbox){
		if ($.flash.hasVersion(minVersion)){
			flashVars.headline = swfHeadline;
			flashVars.subhead = swfSubhead;
			flashVars.lightbox = "true";
			$.fancybox({
				type: "swf",
				href: swfURL,
				width:swfWidth,
				height:swfHeight,
				swf: {
					flashvars: fancyboxObjectToNameValue(flashVars),
					wmode: swfWMode
				},
				padding:0,
				overlayOpacity:0.8,
				overlayColor:"#000000",
				showCloseButton:true,
				hideOnContentClick:false,
				hideOnOverlayClick:true,
				autoScale:false,
				autoDimensions:false
			});
			return false;
		}
	}

	fancyboxGotoAlias(docURL);
    return false;
}

function fancyboxObjectToNameValue(obj){
	var nameValue = "";
	$.each(obj, function(name, val) {
		nameValue += name + "=" + escape(val) + "&";
	});
    nameValue = nameValue.substring(0, nameValue.length - 1);
    return nameValue;
}

function fancyboxGotoAlias(docURL){
	var docAlias = location.pathname.substring(0, location.pathname.indexOf("/", 1));
	docAlias += "/Tips-Tools";
	docAlias += docURL.substring(docURL.lastIndexOf("/"));
	location.href = docAlias;
}


function articleGotoAlias(docURL) {
    var docAlias = location.pathname.substring(0, location.pathname.indexOf("/", 1));
    docAlias += "/Tips-Tools";
    docAlias += docURL.substring(docURL.lastIndexOf("/"));
    location.href = docAlias;
}

// Remove HTML from Dropdowns
function stripDropdownHTML(dropdown){
   	for (var i = 0; i < dropdown.options.length; i++){
    	dropdown.options[i].text = stripHTML(dropdown.options[i].text);
    }
}

function stripHTML(input){
	var matchTag = /<(?:.|\s)*?>/gi;
    input = input.replace(matchTag, "");
	matchTag = /&reg;/gi;
    input = input.replace(matchTag, "");
	matchTag = /&#8482;/gi;
    input = input.replace(matchTag, "");
	return input;
}

function findFormField(fieldSub){
	for (var i = 0; i < document.forms[0].elements.length; i++){
		if (document.forms[0].elements[i].name.indexOf(fieldSub) != -1){
			return document.forms[0].elements[i];
		}
	}
	return null;
}

var contactCategory;
var contactProduct;
var contactProductID;

function contactInit(){
	contactCategory = findFormField("ContactProdCat");
	contactProduct = findFormField("ContactProduct");
	contactProductID = findFormField("ContactProductHidden");
	contactCategory.onchange = contactDropdownsEnable;
	contactProduct.onchange = contactSetValue;
	contactDropdownsEnable();
	if (contactProductID.value != ""){
		for (var i = 0; i < contactProduct.options.length; i++){
			if (contactProduct.options[i].value == contactProductID.value){
				contactProduct.options[i].selected = true;
			}
		}
	}
}

function contactDropdownsEnable(){
	contactProduct.selectedIndex = 0;
	if (contactCategory.selectedIndex == 0){
		contactProduct.disabled = "disabled";
	} else {
		contactProduct.disabled = "";
		contactSetProducts();
	}
}

function contactSetProducts(){
	var currCategory = contactCategory.options[contactCategory.selectedIndex].value;
	contactProduct.options.length = 0;
	contactProduct.options[contactProduct.length] = new Option("Please Select", "");
	var products = wtbProductsByCategory[currCategory];
	for (var i = 0; i < products.length; i++){
		contactProduct.options[contactProduct.length] = new Option(products[i].label, products[i].data);
	}
	contactProduct.selectedIndex = 0;
	stripDropdownHTML(contactProduct);
}

function contactSetValue() {
    contactProductID.value = contactProduct.options[contactProduct.selectedIndex].value;
}

//popups

function openWindow(url) {

	window.open(url,'name', 'width=700, height=500, scrollbars=0');

}

//to handle the trimester dropdown based on the DOB date.
$(document).ready(function(){
	if($("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_newRegistrationForm_formUser_ctl00_UserDueYear")[0]){
		$("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_newRegistrationForm_formUser_ctl00_UserDueYear").change(onSelectedChangeDOB);		
	}

	if($("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_EditProfile_formUser_ctl00_UserDueYear")[0]){
		$("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_EditProfile_formUser_ctl00_UserDueYear").change(onSelectedChangeDOBEdit);
	}
});

function onSelectedChangeDOB(){
	
	var selectedYr = $("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_newRegistrationForm_formUser_ctl00_UserDueYear option:selected");
	var selectedMo = $("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_newRegistrationForm_formUser_ctl00_UserDueMonth option:selected");
	var selectedDy = $("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_newRegistrationForm_formUser_ctl00_UserDueDay option:selected");		

	var _DOB = new Date(selectedMo.text() + ',' +  selectedDy.text() + ',' +  selectedYr.text())
	var _NOW = new Date();

	var trimester = weekdiff(_DOB,_NOW)+40;

	//alert(trimester);
	if(trimester >= 1 || trimester <= 40){
		$("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_newRegistrationForm_formUser_ctl00_UserTrimester").val(trimester);	
	}	
}

function onSelectedChangeDOBEdit(){
	
	var selectedYr = $("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_EditProfile_formUser_ctl00_UserDueYear option:selected");
	var selectedMo = $("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_EditProfile_formUser_ctl00_UserDueMonth option:selected");
	var selectedDy = $("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_EditProfile_formUser_ctl00_UserDueDay option:selected");
		
	var _DOB = new Date(selectedMo.text() + ',' +  selectedDy.text() + ',' +  selectedYr.text())
	var _NOW = new Date();

	var trimester = weekdiff(_DOB,_NOW)+40;
	
	//alert(trimester);
	if(trimester >= 1 || trimester <= 40){
		$("#plc_lt_zoneContent_pageplaceholder_pageplaceholder_lt_MainContent_EditProfile_formUser_ctl00_UserTrimester").val(trimester);
	}	
}

function weekdiff(first, second){
	return Math.round((second-first)/(1000*60*60*24)/7);
}


// QueryString Parameter Value Retrieval
function urlParam(name) {
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (!results) {
        return null;
    }
    return unescape(results[1]);
};
