
var agent = navigator.userAgent.toLowerCase();
var is_ns  = ((agent.indexOf('mozilla') != -1) && (agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)
                && (agent.indexOf('opera') == -1) && (agent.indexOf('webtv') == -1) && (agent.indexOf('hotjava') == -1));
var is_ie = ((agent.indexOf("msie") != -1) && (agent.indexOf("opera") == -1));
var is_opera = (agent.indexOf("opera") != -1);
var is_gecko = (agent.indexOf('gecko') != -1);



function IsEmail(_email) {
    email_re1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(\.$)/;
    email_re2 = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (_email == "" || email_re1.exec(_email) || !email_re2.exec(_email))
        return false;
    return true;
}

// OPTION ***************************************************

function optionAdd(_objSelect,_text,_value) {
    if (is_ie) {
        var _objOption = document.createElement("OPTION");
        _objOption.text = _text;
        _objOption.value = _value;
        _objSelect.add(_objOption);
    }
	else if (is_ns || is_opera) {
        var _nextOption = _objSelect.options.length;
        _objOption = new Option(_text, _value);
        _objSelect.options[_nextOption] = _objOption
    }
}
function optionInsert(_objSelect,_text,_value,_position) {
    _itemsTextsBackup = new Array()
    _itemsValuesBackup = new Array()
    for (i=_position;i<_objSelect.length;i++) {
        _itemsTextsBackup.push(_objSelect[i].text)
        _itemsValuesBackup.push(_objSelect[i].value)
    }
    optionDelete(_objSelect,_position)
    optionAdd(_objSelect,_text,_value)
    for (i=0;i<_itemsValuesBackup.length;i++)
        optionAdd(_objSelect,_itemsTextsBackup[i],_itemsValuesBackup[i])
}
function optionDelete(_objSelect,_start,_length) {
    if (_start == null || _start < 0)
        _start = 0;
    if (_length == null || _length < 0 || _length == 0)
        _elements = _objSelect.length;
    else
        _elements = (_length > (_objSelect.length - _start))?_objSelect.length - _start:_start + _length;
    for (i=_start;i<_elements;i++)
        _objSelect.options[_start] = null;
}
function optionSelect(_objSelect,_index) {
    _index = (_index == null || _index >= _objSelect.length)?0:_index;
    if (is_ie || is_opera)
        _objSelect.selectedIndex = _index
    if (is_ns)
        _objSelect.options[_index].selected = true
}
function optionSelectValue(_objSelect,_value) {
	_elements = _objSelect.length
    for (i=0;i<_elements;i++) {
		if (_objSelect.options[i].value == _value) {
			_objSelect.options[i].selected = true;
			return;
		}
	}
}


//C#
//Date: DateTime.ToShortDateString();
//Date and Time: DateTime.ToShortDateString() + " " + DateTime.ToShortTimeString();
function AddCalendar(input, showsTime, optionsObj) {
	if (input.HasCalendar === undefined) {
		input.HasCalendar = true;

		if (input.id == '')
			input.id = 'Calendar' + Math.floor(Math.random() * 1001);
		input.setAttribute('readonly', 'readonly')
		//$(input).addClass("td_input_calendar");

		showsTime = (showsTime == true) ? true : false;
		var ifFormat = (showsTime == true) ? "%m/%d/%Y %I:%M %p" : "%m/%d/%Y"; //"en-US"
		
		var optObj = {
			inputField: input.id,
			ifFormat: ifFormat,
			showsTime: showsTime,
			timeFormat: "24", //"en-US"
			eventName: 'click'
		};

		if (typeof(optionsObj) == 'object')
			for (x in optionsObj)
				optObj[x] = optionsObj[x];

		Calendar.setup(optObj);
	}
}
