function init()
{
    // mark all selects with positive results red
    var selects = document.getElementsByTagName('select');
    for (var i=0; i < selects.length; i++)
    {
        if (selects[i].options[selects[i].selectedIndex].value == 'Положителен')
            selects[i].style.color = 'red';
    }
}


function toggleAllChecks()
{
    var inputs = document.getElementsByTagName('input');
    var checks = new Array();
    
    var all_checked = true;
    for (var i = 0; i < inputs.length; i++)
    {
        if (inputs[i].type == 'checkbox')
        {
            checks[checks.length] = inputs[i];
            if (inputs[i].checked == false && inputs[i].id != 'cb_check_all')
                all_checked = false;
        }
    }
    
    for (var i = 0; i < checks.length; i++)
    {
        if (all_checked)
            checks[i].checked = false;
        else
            checks[i].checked = true;
    }
}

function changeSelectColor(obj) {
    if (obj.options[obj.selectedIndex].value == 'Положителен')
        obj.style.color = 'red';
    else
        obj.style.color = 'black';
}

function rollOver(object) {
    var ext = object.src.substring(object.src.length - 3, object.src.length);
    object.src = object.src.replace('.' + ext, '_on.' + ext);
}

function rollOut(object) {
    object.src = object.src.replace('_on', '');
}

function doAction(form, action, key) {
    document.forms[form].action.value = action;
    if (key != null)
        document.forms[form].key.value = key;
        
    document.forms[form].submit();
}

function setHelp(msg) {
    document.getElementById('helpMenu').innerHTML = msg;    
}

function clearHelp() {
    document.getElementById('helpMenu').innerHTML = '';    
}

function goToPage(form, page, lPage) {
    var cPage = parseInt(document.forms[form].currentPage.value);
    
    if (page == 'next') {
        cPage++;
    } else if (page == 'prev') {
        cPage--;
    } else if (page == 'first') {
        cPage = 1;
    } else if (page == 'last') {
        cPage = lPage;
    } else if (parseInt(page) > 0) {
        cPage = parseInt(page);
    }        
        
    
    document.forms[form].currentPage.value = cPage;
    document.forms[form].submit();
}




exec_finished = true;
var timeout_tbReloadValues = 0;

function tbReloadValues(target)
{
    if (!exec_finished)
    {
        return;
    }

    searches = $($(target).id + '_searches');
    
    if ($(target).value.length < 1)
    {
        searches.innerHTML = '';
        searches.style.visibility = 'hidden';
        return;
    }
    
    exec_finished = false;
    
    searches.innerHTML = '<center>зареждане...</center>'
    
    var ajax_url = '/admin/ajax.php?f=reloadValues&a=' + encodeURI($(target).value);
    if (clinic = $($(target).id + '_clinic_id'))
    {
        ajax_url += '&b=' + clinic.value;
    }
    
    new Ajax.Request( ajax_url ,
    {
        method:'get',
        onSuccess: function (transport) 
        {
    		searches.style.visibility = 'visible';
    		
            eval("var response = " + transport.responseText);
    		if (response.length > 0)
    		{
                populateDoctors(target, searches, transport.responseText, 0)
        	}
        	else
    	    {
    	        searches.innerHTML = '<center>Няма намерени</center>';
    	    }
    		
        },
        onFailure: function() 
        { 
            alert('Can\'t connect to AJAX server!');
        }
    });
    
    exec_finished = true;
}

function populateDoctors(target, searches, responseText, offset)
{
    cnt_display_docs = 10;

    eval("var response = " + responseText);
    
    if (!offset)
        offset = 0;
    if (offset + cnt_display_docs > response.length)
        offset = response.length - cnt_display_docs;
    if (offset < 0)
        offset = 0;
    
    if (response.length < cnt_display_docs)
        cnt_display_docs = response.length;
        
    searches.innerHTML = '';
    
    if (response.length > cnt_display_docs)
        searches.innerHTML = '<div id="updownlinks"></div>';
    
    for (var i = offset; i < cnt_display_docs + offset; i++)
    {
        searches.innerHTML += '<a class="' + $(target).id + '_searches_entry" href="#" onclick="javascript: $(\'' + $(target).id + '\').value=\'' + response[i].doctor_name.replace(/\"/g, '`') + '\'; $(\'' + ($(target).id + '_key') + '\').value=\'' + response[i].id + '\'; $(\'' + $(target).id + '_searches\').style.visibility = \'hidden\';">' + response[i].doctor_hosp.replace(/\"/g, '`') + '</a><br>';
    }
    

    searches.innerHTML += '<br>';
    searches.innerHTML += '<div align="right">';
    searches.innerHTML += '<b>' + (response.length) + '</b> намерени';
    searches.innerHTML += '</div>';
    
    if (response.length > cnt_display_docs)
    {
        var link1 = document.createElement("a");
        link1.innerHTML = "<b>&uarr;</b> ";
        link1.className = "print";
        link1.setAttribute("href", "#");
        
        var timeout1 = 0;
        link1.onmouseover = function () {
            if (timeout1 == 0)
                timeout1 = setTimeout(populateDoctors(target, searches, responseText, offset - 1), 300);
            //populateDoctors(target, searches, responseText, offset - 1);
            
            /* when the link is clicked the searches will lose focus and hide after 200ms (there's a setTimeout for it)*/
            //setTimeout("searches.style.visibility = 'visible';", 210); 
        };
        $("updownlinks").appendChild(link1);
        
        
        var link2 = document.createElement("a");
        link2.innerHTML = "<b>&darr;</b> ";
        link2.className = "print";
        link2.setAttribute("href", "#");
        
        var timeout2 = 0;
        link2.onmouseover = function () {
            if (timeout2 == 0)
                timeout2 = setTimeout(populateDoctors(target, searches, responseText, offset + 1), 300);
            //populateDoctors(target, searches, responseText, offset + 1);
            
            /* when the link is clicked the searches will lose focus and hide after 200ms (there's a setTimeout for it)*/
            //setTimeout("searches.style.visibility = 'visible';", 210); 
        };
        $("updownlinks").appendChild(link2);
    }
}