function addLoadEvent(func) 
{
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function resize()
{
	var contentContainer = document.getElementById("contentContainer");
	var sideContainer = document.getElementById("sideContainer");

	if (contentContainer != null && sideContainer != null) {
		var resizeTo = Math.max($(contentContainer).height(), $(sideContainer).height());
		var sideBarResizeTo = resizeTo + 1;
		
	    // change offset for Internet Explorer
	    if(navigator.userAgent.indexOf("MSIE") != -1)
	    {
	    	sideBarResizeTo = resizeTo + 43;
	    }

	    $(contentContainer).css("height", resizeTo);
	    $(sideContainer).css("height", sideBarResizeTo);
	}
}

function togglePasswordField(passwordField, fakePasswordField)
{
	if(passwordField.offsetWidth == 0)
	{
		passwordField.style.display = "inline";
		passwordField.focus();
		fakePasswordField.style.display = "none";
	}
	else
	{
		if(passwordField.value == "")
		{
			passwordField.style.display = "none";
			fakePasswordField.style.display = "inline";
		}
	}
}

function clearUsername(e)
{
    var username;
    if (!e)
    { 
        var e = window.event;
        username = e.srcElement;
    }
    else
    {
        username = e.target;
    }

    if (username.value == "Email or Account #")
	{
		username.value = "";
	}
	username.select();
}

function resetUsername(e)
{
	var username;
    if (!e)
    { 
        var e = window.event;
        username = e.srcElement;
    }
    else
    {
        username = e.target;
    }
    
	if(username.value == "")
	{
	    username.value = "Email or Account #";
	}
}

function numberOfAnimalsRequired(sender, args)
{
    var ctr = 0;
    var textBoxes = document.getElementsByTagName("input");
    
    for(i = 0; i < textBoxes.length; i++)
    {
        if(textBoxes[i].id.indexOf("noOf") != -1 
            && textBoxes[i].value == "0")
        {
            ctr++;
        }
    }
    
    if(ctr == 14)
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }
}

function numberOfAnimalsIsValidType(sender, args)
{
    var validTypes = true;
    var $textBoxes = $(":input[id*='noOf']");

    $textBoxes.each(function(i) {
    	if ($(this).val() == "" || isNaN($(this).val())) {
    		validTypes = false;
    	}
    });
    
    args.IsValid = validTypes;
}

function copyBillingToShipping() {
	if (!$(":input [id$='sameAsShippingCheckBox']").is(":checked")) {
		var textBoxes = document.getElementsByTagName("input");
		var dropDowns = document.getElementsByTagName("select");

		for (i = 0; i < textBoxes.length; i++) {
			for (j = 0; j < textBoxes.length; j++) {
				if (textBoxes[i].id == textBoxes[j].id.replace("shipping", "billing")) {
					textBoxes[j].value = textBoxes[i].value;
				}
			}
		}

		for (i = 0; i < dropDowns.length; i++) {
			for (j = 0; j < dropDowns.length; j++) {
				if (dropDowns[i].id == dropDowns[j].id.replace("shipping", "billing")) {
					dropDowns[j].selectedIndex = dropDowns[i].selectedIndex;
				}
			}
		}
	}
}

function displayCreditCard(cardNumberTextBox, creditCardDisplayArea)
{
    var cardNumber = cardNumberTextBox.value;
    
    if(cardNumber.length > 0)
    {
        switch(cardNumber.charAt(0))
        {
            case '3':
                creditCardDisplayArea.className = "creditCard amex";
                break;
            case '4':
                creditCardDisplayArea.className = "creditCard visa";
                break;
            case '5':
                creditCardDisplayArea.className = "creditCard mastercard";
                break;
            case '6':
                creditCardDisplayArea.className = "creditCard discover";
                break;
            default:
                creditCardDisplayArea.className = "creditCard";
                break;
        }
    }
}

function validCreditCardExpireDate(monthSelector, yearSelector)
{
    var validDate = true;
    
    if(monthSelector != null && yearSelector != null && yearSelector.options.length > 0)
    {
        var selectedMonth = monthSelector.options[monthSelector.selectedIndex].value;
        var selectedYear = yearSelector.options[yearSelector.selectedIndex].value;
        
        var date = new Date();
        
        if(date.getYear() == selectedYear && date.getMonth() >= (selectedMonth * 1))
        {
            validDate = false;
        }
    }
    
    return validDate;
}

function PopWindow(url, width, height, scrollbars) {
    chw = window.open(url, 'NewWindow', 'width=' + width + ', height=' + height + ', scrollbars=' + scrollbars);

    if (chw != null) {
        chw.focus();
    }

}

function SetSelectionHighlighting($section) {
	var $orderOptions = $section.find("div.OrderOption");
	$orderOptions.each(function(i) {
		$(this)
			.mouseover(function() {
				if (!$(this).hasClass("OrderOptionSelected")) {
					$(this).removeClass("OrderOptionUnSelected").addClass("OrderOptionHover");
				}
			})
			.mouseout(function() {
				if (!$(this).hasClass("OrderOptionSelected")) {
					$(this).removeClass("OrderOptionHover").addClass("OrderOptionUnSelected");
				}
			})
			.click(function() {
				$section.find("div.OrderOptionSelected").removeClass("OrderOptionSelected").addClass("OrderOptionUnSelected");
				$(this).removeClass().addClass("OrderOption OrderOptionSelected");
				$(this).find(":radio").attr("checked", "checked");
			});
	});
}

$(function() {
	setTimeout(resize, 500);
	
	$(window).resize(resize);
});
