// login
function LoginCheckFields (login){
	var usernameStr = TrimField(login.Username.value);
	if (IsEmpty(usernameStr)) {
		alert("Please enter a valid username !");
		login.Username.focus();
		login.Username.select();				
		return false;
	}

	var pswdStr = TrimField(login.Password.value);
	if (IsEmpty(pswdStr)) {
		alert("Please enter a valid password !");
		login.Password.focus();
		login.Password.select();		
		return false;
	}

	return true;			
}

function ClosePopUp() {
	window.close();
}

function limitText(current_form, charNB) {
	if(current_form.txtRemarks.value.length >= charNB){
		window.event.returnValue=false;
	}
}

function CancelCTRL(){
	if (window.event.ctrlKey){
		window.event.returnValue = false; 
	}
}


function ControlInput(){
//	var key;
//	key=window.event.keyCode;
//	if(!((key==8)||(key==32)||(key==45)||(key>47 && key<58) || (key>64 && key<91) ||(key==95) || (key>96 && key<123))){
//		window.event.returnValue=false;
//	}
}


function ControlDigits(){
	var key;
	key=window.event.keyCode;
	if((key!=8) && (key<48 || key>57)){
		window.event.returnValue=false;
	}
}


function IsBlank(s){
   for(var i=0;i<s.length;i++) {
      var c=s.charAt(i);
      if ((c != ' ')&& (c != '\n') && (c != '\t')) return false;
   }
   return true;
}


function IsEmpty(param){	
	if (IsBlank(param)||(param==null)||(param==""))
		return true;
	else 
		return false;
}	


function TrimField(fieldName){
	var j=3;
	var len=fieldName.length;
	   while(j>1){
	 	  if (fieldName.charAt(0)==" ")
			{
				fieldName=fieldName.substring(1,len);
				len=fieldName.length;
			}	
		  else if (fieldName.charAt(fieldName.length-1)==" ")
		   	{
				fieldName=fieldName.substring(0,len-1);
				len=fieldName.length;
			}
		  else
			{
				j=0;
			}
		}
	return fieldName;
}


function Resetall(formname){
	var decision;
	decision= confirm( "Are you sure you want to reset all the fields of this form ?");
	if (decision){
   		formname.reset();
	} 
}

//////used in the CorrugatedOLS///////////////
function NewWindow(mypage, myname){
   var wintop = (screen.height - ((screen.height)/2)) / 2;
   var winleft = screen.width - 600;
   winprops = 'height=500,width=500,left='+winleft+',top='+wintop+',resizable=yes,scrollbars=no,toolbar=no,menubar=no';
   win = window.open(mypage, myname, winprops);
}
 
 
function NewWindowLarge(mypage, myname){
   var wintop = (screen.height - ((screen.height)/2)) / 2;
   var winleft = screen.width - 700;
   winprops = 'height=400,width=600,left='+winleft+',top='+wintop+',resizable=yes,scrollbars=yes,toolbar=no,menubar=no';
   win = window.open(mypage, myname, winprops);
}


//function NewWindowXLarge(mypage, myname){
//   var wintop = (screen.height - ((screen.height)/2)) / 4;
//   var winleft = (screen.width / 8);
//   winprops = 'height=600,width=700,left='+winleft+',top='+wintop+',resizable=no,scrollbars=yes,toolbar=no,menubar=no';
//   win = window.open(mypage, myname, winprops);
//}


function ClosePopUp(){
	window.close();
}


function ControlDecimal(){
	var key;
	key=window.event.keyCode;
	if(!((key==8) || (key==46)|| (key>47 && key<58)))
		{
			window.event.returnValue=false;
		}
}

function IsValidPhoneNumber(param){
	if((IsEmpty(param)) || (param.length < 8)){
	  alert("Please enter valid comma-separated phone numbers. Use international codes e.g. +9619212121");
	  return false;
	}
	return true;	
}


function IsPhoneNumber(param){
	for (var i=0;i<param.length;i++){
		if (((param.substring(i,i+1) < "0") || (param.substring(i,i+1) > "9"))&&(param.substring(i,i+1) != "+"))
			return false;
	}		
   	return true;
}


function ControlPhoneInput(){
  key = window.event.keyCode;
	if ( (key!=8) && (key<48 || key>57) && (key!=44) && (key!=43) && (key!=32) && (key!=45)) {	
		window.event.returnValue = false; 
	}
}


function IsValidEmail(param){
	i = param.indexOf('@');
   	if (i == -1)  
   		return false;
	
	l = param.length;
	if (i != l-1) 
		j = param.indexOf('@',i+1);
	else j = 0;
	
	if ((i >= l-4) || (i == 0) || (j != -1) || (l < 6)
	    || (param.charAt(i-1)=='.')
	    || (param.charAt(i+1)=='.') 
	    || (param.charAt(0)=='.')
	    || (param.charAt(l-1)=='.')
	    || (param.charAt(l-2)=='.')
	    || (param.lastIndexOf(".") <= i+1) )	
	    	return false;
	
  return true;
}


function SetFieldChecked(val, checkboxName) {
	docform = document.display;
	len = docform.elements.length;
	var i = 0;
	for(i=0; i<len; i++) {
		if (docform.elements[i].name == checkboxName) {
			docform.elements[i].checked = val; 
		}
	}
}


function ConfirmDelete(display, checkboxName, fieldName) {
	display.delIDs.value="";
   	var n=0;

   	for (n=0;n < document.display.elements.length;n++)
   	{
     		if ((document.display.elements[n].name == checkboxName)&&(document.display.elements[n].checked == true))
     		{
			display.delIDs.value = display.delIDs.value + document.display.elements[n].value + "/";
     		}
   	}

	if (display.delIDs.value == "")
  	{
		alert("No " + fieldName + " selected ! ");
	  	return false;
  	}
  	else
  	{
  		var ans = confirm("Are you sure you want to delete the selected " + fieldName + " ?");
  		return ans;
	}		
}


function RestrictCharacters() {
	var key;
	key = window.event.keyCode;
	
	if((key == 42) || (key == 124)){	// * or | characters
		alert ("Sorry, the character you typed is not allowed in this field !");
		window.event.returnValue=false;
	}	
}

function isFloat(v) 
{
        if(TrimField(v)== ".")
            return false
        if(!isNaN(v+"1"))
            return true
        if(!isNaN(v+".1"))
            return true
            
        return false
}

function disableEnterKey(e){
    var key;
    if(window.event)
        key = window.event.keyCode;//IE
    else
        key = e.which;//FireFox
        
    if(key == 13)
        return false;
    else
        return true;
}