var div = null;
var divBox = null;

var handleSuccess = function(o){
                        if(o.responseText !== undefined){
                            /*
                            div.innerHTML = o.responseText;
                            */
                            while ( div.firstChild ){
                                div.removeChild(div.firstChild);
                            }
                            var divElement = document.createElement('div');
                            divElement.innerHTML = o.responseText;
                            var docFrag = document.createDocumentFragment();
                            while (divElement.firstChild){
                                docFrag.appendChild(divElement.firstChild);
                            }
                            div.appendChild(docFrag);
                        }
                    };
                    
var handleFailure = function(o){
                        if(o.responseText !== undefined){
                            /*div.innerHTML = "Sorry, an error occured."; */
                            while ( div.firstChild ){
                                div.removeChild(div.firstChild);
                            }
                            var divElement = document.createElement('div');
                            divElement.innerHTML = "Sorry, an error occured.";
                            var docFrag = document.createDocumentFragment();
                            while (divElement.firstChild){
                                docFrag.appendChild(divElement.firstChild);
                            }
                            div.appendChild(docFrag);
                        }
                    };
                                  
var transactionObject = { 
    start:function(type, args){ 
        divBox.style.visibility='visible';
        div.innerHTML = '<p/><p/><div style="text-align:center; vertical-align: middle;"><img src="/img/loading.gif" width="48" height="48" alt="loading, please wait" title="loading, please wait"/></div>'; 
    }
}

var transactionObjectNonBoxed = { 
    start:function(type, args){ 
        div.style.visibility='visible';
        div.innerHTML = '<p/><p/><div style="text-align:center; vertical-align: middle;"><img src="/img/loadingSmall.gif" width="16" height="16" alt="..."/></div>'; 
    }
}

var callback =
{
  success:handleSuccess,
  failure:handleFailure,
  customevents:{ 
    onStart:transactionObject.start
  },
  argument:['foo','bar']
};

var callbackNonBoxed =
{
  success:handleSuccess,
  failure:handleFailure,
  customevents:{ 
    onStart:transactionObjectNonBoxed.start
  },
  argument:['foo','bar']
};

function makeAsynRequestBoxed(url,data,target){
    url2='/ajax_php/'+url;
    divBox=document.getElementById(target);
    divBox.style.visibility='visible';
    div=document.getElementById(target+'HTML');
    var request = YAHOO.util.Connect.asyncRequest('POST', url2, callback, data);
    var pageTracker = _gat._getTracker("UA-3853934-1");
    pageTracker._initData();
    pageTracker._setDomainName("feiyr.com");
    pageTracker._trackEvent("Ajax", "Request", url);
    
}

function makeAsynRequest(url,data,target){
    url2='/ajax_php/'+url;
    div=document.getElementById(target);
    div.style.visibility='visible';
    var request = YAHOO.util.Connect.asyncRequest('POST', url2, callbackNonBoxed, data);
    var pageTracker = _gat._getTracker("UA-3853934-1");
    pageTracker._initData();
    pageTracker._setDomainName("feiyr.com");
    pageTracker._trackEvent("Ajax", "Request", url);
}


// Shortcut Funktionen 
function showHelpBox(helpTextCode, language){
    makeAsynRequestBoxed('helpMessages.php',{helpTextCode: helpTextCode, l:language},'helpBox');
}

