Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Power Lifting Lever Belt
SkullVamp
Updated:
Saturday at 10:32 PM
Ad icon
port.lk Domain for sale
Lankan-Tech
Updated:
Saturday at 3:55 PM
Colombo
Kaduwela - Two Storey House for Sale
dilrasan
Updated:
Jun 11, 2026
Ad icon
Wechat qr verification
Pawan2005
Updated:
Jun 11, 2026
🚀 GOOGLE AI PRO 18 MONTHS ACTIVATION 🚀
sayuru bandara
Updated:
Jun 10, 2026
Electronics
Vehicles
Property
Search
Reply to thread
Forums
General
Education
Ajax Tutorial By Core
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="Core" data-source="post: 10759697" data-attributes="member: 263471"><p style="text-align: center"><strong><span style="font-size: 18px">Ajax Tutorial</span></strong></p> <p style="text-align: center"></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">Now first of all you need to understand what does it mean Ajax.</span></p><p><span style="font-size: 15px">Ajax mean simply Asynchronous JavaScript Technology and XML.</span></p><p><span style="font-size: 15px">which is a sophisticated method to save the network bandwidth and decrease the response time. it only updated the particular area that you really want instead updating the whole page. which will cause to reload the page and then again repeat the request from the server.</span></p><p><span style="font-size: 15px">so in that context. it wastes the bandwidth of both server and the client.</span></p><p><span style="font-size: 15px">to resolve that Ajax can be used.</span></p><p><span style="font-size: 15px">just think you saw a website which contains videos,images,and lot of HTML contents. middle of that you need to type a message. example youtube.</span></p><p><span style="font-size: 15px">meanwhile watching a youtube video you also need to make a comment.but if it's just JavaScript/Server side script ,you won't see your comment until you refresh the page. but with Ajax you don't need to refresh the page, it will just update the page's that part without reloading the entire page. that's really useful cause it wont even your video streaming.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">Now take one by one</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">can you see this part</span></p><p><span style="font-size: 15px"><textarea cols='50' rows='10' id='t_area' name='t_area'></span></p><p><span style="font-size: 15px"></textarea></span></p><p><span style="font-size: 15px"><br /></span></p><p><span style="font-size: 15px"><input type='button' value='Click to Update' onclick="proceed(' http://www.w3schools.com/Ajax/test_xmlhttp.txt')" /></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">when you press on this button. it will trig out the event . so that event is proceed. meanwhile it passes an parameter.</span></p><p><span style="font-size: 15px">that parameter is simply a string. which contains the path to the file</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">now move ahead and see the JavaScript Part</span></p><p><span style="font-size: 15px">so this is the JavaScript Part</span></p><p><span style="font-size: 15px">function proceed(url){</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px">whatever you insert regarding this scenario should go within this proceed function. actually there are two things in programming world that you can categorize codes. first functions, procedures.</span></p><p><span style="font-size: 15px">but in JavaScript you only see functions though it's irrelevant to return any value. in function it returns a value but in procedures it won't just void 0;</span></p><p><span style="font-size: 15px">you can see that in JAva/C++/C# etc.. language but since Javascript is a lightweight it doesn't.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">now step to step back to the codes</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">(1)</span></p><p><span style="font-size: 15px">I used this part to make sure the event trig out the function</span></p><p><span style="font-size: 15px">document.getElementById('t_area').value = "updated";</span></p><p><span style="font-size: 15px">if it works surely you can see at least the "updated" string in the textbox</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">(2)</span></p><p><span style="font-size: 15px">Now second part</span></p><p><span style="font-size: 15px">if(window.XMLHttpRequest)</span></p><p><span style="font-size: 15px">{</span></p><p><span style="font-size: 15px">xml_object = new XMLHttpRequest();</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px">else</span></p><p><span style="font-size: 15px">{</span></p><p><span style="font-size: 15px">xml_object = new ActiveXObject('Microsoft.XMLHTTP');</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">actually you need to remember IE uses different object for Ajax while Chrome/firefox/opera in same boat.</span></p><p><span style="font-size: 15px">window.XMLHttpRequest is used to make sure this browser supports to</span></p><p><span style="font-size: 15px">XMLHttpRequest or not. if it doesn't simply that command will be null.</span></p><p><span style="font-size: 15px">null means it won't execute the if clause instead move onto the else part.</span></p><p><span style="font-size: 15px">ActiveXObject method is used by the IE and it's Microsoft.XMLHTTP parameter handles the Ajax part.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">it will create an object from that class and pass made object into the xml_object variable. so the data type of that variable is simply Object.</span></p><p><span style="font-size: 15px">remember Object is the thing that you made from a class.</span></p><p><span style="font-size: 15px">so you can access to all proprieties/methods of that class through that object. once you used applied null at end. so it will clean up the memory.</span></p><p><span style="font-size: 15px">in Java it does automatically. in C++ doesn't.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">Third</span></p><p><span style="font-size: 15px">xml_object.open("GET",url,true);</span></p><p><span style="font-size: 15px">xml_object.send(null);</span></p><p><span style="font-size: 15px">xml_object.onreadystatechange = on_ready;</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">so as I said early. now you made an object from the XMLHttpRequest Class and ready to move with Ajax.</span></p><p><span style="font-size: 15px">the first of all you need to open up the connection between the server and the client. for that you can use .open method.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">.open method contains. three parameters.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">1 => the pass method ether GET/POST</span></p><p><span style="font-size: 15px">2 => The path to the file that we handle. if it's XML then simply the XML file's path with its extension.</span></p><p><span style="font-size: 15px">3 => Asynchronous or not. I will explain what's that mean in next part. cause u won't understand unless.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">.send()</span></p><p><span style="font-size: 15px">send method can be used to send the request. so now client sends a request to the server.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">xml_object.onreadystatechange = on_ready;</span></p><p><span style="font-size: 15px">onreadystatechange this method simply does. activate the function got it. at each time whenever there is any changes of the request.</span></p><p><span style="font-size: 15px">will explain in next part.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">Fourth</span></p><p><span style="font-size: 15px">now the onreadystatechange method trigs out the function named on_ready whenever there is any changed with the request state.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">if (xml_object.readyState == 0) {</span></p><p><span style="font-size: 15px">document.getElementById('state_change' ).innerHTML = 'not Initialized';</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px">as usually we use the xml_object object and there is a method called readyState which can be used to determine the request state</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">0 -> means The Request is NOT Initialized</span></p><p><span style="font-size: 15px">1 -> Means The Request has been set up and ready to send to the server</span></p><p><span style="font-size: 15px">2 -> The Request passes over to the Server</span></p><p><span style="font-size: 15px">3- > The request is being processed by the server</span></p><p><span style="font-size: 15px">4- > everything is done and the response got back.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">those are the states of the request. use the appropriate one depend on the context. but you need to remember u should use 4th one for final result</span></p><p><span style="font-size: 15px">to update a progress bar or something. I guess the 2th is more suitable.</span></p><p><span style="font-size: 15px">and the 3th one is suitable if you are waiting for the reply.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">xml_object.responseText; can be used to get the response in Plain Text format. keep that in your mind use another thing if that's XML</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">Now I guess I have few more things to explain</span></p><p><span style="font-size: 15px">xml_object.open("GET",url,true);</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">which is the third parameter of the .open() method</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">if you use TRUE which means Asynchronous then that means everything handle Asynchronously. codes don't wait until it gets the reply it will proceed from wherever it stopped. but if u use false. means synchronous then it will wait until it gets the reply. which means it will proceed after the request state change to 4. this is really useful if you want to stop the code and wait until it gets the reply unless keep it as true.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">function on_ready()</span></p><p><span style="font-size: 15px">{</span></p><p><span style="font-size: 15px">if (xml_object.readyState == 0) {</span></p><p><span style="font-size: 15px">document.getElementById('state_change' ).innerHTML = 'not Initialized';</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">else if (xml_object.readyState == 1) {</span></p><p><span style="font-size: 15px">document.getElementById( 'state_change' ).innerHTML = 'has been set up';</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">else if (xml_object.readyState == 2) {</span></p><p><span style="font-size: 15px">document.getElementById( 'state_change' ).innerHTML = 'has been sent to the server';</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">else if (xml_object.readyState == 3) {</span></p><p><span style="font-size: 15px">document.getElementById('state_change' ).innerHTML = 'is in process';</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">else if (xml_object.readyState == 4) {</span></p><p><span style="font-size: 15px">document.getElementById('state_change' ).innerHTML = 'done';</span></p><p><span style="font-size: 15px">document.getElementById('t_area').value = xml_object.responseText;</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">[code]</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><html></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><head></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><script type='text/javascript'></span></p><p><span style="font-size: 15px"><!--</span></p><p><span style="font-size: 15px">function proceed(url)</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">{</span></p><p><span style="font-size: 15px"></span></p><p> <span style="font-size: 15px">document.getElementById('t_area').value = "updated"; </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"> if(window.XMLHttpRequest)</span></p><p><span style="font-size: 15px"> {</span></p><p><span style="font-size: 15px"> xml_object = new XMLHttpRequest();</span></p><p><span style="font-size: 15px"> }</span></p><p><span style="font-size: 15px"> else</span></p><p><span style="font-size: 15px"> {</span></p><p><span style="font-size: 15px"> xml_object = new ActiveXObject('Microsoft.XMLHTTP');</span></p><p><span style="font-size: 15px"> }</span></p><p> <span style="font-size: 15px"></span></p><p> <span style="font-size: 15px">xml_object.open("GET",url,true);</span></p><p> <span style="font-size: 15px">xml_object.send(null);</span></p><p> <span style="font-size: 15px">xml_object.onreadystatechange = on_ready; </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">function on_ready()</span></p><p><span style="font-size: 15px"> {</span></p><p><span style="font-size: 15px"> if (xml_object.readyState == 0) {</span></p><p><span style="font-size: 15px"> document.getElementById('state_change' ).innerHTML = 'not Initialized';</span></p><p><span style="font-size: 15px"> }</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"> else if (xml_object.readyState == 1) {</span></p><p><span style="font-size: 15px"> document.getElementById( 'state_change' ).innerHTML = 'has been set up';</span></p><p><span style="font-size: 15px"> }</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"> else if (xml_object.readyState == 2) {</span></p><p><span style="font-size: 15px"> document.getElementById( 'state_change' ).innerHTML = 'has been sent to the server';</span></p><p><span style="font-size: 15px"> }</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"> else if (xml_object.readyState == 3) {</span></p><p><span style="font-size: 15px"> document.getElementById('state_change' ).innerHTML = 'is in process';</span></p><p><span style="font-size: 15px"> }</span></p><p> <span style="font-size: 15px"></span></p><p><span style="font-size: 15px"> else if (xml_object.readyState == 4) {</span></p><p><span style="font-size: 15px"> document.getElementById('state_change' ).innerHTML = 'done';</span></p><p><span style="font-size: 15px"> document.getElementById('t_area').value = xml_object.responseText; </span></p><p><span style="font-size: 15px"> }</span></p><p><span style="font-size: 15px"> }</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">}</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">//--></span></p><p><span style="font-size: 15px"></script></span></p><p><span style="font-size: 15px"><noscript>Your browser doesn't support to Javascript or you may need to enable that</noscript> </span></p><p><span style="font-size: 15px"><head></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><body></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><textarea cols='50' rows='10' id='t_area' name='t_area'></span></p><p><span style="font-size: 15px"></textarea></span></p><p><span style="font-size: 15px"><br /></span></p><p><span style="font-size: 15px"><input type='button' value='Click to Update' onclick="proceed(' http://www.w3schools.com/Ajax/test_xmlhttp.txt')" /></span></p><p><span style="font-size: 15px"><br /></span></p><p><span style="font-size: 15px"><p>Current State : </p><p id= 'state_change' name='state_change' ></p> </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></body></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></html></span></p><p><span style="font-size: 15px">[/code]</span></p><p><span style="font-size: 15px"></span></p><p><strong><span style="font-size: 18px"><img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /> By CORE /2011/05/20</span></strong></p><p><strong><span style="font-size: 18px">DON'T STEAL MY ARTICLE/CODES WITHOUT MY PERMISSION.</span></strong></p><p><strong><span style="font-size: 18px">THIS IS 100% PLAGIARISM FREE THAT MEANS MY OWN WORK.</span></strong></p><p><strong>I WROTE THIS ARTICLE AROUND MAY AND PUT IN HERE IN THIS MONTH (JULY)</strong><img src="http://www.elakiri.com/forum/images/icons/sq/11.gif" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p></blockquote><p></p>
[QUOTE="Core, post: 10759697, member: 263471"] [CENTER][B][SIZE=5]Ajax Tutorial[/SIZE][/B] [/CENTER] [SIZE=4] Now first of all you need to understand what does it mean Ajax. Ajax mean simply Asynchronous JavaScript Technology and XML. which is a sophisticated method to save the network bandwidth and decrease the response time. it only updated the particular area that you really want instead updating the whole page. which will cause to reload the page and then again repeat the request from the server. so in that context. it wastes the bandwidth of both server and the client. to resolve that Ajax can be used. just think you saw a website which contains videos,images,and lot of HTML contents. middle of that you need to type a message. example youtube. meanwhile watching a youtube video you also need to make a comment.but if it's just JavaScript/Server side script ,you won't see your comment until you refresh the page. but with Ajax you don't need to refresh the page, it will just update the page's that part without reloading the entire page. that's really useful cause it wont even your video streaming. Now take one by one can you see this part <textarea cols='50' rows='10' id='t_area' name='t_area'> </textarea> <br /> <input type='button' value='Click to Update' onclick="proceed(' http://www.w3schools.com/Ajax/test_xmlhttp.txt')" /> when you press on this button. it will trig out the event . so that event is proceed. meanwhile it passes an parameter. that parameter is simply a string. which contains the path to the file now move ahead and see the JavaScript Part so this is the JavaScript Part function proceed(url){ } whatever you insert regarding this scenario should go within this proceed function. actually there are two things in programming world that you can categorize codes. first functions, procedures. but in JavaScript you only see functions though it's irrelevant to return any value. in function it returns a value but in procedures it won't just void 0; you can see that in JAva/C++/C# etc.. language but since Javascript is a lightweight it doesn't. now step to step back to the codes (1) I used this part to make sure the event trig out the function document.getElementById('t_area').value = "updated"; if it works surely you can see at least the "updated" string in the textbox (2) Now second part if(window.XMLHttpRequest) { xml_object = new XMLHttpRequest(); } else { xml_object = new ActiveXObject('Microsoft.XMLHTTP'); } actually you need to remember IE uses different object for Ajax while Chrome/firefox/opera in same boat. window.XMLHttpRequest is used to make sure this browser supports to XMLHttpRequest or not. if it doesn't simply that command will be null. null means it won't execute the if clause instead move onto the else part. ActiveXObject method is used by the IE and it's Microsoft.XMLHTTP parameter handles the Ajax part. it will create an object from that class and pass made object into the xml_object variable. so the data type of that variable is simply Object. remember Object is the thing that you made from a class. so you can access to all proprieties/methods of that class through that object. once you used applied null at end. so it will clean up the memory. in Java it does automatically. in C++ doesn't. Third xml_object.open("GET",url,true); xml_object.send(null); xml_object.onreadystatechange = on_ready; so as I said early. now you made an object from the XMLHttpRequest Class and ready to move with Ajax. the first of all you need to open up the connection between the server and the client. for that you can use .open method. .open method contains. three parameters. 1 => the pass method ether GET/POST 2 => The path to the file that we handle. if it's XML then simply the XML file's path with its extension. 3 => Asynchronous or not. I will explain what's that mean in next part. cause u won't understand unless. .send() send method can be used to send the request. so now client sends a request to the server. xml_object.onreadystatechange = on_ready; onreadystatechange this method simply does. activate the function got it. at each time whenever there is any changes of the request. will explain in next part. Fourth now the onreadystatechange method trigs out the function named on_ready whenever there is any changed with the request state. if (xml_object.readyState == 0) { document.getElementById('state_change' ).innerHTML = 'not Initialized'; } as usually we use the xml_object object and there is a method called readyState which can be used to determine the request state 0 -> means The Request is NOT Initialized 1 -> Means The Request has been set up and ready to send to the server 2 -> The Request passes over to the Server 3- > The request is being processed by the server 4- > everything is done and the response got back. those are the states of the request. use the appropriate one depend on the context. but you need to remember u should use 4th one for final result to update a progress bar or something. I guess the 2th is more suitable. and the 3th one is suitable if you are waiting for the reply. xml_object.responseText; can be used to get the response in Plain Text format. keep that in your mind use another thing if that's XML Now I guess I have few more things to explain xml_object.open("GET",url,true); which is the third parameter of the .open() method if you use TRUE which means Asynchronous then that means everything handle Asynchronously. codes don't wait until it gets the reply it will proceed from wherever it stopped. but if u use false. means synchronous then it will wait until it gets the reply. which means it will proceed after the request state change to 4. this is really useful if you want to stop the code and wait until it gets the reply unless keep it as true. function on_ready() { if (xml_object.readyState == 0) { document.getElementById('state_change' ).innerHTML = 'not Initialized'; } else if (xml_object.readyState == 1) { document.getElementById( 'state_change' ).innerHTML = 'has been set up'; } else if (xml_object.readyState == 2) { document.getElementById( 'state_change' ).innerHTML = 'has been sent to the server'; } else if (xml_object.readyState == 3) { document.getElementById('state_change' ).innerHTML = 'is in process'; } else if (xml_object.readyState == 4) { document.getElementById('state_change' ).innerHTML = 'done'; document.getElementById('t_area').value = xml_object.responseText; } } [code] <html> <head> <script type='text/javascript'> <!-- function proceed(url) { document.getElementById('t_area').value = "updated"; if(window.XMLHttpRequest) { xml_object = new XMLHttpRequest(); } else { xml_object = new ActiveXObject('Microsoft.XMLHTTP'); } xml_object.open("GET",url,true); xml_object.send(null); xml_object.onreadystatechange = on_ready; function on_ready() { if (xml_object.readyState == 0) { document.getElementById('state_change' ).innerHTML = 'not Initialized'; } else if (xml_object.readyState == 1) { document.getElementById( 'state_change' ).innerHTML = 'has been set up'; } else if (xml_object.readyState == 2) { document.getElementById( 'state_change' ).innerHTML = 'has been sent to the server'; } else if (xml_object.readyState == 3) { document.getElementById('state_change' ).innerHTML = 'is in process'; } else if (xml_object.readyState == 4) { document.getElementById('state_change' ).innerHTML = 'done'; document.getElementById('t_area').value = xml_object.responseText; } } } //--> </script> <noscript>Your browser doesn't support to Javascript or you may need to enable that</noscript> <head> <body> <textarea cols='50' rows='10' id='t_area' name='t_area'> </textarea> <br /> <input type='button' value='Click to Update' onclick="proceed(' http://www.w3schools.com/Ajax/test_xmlhttp.txt')" /> <br /> <p>Current State : </p><p id= 'state_change' name='state_change' ></p> </body> </html> [/code] [/SIZE] [B][SIZE=5]:angry: By CORE /2011/05/20 DON'T STEAL MY ARTICLE/CODES WITHOUT MY PERMISSION. THIS IS 100% PLAGIARISM FREE THAT MEANS MY OWN WORK.[/SIZE][/B] [B]I WROTE THIS ARTICLE AROUND MAY AND PUT IN HERE IN THIS MONTH (JULY)[/B][IMG]http://www.elakiri.com/forum/images/icons/sq/11.gif[/IMG] [/QUOTE]
Insert quotes…
Verification
Dahaya deken beduwama keeyada?
Post reply
Top
Bottom