var httpObj=makeHttpObject();var service;var services=new Array();var isBusy=false;function fetchData(C,A){if(isBusy){httpObj.onreadystatechange=function(){};httpObj.abort();httpObj=makeHttpObject()}try{isBusy=true;httpObj.open("GET",A,true);httpObj.onreadystatechange=services[C]["getHttpResponse"];services[C]["httpObject"]=httpObj;httpObj.send(null)}catch(B){alert(B)}}function makeHttpObject(){try{if(window.ActiveXObject){xmlHttpObj=new ActiveXObject("Msxml2.XMLHTTP")}else{xmlHttpObj=false}}catch(A){try{if(window.ActiveXObject){xmlHttpObj=new ActiveXObject("Microsoft.XMLHTTP")}else{xmlHttpObj=false}}catch(A){xmlHttpObj=false}}if(!xmlHttpObj&&typeof window.XMLHttpRequest!="undefined"){try{xmlHttpObj=new XMLHttpRequest()}catch(A){xmlHttpObj=false}}return xmlHttpObj}function findPosX(A){var B=0;if(A.offsetParent){while(A.offsetParent){B+=A.offsetLeft;A=A.offsetParent}}else{if(A.x){B+=A.x}}return B}function findPosY(B){var A=0;if(B.offsetParent){A+=B.offsetHeight;while(B.offsetParent){A+=B.offsetTop;B=B.offsetParent}}else{if(B.y){A+=B.y;A+=B.height}}return A}function bindElementToService(A,C,D,B){services[D]["inEle"]=A;services[D]["outEle"]=B;getData(C,D)}function getData(C,D){var B=services[D]["inEle"];var A=makeURL(D,B);if(isDataToBeFetched(B,C,D)){fetchData(D,A)}}function serve(B,A){A=format(B,A);display(B,A)}function isDataToBeFetched(A,B,C){return services[C]["isDataToBeFetched"](A,B)}function registerService(B,A){if(A.makeURL==undefined){alert("Function makeURL for "+B+" service is not defined !!")}else{if(A.display==undefined){alert("Function Display for "+B+" service is not defined !!")}else{if(A.format==undefined){alert("Function format for "+B+" service is not defined !!")}else{if(A.isDataToBeFetched==undefined){alert("Function isDataToBeFetched for "+B+" service is not defined !!")}else{services[B]=A;return true}}}}return false}function makeURL(A,B){return services[A]["makeURL"](B)}function format(B,A){return services[B]["format"](A)}function display(B,A){services[B]["display"](services[B]["inEle"],A,services[B]["outEle"])}function getHttpResponse(A){var C;if(A.readyState==4){try{if(A.status==200){C=A.responseText;isBusy=false}}catch(B){try{if(A.status==200){C=A.responseText;isBusy=false}}catch(B){try{if(A.status==200){C=A.responseText;isBusy=false}}catch(B){}}}return C}}function isReady(A){if(A.readyState<4){return false}return true};