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, onSuccess: 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('element='+elementID +' url='+ url+' params='+ params+' form='+frm); $(elementID).innerHTML = "

Processing, Please wait...

"; var myAjax = new Ajax.Updater(elementID, url, {method: method, parameters: params, evalScripts: true}); }//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(set) { alert('Error:'+set.responseText); } function success(set) { if (set.responseText) alert(set.responseText); } 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, onSuccess: 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(myRequest, 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; $('thinking_div').style.display = ''; 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); //$('debug').innerHTML = 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('purchase')[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";