// This function was used and done this way to not only NOT break the AJAX and calling of it but also to be able
// to some how reset the saving of Email, upon coming in, had to use one of its controls unload events.
function buildInitialFunstionality() {
    window.document.getElementById('ctl00_ContentPlaceHolder_PasswordTextBox').onunload = cancelPwdAndEmailSaving();    
}
function cancelPwdAndEmailSaving() {
    // Cancel passwords and email being saved.
    document.getElementById('ctl00_ContentPlaceHolder_PasswordTextBox').value = "";        
    document.getElementById('ctl00_ContentPlaceHolder_ConfirmPasswordTextBox').value = "";

    if (isValidEmail(document.getElementById('ctl00_ContentPlaceHolder_ExtraInformationTextBox').value) == true) {
        // Its an email address in the Extra information coming from browser saving it, so clear it.
        document.getElementById('ctl00_ContentPlaceHolder_ExtraInformationTextBox').value = "";
    }
}

function displayEmailError(email, errorLabelName) {
    //alert(email);
    if (isValidEmail(email) == false) {
        document.getElementById(errorLabelName).innerHTML = "Invalid email entered.";        
        return false;
    }
    else {
        document.getElementById(errorLabelName).innerHTML = "";
        return true;
    }
}

function isValidEmail(emailAddress) {
    var emailRegex = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
    var regx = new RegExp(emailRegex);
    return regx.test(emailAddress);    
}
function setAutocomplete(suburbControl, postcodeControl, stateControl) {
    $("#" + suburbControl).autocomplete({ source: '/AutoPostcodeLookup/PostcodeLookup.ashx',

        //define select handler  
        select: function (e, ui) {
            if (ui.item.value != "No matches") {
                var entityParts = ui.item.value.split(',');
                var suburb = entityParts[0];
                var postcode = entityParts[1];
                var state = entityParts[2];
                $("#" + suburbControl).val(suburb);
                $("#" + postcodeControl).val(postcode);
                $("#" + stateControl).val(state);
            }
            else {
                $("#" + suburbControl).val("");
                $("#" + postcodeControl).val("");
                $("#" + stateControl).val("Please select a State");
            }
            return false;
        }
    });
}
//function buildAutocompleterForDeliveryAddress() {

//    $.getJSON("AutoPostcodeLookup/PostcodeLookup.aspx?action=getSuburbList&address_type=delivery", null, function(json) {
//        alert("function dome");
//        $("#ctl00_ContentPlaceHolder_DeliveryAddressSuburbTextBox").autocomplete({
//                source: json
//            });
//    });
//}

//    new Ajax.Autocompleter
//	(        
//		autoComplete_deliverysuburb[0],
//		autoComplete_deliverysuburb[1],
//		autoComplete_deliverysuburb[2],
//		{
//		    minChars: 3,
//		    indicator: "indicator_deliverysuburb",
//		    autoSelect: true,
//		    parameters: "action=getSuburbList&address_type=delivery",
//		    afterUpdateElement: function (text, li) {		        
//		        var entityParts = li.id.split('::');
//		        var suburb = entityParts[0];
//		        var postcode = entityParts[1];
//		        var state = entityParts[2];

//		        // Workaround in case of apostrophe
//		        if (suburb.toString.length <= 3) {
//		            var suburbTextBoxString = document.getElementById(autoComplete_deliverysuburb[0]).value;
//		            entityParts = suburbTextBoxString.split(',');
//		            suburb = entityParts[0].trim();
//		            postcode = entityParts[1].trim();
//		            state = entityParts[2].trim();
//                }

//		        document.getElementById(autoComplete_deliverysuburb[0]).value = suburb;
//		        document.getElementById(autoComplete_deliverysuburb[3]).value = postcode;
//		        for (i = 0; i < document.getElementById(autoComplete_deliverysuburb[4]).length; i++) {
//		            if (document.getElementById(autoComplete_deliverysuburb[4]).options[i].value == state) {
//		                document.getElementById(autoComplete_deliverysuburb[4]).selectedIndex = i
//		            }
//		        }
//		    },
//		    autoParams: ['sid']
//		}
//	);		
//}

//function buildAutocompleterForMailingAddress() 
//{
//	new Ajax.Autocompleter
//	(
//		autoComplete_mailingsuburb[0],
//		autoComplete_mailingsuburb[1],
//		autoComplete_mailingsuburb[2],
//		{
//		   minChars: 3,
//		   indicator: "indicator_mailingsuburb",
//		   autoSelect:true,
//		   parameters: "action=getSuburbList&address_type=delivery",
//		   afterUpdateElement: function(text,li)
//		   {
//		   	var entityParts = li.id.split('::');
//  			var suburb = entityParts[0]; 
//  			var postcode = entityParts[1];
//  			var state = entityParts[2];

//  			// Workaround in case of apostrophe
//  			if (suburb.toString.length <= 3) {
//  			    var suburbTextBoxString = document.getElementById(autoComplete_mailingsuburb[0]).value;
//  			    entityParts = suburbTextBoxString.split(',');
//  			    suburb = entityParts[0].trim();
//  			    postcode = entityParts[1].trim();
//  			    state = entityParts[2].trim();
//  			}
//             
//  			document.getElementById(autoComplete_mailingsuburb[0]).value = suburb;
//			document.getElementById(autoComplete_mailingsuburb[3]).value = postcode;
//		    for(i=0; i<document.getElementById(autoComplete_mailingsuburb[4]).length; i++)
//            {
//                if(document.getElementById(autoComplete_mailingsuburb[4]).options[i].value == state)
//                {
//                document.getElementById(autoComplete_mailingsuburb[4]).selectedIndex = i
//    			}
//    		}	
//		   },
//		    autoParams: ['sid'] 
//		}
//	);		
//}

//function buildAutocompleterForGiftRecipientAddress() 
//{
//	new Ajax.Autocompleter
//	(
//		autoComplete_giftrecipientsuburb[0],
//		autoComplete_giftrecipientsuburb[1],
//		autoComplete_giftrecipientsuburb[2],
//		{
//		   minChars: 3,
//		   indicator:"indicator_deliverysuburb",
//		   autoSelect:true,
//		   parameters: "action=getSuburbList&address_type=delivery",
//		   afterUpdateElement: function(text,li)
//		   {
//		   	var entityParts = li.id.split('::');
//  			var suburb = entityParts[0]; 
//  			var postcode = entityParts[1];
//  			var state = entityParts[2];

//  			// Workaround in case of apostrophe
//  			if (suburb.toString.length <= 3) {
//  			    var suburbTextBoxString = document.getElementById(autoComplete_giftrecipientsuburb[0]).value;
//  			    entityParts = suburbTextBoxString.split(',');
//  			    suburb = entityParts[0].trim();
//  			    postcode = entityParts[1].trim();
//  			    state = entityParts[2].trim();
//  			}

//  			document.getElementById(autoComplete_giftrecipientsuburb[0]).value = suburb;
//			document.getElementById(autoComplete_giftrecipientsuburb[3]).value = postcode;
//		    for(i=0; i<document.getElementById(autoComplete_giftrecipientsuburb[4]).length; i++)
//            {
//                if(document.getElementById(autoComplete_giftrecipientsuburb[4]).options[i].value == state)
//                {
//                document.getElementById(autoComplete_giftrecipientsuburb[4]).selectedIndex = i
//    			}
//    		}	
//		   },
//		    autoParams: ['sid'] 
//		}
//	);		
//}
