﻿function createHiddenFormElem(id)
{
    var el = document.createElement('input');
    el.type = 'hidden';
    el.name = id;
    el.id = id;
    
    return el;
}

function createSpanElem(id, innerHTML)
{
    var el = document.createElement('span');
    el.id = id;
    
    if (innerHTML != undefined)
        el.innerHTML = innerHTML;
    
    return el;
}

function isValidEmail(fld)
{
	var email = fld.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) 
	{
		return true;
	} else {
		return false;
	}
}

function isValidMoney(fld)
{
	var val = fld.value;
	var filter  = /^(\d+\.\d{2})+$/;
	if (filter.test(val)) 
	{
		return true;
	} else {
		return false;
	}    
}

function isValidTime(fld)
{
	var val = fld.value;
	var filter  =  /^(\d+\:\d{2})+$/;
	if (filter.test(val)) 
	{
		return true;
	} else {
		return false;
	}    
}

function onlyAllowInteger(objEvent) 
{
    var iKeyCode;        
    iKeyCode = objEvent.keyCode;                  
    if(iKeyCode>=48 && iKeyCode<=57) return true;
    return false;
}

function onlyAllowNumeric(objEvent) 
{
    var iKeyCode;        
    iKeyCode = objEvent.keyCode;                  
    if((iKeyCode>=48 && iKeyCode<=57) || iKeyCode==46) return true;
    return false;
}

function onlyAllowTime(objEvent) 
{
    var iKeyCode;        
    iKeyCode = objEvent.keyCode;    
    if((iKeyCode>=48 && iKeyCode<=57) || iKeyCode==58) return true;
    return false;
}

function disableForm(formID)
{
    var elems = getElement(formID).elements;
    for (var i=0;i<elems.length;i++)
    {
        try
        {
            var e = elems[i];
                       
            if (e.id.substr(0,1) != '_')
            {
                if (IsCheckbox(e) || IsSelect(e)) // checkbox or select
                    e.disabled = true;
                else
                    e.readOnly = true;
                
                if (e.className == "nkButton")
                    e.className = "nkButton_disabled";                
            }            
        }
        catch (e) 
        {
            // do nothing
        }
    }
    
    elems = document.getElementsByTagName('img');
    for (var i=0;i<elems.length;i++)
    {
        var e = elems[i];
        if (e.src)
            if (e.src.indexOf('calendar.jpg') > -1)
                e.style['display'] = 'none';
    }
}

function IsCheckbox(element)
{
    if(element == null)
        return false;    

    return (element.tagName.toUpperCase() == "INPUT" && element.type.toLowerCase() == "checkbox");
} 

function IsSelect(element)
{
    if(element == null)
        return false;    

    return (element.tagName.toUpperCase() == "SELECT");
} 

function addOption(selectObj, txt, val)
{
    var newopt = document.createElement('option');
    newopt.text = txt;
    newopt.value = val;
    
    try {
        selectObj.add(newopt,null);
    } catch(e) {
        selectObj.add(newopt);
    }
}