<!-- Begin
function FindRemainder(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100); 
num = Math.floor(num).toString();
if(cents < 10) cents = "0" + cents; 
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) 
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3)); 
return (cents/100); 
}
// End --> 

<!-- Begin
function formatNumber(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100); 
num = Math.floor(num).toString();
if(cents < 10) cents = "0" + cents; 
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) 
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3)); 
return (num ); 
}
// End --> 
<!-- Begin
function EvenIncreaseCalculator (form) {

// Initialize fields
KnitHowManyFirst = 0;
ChangeEveryCount = 0;
RemainderStitchCount = 0;
KnitHowManyLast = 0;
repeattimes = 0;
TooManyStitches = 0;
Decreases1 = 0;
Decreases2 = 0;
DecStitches1 = 0;
DecStitches2 = 0;
Increases1 = 0;
Increases2 = 0;
IncStitches1 = 0;
IncStitches2 = 0;
StartCountNumber = 0;
EndCountNumber = 0;
StartMinusSelvedge = 0;
StringIncreases = " ";
StringDecreases = " ";
 
StartCountNumber = parseInt(form.StartCount.value,10 );
EndCountNumber = parseInt(form.EndCount.value,10);

if (EndCountNumber > StartCountNumber) {
    StartMinusSelvedge = formatNumber(form.StartCount.value - 4);
    ChangedCount = (EndCountNumber - StartCountNumber) - 1  ;    }
else {
    ChangedCount = (StartCountNumber - EndCountNumber) - 1  ; 
    StartMinusSelvedge = formatNumber(form.StartCount.value - 6);
    StartMinusSelvedge = StartMinusSelvedge - (ChangedCount * 2);   }
ChangeEveryCount = Math.ceil((1 * StartMinusSelvedge)/(ChangedCount));

TooManyStitches =  ((ChangeEveryCount * ChangedCount) - StartMinusSelvedge);

if (EndCountNumber > StartCountNumber) {
    if (isFinite(ChangeEveryCount)) {
      DifferentIncreases();
      form.Instructs.value =  StringIncreases; }
    else {
        ChangeEveryCount = "0";
        form.Instructs.value = "I'm sorry!  The Javascript Cannot Calculate properly.";}
         }
else {
    if (isFinite(ChangeEveryCount)) {
        DifferentDecreases();
        form.Instructs.value = StringDecreases;}
    else {
        ChangeEveryCount = "0";
        form.Instructs.value = "I'm sorry!  The Javascript Cannot Calculate properly.";}
}

}


// End --> 




<!-- Begin
function DifferentDecreases() {
IsThisOdd = FindRemainder((ChangedCount  - TooManyStitches)/2);
if (IsThisOdd > 0) {
    IsThisOdd = 1;
    Decreases1 = (ChangedCount - 1) - TooManyStitches; }
else
  { IsThisOdd = 0;
    Decreases1 = (ChangedCount - 0) - TooManyStitches; }

Decreases2 = TooManyStitches + IsThisOdd ;

DecStitches1 = ChangeEveryCount;
DecStitches2 = ChangeEveryCount - 1;

RemainderStitchCount = StartCountNumber -2 ;
RemainderStitchCount = RemainderStitchCount - ((Decreases1 * (DecStitches1 +2))) ;
RemainderStitchCount = RemainderStitchCount - ((Decreases2 * (DecStitches2+2)));

KnitHowManyFirst = (Math.ceil(RemainderStitchCount/2)) ; 
KnitHowManyLast = RemainderStitchCount - KnitHowManyFirst ;
StringDecreases = " ";

if (Decreases1 > 0  && Decreases2 > 0) {
    StringDecreases = "K" +  KnitHowManyFirst 
    StringDecreases = StringDecreases + ", K2tog, \n  *(" + "K" 
    StringDecreases = StringDecreases + DecStitches1 + " K2tog)* " 
    StringDecreases = StringDecreases + Decreases1/2 + " times,\n  *(K" ;
    StringDecreases = StringDecreases + DecStitches2 + " K2tog)* " 
    StringDecreases = StringDecreases + Decreases2 + " times,\n  *(K" ;
    StringDecreases = StringDecreases + DecStitches1 + " K2tog)* " 
    StringDecreases = StringDecreases + Decreases1/2 + " times,\nK" ;
    StringDecreases = StringDecreases + KnitHowManyLast;
 }
if (Decreases1 > 0  && Decreases2 < 1) {
    StringDecreases = "K" +  KnitHowManyFirst 
    StringDecreases = StringDecreases + ", K2tog,\n  *(" + "K" 
    StringDecreases = StringDecreases + DecStitches1 + " K2tog)* " 
    StringDecreases = StringDecreases + Decreases1 + " times,\nK" ;
    StringDecreases = StringDecreases + KnitHowManyLast;
 }
if (Decreases1 < 1  && Decreases2 > 0) {
    StringDecreases = "K" +  KnitHowManyFirst 
    StringDecreases = StringDecreases + ", K2tog,\n  *(" + "K" 
    StringDecreases = StringDecreases + DecStitches2 + " K2tog)* " 
    StringDecreases = StringDecreases + Decreases2 + " times,\nK" ;
    StringDecreases = StringDecreases + KnitHowManyLast;
 }

 return(StringDecreases);
 
}
// End --> 

<!-- Begin
function DifferentIncreases() {
IsThisOdd = FindRemainder((ChangedCount  - TooManyStitches)/2);

if (IsThisOdd > 0) {
    IsThisOdd = 1;
    Increases1 = (ChangedCount - 1) - TooManyStitches; }
else
  {  IsThisOdd = 0;
    Increases1 = (ChangedCount - 0) - TooManyStitches; }

Increases2 = TooManyStitches + IsThisOdd ;
IncStitches1 = ChangeEveryCount;
IncStitches2 = ChangeEveryCount - 1;

RemainderStitchCount = StartCountNumber - ((Increases1 * IncStitches1) + (Increases2 * IncStitches2))

KnitHowManyFirst = (Math.ceil(RemainderStitchCount/2)) ; 
KnitHowManyLast = RemainderStitchCount - KnitHowManyFirst ;
  
 StringIncreases = " ";
      if ((Increases1 > 0) && (Increases2 > 0)) {
    
                StringIncreases = "K" +  KnitHowManyFirst + ", M1, \n   *(" + "K" + IncStitches1 + " M1)* " ;
                StringIncreases = StringIncreases + Increases1/2 + " times, \n   " ;
                StringIncreases = StringIncreases + "*(" + "K" + IncStitches2 + " M1)* " ;
                StringIncreases = StringIncreases + Increases2 + " times,\n   *(K" ;
                StringIncreases = StringIncreases + IncStitches1 + " M1)* ";
                StringIncreases = StringIncreases + Increases1/2 + " times,\nK" ;
                StringIncreases = StringIncreases + KnitHowManyLast; 
                }     
     

   if ((Increases2 < 1) && (Increases1 > 0)) {  
            
                StringIncreases = "K" +  KnitHowManyFirst + ", M1, \n    *(" ;
                StringIncreases = StringIncreases + "K" + IncStitches1 + " M1)* " ;
                StringIncreases = StringIncreases + Increases1 + " times, \nK" ;
                StringIncreases = StringIncreases + KnitHowManyLast;   } 
   
   if ((Increases1 < 1) && (Increases2 > 0)) {
 
            StringIncreases = "K" +  KnitHowManyFirst + ", M1, \n *("  ;
            StringIncreases = StringIncreases + "K" + IncStitches2 + " M1)* " ;
            StringIncreases = StringIncreases + Increases2 + " times, \nK" ;
            StringIncreases = StringIncreases + KnitHowManyLast; } 
    
           



 return(StringIncreases);
 
}
// End --> 






