// JScript File
//**********************************************Generic Script****************************************************************************
//This function can be used for 1. checking if the "Enter"(keycode:13) is pressed if so return a false exiting the function.
//                              2. checking if any Ctrl+Characters are being pressed.Preenting the entry of the same.
 function clickIndexButton(e,buttonid){ 
  //list all CTRL + key combinations you want to disable	
  var btn = document.getElementById(buttonid); 
  if (btn){ 
          if (e.keyCode == 13){   
                btn.click(); 
                return false; } 
          } 

	
  var forbiddenKeys = new Array('a', 'n', 'c', 'x', 'v', 'j');
  var key;         
  var isCtrl;
  if(window.event){
                key = window.event.keyCode;     //IE
                if(window.event.ctrlKey)
                        isCtrl = true;
                else
                        isCtrl = false;
                  }
  else{
                key = e.which;     //firefox
                if(e.ctrlKey)
                        isCtrl = true;
                else
                        isCtrl = false;
       }

        //if ctrl is pressed check if other key is in forbidenKeys array
  if(isCtrl){
               for(i=0; i<forbiddenKeys.length; i++)
                {
                        //case-insensitive comparation
                        if(forbiddenKeys[i].toLowerCase() == String.fromCharCode(key).toLowerCase())
                        {
                                return false;
                        }
                }
            }
        return true;
	}  
	
	
//**********************************************Generic Script****************************************************************************	
//This function can be used for blocking the NonNumbers, however by passing attributes can allow the negative and decimal entry.	
//eg:onkeypress="return blockNonNumbers(this, event, true, true);" 	
function blockNonNumbers(obj, e, allowDecimal, allowNegative, defaultButtonEnter)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}	
	if(defaultButtonEnter != null || defaultButtonEnter != "")
	{ 
	  if (key == 13)
	  {
	    var btn = document.getElementById(defaultButtonEnter);	    
	     if (btn)
	     { 	       
	       btn.click(); 
           return false; 
	     }
	  }
	 
	}
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	return isFirstN || isFirstD || reg.test(keychar);
}


// New file that is replaced- June-09-2011
// This function called on the page rendering make sure the adjustDiv function is called.
if (window.addEventListener)
  {
   window.addEventListener("load", adjustDivs, false);
  }
else if (window.attachEvent)
  { 
   window.onresize = adjustDivs;
   window.onscroll = adjustDivs;
  }

    
//To make sure the ProgressDiv were the message is shown is centered.
function adjustDivs() 
{            
  var df = document.getElementById('Progressdiv');
  df.style.position = 'absolute';

  var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
  df.style.left = (document.documentElement.scrollLeft + 45) + '%';
  df.style.top = (document.documentElement.scrollTop + 300) + 'px';
           
  if (is_chrome) 
  {
    df.style.left = (document.body.scrollLeft + 45) + '%';
    df.style.top = (document.body.scrollTop + 300) + 'px';
  }
}

//The ststus message shown , will be called from different pages.
function Progressing(_StatusText) 

{      
  document.getElementById('Progressdiv').style.display = 'block';       
  document.getElementById('lblProgress').innerHTML  =_StatusText;
}
//Hiding the message pop up.        
function ProgressingHide() 
{
  document.getElementById('Progressdiv').style.display = 'none';
}


//**********************************************Generic Script****************************************************************************
//This function used to make sure the numbers -ve and on deciding the decimal places.
//eg:-onblur="extractNumber(this,2,true);"
//eg:-onkeyup="extractNumber(this,2,true);"
function extractNumber(obj, decimalPlaces, allowNegative)
{
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}
//**********************************************Generic Script****************************************************************************
//This declarations and functions are for the message box popup.

var Msgbox_Control = '';
var Msgbox_PostBackButton = 0;

var Msgbox_AbortRetryIgnore = 0x01;
var Msgbox_Critical = 0x02;
var Msgbox_Exclamation = 0x04;
var Msgbox_Information = 0x08;
var Msgbox_OkCancel = 0x010;
var Msgbox_OkOnly = 0x020;
var Msgbox_Question = 0x040;
var Msgbox_RetryCancel = 0x080;
var Msgbox_YesNo = 0x0100;
var Msgbox_YesNoCancel = 0x0200;

var Msgbox_Abort = 0x0400;
var Msgbox_Retry = 0x0800;
var Msgbox_Ignore = 0x01000;
var Msgbox_Ok = 0x02000;
var Msgbox_Cancel = 0x04000;
var Msgbox_Yes = 0x08000;
var Msgbox_No = 0x10000;


function Msgbox_ButtonClick(MControl, btnname, btnnumber, PostBackButton)

{
if ((btnnumber & PostBackButton) == btnnumber)
  {
  __doPostBack(MControl,btnname);
  }
else
  {
  document.getElementById('pagedimmer').style.display='none'; 
  document.getElementById('msgbox_show').style.display = 'none';
  }
}

function Msgbox(message, mb_options, title, control, pb_button) 
{  
Msgbox_Control = control;
Msgbox_PostBackButton = pb_button;

if ((mb_options & Msgbox_Question) == Msgbox_Question)
  {
  document.getElementById('imgIcon').setAttribute('src', "../../../../images/Iridium/Question.gif");
  }
else if ((mb_options & Msgbox_Critical) == Msgbox_Critical)
  {
  document.getElementById('imgIcon').setAttribute('src', "../../../../images/Iridium/Critical.gif");
  }
else if ((mb_options & Msgbox_Information) == Msgbox_Information)
  {
  document.getElementById('imgIcon').setAttribute('src', "../../../../images/Iridium/Information.gif");
  }
else if ((mb_options & Msgbox_Exclamation) == Msgbox_Exclamation)
  {
  document.getElementById('imgIcon').setAttribute('src', "../../../../images/Iridium/Exclamation.gif");
  }

if ((mb_options & Msgbox_OkOnly) == Msgbox_OkOnly)
  {
  document.getElementById('Yes').style.display='none';
  document.getElementById('No').style.display='none';
  document.getElementById('Cancel').style.display='none';
  document.getElementById('Abort').style.display='none';
  document.getElementById('Retry').style.display='none';
  document.getElementById('Ignore').style.display='none';
  document.getElementById('msgboxbtndiv').style.width='87px';
  document.getElementById('OK').style.display='block';

  }
else if ((mb_options & Msgbox_OkCancel) == Msgbox_OkCancel)
  {
  document.getElementById('Yes').style.display='none';
  document.getElementById('No').style.display='none';
  document.getElementById('Abort').style.display='none';
  document.getElementById('Retry').style.display='none';
  document.getElementById('Ignore').style.display='none';
  document.getElementById('msgboxbtndiv').style.width='174px';
  document.getElementById('OK').style.display='block';
  document.getElementById('Cancel').style.display='block';
  }
else if ((mb_options & Msgbox_AbortRetryIgnore) == Msgbox_AbortRetryIgnore)
  {
  document.getElementById('Yes').style.display='none';
  document.getElementById('No').style.display='none';
  document.getElementById('OK').style.display='none';
  document.getElementById('Cancel').style.display='none';
  document.getElementById('Abort').style.display='block';
  document.getElementById('Retry').style.display='block';
  document.getElementById('Ignore').style.display='block';
  document.getElementById('msgboxbtndiv').style.width='261px';
  }
else if ((mb_options & Msgbox_YesNoCancel) == Msgbox_YesNoCancel)
  {
  document.getElementById('Yes').style.display='block';
  document.getElementById('No').style.display='block';
  document.getElementById('Cancel').style.display='block';
  document.getElementById('msgboxbtndiv').style.width='261px';
  document.getElementById('OK').style.display='none';
  document.getElementById('Abort').style.display='none';
  document.getElementById('Retry').style.display='none';
  document.getElementById('Ignore').style.display='none';

  }
else if ((mb_options & Msgbox_YesNo) == Msgbox_YesNo)
  {
  document.getElementById('Yes').style.display='block';
  document.getElementById('No').style.display='block';
  document.getElementById('msgboxbtndiv').style.width='174px';
  document.getElementById('OK').style.display='none';
  document.getElementById('Cancel').style.display='none';
  document.getElementById('Abort').style.display='none';
  document.getElementById('Retry').style.display='none';
  document.getElementById('Ignore').style.display='none';

  }

else if ((mb_options & Msgbox_RetryCancel) == Msgbox_RetryCancel)
  {
  document.getElementById('Yes').style.display='none';
  document.getElementById('No').style.display='none';
  document.getElementById('OK').style.display='none';
  document.getElementById('Abort').style.display='none';
  document.getElementById('Retry').style.display='block';
  document.getElementById('Cancel').style.display='block';
  document.getElementById('Ignore').style.display='none';
  document.getElementById('msgboxbtndiv').style.width='174px';
  }
document.getElementById('lbltitle').innerHTML=title;
document.getElementById('lblmsg').innerHTML=message;
document.getElementById('pagedimmer').style.display='block'; document.getElementById('msgbox_show').style.display = 'block';

return false;
} 
