function isset() {
    var a=arguments; var l=a.length; var i=0;

    if (l==0) {
        throw new Error('Empty isset');
    }//end if

    while (i!=l) {
        if (typeof(a[i])=='undefined' || a[i]===null) {
            return false;
        } else {
            i++;
        }//endif
    }
    return true;
}//end function

function getXMLHTTPRequest() {
return Try.these(
    function() {return new ActiveXObject('Msxml2.XMLHTTP')},
    function() {return new ActiveXObject('Microsoft.XMLHTTP')},
    function() {return new ActiveXObject('')}
    )
}//end function

function postAjax(url, params, frm, method, serial){
 
   if (frm) {
      if(!isset(method)) method = 'post';
      if(!isset(serial)) serial = true;
    } else {
      if(!isset(method)) method = 'get';
      if(!isset(serial)) serial = false;
      if(!isset(params)) params = false;
    }
    if (serial==true) {
       var params = Form.serialize(frm);       
    }
   //alert(url+' '+ params+' '+frm);
   var myAjax = new Ajax.Request(url, {method: method, parameters: params, onFailure: failed, onSucces: success, onComplete: complete, onLoading: loading, onLoaded: loaded, onInteractive: interactive, evalScripts: true});
}//end function

function requestAjax(elementID, url, params, frm, method, serial){
    
    if (frm) {
      if(!isset(method)) method = 'post';
      if(!isset(serial)) serial = true;
    } else {
      if(!isset(method)) method = 'get';
      if(!isset(serial)) serial = false;
      if(!isset(params)) params = false;      
    }
    if (serial==true) {
       var params = params+Form.serialize(frm);
    }  //alert(elementID+' '+url+' '+params+' '+frm);
    //$(elementID).innerHTML = "<img src='http://smokesurvey.dev.co.za/images/loader.gif' />";
    $(elementID).innerHTML = "<img src='http://www.proactivesurvey.com/images/load_image.gif' />";
    var myAjax = new Ajax.Updater(elementID, url, {method: method, parameters: params, evalScripts: true});
   
}//end function
function multilevelAjax(elementID, url, params, frm, method, serial){
    
    if (frm) {
      if(!isset(method)) method = 'post';
      if(!isset(serial)) serial = true;
    } else {
      if(!isset(method)) method = 'get';
      if(!isset(serial)) serial = false;
      if(!isset(params)) params = false;      
    }
    if (serial==true) {
       var params = params+Form.serialize(frm);
    }  //alert(elementID+' '+url+' '+params+' '+frm);
    //$(elementID).innerHTML = "<img src='http://smokesurvey.dev.co.za/images/loader.gif' />";
    $(elementID).innerHTML = "<img src='http://www.proactivesurvey.com/images/load_image.gif' />";
    var myAjax = new Ajax.Updater(elementID, url, {method: method, parameters: params, evalScripts: true});
   
}//end function
function periodAjax(elementID, url, frm, method, serial,  params, dec, frq){
    
    if (frm) {
       if(!isset(method))  method   = 'post';
       if(!isset(serial))  serial   = true;
       if(!isset(dec))     dec      = 2.0;
       if(!isset(frq))     frq      = 3.0;
    } else {
      if(!isset(method)) method = 'get';
      if(!isset(serial)) serial = false;
      if(!isset(params)) params = false;
      if(!isset(dec))     dec      = 2.0;
      if(!isset(frq))     frq      = 3.0;
    }
    if (serial==true) {
       var params = Form.serialize(frm);       
    }
    var myAjax = new Ajax.PeriodicalUpdater(url, {method: method, parameters: params, onComplete: complete,onLoading: loading, onLoaded: loaded, onInteractive: interactive, frequency: frq, decay: dec});
}//end function

function registerAjax(elementID, url, params, frm, reg){
    $(elementID).innerHTML = "<img src='http://smokesurvey.dev.co.za/images/loader.gif' />";
    
    if (frm) {
      method = 'post';
      serial = true;
    } else {
      method = 'get';
      serial = false;
      params = false;
    }

    if (serial==true) {
       var params = params+Form.serialize(frm);
    }  //alert(elementID+' '+url+' '+params+' ');
    if (reg=='register'){
      var myAjax = new Ajax.Updater('', url, {method: method, parameters: params, onComplete: completeRegistration2, evalScripts: true});
    } else {
       var myAjax = new Ajax.Updater('', url, {method: method, parameters: params, onComplete: completeRegistration, evalScripts: true});
    }//endif
    
}//end function

function completeRegistration(data) {
   if (data.responseText.indexOf('Registered')>=0){
      $('content_div').update(data.responseText);
      $('content_div').innerHTML;
   }else {
      $('msg_div').update(data.responseText);
      $('msg_div').innerHTML;
   }
}//endfunction
function completeRegistration2(data) {
   if (data.responseText.indexOf('Registered')>=0){
      document.location = "http://www.proactivesurvey.com/?pg=8&pgm=M&register=passed";
   }else {
      $('msg_div').update(data.responseText);
      $('msg_div').innerHTML;
   }
}//endfunction

function complete(){

}
function loading(){

}
function loaded(){

}
function interactive() {
   
}
function failed() {
   alert('failed');
   $('msg_div').update(data.responseText);
   $('msg_div').innerHTML;
}
function success() {
   alert('passed');
   $('msg_div').update(data.responseText);
   $('msg_div').innerHTML;
}
/*function postAjax(url, params, method){
    if (!isset(options)) {
        options = "method: "+method+", parameters: "+params+", onComplete: complete,";
        options += " onLoading: loading, onLoaded: loaded, onInteractive: interactive";
    }
    var myAjax = new Ajax.Request(url, {options});
}//end function
*/
