disablejomselect = true;
var contact = null;

$.get('/_layouts/LRMSCartAPI.asmx/GetCurrentContact', function (data) {
    contact = $.xml2json(data);
    if (contact.Firstname != null && contact.Firstname != '') {
        $('#WelcomeMessage').html('Welcome, ' + contact.Firstname);
    }
 }); 

function PopulateSelect(url, selectid, defaultVal) {
    $.post(url, {}, function (data) {
        $("#" + selectid + " option").remove();
        $(data).find('ArrayOfString').children().each(function (idx) {
            var txt = $(this).text();
            if (txt == defaultVal) {
                $("#" + selectid).append("<option selected>" + txt + "</option>");
            } else {
                $("#" + selectid).append("<option>" + txt + "</option>");
            }
        });
    });
}

function cleanPrice(price) {
    var p = price + '';
    var decPlace = p.indexOf('.');
    if (decPlace != -1) {
        return p.substring(0, decPlace + 3);
    } else {
        price = price + ".00";
    }
    return price;
}

var stateList = null;
function PopulateStates(selectid, defaultState, defaultcountry) {
    if (stateList == null) {
        $.get('/_layouts/LRMSCartAPI.asmx/GetStateList', function (data) {
            stateList = $.xml2json(data);
            buildStateSelect(selectid, defaultState, defaultcountry);
        });
    } else {
        buildStateSelect(selectid, defaultState, defaultcountry);
    }
}
function buildStateSelect(selectid, defaultState, defaultcountry) {
    var classes = $('#' + selectid)[0].className;
    var name = $('#' + selectid).attr('name');
    var prev = $('#' + selectid).prev();
    var preValue = $('#' + selectid).val();
    var preType = $('#' + selectid).attr('type');
    $('#' + selectid).remove();
    var stateEl = document.createElement('select');
    $(stateEl).attr('id', selectid);
    $(stateEl).attr('name', name);
    $(stateEl).addClass(classes);
    $(stateEl).removeClass("inactive");
    var country = 'UNITED STATES';
    if (defaultcountry != null && defaultcountry != '')
        country = defaultcountry;
    for (var i = 0; i < $(stateList.CartState).length; i++) {
        var item = $(stateList.CartState)[i];
        if (item.Country == country) {
            var state = item.State;
            var abbr = item.Abbr;
            if (abbr == defaultState || state == defaultState) {
                $(stateEl).append("<option selected value='" + abbr + "'>" + state + "</option>");
            } else {
                $(stateEl).append("<option value='" + abbr + "'>" + state + "</option>");
            }
        }
    }
    if ($(stateEl).children('option').length == 0) {
        stateEl = document.createElement('input');
        $(stateEl).attr('id', selectid);
        $(stateEl).addClass(classes);
        $(stateEl).attr('type', 'text');
        $(stateEl).attr('name', name);
        $(stateEl).attr('default', 'State or Province');
        if (preType == "text" && preValue != '') {
            $(stateEl).val(preValue);
            $(stateEl).removeClass("inactive");
        }
        else if (defaultState != '') {
            $(stateEl).val(defaultState);
            $(stateEl).removeClass("inactive");
        }
        else {
            $(stateEl).val("State or Province");
            $(stateEl).addClass("inactive");
        }

        $(stateEl).blur(function () {
            if (this.value == '') {
                this.value = $(this).attr('default');
                $(this).addClass('inactive');
            }
        });
        $(stateEl).focus(function () {
            if (this.value == $(this).attr('default')) {
                this.value = '';
                $(this).removeClass('inactive');
            }
        });
    }
    prev.after(stateEl);
    
    $(stateEl).focus();
    $(stateEl).blur();
}

var countryList = null;
function PopulateCountries(selectid, defaultCountry) {
    if (countryList == null) {
        $.get('/_layouts/LRMSCartAPI.asmx/GetCountryList', function (data) {
            countryList = $.xml2json(data);
            buildCountrySelect(selectid, defaultCountry);
        });
    } else {
        buildCountrySelect(selectid, defaultCountry);
    }
}
function buildCountrySelect(selectid, defaultCountry) {
    $("#" + selectid + " option").remove();
    $(countryList.CartCountry).each(function (idx, item) {
        if (item.Name == defaultCountry) {
            $("#" + selectid).append("<option selected value='" + item.Name + "'>" + item.Name + "</option>");
        } else {
            $("#" + selectid).append("<option value='" + item.Name + "'>" + item.Name + "</option>");
        }
    });
}
function goToByScroll(elem) {
    $('html,body').animate({ scrollTop: elem.offset().top }, 'slow');
}
//Fix issues with completed fields being displayed as having default or empty value.
$(function(){ 
	$("input.defaultText, select.defaultText, textarea.defaultText").each(function(){
		var me = $(this);
		if(!me.is('.input-text-password') && !me.is('input[type="pasword"]')){
			if(me.val()!=me.attr("default")){ me.removeClass('defaultText'); }
		}
	});
});
