function createREQ() {
    try {
        req = new XMLHttpRequest(); /* e.g. Firefox */
    } catch(err1) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP'); /* some versions IE */
        } catch (err2) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP"); /* some versions IE */
            } catch (err3) {
                req = false;
            }
        }
    }
    return req;
}
function requestGET(url, query, req) {
    myRand=parseInt(Math.random()*99999999);
    req.open("GET",url+'?'+query+'&rand='+myRand,true);
    req.send(null);
}
function requestPOST(url, query, req) {
    req.open("POST", url,true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send(query);
}
function doCallback(callback,item) {
    eval(callback + '(item)');
}

function doAjax(url,query,callback,reqtype,getxml,loading) {
    // create the XMLHTTPRequest object instance
    var myreq = createREQ();

    myreq.onreadystatechange = function() {
        if(myreq.readyState == 4) {
            if(myreq.status == 200) {
                var item = myreq.responseText;
                if(getxml==1) {
                    item = myreq.responseXML;
                }
                doCallback(callback, item);
            }
        }
        else {
            // eval(loading+'()');
        }
    }

    if(reqtype=='post') {
        requestPOST(url,query,myreq);
    } else {
        requestGET(url,query,myreq);
    }

}
function updateBreed(){
    //alert('callled');
    animal = document.getElementById('animal').value;
    //alert(animal);
    doAjax('fetchBreeds.php','animal='+animal,'updateBreedOptions','get','0','');

}

function updateAdminBreed(){
    //alert('callled');
    animal = document.getElementById('animal').value;
    rbreed = document.getElementById('rbreed').value;
    //alert(animal);
    doAjax('fetchBreeds.php','animal='+animal+'&breed='+rbreed,'updateBreedOptions','get','0','');

}

function updateBreedOptions(text)
{
    //alert(text);
    if(text=="")
    {
        document.getElementById('formbreedrow').style.display = 'none';
    }
    else
    {
        document.getElementById('formbreedrow').style.display = '';
        document.getElementById('breed').style.display = '';
        document.getElementById('breed').innerHTML = text;
        document.getElementById('breed_m').style.display = 'none';
    }

}

function updateSBreed(){
    //alert('callled');
    animal = document.getElementById('sanimal').value;
    //alert(animal);
    doAjax('fetchBreeds.php','animal='+animal,'updateSBreedOptions','get','0','');

}
function updateSBreedOptions(text)
{
    if(text==""){	
        document.getElementById('searchBreedSize').style.display = 'none';
    }else{
        document.getElementById('searchBreedSize').style.display = 'block';
        document.getElementById('sbreed').innerHTML = text;
        alert(document.getElementById('sbreed').innerHTML);
    }
}

function updateState(){
    //alert('callled');
    country = document.getElementById('countrySel').value;
    //alert(animal);
    doAjax('fetchState.php','country='+country,'updateStateOptions','get','0','');

}

function updateStateOptions(text)
{
    document.getElementById('stateSel').innerHTML = text;
}


