function check(sInput, sCheck)
{
    var chr,j;
    var bfound = false;
    var ok     = true;

    for (var i = 0; i < sInput.length; i++) {
        chr    = sInput.charAt(i);
        bfound = false;

        for (j=0; j < sCheck.length; j++) {
            if (chr == sCheck.charAt(j)) bfound = true;
        }

        if (!bfound) ok = false;
    }

    return ok;
}

function nopunctuation(obj)
{
    var match = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'+
                '1234567890_';

    if (!check(obj.value, match)) {
        obj.value = '';
        alert('Use alphanumeric characters for module name!');
    }
}

function numeric(obj)
{
    var match = '1234567890.';

    if (!check(obj.value, match)) {
        alert('Numeric only!');
        var val   = obj.value
        obj.value = val.substr(0, val.length-1) + '0';
    }
}


function isNumeric(val)
{
    var match = '1234567890';
    var num   = check(val, match);

    return num;
}


function closeDiv(id)
{
    $(id).style.display = 'none';
}

function gofocus()
{
	document.getElementById('userid').focus();
}

function clearText(id)
{
    var val = $(id).value;

    if (val == 'enter pilot id here ...') {
        $('userid').className = 'text';
        $('userid').value     = '';
    }
 
    if (val == 'password') {
       $('password').className = 'text';
       $('password').value     = '';
    }
	
	if (val == 'enter your email here ...') {
		$('emailfp').className = 'text';
		$('emailfp').value     = '';
	}
}

function setText(id)
{
    var val = $(id).value;
    
    if (val == '') {
        if (id == 'userid') {
            $('userid').className = 'text-grey';
            $('userid').value     = 'enter pilot id here ...';
        }
      
        if (id == 'password') {
            $('password').className = 'text-grey';
            $('password').value     = 'password';
        }
		
		if (id == 'emailfp') {
			$('emailfp').className = 'text-grey';
			$('emailfp').value     = 'enter your email here ...';
		}
    }
}

function changeState(current, target)
{
	Effect.toggle(current, 'blind');
	Effect.toggle(target, 'blind');
}

function doLogin()
{
    var userid = $('userid').value;
    var passwd = $('password').value;

    if ((userid == '' || passwd == '') || (userid == 'enter your login here ...' || passwd == 'password')) {
        alert('Enter your pilot id and password!');
        
        return;
    }
    
    $('userid').disabled   = true;
    $('password').disabled = true;
    $('btnlogin').disabled = true;
    
    var pars   = 'userid=' + userid + '&password=' + passwd + '&ajax=1';
    var imgUrl = ROOT_URL + '/themes/' + THEME + '/images/loading.gif';
    
    $('lstatus').innerHTML  = '<img src="' + imgUrl + '" align="left">&nbsp;' +
                              '<span class="green-light">&nbsp;checking pilot id and password ...&nbsp;</span>';
          
    new Ajax.Request(ROOT_URL + '/login.php', {
        method: 'post',
        parameters: pars,
            
        onSuccess: function(transport) {     
            var str  = transport.responseText;
       
            if (str == 'OK') {
                $('lstatus').innerHTML  = '<img src="' + imgUrl + '" align="left">&nbsp;&nbsp;' +
                                          '<span class="green-light">&nbsp;Login success, redirecting ...&nbsp;</span>';
                
                document.location       ='intra.php?login=1';
            } else {
                $('userid').disabled   = false;
                $('password').disabled = false;
                $('btnlogin').disabled = false;
    
                $('lstatus').innerHTML  = '<span class="red-light">&nbsp;Pilot id or password incorrect!&nbsp;</span>';
            }
        },
                
        onFailure: function(transport) {
            $('userid').disabled   = false;
            $('password').disabled = false;
            $('btnlogin').disabled = false;
            
            $('lstatus').innerHTML = '<span class="red-light">&nbsp;Network error!&nbsp;</span>';
        }
    }); 
}

function doResetPasswd()
{
    var email = $('emailfp').value;

    if (email == '' || email == 'enter your email here ...') {
        alert('Enter your email address!');
        
        return;
    }
    
    $('emailfp').disabled  = true;
    $('btnreset').disabled = true;
    
    var imgUrl = ROOT_URL + '/themes/' + THEME + '/images/loading.gif';
    var pars   = 'email=' + email + '&ajax=1';
	
    $('lstatus').innerHTML  = '<img src="' + imgUrl + '" align="left">&nbsp;' +
                              '<span class="green-light">&nbsp;checking your email ...&nbsp;</span>';
          
    new Ajax.Request('resetPassword.php', {
        method: 'post',
        parameters: pars,
            
        onSuccess: function(transport) {     
            var str  = transport.responseText;
            
            if (str == 'OK') {
				$('lstatus').innerHTML  	 = '';
                $('resetPwdForm').innerHTML  =  'Email valid, further instructions about resetting' +
										        ' your password has been sent to <i>' + email + '</i>';
										        
            } else {
                $('emailfp').disabled   = false;
                $('btnreset').disabled  = false;
    
                $('lstatus').innerHTML  = '<span class="red-light">&nbsp;Email not registered!&nbsp;</span>';
            }
        },
                
        onFailure: function(transport) {
            $('emailfp').disabled   = false;
            $('btnreset').disabled  = false;
            
            $('lstatus').innerHTML  = '<span class="red-light">&nbsp;Network error!&nbsp;</span>';
        }
    }); 
}

function loadWidget(id, file)
{
	gourl = ROOT_URL + '/widget/' + file ;
          
    new Ajax.Request(gourl, {
        method: 'get',
		
        onSuccess: function(transport) {
            $(id).innerHTML = transport.responseText; 
        },
			
        onFailure: function(transport) {
            $(id).innerHTML = '<span class="red-light">&nbsp;Error loading data!&nbsp;</span>';
        }
    });
}

function goHome()
{
	location = ROOT_URL;
}

function countText(obj)
{
	$('counter').value = obj.value.length;
}