﻿function setupSlidingPanels(closedOnStart) {
	$(function() {
		
		var plus = new Image();
		plus.src = "images/plus.gif";
		plus.alt = "open";
		
		var minus = new Image();
		minus.src = "images/minus.gif";
		minus.alt = "close";
		
		if (closedOnStart) {
			$(".slidingPanel > div").hide();
			$(minus).hide();
		} else $(plus).hide();
		
		
		$(".slidingPanel h2").prepend(minus);
		$(".slidingPanel h2").prepend(plus);
		
		
		$(".slidingPanel h2").css("cursor", "pointer").click( function() { 
			$(this).next().slideToggle();
			$(this).children("img").toggle();
		});
	});
}

/* for disabling the payment fields */
function setMinPayment(checkbox, balancebox, paymentbox) {
	if (checkbox.attr('checked')) {
		// update amount
		if(balancebox.val()) paymentbox.val((balancebox.val() * .04).toFixed(0));
		else paymentbox.val("");
        
		paymentbox.attr("readOnly", "readonly");
		paymentbox.addClass("disabled");
	}
	else {
		paymentbox.removeAttr("readOnly");
		paymentbox.removeClass("disabled");
	}
}
		
function setMinPmt(checkBox, balanceBox, paymentBox) {
	$(function() {
    if (checkBox.checked) {
		// update amount
		var balance = balanceBox.value;
        if (!isNaN(balance)) paymentBox.value = (balance * .04).toFixed(0);
        
        paymentBox.readOnly="readonly";
        $(paymentBox).addClass("disabled");
    }
    else {
		paymentBox.readOnly="";
		$(paymentBox).removeClass("disabled");
    }
    });
}

/* for controlling input */

function MoneyOnly(src, e, AllowNegative, AllowDollarSign)
{
    var keyval = (window.Event) ? e.which : e.keyCode;
    var shift = e.shiftKey;

    if (!shift && DigitKey(keyval)) return true;
    if (NavEditKey(keyval)) return true;
    
    //only 1 decimal point (period) allowed
    if((!shift && (keyval == 110 || keyval == 190 ))) {
        if (src.value.indexOf(".") == -1)
			return true;
    }
   
    var sLen = src.value.length;
    //check for leading - sign
    if(AllowNegative && (!shift && (keyval == 109 || keyval == 189)) && (sLen == 0) )
		return true;
        
    //check for $ sign in first or second position
    if(AllowDollarSign && (shift && keyval == 52))     {
        if (sLen == 0) return true;

        if (sLen == 1) 
            if (src.value == "-") return true;
    }

    // all other keyval
    return false;
}

function IntegerOnly(src, e, AllowNegative) {
    var keyval = (window.Event) ? e.which : e.keyCode;
    var shift = e.shiftKey;

    if (!shift && DigitKey(keyval))
		return true;
 
    if (NavEditKey(keyval))
		return true;    
   
    //check for leading - sign
    if(AllowNegative && (!shift && (keyval == 109 || keyval == 189)) && (src.value.length == 0))
    {return true;}

    // all other keyval
    return false;
}


function DigitKey(keyval) {
    if ((keyval > 47 && keyval < 58)  || // kb number row 0-9
        (keyval > 95 && keyval < 106) )  // kb number pad 0-9
    {
        return true;
    }
    
    // all other keyval
    return false;
}

function NavEditKey(keyval) {
    // Backspace, Tab, Enter, Insert, and Delete
    if(keyval == 8 || keyval == 9 || keyval == 13 || keyval == 45 || keyval == 46)
		return true;

    // Ctrl, Alt, CapsLock, Home, End, and Arrows
    if((keyval > 16 && keyval < 21) || (keyval > 34 && keyval < 41))
		return true;

    // all other keyval
    return false;
}

function DecimalDigitOnly() {
    var kCode = event.keyCode;
    
    if (
    (kCode > 47 && kCode < 58)  || // kb number row
    (kCode > 95 && kCode < 106) || // number pad
    
    kCode == 9 ||   // tab
    kCode == 8  ||  // backspace
    kCode == 13 ||  // enter
    kCode == 46   // delete
    
//    kCode == 110 || // keypad period
//    kCode == 190    // kb period
    ) return true;
	return false;
}


function NonNegativeInteger(e) {
    var kCode = event.keyCode;
    
    if (
    (kCode > 47 && kCode < 58)  || // kb number row
    (kCode > 95 && kCode < 106) || // number pad
    
    kCode == 9 ||   // tab
    kCode == 8  ||  // backspace
    kCode == 13 ||  // enter
    kCode == 46   // delete
    
//    kCode == 110 || // keypad period
//    kCode == 190    // kb period
    ) return true;
    return false;
}


function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
    return true;
}

function numbersonly( e ) {
    var unicode = e.charCode ? e.charCode : e.keyCode;

    // allow backspace
    if( unicode != 8 ) { 
        // if not a number disable key press
        if( unicode < 48 || unicode > 57 ) return false;
    }

    return true;
}



function NumbersOnly() {
    var kCode = event.keyCode;
    
    if (
        (kCode > 47 && kCode < 58)  || // kb number row
        (kCode > 95 && kCode < 106) || // number pad
        
        kCode == 9 ||   // tab
        kCode == 8  ||  // backspace
        kCode == 13 ||  // enter
        kCode == 46 ||  // delete
        
        kCode == 110 || // keypad period
        kCode == 190    // kb period
    ) return true;
    else return false;
}




