﻿var PhoneDigitSeparator = "-";
//function FlipCr2Tab(e) {
//    var platformE = e ;
//    if(!platformE)
//	    platformE=window.event;
//    if(platformE.keyCode==13 || platformE.which==13) platformE.keyCode=9;
//}
// Jefferson Scher -- Sept. 7, 2006 -- Fx 1.5.0.5 + IE6/WinXPSP2 //
function SetupFlipCr2Tab() {
 // add onkeydown event handlers to <form>s
 var forms = document.getElementsByTagName("FORM");
 for (var i=0; i<forms.length; i++) {
  forms[i].onkeypress=FlipCr2Tab;
 }
} // end function SetupFlipCr2Tab()

function FlipCr2Tab(e) { 
 // Check event for Enter key only
 var evt = (e) ? e : window.event;
 var key = (evt.keyCode) ? evt.keyCode : evt.which;
 if (key!=13) return true;

 // Check event for target in desired form/nodeName/type
 var target = (evt.target) ? evt.target : evt.srcElement;
 if (!target.form) return true;
 var nod = "input|select";
 if (nod.indexOf(target.nodeName.toLowerCase())<0) return true;
 var inpTypes = "text|file|checkbox|radio|select-one|button";
 if (target.getAttribute("type")) {
  if (inpTypes.indexOf(target.getAttribute("type").toLowerCase())<0) return true;
 }

 // Find and focus next form control
 //  Find target in the form's elements collection
 var els = target.form.elements;
 for (var i=0; i<els.length; i++){
  if (els[i]==target) {
   if (i==els.length-1) {
    return true; // last element, do default
   } else {
    var eldex = i;
    break;
   }
  }
 }
 //alert(els[eldex].tabIndex);
 //  If control has manually set tabIndex, try to find next higher
 if (target.tabIndex!=0) {
  var minTI = 999;
  var minTIel = -1;
  for (var k=0; k<els.length; k++){
   if (k!=eldex && els[k].tabIndex>=target.tabIndex && els[k].tabIndex<minTI && 
       els[k].disabled==false && els[k].type!="hidden") {
    minTI = els[k].tabIndex;
    minTIel = k;
   }
  }
  if (minTIel>-1) { // go to next by numbered tabIndex
   els[minTIel].focus();
   return false;
  }
 }

 //  Try natural tab order, forward only
 for (var j=eldex+1; j<els.length; j++){
  if (els[j].tabIndex==0 && els[j].disabled==false && els[j].type!="hidden") { // go to next in natural order
   els[j].focus();
   return false;   
  }
 }

 // TEMPORARY CATCH ALL FOR TESTING ONLY
 alert("Not handled; eldex="+eldex);
 return false;
} // end function FlipCr2Tab()

function FormatPhone(e) {
    var platformE = e ;
    if(!platformE)
        platformE=window.event;
    var KeyNum ;
    if( platformE.keyCode )
        KeyNum = platformE.keyCode ;
    else
        KeyNum = platformEe.which ;
    if( !checkNumeric(KeyNum) )
        return ;
    if( KeyNum == 8 || KeyNum == 109 )
        return ;
    var txtval = new String(this.value);
    if( txtval.length == 3)
        this.value = this.value + PhoneDigitSeparator;

    if( txtval.length == 7)
        this.value = this.value + PhoneDigitSeparator;

    if( txtval.indexOf('--') >= 0 )
        this.value = txtval.replace(/--/,"-");
}
function checkNumeric(KeyNum) {
    if( (KeyNum == 189 || KeyNum == 109) ||
      (KeyNum >= 48 && KeyNum <= 57) || 
      (KeyNum >= 96 && KeyNum <= 105) ) {
        return true; 
    }
    else {
        return false;
    }
}
