// right click disable
function disable_right_click(e)
{
    var browser = navigator.appName.substring ( 0, 9 );
    var event_number = 0;
    if (browser=="Microsoft")
        event_number = event.button;
    else if (browser=="Netscape")
        event_number = e.which;

    if ( event_number==2 || event_number==3 )
        {
        alert ("Right Mouse Button Is Disabled");
        return (false);
        }

    return (true);
}

function check_mousekey ()
{
    var mouse_key = 93;
    var keycode = event.keyCode;

    if ( keycode == mouse_key )
        alert ( "Mouse Key Is Disabled" );
}

function trap_page_mouse_key_events ()
{
    var browser = navigator.appName.substring ( 0, 9 );

    document.onmousedown = disable_right_click;

    if ( browser == "Microsoft" )
        document.onkeydown = check_mousekey;
    else if ( browser == "Netscape" )
        document.captureEvents( Event.MOUSEDOWN );
}

window.onload = trap_page_mouse_key_events;


//end right click disable

//disable key combinations

var message="Sorry...Use of Control key & Backspace key is not permitted. For editing purpose, pl use Left/Right arrow keys and Delete/Del key ";
function click(e)
{
if (document.all)
{
if ((event.button == 2) || (window.event.keyCode == 17) || (window.event.keyCode == 8) )
{
//if ((event.button == 2) || (window.event.keyCode == 17) ) {
 alert(message);
return false;
}

}

if (document.layers)
{

if ( (e.which == 3) || (window.event.keyCode == 17) || (window.event.keyCode == 8) )
{
//if ((event.button == 2) || (window.event.keyCode == 17) ) {
alert(message);
return false;

}

}

}
if (document.layers)
{
document.captureEvents(Event.MOUSEDOWN || Event.KEYDOWN );
}
document.onmousedown=click;
document.onkeydown=click;

//end disable key combinations



function AllZero(str)
{
  for(i=0;i<str.length;i++)
    if(str.charAt(i) != '0' ) return false;
  return true;
}
function OnlyThis(str,vstr)
{
  var i,ch;
  for(i=0;i<str.length;i++)
  {
    ch=str.substr(i,1);
    if(vstr.indexOf(ch.toUpperCase()) < 0) return false;
  }
  return true;
}
function CheckAll(str,format)
{
  var i,fch;
  var vstr="";
  for(i=0;i<format.length;i++)
  {
    fch=format.substr(i,1);
    if(fch=='A')
      vstr+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    else if(fch=='N')
      vstr+="0123456789";
    else
      vstr+=fch;
  }
  return OnlyThis(str,vstr);
}
function DigitsOnly(str)
{
  var i;
  var digits="0123456789";
  for(i=0;i<str.length;i++)
  {
    if(digits.indexOf(str.charAt(i)) ==-1 ) return false;
  }
  return true;
}

function IsValidIMO(IMO)
{
 if(IMO.length!=7 && IMO !='0') return false;
 if( ! DigitsOnly(IMO) ) return false;
 if(AllZero(IMO)) return true;
 var i,sum=0;
 for(i=0;i<6;i++)
  sum+=parseInt(IMO.charAt(i))*(7-i);
 return (sum%10)==IMO.charAt(6);
}

function CheckFirstChar(sstr,desc,type)
{
  var vstr,msg;
  if(type=='A')
  {
    vstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    msg=" must start with an alphabet";
  }
  else if(type=='N')
  {
    vstr="0123456789";
    msg=" must start with a digit";
  }
  else
  {
     vstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
     msg=" must start with either an alphabet or a digit";
  }

  var ch=sstr.substr(0,1);

  if(vstr.indexOf(ch.toUpperCase()) < 0)
  {
    alert(desc+msg);
    return false;
  }

  return true;
}

