
var ajaxSearchParams = new Array();

var target;
var targetValue;
function ajaxSearchStart(params, ptarget, ptargetValue) {
    var page = "ajaxSearch";
    target = ptarget;
    targetValue = ptargetValue;

    new Ajax.Request(page,
                     {
                         method: 'get',
                             parameters: params,
                             onComplete: replySearchStart                                                   
                             });
}
                  
function replySearchStart (request) {
    xml=request.responseXML;
    var root = xml.documentElement;
    var responseNodes = root.getElementsByTagName("response");
    if (responseNodes.length > 0) {
        target.length=0;
        var responseNode = responseNodes[0];
        var itemNodes = responseNode.getElementsByTagName("item");
        for (var i=0; i< itemNodes.length; i++) {
            var nameNodes = itemNodes[i].getElementsByTagName("name");
            var valueNodes = itemNodes[i].getElementsByTagName("value");
            var name = "";
            if (nameNodes[0].firstChild != null) {
                name = nameNodes[0].firstChild.nodeValue;
            } 
            var value = "";
            if (nameNodes[0].firstChild != null) {
                value = valueNodes[0].firstChild.nodeValue;
            } 
            target.options[i] = new Option(name, value);
            if(value == targetValue) {
                target.options[i].selected = true;
            }
        }          
    }                   
}      

function checkEnter(e){
    var characterCode;
    if(e && e.which){
        e = e;
        characterCode = e.which;
    }
    else{
        e = event;
        characterCode = e.keyCode;
    }
    
    if(characterCode == 13){
        selectAllResultParams();
        document.forms[0].submit();
        return false;
    }
    else{
        return true;
    }
}

function checkEnter2(e){
    var characterCode;
    if(e && e.which){
        e = e;
        characterCode = e.which;
    }
    else{
        e = event;
        characterCode = e.keyCode;
    }
    
    if(characterCode == 13){
        document.forms[0].submit();
        waitForResponse();

        return false;
    }
    else{
        return true;
    }
}

function waitForResponse(){
        jQuery.blockUI({ css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        } });
}

function fillFakeParams (f) {
   var str = '';
   var elem = f.elements;

   for(var i = 0; i < elem.length; i++)  {
       
       str = elem[i].name;

       if(str.indexOf("selectSearchParam(") == 0) {
           
           var name = '';
           name = str.substr(str.indexOf("(")+1);
           name = name.substr(0, name.length-1);

           var select = document.getElementById("select" + name);

           var values = "";
           var ids = "";
           var ind = 0;
           for(var j=0; j < select.options.length; j++) {
               if(select.options[j].selected) {
                   if(ind > 0) {
                       values += ",";
                       ids += ",";
                   }
                   ind = ind + 1;

                   values += select.options[j].text;
                   ids += select.options[j].value;
               }
           }

           var searchParam = document.getElementById("searchParam" + name);
           var fakeParam = document.getElementById("fake" + name);

           searchParam.value = ids;
           fakeParam.value = values;
       }
   }
}

function selectOptions (searchParam, name) {

    if(searchParam != null) {
        var values = searchParam.value;
        var myArray = values.split(',');
        var select = document.getElementById("select" + name);
        for(var j=0; j < select.options.length; j++) {
            for (var i = 0; i < myArray.length; i++) {
                if(myArray[i] == select.options[j].value) {
                    select.options[j].selected = true;
                }
            }
        }
    }
}

