$(document).ready(function() {
	$('.jqDropDownArrow').live('click', showDropDown);
	$('.jqOperatorTypeDropDownArrow').live('click', showOperatorTypeDropDown);
	$('.jqDropdownOption').live('click', selectedOption);
	$('.jqOperatorTypeDropdownOption').live('click', selectedOperatorTypeOption);
	$('.jqBtnSearch').live('click', clickedSearch);
	$('.jqSubmitLoginForm').live('click', submitLoginForm);
	$('.jqHideFailedLoginOverlay').live('click', hideFailedLoginOverlay);
//	$('.jqTxtSearchZip').live('focus', focusInZipCode);
//	$('.jqTxtSearchZip').live('focusOut', focusOutZipCode);
	$("input:text:not([readonly]),textarea").live("focusin focusout", processInputDefault);
    });

//function commonDocumentReady()
//{
//    $("input:text:not([readonly]),textarea").live("focusin focusout", processInputDefault);
//}
function clickedSearch()
{
    var searchForm = $(this).closest('form');
    var zipField = searchForm.find('.jqTxtSearchZip');
    var Zip	    = zipField.val();
    if(zipField.val() == 'Zip*' || zipField.val() == '')
    {
	    alert('Please give Zip');
	    zipField.focus();
	    return false;
    }
    
    if(!validateZip(zipField))
    {
	    alert('Please give a valid Zip');
	    zipField.focus();
	    return false;
    }
    
}

function validateZip(zipField)
{
    var result = false;
//alert(zipField.val());
    if(/^[0-9]{5}([- ]?[0-9]{4})?$/.test(zipField.val()))
    {
            result = true;
    }
    else if(/^([A-Z][0-9][A-Z])\s*([0-9][A-Z][0-9])$/.test(zipField.val()))
    {
            result = true;
    }
    return result;
    
}

function processInputDefault(event)
{
    if($(this).data("DefaultValue") == null && $(this).attr("title") != "")
    {
        $(this).data("DefaultValue", $(this).attr("title"));
        $(this).removeAttr("title");
    }

    if($(this).data("DefaultValue") != null)
    {
        if(event.type == "focusin")
        {
            if($(this).val() == $(this).data("DefaultValue"))
            {
                $(this).val("");
            }
        }
        else
        {
            if($(this).val() == "")
            {
                $(this).val($(this).data("DefaultValue"));
            }
        }
    }

    /*$(":text,textarea").each(
        function()
        {
            if($(this).data("DefaultValue") == null && $(this).attr("title") != "")
            {
                $(this).data("DefaultValue", $(this).attr("title")).removeAttr("title");

            }
        }).live("focusin", );*/
}

    function showDropDown()
    {

	    var dropdownArrow = $(this);
	    var dropdownContainer = dropdownArrow.closest(".jQSearchBoxContainer");
//	    var dropdownContainer = dropdownArrow.closest(".jqDropdownContainer");
	    var dropdownTextbox = dropdownContainer.find(".jqTxtSearchDistance");
//	    var dropdownTextboxOffset = dropdownContainer.find('.jqDistance').position();
	    var dropdownTextboxOffset = dropdownContainer.find('.jqTxtSearchDistance').position();
	    var dropdownOptionList = dropdownContainer.find(".jqDropdownOptionList");
	    if(dropdownOptionList.is(":hidden"))
	    {
		dropdownOptionList.css({
		    position: "absolute",
		    left: dropdownTextboxOffset.left,
		    top: dropdownTextboxOffset.top + dropdownTextbox.outerHeight()
		}).show();//"slide", {direction: "up"}, "normal");
	    }
	    else
	    {
		dropdownOptionList.hide();//("slide", {direction: "up"}, "normal");
	    }
//alert('dropdown');
	    return false;
    }

    function showOperatorTypeDropDown()
    {
	    var dropdownArrow = $(this);
	    var dropdownContainer = dropdownArrow.closest(".jQSearchBoxContainer");
//	    var dropdownContainer = dropdownArrow.closest(".jqDropdownContainer");
	    var dropdownTextbox = dropdownContainer.find(".jqTxtOperatorType");
//	    var dropdownTextboxOffset = dropdownContainer.find('.jqDistance').position();
	    var dropdownTextboxOffset = dropdownTextbox.position();
	    var dropdownOptionList = dropdownContainer.find(".jqOperatorTypeDropdownOptionList");
	    if(dropdownOptionList.is(":hidden"))
	    {
		dropdownOptionList.css({
		    position: "absolute",
		    left: dropdownTextboxOffset.left,
		    top: dropdownTextboxOffset.top + dropdownTextbox.outerHeight()
		}).show();//"slide", {direction: "up"}, "normal");
	    }
	    else
	    {
		dropdownOptionList.hide();//("slide", {direction: "up"}, "normal");
	    }
//alert('dropdown');
	    return false;
    }

    function selectedOption()
    {
	var current = $(this);
	var option = current.next('input').val()
	$('.jqTxtSearchDistance').val(option);
	//$('.jqDistance').html(option);
	$('.jqDropdownOptionList').hide();
        
        return false;
    }
    
    function selectedOperatorTypeOption()
    {
	var current = $(this);
	var optionId = current.next('input').val()
	var option = current.text()
	$('.jqTxtOperatorTypeId').val(optionId);
	$('.jqTxtOperatorType').val(option);
	//$('.jqDistance').html(option);
	$('.jqOperatorTypeDropdownOptionList').hide();
        return false;
    }
    
    function submitLoginForm()
    {
        var current = $(this);
        var loginForm = current.closest('form')
        var userName = $.trim(loginForm.find('.jqTxtUsername').val());
        var password = $.trim(loginForm.find('.jqTxtPassword').val());
        
        if(userName == '' || password == '')
        {
            alert('Username and password are required');
            return false;
        }
        
        var ajaxSubmitOption    = {
                                    dataType :	"json",
                                    success  :	function(data)
                                                    { //alert(data);return false;

                                                        if(data.error)
                                                        {
                                                            //alert("error");
                                                            if(data.error == 'member-login')
                                                            {
                                                                    var resultOverlay = $(unescape(data.info)); 

                                                                    $("#content").append(resultOverlay);


                                                                    var windowWidth = $(window).width(); 
                                                                    var windowHeight = $(window).height();
                                                                    
                                                                    var resultOverlayWidth = $('#jqFailedLogin').width();
                                                                    var resultOverlayHeight = $('#jqFailedLogin').height(); 
                                                                    var l = (windowWidth -  resultOverlayWidth) / 2 ;
                                                                    var t = (windowHeight/2) - ( resultOverlayHeight / 2 );
                                                                            //TRANSPARENT OVERLAY
                                                                            var documentHeight = $(document).height();
                                                                            var trasparentDiv = '<div id="jqTransparentOverlay" class="trasparent-overlay">&nbsp;</div>';
                                                                            $('body').append(trasparentDiv)
                                                                            var tranparentOverlay = $('#jqTransparentOverlay');
                                                                            tranparentOverlay.width(windowWidth);
                                                                            tranparentOverlay.height(documentHeight);
                                                                            tranparentOverlay.css({
                                                                                                position:"absolute",

                                                                                                left: 0,
                                                                                                top:0
                                                                                                }).show();
                                                                    resultOverlay.css({
                                                                    position:"absolute",

                                                                    left: l,
                                                                    top:t
                                                                    }).slideDown();
                                                                    
                                                                    
//                                                                    var resultOverlay = $(unescape(data.info)); 
//
//                                                                     $("#content").append(resultOverlay);
//
//                                                                    
//                                                            var windowWidth = $(window).width(); 
//                                                            var windowHeight = $(window).height();
//                                                            var resultOverlayWidth = $('#jqFailedLogin').width();
//                                                            var resultOverlayHeight = $('#jqFailedLogin').height(); 
//                                                                    var l = (windowWidth -  resultOverlayWidth) / 2 ;
//                                                                    var t = (windowHeight/2) - ( resultOverlayHeight / 2 );
//                                                                    
//                                                                    resultOverlay.css({
//                                                                        position:"absolute",
//
//                                                                        left: l,
//                                                                        top:t
//                                                                    }).slideDown();
                                                            }
                                                            else
                                                            {
                                                                    handleAjaxError(data.error);
                                                            }
                                                        }
                                                        else if(data.success)
                                                        {
                                                            window.location.href = data.redirect;
                                                        }
                                                    }
                                           };
               loginForm.ajaxSubmit(ajaxSubmitOption);
        
        
    }
    
    function hideFailedLoginOverlay()
    {
        var loginFailedPopup = $(this).closest('#jqFailedLogin').slideUp();
        var trasparentOverlay = $('#jqTransparentOverlay').hide()
    }
    
    function handleAjaxError(response)
    {
            if (response == 'timeout') {
                    alert ('Sorry, the session expired. Please login again');
                    return true;
            } else {
                    return false;
            }
    }
    
    function validateField(field, name)
    {
            var value = $.trim(field.val());
            if(value == "" || value == field.data("DefaultValue") || (field.attr("title") != "" && value == field.attr("title")))
            {
                alert("Please provide " + name);
                field.focus();
                return false;
            }

            return true;
    }
    

                        
                        
                        

                        

