function getXMLHTTPRequest() {
return Try.these(
function() {return new ActiveXObject('Msxml2.XMLHTTP')},
function() {return new ActiveXObject('Microsoft.XMLHTTP')},
function() {return new ActiveXObject('')}
)
}//end function
function getXMLHTTPRequest() {
var request = false;
try {
var request = new XMLHttpRequest(); /*Firefox*/
} catch
(err1) {
try {
var request = new ActiveXObject('Msxml2.XMLHTTP'); /*IE*/
} catch (err2){
try {
var request = new ActiveXObject('Microsoft.XMLHTTP'); /*IE*/
} catch (err3){
request = false;
}//end catch err3
}//end catch err2
}//end catch err1
return request;
}//end function
function orderAjax(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(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 = "
Processing, Please wait...
";
if (elementID=='content_div')$(elementID).style.height = '500px';
var myAjax = new Ajax.Updater(elementID, url, {method: method, parameters: params, evalScripts: true});
if (elementID=='content_div') setTimeout(function() {$(elementID).style.height = '';},2000);
}//end function
function updateAjax(elementID, url, params, frm, after, 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(!after) after = 'Insertion.bottom';
if (serial==true) {
var params = params+Form.serialize(frm);
} //alert(elementID +' '+ url+' '+ params+' '+frm);
var myAjax = new Ajax.Updater(elementID, url, {method: method, insertion: $('debug').insert(myAjax.responseText), 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){
if (frm) {
method = 'post';
serial = true;
} else {
method = 'get';
serial = false;
}
if (serial==true) {
var params = params+Form.serialize(frm);
} //alert('elm='+elementID+' url=:'+url+' par:='+params+' reg='+reg);
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
//$(elementID).innerHTML = "
";
}//end function
function completeRegistration(data) {
if (data.responseText.indexOf('The information entered has succefully been captured')>=0){
$('content_div').update(data.responseText);
$('content_div').innerHTML;
}else {
$('msg_div').innerHTML = "
Processing, Please wait...
";
//$('msg_div').update(data.responseText);
//$('msg_div').innerHTML;
var text = urlencode(data.responseText);
requestAjax('msg_div','http://budget.dev.co.za/bubble.php','?message='+text,'','POST');
$('msg_div').style.display = 'block';
$('div_users').appendChild($('msg_div'));
}
}//endfunction
function completeRegistration2(data) {
if (data.responseText.indexOf('The information entered has succefully been captured')>=0){
document.location = "http://budget.dev.co.za/?pg=14&pgm=M&view=all&cat_idref=3";
//$('content_div').update(data.responseText);
//$('content_div').innerHTML;
//requestAjax('content_div', 'program/finance.php', '?view=all&cat_idref=3');
}else {
$('msg_div').innerHTML = "
Processing, Please wait...
";
//$('msg_div').update(data.responseText);
//$('msg_div').innerHTML;
var text = urlencode(data.responseText);
requestAjax('msg_div','http://budget.dev.co.za/bubble.php','?message='+text,'','POST');
$('msg_div').style.display = 'block';
$('div_users').appendChild($('msg_div'));
}
}//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 xmlAjax(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: 'get', parameters: params, onFailure: failed, onSucces: success, onComplete: getXML, onLoading: loading, onLoaded: loaded, onInteractive: interactive, evalScripts: true});
return myAjax;
}//end function
//===========================manual Ajax========================================//
function responseAjax (myRequest, pageElement, getXml) {
if (myRequest.readyState == 4){
//positive out put
if(myRequest.status == 200) {
//second positive out put
//alert(myRequest.responseText);
if (getXml==0) document.getElementById(pageElement).innerHTML = myRequest.responseText;
if (getXml==3) {
var myElement = document.createElement('span');
myElement.className = "grid_span";
myElement.innerHTML = myRequest.responseText;
document.getElementById(pageElement).appendChild(myElement);
}
//xml
if (getXml==1) {
setXML(myRequest.responseXML);
}//end if
} else {
//second pass error
alert("An Error has occured: "+ myRequest.statusText);
}
} else {
//waiting
if (getXml!=3)document.getElementById(pageElement).innerHTML = 'Wait please be patient';
}
}
function getAjax(url, query, getXml, pageElement, callMessage) {
//alert('url='+url+' query='+query+' getXml='+getXml+' pgeElement='+pageElement+' callMessage='+callMessage);
var myRequest = getXMLHTTPRequest();
var myRandom = parseInt(Math.random() * 99)+'-'+new Date().getTime();// optionaly add a random number @ the end of url to fool the cache
var urlModified = url+'?' +query +'&num=' +myRandom; //verify that your url has the element ?
myRequest.open('GET', urlModified, true);
myRequest.onreadystatechange = function() {responseAjax(myRequest, pageElement, getXml);};
myRequest.send(null);
}
function postAjax(url, query, getXml, pageElement, callMessagel) {
var myRequest = getXMLHTTPRequest();
var myRandom = parseInt(Math.random() * 9999);// optionaly add a random number @ the end of url to fool the cache
var urlModified = url+'?' +query +'&num=' +myRandom; //verify that your url has the element ?
myRequest.open('POST', urlModified , true);
myRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
myRequest.onreadystatechange = function() {responseAjax(pmyRequest, pageElement, getXml);};
myRequest.send(null);
}
//================================================set to get xml variable===============================================//
var req_call;
var the_frm;
make_ajax_xml = function( url, params, frm) {
the_frm = frm;
if (frm) {
method = 'POST';
serial = true;
} else {
method = 'GET';
serial = false;
}
if(!params) params = '';
if (serial==true) {
var url = url+'?'+params+'&'+Form.serialize(frm);
} else {
var url = url+params;
} //alert(frm+' [1] '+url+' [2] '+params+' ');
req_call = getXMLHTTPRequest();
req_call.open(method, url, true);
req_call.onreadystatechange = call_status_state;
req_call.send(null);
}//endfunc
call_status_state = function() {
if (req_call.readyState == 4) {
if (req_call.status == 200) {
//alert(req_call.responseText);
if(req_call.responseText){calculate_xml(req_call.responseXML);}
}//endif
}//endif
}//endfunc
calculate_xml = function(responseXML) {
var return_xml_array = new Array();
var return_xml_array_count = new Array();
var nothing;
var the_id;
var count = 0;
$('thinking_div').style.display = 'none';
// no matches returned
if (responseXML == null) {
return false;
} else {
var the_node = responseXML.firstChild;
//var the_node = responseXML.getElementsByTagName('finance')[0];
if (the_node.childNodes.length > 0) {
for (loop = 0; loop < the_node.childNodes.length; loop++) {
var record = the_node.childNodes[loop];
try {
nothing = record.getElementsByTagName('empty')[0].childNodes[0].nodeValue;
} catch(err) {
nothing = false;
}
if (record.childNodes.length>0){
if (nothing!='Nothing'){
var set4 = record.getElementsByTagName('pkey')[0].childNodes[0].nodeValue;
for (xX = 0; xX < record.childNodes.length; xX++) {
var field = record.childNodes[xX];
if (field.childNodes.length>0){
return_xml_array[field.nodeName] = field.childNodes[0].nodeValue;
return_xml_array_count[count] = field.childNodes[0].nodeValue;
count++;
//alert('node name = '+field.nodeName+' value ='+field.childNodes[0].nodeValue);
}//endif
}//endfor
} else {
nothing = 'Nothing';
}//endif
}//endif
}//endfor
}//endif
//the_frm.finance_id.value = set4;
custom_xml(the_frm, return_xml_array, return_xml_array_count);
}//endif
}//end funct
get_ajax_xml = function( url, params, frm) {
the_frm = frm;
if (frm) {
method = 'POST';
serial = true;
} else {
method = 'GET';
serial = false;
}
if(!params) params = '';
if (serial==true) {
var url = url+'?'+params+Form.serialize(frm);
} else {
var url = url+params;
} //alert(frm+' [1] '+url+' [2] '+params+' ');
req_call = getXMLHTTPRequest();
req_call.open(method, url, true);
req_call.onreadystatechange = make_call;
req_call.send(null);
}//endfunc
make_call = function() {
if (req_call.readyState == 4) {
if (req_call.status == 200) {
//alert(req_call.responseText);
if(req_call.responseText){set_var_name(req_call.responseXML);}
}//endif
}//endif
}//endfunc
set_var_name = function(responseXML, complete) {
var return_xml_array = new Array();
var incomes = 0;
var expense = 0;
var loan = 0;
var savings = 0;
var cards = 0;
var nothing;
var the_d;
var set7;
var setI = parseInt($('frequency_selected').value);
var setII;
$('thinking_div').style.display = 'none';
// no matches returned
if (responseXML == null) {
return false;
} else {
//var the_node = responseXML.firstChild;
var the_node = responseXML.getElementsByTagName('finance')[0];
if (the_node.childNodes.length > 0) {
for (loop = 0; loop < the_node.childNodes.length; loop++) {
var record = the_node.childNodes[loop];
try {
nothing = record.getElementsByTagName('empty')[0].childNodes[0].nodeValue;
} catch(err) {
nothing = false;
}
if (record.childNodes.length>0){
if (nothing!='Nothing'){
var set1 = record.getElementsByTagName('total')[0].childNodes[0].nodeValue;
var set2 = record.getElementsByTagName('cat_idref')[0].childNodes[0].nodeValue;
var set3 = record.getElementsByTagName('group_name')[0].childNodes[0].nodeValue;
var set4 = record.getElementsByTagName('pkey')[0].childNodes[0].nodeValue;
var set5 = record.getElementsByTagName('frequency')[0].childNodes[0].nodeValue;
var set6;
var set8 = record.getElementsByTagName('category_no')[0].childNodes[0].nodeValue;
switch (set5) {
case 'Dailly': set5 = 30; break;
case 'Weekday': set5 = 21.5; break;
case 'Weekly': set5 = 4.3; break;
case 'FortNight': set5 = 2.15; break;
case 'Monthly': set5 = 1; break;
case 'Bi-Monthly': set5 = 1/2; break;
case 'Quartely': set5 = 1/4; break;
case 'Semester': set5 = 1/6; break;
case 'Yearly': set5 = 1/12; break;
default: set5 = 1;
}
switch (setI) {
case 0: setII = 30; break;
case 1: setII = 21.5; break;
case 2: setII = 4.3; break;
case 3: setII = 2.15; break;
case 4: setII = 1; break;
case 5: setII = 1/2; break;
case 6: setII = 1/4; break;
case 7: setII = 1/6; break;
case 8: setII = 1/12; break;
default: setII = 1;
}
set1 = set1 * set5 / setII;
if (set6 !=set2){
set6 = set2;
set7 = set1;
} else {
set7 += set1;
}
if(set3=='Expense') {expense += parseFloat(set7);};
if(set3=='Income') incomes += parseFloat(set7);
if(set3=='Loans') loan += parseFloat(set7);
if(set3=='Savings') savings += parseFloat(set7);
if(set3=='Cards') cards += parseFloat(set7);
var before = $('finance_field'+set2).value;
$('finance_field'+set2).value = formatNumber(set7,2,'.',',','','','-','CR');
var after = $('finance_field'+set2).value;
if (set8 == set2) {
//new Effect.Shake('finance_field'+set2, {duration:2});
new Effect.Pulsate('finance_field'+set2, {duration:2, from:0.1, pulse: 3});
new Effect.Highlight('finance_field'+set2,{startcolor:'#ff9900',endcolor:'#ececec',restorecolor: "#ececec",duration:3});
}
$('incomes_div').value = formatNumber(incomes,2,',','.','','','-','');
$('expense_div').value = formatNumber(expense,2,',','.','','','-','');
$('loan_div').value = formatNumber(loan,2,',','.','','','-','');
$('savings_div').value = formatNumber(savings,2,',','.','','','-','');
$('cards_div').value = formatNumber(cards,2,',','.','','','-','');
} else {
nothing = 'Nothing';
}//endif
}//endif
}//endfor
}//endif
if (the_frm) the_id = the_frm.finance_id;
$('project_div').value = formatNumber((incomes - expense - loan -savings - cards),2,',','.','','','-','');
if (set4!='none' && the_id && nothing != 'Nothing') the_frm.finance_id.value = set4;
}//endif
}//end funct
get_rss = function( url, params, frm) {
if (frm) {
method = 'POST';
serial = true;
} else {
method = 'GET';
serial = false;
}
if(!params) params = '';
if (serial==true) {
var url = url+'?'+params+Form.serialize(frm);
} else {
var url = url+params;
} //alert(frm+' [1] '+url+' [2] '+params+' ');
req_call = getXMLHTTPRequest();
req_call.open(method, url, true);
req_call.onreadystatechange = rss_call;
req_call.send(null);
}//endfunc
rss_call = function() {
if (req_call.readyState == 4) {
if (req_call.status == 200) {
//alert(req_call.responseText);
if(req_call.responseText){set_rss_name(req_call.responseXML);}
}//endif
}//endif
}//endfunc
set_rss_name = function(responseXML, complete) {
var return_xml_array = new Array();
var table = document.getElementById('table_news');
var record=0;
//$('thinking_div').style.display = 'none';
// no matches returned
if (responseXML == null) {
return false;
} else {
var the_node = responseXML.getElementsByTagName('channel')[0];
if (the_node.childNodes.length > 0) {
for (loop = 0; loop < the_node.childNodes.length; loop++) {
//record = the_node.getElementsByTagName('item')[loop];alert(record);
var record = the_node.childNodes[loop];//alert(record.nodeName);
if (record.nodeName=='item') {
if (record.childNodes.length>0){
var title = record.getElementsByTagName('title')[0].childNodes[0].nodeValue;
var link = record.getElementsByTagName('link')[0].childNodes[0].nodeValue;
var description= record.getElementsByTagName('description')[0].childNodes[0].nodeValue;
var pubDate = record.getElementsByTagName('pubDate')[0].childNodes[0].nodeValue;
var category = record.getElementsByTagName('category')[0].childNodes[0].nodeValue;
var tr = document.createElement('tr');
var td = document.createElement('td');
var linkB = document.createElement('a');
var linkA = document.createElement('a');
var br = document.createElement('br');
var txt = document.createTextNode(title);
pubDate = pubDate.slice(0,-4);
pubDate = new Date(pubDate);
pubDate = pubDate.format('d F Y');
pubDate = document.createTextNode(pubDate);
td.align = 'left';
td.className = 'latest';
td.valign = 'top';
linkA.href = link;
linkA.className= 'latestnews';
linkB.href = link;
linkB.className= 'latestnews-b';
linkA.appendChild(txt);
linkB.appendChild(pubDate);
td.appendChild(linkB);
td.appendChild(br);
td.appendChild(linkA);
tr.appendChild(td);
table.appendChild(tr);
}//endif
}//endif
}//endfor
}//endif
}//endif
}//end funct
required_update = function (sel, tbl, table, opt){
var value= sel.value;
var browse = detectBrowser();
if(opt=='form') var form = sel;
else var form = get_form(sel);
if(!tbl)tbl = 'tables.php';
pass = true;
//enable_fields2(sel);
if (browse!='IE' && browse!='IE8') {
form.getElements().each(function(set){
if(set.type!='hidden' && set.disabled == true) pass=false;
});
} else {
for( var i = 0; i < form.elements.length; i++ ) {
if(form.elements[i].type!='hidden' && form.elements[i].disabled == true) pass=false;
}
} //alert(pass+'='+tbl+'='+form);
if(pass)requestAjax('debug',tbl, '?option='+table+'&form='+form.id+'&', form);
//if(pass)postAjax(tbl, '?option='+table+'&', form);
}//endfunc
required_update2 = function (sel, tbl, params, validate) {
var value= sel.value;
var browse = detectBrowser();
form = get_form(sel);
if(!tbl)tbl = 'tables.php';
pass = true;
$('thinking_div').style.display = 'block';
//enable_fields2(sel);
if (browse!='IE') {
form.getElements().each(function(set){
if(set.type!='hidden' && set.disabled == true) pass=false;
});
} else {
for( var i = 0; i < form.elements.length; i++ ) {
if(form.elements[i].type!='hidden' && form.elements[i].disabled == true) pass=false;
}
}
if (validate=='num') {
if ( check_number(sel) != '' ){
pass = false;
sel.value = check_number(sel);
$('thinking_div').style.display = 'none';
}
} //alert(pass+'='+tbl+'='+form+'='+check_number(sel)+'='+validate);
if(pass) get_ajax_xml(tbl, params, form);
if (!pass) $('thinking_div').style.display = 'none';
}//endfunc
var req_name;
var reference_field;
var display_field;
var complete_div_name;
var auto_row_name;
var references;
var the_table;
var the_id;
var the_form;
var ref_table;
var ref_id;
var row_id;
get_field = function(name, set) {
field = name;
father = name.parentNode;
child = father.childNodes;
for(x=0; x 0) {
complete_div_name.style.display = 'none';
for (loop = complete_div_name.childNodes.length -1; loop >= 0 ; loop--) {
complete_div_name.removeChild(complete_div_name.childNodes[loop]);
}//endif
}//endif
}//endfunc
set_msg_name = function(responseXML, complete) {
// no matches returned
if (responseXML == null) {
return false;
} else {
var the_node = responseXML.getElementsByTagName(ref_table)[0];
if (the_node.childNodes.length > 0) {
//complete_div_name.setAttribute("bordercolor", "black");
//complete_div_name.setAttribute("border", "1");
for (loop = 0; loop < the_node.childNodes.length; loop++) {
var record = the_node.childNodes[loop];
if (record.childNodes.length>0){
if (record.getElementsByTagName(ref_id)[0]) {
var record_id = record.getElementsByTagName(ref_id)[0];
var record_id_value = record_id.childNodes[0].nodeValue;
if(complete && loop==1){
reference_field.clear();
reference_field.value = record_id_value;
}//endif
}
if (record.getElementsByTagName(references)[0]) {
var record_name = record.getElementsByTagName(references)[0];
var record_name_value = record_name.childNodes[0].nodeValue;
if(complete && loop==1){
display_field.clear();
display_field.value = record_name_value;
}//endif
}
if (record.getElementsByTagName("empty")[0]) {
var record_empty = record.getElementsByTagName("empty")[0];
var record_empty_value = record_empty.childNodes[0].nodeValue;
reference_field.clear();
display_field.value = record_empty_value;
display_field.select();
}
if (complete && the_form.tagName!='FORM')postAjax('modules/tables.php','?option='+the_table+'&'+id_name+'='+row_id+'&'+reference_field.id+'='+reference_field.value);
if (complete && the_form.tagName=='FORM'){required_update(the_form, '', the_table, 'form');}
if (record_name_value && !complete) add_name(record_id_value,record_name_value);
}//endif
}//endfor
}//endif
}//endif
}//end funct
function add_name (the_id, display_field_value) {
var para_name;
var link_name;
complete_div_name.style.display = 'block';
para_name = document.createElement("p");
complete_div_name.appendChild(para_name);
para_name.className = "popupCell";
link_name = document.createElement("a");
link_name.className = "popupItem";
link_name.setAttribute("href", "javascript:void(0);");
//if (isIE)
link_name.onmousedown = function () {reference_field.value=the_id;display_field.value=display_field_value;clear_name();}
//else link_$name.setAttribute("onkeyup", clear_name();$('{$name}_ref').value="'"+the_name+"'";$('$name').value="'"+the_id+"'");
link_name.appendChild(document.createTextNode(display_field_value));
para_name.appendChild(link_name);
}
call_save = function (){
$('debug').innerHTML = "
Fields are aumotically saved...
";
setTimeout( function(){$('debug').innerHTML = "";},1250);
}
//add_body_load(initiate_name);
//initiate_name();
//$onload[] = "initiate_name";