9// Generic ajax functions not specific to any project

// ####   DOJO version  #### ///
function ajaxtest(text){
alert(text)
}
function execAjax(passedvars){
//passedvars=new Object
//passedvars.handleAs=handleas

//form must be an ID !!!!!

// the following object uses expeceted fields for ajax
var defaults=new Object
defaults.url=null
defaults.form=null
defaults.content=null
defaults.handleAs='json'
defaults.sync=true
defaults.timeout=null
defaults.preventCache=false
defaults.load=function (response, ioArgs) {rdata=response;return response;}
defaults.error= function (response, ioArgs) {return response;}
defaults.handle= function (data, args) {/*console.log('all cases')*/}
defaults.getpost="POST"
var rdata=null

//now override in any variables in passed in object
for(passedobj in passedvars){
      defaults[passedobj]=passedvars[passedobj]
}

getpost=defaults.getpost
delete(defaults.getpost)
if(getpost=="GET")
	dojorequest=dojo.xhrGet(defaults);
	else dojorequest=dojo.xhrPost(defaults);
return rdata
}




function callDojoReplaceNode(content,fullUrl,replacenode){
if(replacenode!=null)
	var loadfunc=function(response,ioArgs){replacenode.innerHTML=response};
	else var loadfunc=function(response,ioArgs){console.log(response)};

//callDojoResponse(data,'/data/filtertab','','','')
//console.log(jsondata)
var errorfunc= function (response, ioArgs) {return response}
var handlefunc= function (data, args) {//console.log('all cases')
}
var form=null
var handleas=null
var getpost='GET'
var sync=false

result=execAjax(fullUrl,form,content,handleas,sync,getpost,loadfunc,errorfunc,handlefunc)
}

// Generic Zend Framework ajax calls using execAjax

function callAjaxController(controller,action,data){
// generic ajax to retrieve some data or make change in zend framework
// data is an array
data=dojo.toJson(data) //turn data into json
url=controller+'/'+action
content={'data':data}
form=null
handleas='text'
sync=false
passobj={"url": url,"form":form,"content":content,"handleAs":handleas,"sync":sync}
execAjax(passobj,fullUrl,form,content,'text',false);
}

function handleResponse(transport){
$('hello').innerHTML = transport.responseText;
}


//   #### PROTOTYPE VERSION of AJAX  ##### //

//creates a prototype Ajax object, sends a request, and registers the callback function ‘handleResponse'
function callAjax(s){
//creates a prototype Ajax object, sends a request, and registers the callback function ‘handleResponse'
//console.log('hello');
//remember to put a word separator between elements of the camelcase action name, per the ZF manual:
var myAjax = new Ajax.Request('index/get-data',
{method: 'get', parameters: {state: s},
onComplete: handleResponse});
}

















