﻿// JScript File

//Method to prevent selection of more than one checkbox.
function checkBoxOnChanged(obj){
    obj.checked = false;
}

//Method to retrieve query string.
function getQueryString(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split('&');
  
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split('=');
    
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return;
}

//------------------isNumber(number)----------------------
function isNumber(number)
{
    var strValidChars = "0123456789";
    var strChar;
    var blnResult = true;

    if (number.length == 0) return false;

    //  test strString consists of valid characters listed above
    for (i = 0; i < number.length && blnResult == true; i++) {
        strChar = number.charAt(i);
        if (strValidChars.indexOf(strChar) == -1) {
            blnResult = false;
        }
    }   
    
    return blnResult;
}



//---------------------------------------------------------------------------------------


function onKeyPressUsername(ctrl, e)
{
    if(window.event)
    {       
        if((window.event.keyCode  >= 64 && window.event.keyCode <= 90) ||
           (window.event.keyCode  >= 97 && window.event.keyCode <= 122) || 
           window.event.keyCode == 47 || window.event.keyCode == 08 ||
           window.event.keyCode == 9 || window.event.keyCode == 32)
           {
            ;
           }
        else
        {
            window.event.keyCode = null;
        }
    }
    else
    {
        var key = e.which;
        if((key  >= 64 && key <= 90) || (key  >= 97 && key <= 122) || 
            key == 47 || key == 08 || key == 09 || key == 32)
           {
                ;
           }
        else
        {
            e.preventDefault();
        }
	}
}

//Method to enforce A-Z, a-z & 0-9 only.
function onKeyPressUserName(e)
{
    var keycode;

    if(window.event)
    {
        keycode = window.event.keyCode
        if(!( (keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode >= 97 && keycode <= 122) || (keycode == 8) || (keycode == 0) ))
        {
            if(keycode != 95)
            {
                window.event.keyCode = null;
		        try
		        {
		            e.preventDefault();
		        }
		        catch(ex)
		        {

		        }
		    }
	    }       
    }
    else
    {
        var key = e.which;
        if(!( (key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || (key == 8) || (key == 0) ))
        {
            if(key != 95)
            {
	    	    e.preventDefault();
	    	}
	    }
    } 
}

//Method to enforce no " " spacing.
function onKeyPressPassword(e){
    if(window.event){       
        if(window.event.keyCode == 32){
            alert('No space allowed.');
            window.event.keyCode = null;
        }
    }else{
        var key = e.which;
        if(key == 32){
            alert('No space allowed.');
            e.preventDefault();
        }
    }    
}

//Method to enforce proper case. access . , - /
function onKeyPressProper1(ctrl,e)
{
    if(ctrl.value.length == 0){
        if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
            window.event.keyCode = window.event.keyCode - 32;
        }
    }else{
        index = ctrl.value.length-1;
    
        if(ctrl.value.charCodeAt(index) == 32){
            if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
                window.event.keyCode = window.event.keyCode - 32;
            }
        }
    }
}

//Method to enforce proper case.
function onKeyPressProper(ctrl,e){
    var index;
    
    if(window.event)
    {       
        if(!((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 32) || (window.event.keyCode >= 65 && window.event.keyCode <= 90) || (window.event.keyCode >= 97 && window.event.keyCode <= 122)  || (window.event.keyCode == 8) || (window.event.keyCode == 0)))
        {
		    window.event.keyCode = null;
		    try
		    {
		        e.preventDefault();
		    }
		    catch(e)
		    {
		        
		    }
	    }
	    else
	    {
	        if(ctrl.value.length == 0){
	            if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
	                window.event.keyCode = window.event.keyCode - 32;
                }
	        }else{
                index = ctrl.value.length-1;
            
                if(ctrl.value.charCodeAt(index) == 32){
                    if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
                        window.event.keyCode = window.event.keyCode - 32;
                    }
                }
            }
	    }
    }
    else
    {
        var key = e.which;           
        if(!((key >= 48 && key <= 57) || (key == 32) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || (key == 8) || (key == 0)))
        {
		    e.preventDefault();
	    }else{
	        if(ctrl.value.length == 0){
	            if(key >= 97 && key <= 122){
	                key = key - 32;
                }
	        }else{
                index = ctrl.value.length-1;
            
                if(ctrl.value.charCodeAt(index) == 32){
                    if(key >= 97 && key <= 122){
                        key = key - 32;
                    }
                }
            }
	    }
    }    
}

// textmask ###-##-### or 999/999/999 only for number
var dFilterStep

function dFilterStrip (dFilterTemp, dFilterMask)
{
    dFilterMask = replace(dFilterMask,'#','');
    for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
		{
		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}
		return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
 		dFilterTemp = dFilterMask;
    for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
		{
		 		if (dFilterMask.charAt(dFilterStep)!='#')
				{
		        dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
				}
		}
		return dFilterTemp.length;
}

function text_Mask (key, textbox, dFilterMask)//main function
{
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
		
		if (key==9)
		{
		    return true;
		}
		else if (key==8&&dFilterNum.length!=0)
		{
		    dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
		}
 	    else if ( (key>47&&key<58) && dFilterNum.length<dFilterMax(dFilterMask) )
		{
            dFilterNum=dFilterNum+String.fromCharCode(key);
		}
		else if ( (key>95&&key<106) && dFilterNum.length<dFilterMax(dFilterMask) )
		{
            dFilterNum=dFilterNum+String.fromCharCode(key-48);
		}

		var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
		{
        if (dFilterMask.charAt(dFilterStep)=='#')
				{
					  if (dFilterNum.length!=0)
					  {
				        dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
					      dFilterNum = dFilterNum.substring(1,dFilterNum.length);
					  }
				    else
				    {
				        dFilterFinal = dFilterFinal + "";
				    }
				}
		 		else if (dFilterMask.charAt(dFilterStep)!='#')
				{
				    dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep); 			
				}
//		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}


		textbox.value = dFilterFinal;
    return false;
}

function replace(fullString,text,by) {
// Replaces text with by in string
    var strLength = fullString.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return fullString;

    var i = fullString.indexOf(text);
    if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
    if (i == -1) return fullString;

    var newstr = fullString.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

    return newstr;
}

//end method to enforce date

//Method to enforce 999999-99-9999 format.
function onKeyPressNRIC(ctrl,e){
    if(window.event){       
        if(window.event.keyCode  < 48 || window.event.keyCode > 57){
		    window.event.keyCode = null;
	    }else{
	        if(ctrl.value.length == 6){
	            ctrl.value = ctrl.value + '-';
	        }
    	    
	        if(ctrl.value.length == 9){
	            ctrl.value = ctrl.value + '-';
	        }
	    }
    }else{
        var key = e.which;
        if((key  < 48 || key > 57) && (!((key == 8) || (key == 0)))){
		    e.preventDefault();
	    }else{
	        if(ctrl.value.length == 6 && (!((key == 8) || (key == 0)))){
	            ctrl.value = ctrl.value + '-';
	        }
    	    
	        if(ctrl.value.length == 9 && (!((key == 8) || (key == 0)))){
	            ctrl.value = ctrl.value + '-';
	        }
	    }
    }    
}

//Method to enforce 0-9
function onKeyPressNumber(ctrl,e)
{
    if(window.event){       
        if(window.event.keyCode  < 48 || window.event.keyCode > 57){
		    window.event.keyCode = null;
		}
    }else{
        var key = e.which;
        if((key  < 48 || key > 57) && (!((key == 8) || (key == 0)))){
		    e.preventDefault();
	    }
	}
}

//Method to enforce A-Z & 0-9 only.
function onKeyPressPassport(e){
    if(window.event){       
        if(!((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode >= 65 && window.event.keyCode <= 90) || (window.event.keyCode >= 97 && window.event.keyCode <= 122))){
		    window.event.keyCode = null;	
	    }else{
	        if(!(window.event.keyCode >= 48 && window.event.keyCode <= 57)){
	            if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
		            window.event.keyCode = window.event.keyCode - 32
                }
	        }
        }
    }else{
        var key = e.which;
        if(!((key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || (key == 8) || (key == 0))){
		    e.preventDefault();	
	    }else{
	        if(!(key >= 48 && key <= 57)){
	            if(key >= 97 && key <= 122){
		            key = key - 32
                }
	        }
        }
    }    
}

//Method for currency
function onKeyPressCurrency(ctrl,e)
{
   
    if(window.event){
         //alert(ctrl.value.indexOf("."));
                  
        if(ctrl.value.length == 0){
            if(window.event.keyCode == 48 || window.event.keyCode == 46){
                window.event.keyCode = null;
            }
        }
        if(window.event.keyCode == 46){
            if(ctrl.value.split(".").length-1 == 1){
             window.event.keyCode = null;
            }
        }
        if(ctrl.value.split(".").length-1 == 1)
        {
            var splitValue = ctrl.value.split(".");
            if(splitValue[1].length > 1)
            {
                 window.event.keyCode = null;
            }
        }
        if((window.event.keyCode  < 46 || window.event.keyCode > 57 )|| (window.event.keyCode == 47)) {
		    window.event.keyCode = null;
		}
    }else{
        var key = e.which;
        
        if(ctrl.value.length == 0){
            if(key == 48 || key == 46){
                e.preventDefault();
            }
        }
        
        if(key == 46){
            if(ctrl.value.split(".").length-1 == 1 ){
             e.preventDefault();
            }
        }
        
        if(ctrl.value.split(".").length-1 == 1 )
        {
            var splitValue = ctrl.value.split(".");
            if(splitValue[1].length > 1)
            {
                if (key != 8)
                {
                    e.preventDefault();
                }
            }
        }
    
        if((key  < 46 || key > 57 || key == 47) && (!((key == 8) || (key == 0)))){
		    e.preventDefault();
	    }
	}
    
}

//Method to enforce proper case & allow 0-9.
function onKeyPressCity(ctrl,e){
    var index;
    
    if(window.event){       
        if(!((window.event.keyCode == 32) || (window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode >= 65 && window.event.keyCode <= 90) || (window.event.keyCode >= 97 && window.event.keyCode <= 122))){
		    window.event.keyCode = null;
	    }else{
	        if((ctrl.value.length == 0) && (!(window.event.keyCode >= 48 && window.event.keyCode <= 57))){
	            if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
	                window.event.keyCode = window.event.keyCode - 32;
                }
	        }else if(!(window.event.keyCode >= 48 && window.event.keyCode <= 57)){
                index = ctrl.value.length-1;
            
                if(ctrl.value.charCodeAt(index) == 32){
                    if(window.event.keyCode >= 97 && window.event.keyCode <= 122){
                        window.event.keyCode = window.event.keyCode - 32;
                    }
                }
            }else if((ctrl.value.length == 0) && (window.event.keyCode >= 48 && window.event.keyCode <=57)){
                window.event.keyCode = null;
            }
	    }
    }else{
        var key = e.which;
        if(!((key == 32) || (key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || (key == 8) || (key == 0))){
		    e.preventDefault();
	    }else{
	        if((ctrl.value.length == 0) && (!(key >= 48 && key <= 57))){
	            if(key >= 97 && key <= 122){
	                //alert(key);
	                return key;
                }
	        }else if(!(key >= 48 && key <= 57)){
                index = ctrl.value.length-1;
            
                if(ctrl.value.charCodeAt(index) == 32){
                    if(key >= 97 && key <= 122){
                        key = key - 32;
                         //alert(key);
	                     return key;
                    }
                }
            }else if((ctrl.value.length == 0) && (key >= 48 && key <=57)){
                e.preventDefault();
            }
	    }
    }    
}

//Method to enforce integer only. 0-9 only.
function onKeyPressIntOnly(e){
    if(window.event){       
        if(window.event.keyCode  < 48 || window.event.keyCode > 57){
		    window.event.keyCode = null;
	    }
    }else{
        var key = e.which;
        if((key  < 48 || key > 57) && (!((key == 8) || (key == 0)))){
		    e.preventDefault();
	    }
    }	
}

//Method to enforce maximum length.
function onKeyPressMaxLength(ctrl,max,e){    
    if(window.event){       
        if(ctrl.value.length >= max){
           window.event.keyCode = null;
        }
    }else{
        if(ctrl.value.length >= max){
           e.preventDefault();
        }
    }    
}

//Method to enforce maximum length.
function onFocusOutMaxLength(ctrl,max){
    if(ctrl.value.length >= max){
        ctrl.value = ctrl.value.substring(0,max);
    }  
}

//Method to validate email address.
//Note: Function emailValidate is used to verify if 
//      the given value is a possible valid email address. 
//      This function thus simply makes sure the email 
//      address has one (@), atleast one (.). It also makes 
//      sure that there are no spaces, extra '@'s or a (.) 
//      just before or after the @. It also makes sure 
//      that there is atleast one (.) after the @.

function onFocusOutEmail(ctrl, e){
    var emailAddress = ctrl.value;
    
    if(window.event){       
        if((emailAddress == null)||(emailAddress == '')){
		    alert('Please insert value for Email Address.\n');
		    ctrl.focus();
		    window.event.returnValue = false;
		    return false;
	    }
    	
	    if(emailValidate(emailAddress) == false){
	        alert("Invalid email address.\nPlease try again (check the '@' and '.'s in the email address).");
		    ctrl.focus();
		    window.event.returnValue = false;
		    return false;
	    }
    }else{
        if((emailAddress == null)||(emailAddress == '')){
		    alert('Please insert value for Email Address.\n');
		    ctrl.focus();
		    e.preventDefault();
		    return false;
	    }
    	
	    if(emailValidate(emailAddress) == false){
	        alert("Invalid email address.\nPlease try again (check the '@' and '.'s in the email address).");
		    ctrl.focus();
		    e.preventDefault;
		    return false;
	    }
    }	
	
    return true;
}
 
function emailValidate(str){

    var re_email = /^(\w+[\-\.])*\w+@([a-zA-Z0-9-.]+\.)[A-Za-z]+$/;

    if (re_email.test(str)) {
        return true;
    }
    else {
        return false;
    }



    //    var errorCount = 0;
    //      var at = '@';
    //      var dot = '.';
    //	var lat = str.indexOf(at);
    //	var lstr = str.length;
    //	var ldot = str.indexOf(dot);
    //	
    //	//Validate if . exists on begining or end of email address (for email address with more than one .)
    //	if(str.charAt(0) == dot || str.charAt(lstr-1) == dot){
    //	    errorCount++;
    //	}
    //	
    //	//Validate if extra . exists after first . before the @
    //	if(ldot != -1){	    
    //	    if(str.charAt(ldot+1) == dot){
    //	        errorCount++;
    //	    }
    //	}
    //	//Validate if extra . exists after first . after the @
    //	if(str.lastIndexOf(dot) != -1){	    
    //	    if(str.charAt(str.lastIndexOf(dot)-1) == dot){
    //	        errorCount++;
    //	    }
    //	}

    //	if(lat == -1){	   
    //        errorCount++;
    //	}

    //	if(lat == -1 || lat == 0 || lat == lstr){
    //        errorCount++;
    //	}

    //	if(ldot == -1 || ldot == 0 || ldot == lstr){
    //	    errorCount++;
    //	}

    //	if(str.indexOf(at,(lat+1)) != -1){
    //	    errorCount++;
    //    }

    //	if(str.substring(lat-1,lat) == dot || str.substring(lat+1,lat+2) == dot){
    //	    errorCount++;        
    //	}
    //	 
    //	if(str.indexOf(dot,(lat+2)) == -1){
    //	    errorCount++;   
    //	}
    //		
    //	if(str.indexOf(' ') != -1){
    //	    errorCount++;

    //	}

    //    if(errorCount == 0){
    //        return true;
    //    }else if(errorCount > 0){
    //        return false;
    //    }	
}
 //End of method to validate email address.
 


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

