Committer: Apostolos Koutsoulelos <apostolos@desktop.(none)>
[arthrology.git] / arthrology.ajax.js
blob9e567703358009a3b86843044e70e40ed65174f5
1 /*\r
2  * Arthrology for Elxis CMS 2008.x and 2009.x+\r
3  *\r
4  * AJAX handler\r
5  *\r
6  * @version             1.3\r
7  * @package             Arthrology\r
8  * @author              Apostolos Koutsoulelos <akoutsoulelos@yahoo.gr>\r
9  * @authorurl   http://www.bitcraft-labs.gr\r
10  * @copyright   Copyright (C) 2009-2011 Apostolos Koutsoulelos. All rights reserved.\r
11  * @license             GNU/GPL (http://www.gnu.org/copyleft/gpl.html)\r
12  * \r
13  * @link                http://www.elxis-downloads.com/downloads/miscellaneous/204.html         \r
14  *\r
15  * ======================= NOTE =======================\r
16  *\r
17  * Based on Ioannis Sannos (datahell) code\r
18  *\r
19  */\r
21 function newobj() {\r
22     var ro;\r
23     if(window.XMLHttpRequest){ // Non-IE browsers\r
24         ro = new XMLHttpRequest();\r
25     } else if (window.ActiveXObject){ // IE\r
26         ro=new ActiveXObject("Msxml2.XMLHTTP");\r
27         if (!ro) {\r
28             ro=new ActiveXObject("Microsoft.XMLHTTP");\r
29         }\r
30     }\r
31     return ro;\r
32 }\r
34 var http = newobj();\r
36 var cajax = new sack();\r
38 /* GENERAL FUNCTIONS */\r
39 function whenLoadingcon(){\r
40         var e = document.getElementById(cajax.element);\r
41         e.innerHTML = "<img src='images/loading.gif' border='0'>";\r
42 }\r
44 function whenLoadedcon(){\r
45         var e = document.getElementById(cajax.element);\r
46         e.innerHTML = "<img src='images/loading.gif' border='0'>";\r
47 }\r
49 function whenInteractivecon(){\r
50         var e = document.getElementById(cajax.element);\r
51         e.innerHTML = "<img src='images/loading.gif' border='0'>";\r
52 }\r
54 /* CHANGE PUBLISHING STATE */\r
55 function changeContentState(elem, id, state){\r
56     ajelem = 'constatus'+elem;\r
57         var e = document.getElementById(ajelem);\r
58         e.style.display = "";\r
60     cajax.setVar("option", 'com_arthrology');\r
61     cajax.setVar("task", 'ajaxpub');\r
62     cajax.setVar("elem", elem);\r
63     cajax.setVar("id", id);\r
64     cajax.setVar("state", state);\r
66         cajax.requestFile = "index3.php";\r
68         cajax.method = 'POST';\r
69         cajax.element = ajelem;\r
70         cajax.onLoading = whenLoadingcon;\r
71         cajax.onLoaded = whenLoadedcon;\r
72         cajax.onInteractive = whenInteractivecon;\r
73         cajax.runAJAX();\r
74 }\r
76 /* VALIDATE SEO TITLE */\r
77 function validateSEO() {\r
78     var seotitle = document.adminForm.seotitle.value;\r
79     var coid = document.adminForm.id.value;\r
80     var cocatid = document.adminForm.catid.options[document.adminForm.catid.selectedIndex].value;\r
82         cajax.setVar("option", 'com_arthrology');\r
83         cajax.setVar("task", 'validate');\r
84         cajax.setVar("coid", coid);\r
85         cajax.setVar("cocatid", cocatid);\r
86         cajax.setVar("seotitle", seotitle);\r
88         cajax.requestFile = "index3.php";\r
90         cajax.method = 'POST';\r
91         cajax.element = 'valseo';\r
92         cajax.onLoading = whenLoadingcon;\r
93         cajax.onLoaded = whenLoadedcon;\r
94         cajax.onInteractive = whenInteractivecon;\r
95         cajax.runAJAX();\r
96 }\r
98 /* SUGGEST SEO TITLE */\r
99 function suggestSEO() {\r
100     var cotitle = document.adminForm.title.value;\r
101     var coid = document.adminForm.id.value;\r
102     var cocatid = document.adminForm.catid.options[document.adminForm.catid.selectedIndex].value;\r
104     if (cotitle == '') {\r
105         alert('Please write a title!');\r
106     } else {\r
107         var rnd = Math.random();\r
108         try{\r
109             http.open('POST', 'index3.php');\r
110             http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r
111             http.setRequestHeader('charset', 'utf-8');\r
112             http.onreadystatechange = showresultsug;\r
113             http.send('option=com_arthrology&task=suggest&cotitle='+cotitle+'&coid='+coid+'&cocatid='+cocatid+'&rnd='+rnd);\r
114         }\r
115         catch(e){}\r
116         finally{}\r
117     }\r
120 /* SHOW SUGGESTION RESULTS */\r
121 function showresultsug() {\r
122     var stitle = document.getElementById('seotitle');\r
123         if(http.readyState == 4) {\r
124                 if(http.status!=200) {\r
125                         alert('Error, please retry'); \r
126                 }\r
127         var reply = http.responseText;\r
128         var update = new Array();\r
129         update = reply.split('|');\r
130         if (update[1]==1) {\r
131             stitle.value = update[2];\r
132                 } else {\r
133                   alert(update[2]);\r
134                 }\r
135         }\r