﻿    var lastNamePrompt = "Enter middle and \/ or last name";
    var originPrompt = "Example: English";
    var meaningPrompt = "Example: strength";
    var findNamePrompt = "Enter name";
    var savedName = "";
    
    var qsParm = new Array();
	function qs() {
		var query = window.location.search.substring(1);
		var parms = query.split('&');
		for (var i=0; i<parms.length; i++) {
			var pos = parms[i].indexOf('=');
			if (pos > 0) {
				var key = parms[i].substring(0,pos);
				var val = parms[i].substring(pos+1);
				qsParm[key] = val;
			}
		}
	}

    function getLastNameParam() {
        qs();
		var theName = qsParm['lastName'];
		if (theName == null || theName == '') {
		    theName = lastNamePrompt;
		} else {
		    var theRegExp = new RegExp("%20", "g");
		    theName = theName.replace(theRegExp, ' ');
		}
		document.form1.lastName.value = theName;
    }

    
    function getSearchResults() {
        var theLastName = document.form1.lastName.value;
        if ( theLastName == '' || theLastName == lastNamePrompt )
        {
            pseudoAlert("Please enter your last name");
            document.form1.lastName.focus();
            return;
        }
        if ( theLastName.length > 20)
        {
            pseudoAlert("Please limit your middle and/or last name to 20 characters.")
            document.form1.lastName.focus();
            return;
        }
        if ( (document.form1.letter.value == 'any')
              && (document.form1.meaning.value == '' || document.form1.meaning.value == meaningPrompt) 
              && (document.form1.origin.value == '' || document.form1.origin.value == originPrompt) ) 
        {
            document.form1.letter.focus();
            pseudoAlert("Please pick a letter, origin, or a meaning.");
            return;
        }
        if (document.form1.origin.value == originPrompt) {
            document.form1.origin.value = '';
        }
        if (document.form1.meaning.value == meaningPrompt) {
            document.form1.meaning.value = '';
        }
    
        var url = "/widget/babynames.asmx/SearchForNames";
        var thegender = "Unknown"
        if (document.form1.gender[0].checked) {
            thegender = document.form1.gender[0].value;
        }
        else if (document.form1.gender[1].checked) {
            thegender = document.form1.gender[1].value;
        }
        var params = "gender=" + thegender;
        params += "&letter=" + document.form1.letter.value;
        params += "&meaning=" + document.form1.meaning.value;
        params += "&origin=" + document.form1.origin.value;
        var ajax = new Ajax.Request(
            url,
            {method: 'post', parameters: params, onSuccess: showSearchResults, onFailure: reportSearchResultsError});
        
        if ( typeof(goToPage)=="function" ) {
            goToPage("/widget/findnames");
        }  
    }
        
    function getNameDetails() {
        var theLastName = document.form1.lastName.value;
        var theNameToFind = document.form1.findName.value;
        if ( theLastName == '' || theLastName == lastNamePrompt )
        {
            pseudoAlert("Please enter your last name");
            document.form1.lastName.focus();
            return;
        }
        if ( theLastName.length > 20)
        {
            pseudoAlert("Please limit your middle and/or last name to 20 characters.")
            document.form1.lastName.focus();
            return;
        }
        if ( theNameToFind == '' || theNameToFind == findNamePrompt)
        {
            pseudoAlert("Please enter a name.");
            document.form1.findName.focus();
            return;
        }
        if ( theNameToFind.length > 16)
        {
            pseudoAlert("Please limit first name to 16 characters.")
            document.form1.findName.focus();
            return;
        }
        var url2 = "/widget/babynames.asmx/FindNameDetails";
        var params2 = "name=" + document.form1.findName.value;
        var ajax2 = new Ajax.Request(
            url2,
            {method: 'post', parameters: params2, onSuccess: showNameDetails, onFailure: reportSearchResultsError});
        
        if ( typeof(goToPage)=="function" ) {
            goToPage("/widget/findmeaning");
        }
     }
     
     function getNameOfTheDay() {
        var url = "/widget/babynames.asmx/GetNameOfTheDay";
        var params ;
        var ajax = new Ajax.Request(
            url,
            {method: 'post', parameters: params, onSuccess: showNameOfTheDay, onFailure: reportSearchResultsError});
     }

    function showSearchResults(req) {
        var myResponseXML = req.responseXML;
        $('resultHolder').innerHTML = myResponseXML.getElementsByTagName("result")[0].firstChild.nodeValue;
        $('resultHolder').style.display = "block";
        $('inputHolder').style.display = "none";
        $('nameOfTheDay').style.display = "none";
        $('myBabyName').style.display = "block";
        $('myBabyName').innerHTML = savedName;
        $('scrollable').focus();
        initializeScroller();
    }
    function showNameDetails(req) {
        var myResponseXML = req.responseXML;
        $('resultHolder').innerHTML = myResponseXML.getElementsByTagName("result")[0].firstChild.nodeValue;
        $('resultHolder').style.display = "block";
        $('inputHolder').style.display = "none";
        $('nameOfTheDay').style.display = "none";
        $('myBabyName').style.display = "block";
        $('myBabyName').innerHTML = savedName;
        $('scrollable').focus();
        initializeScroller();
    }
    function showNameOfTheDay(req) {
        var myResponseXML = req.responseXML;
        $('nameOfTheDay').innerHTML = myResponseXML.getElementsByTagName("string")[0].firstChild.nodeValue;
    }

    function reportSearchResultsError(request) {
        pseudoAlert ("error connecting to service");
    }
    
    function tryName(name) { 
        savedName = name + " " + document.form1.lastName.value;
        $('myBabyName').innerHTML = savedName;
    }
    function showInputForm() {
        getNameOfTheDay(); 
        document.form1.gender[2].checked = "true";
        document.form1.letter.value = "any";
        document.form1.origin.value = originPrompt;
        document.form1.meaning.value = meaningPrompt;
        document.form1.findName.value = findNamePrompt;
        $('resultHolder').style.display = "none";
        $('inputHolder').style.display = "block";
        $('nameOfTheDay').style.display = "block";
        $('myBabyName').style.display = "none";
    }
    
    function clearInput(element){
        element.value = "";
        //alert("clearInput: " + element);
    }
    
    function submitSearch(e)
    {
        var keycode;
        if (window.event) keycode = window.event.keyCode;
        else if (e) keycode = e.which;
        else return true;

        if (keycode == 13) {  
            getSearchResults();
            return false;
        }
        else
           return true;
    }
    function submitFindName(e)
    {
        var keycode;
        if (window.event) keycode = window.event.keyCode;
        else if (e) keycode = e.which;
        else return true;

        if (keycode == 13)
        {
            getNameDetails();
            return false;
        }
        else
           return true;
    }


    