PageRenderTime 48ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 1ms

/administrator/components/com_breezingforms/admin/easymode-js.php

https://bitbucket.org/izubizarreta/https-bitbucket.org-bityvip-alpes
PHP | 3662 lines | 3095 code | 507 blank | 60 comment | 666 complexity | a9d5ee4a14e508d3483117b31da48a2f MD5 | raw file
Possible License(s): GPL-2.0, BSD-3-Clause, LGPL-2.1, MIT, LGPL-3.0, LGPL-2.0, JSON

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * BreezingForms - A Joomla Forms Application
  4. * @version 1.8
  5. * @package BreezingForms
  6. * @copyright (C) 2008-2012 by Markus Bopp
  7. * @license Released under the terms of the GNU General Public License
  8. **/
  9. defined('_JEXEC') or die('Direct Access to this location is not allowed.');
  10. JHTML::_('behavior.modal');
  11. ?>
  12. <script>var moobackup = $;</script>
  13. <script>var moobackup2 = $$;</script>
  14. <script
  15. type="text/javascript"
  16. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/' ;?>jq.js"></script>
  17. <script
  18. type="text/javascript"
  19. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/' ;?>jq-ui.min.js"></script>
  20. <script
  21. type="text/javascript"
  22. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/plugins/' ;?>base64.js"></script>
  23. <script
  24. type="text/javascript"
  25. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/plugins/' ;?>json.js"></script>
  26. <script
  27. type="text/javascript"
  28. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/plugins/' ;?>md5.js"></script>
  29. <script>$ = moobackup;</script>
  30. <script>$$ = moobackup2;</script>
  31. <script type="text/javascript">
  32. var app = null;
  33. String.prototype.bfendsWith = function(suffix) {
  34. return this.match(suffix+"$") == suffix;
  35. };
  36. function BF_EasyModeApp()
  37. {
  38. JQuery("link").each(function(){
  39. // jquery easy workaround
  40. var _xj = 'j';
  41. var _xq = 'q';
  42. var _xu = 'u';
  43. var _xe = 'e';
  44. var _xr = 'r';
  45. var _xy = 'y';
  46. if( JQuery(this).attr('href').bfendsWith(_xj+_xq+_xu+_xe+_xr+_xy+'-ui.css') ){
  47. JQuery(this).attr('disabled', 'disabled');
  48. JQuery(this).remove();
  49. }
  50. });
  51. // to app scope
  52. var appScope = this;
  53. // the opacity for each draggable element
  54. this.opacity = 0.5;
  55. // the areaList contains all elements into all available areas. Structure: [ { area : droppableArea_instance, elements : [ Object_instance , ... ] } , ... ]
  56. this.areaList = [];
  57. // temp area list for the trashcan
  58. this.trashcanAreaList = [];
  59. // the actually selected element to change its options for
  60. this.optionElement = null;
  61. // all available element scripts
  62. this.elementScripts = <?php echo Zend_Json::encode($elementScripts)?>
  63. this.captchaAdded = 0;
  64. this.pixelRaster = 1;
  65. this.setElementResizable = function(element){
  66. JQuery('#'+element.id).resizable({
  67. grid: [appScope.pixelRaster,appScope.pixelRaster],
  68. //knobHandles : true,
  69. handles: "se",
  70. //minWidth: 5,
  71. //minHeight: 5,
  72. //ghost: true,
  73. //transparent: true
  74. start: function(){
  75. if(JQuery('#'+element.id).parent().attr('class') == 'ui-wrapper'){
  76. JQuery('#'+element.id).parent().css('padding-bottom', '0px');
  77. if(JQuery('#'+element.id).parent().children('.ui-resizable-se')[0]){
  78. JQuery(JQuery('#'+element.id).parent().children('.ui-resizable-se')[0]).click(appScope.resizableElement);
  79. }
  80. }
  81. JQuery(this).css('border', '1px dotted #000');
  82. },
  83. stop: function(){
  84. //alert(JQuery(this).attr('class'));
  85. JQuery(this).css('border', 'none');
  86. }
  87. });
  88. if(JQuery('#'+element.id).parent().attr('class') == 'ui-wrapper'){
  89. JQuery('#'+element.id).parent().css('padding-bottom', '0px');
  90. if(JQuery('#'+element.id).parent().children('.ui-resizable-se')[0]){
  91. JQuery(JQuery('#'+element.id).parent().children('.ui-resizable-se')[0]).click(appScope.resizableElement);
  92. }
  93. }
  94. };
  95. this.refreshTemplateBox = function(){
  96. JQuery('#bfTemplateBox').val( JQuery.trim(JQuery('#bfTemplate').get(0).innerHTML) );
  97. };
  98. // first turn all pages on sucht that they can be initially processed by jquery
  99. JQuery('.bfPage').css('display','');
  100. <?php if(isset($callbackParams['areas']) && trim($callbackParams['areas']) != ''){ ?>
  101. var tmpAreas = <?php echo $callbackParams['areas'] ?>;
  102. for(var i = 0; i < tmpAreas.length;i++){
  103. if(JQuery("#"+tmpAreas[i].id).get(0)){
  104. if(!tmpAreas[i].pixelRaster){ // compat 686
  105. tmpAreas[i]['pixelRaster'] = 1;
  106. }
  107. if(i == 0){
  108. appScope.pixelRaster = tmpAreas[i].pixelRaster;
  109. JQuery('#bfPixelRaster').val(appScope.pixelRaster);
  110. }
  111. this.areaList.push( { area: JQuery("#"+tmpAreas[i].id).get(0), elements : tmpAreas[i].elements, pixelRaster: tmpAreas[i].pixelRaster } );
  112. }
  113. }
  114. for(var i = 0; i < appScope.areaList.length; i++){
  115. for(var j = 0; j < appScope.areaList[i].elements.length;j++){
  116. var element = appScope.areaList[i].elements[j];
  117. JQuery('#'+element.id).get(0).removeAttribute('onclick');
  118. JQuery('#'+element.id).get(0).removeAttribute('onblur');
  119. JQuery('#'+element.id).get(0).removeAttribute('onchange');
  120. JQuery('#'+element.id).get(0).removeAttribute('onfocus');
  121. JQuery('#'+element.id).get(0).removeAttribute('onselect');
  122. JQuery('#'+element.id).get(0).removeAttribute('onmouseover');
  123. JQuery('#'+element.id).get(0).removeAttribute('onmouseout');
  124. JQuery('#'+element.id).get(0).removeAttribute('tabindex');
  125. JQuery('#'+element.id).get(0).removeAttribute('checked');
  126. if(typeof element.tabIndex == 'undefined'){ // compat 687
  127. element.tabIndex = -1;
  128. }
  129. JQuery('#'+element.id).css('border','none');
  130. if(element.internalType == 'bfCaptcha'){
  131. appScope.captchaAdded++;
  132. }
  133. var prevm = JQuery('#'+element.id).css('margin');
  134. var prevp = JQuery('#'+element.id).css('padding');
  135. var prevElementWidth = JQuery('#'+element.id).css('width');
  136. var prevElementHeight = JQuery('#'+element.id).css('height');
  137. if(element.internalType != 'bfHidden'){
  138. appScope.setElementResizable(element);
  139. }
  140. JQuery('#'+element.id).css('margin', prevm);
  141. JQuery('#'+element.id).css('padding', prevp);
  142. JQuery('#'+element.id).css('width', prevElementWidth);
  143. JQuery('#'+element.id).css('height', prevElementHeight);
  144. if(element.internalType == 'bfIcon'){
  145. JQuery( JQuery('#'+element.id).children('img')[0] ).get(0).removeAttribute('onmouseover');
  146. JQuery( JQuery('#'+element.id).children('img')[0] ).get(0).removeAttribute('onmouseout');
  147. }
  148. var labelsResult = JQuery('#'+element.id).parent().parent().children('.ff_label');
  149. if(labelsResult.length != 0){
  150. for(var k = 0; k < labelsResult.length;k++){
  151. prevm = JQuery('#'+labelsResult[k].id).css('margin');
  152. prevp = JQuery('#'+labelsResult[k].id).css('padding');
  153. prevElementWidth = JQuery('#'+labelsResult[k].id).css('width');
  154. prevElementHeight = JQuery('#'+labelsResult[k].id).css('height');
  155. appScope.setElementResizable(labelsResult[k]);
  156. JQuery('#'+labelsResult[k].id).css('margin', prevm);
  157. JQuery('#'+labelsResult[k].id).css('padding', prevp);
  158. JQuery('#'+labelsResult[k].id).css('width', prevElementWidth);
  159. JQuery('#'+labelsResult[k].id).css('height', prevElementHeight);
  160. var batchLabel = document.createElement('option');
  161. JQuery(batchLabel).val(labelsResult[k].id);
  162. JQuery(batchLabel).text(stripHTML( JQuery('#'+labelsResult[k].id).html() ) );
  163. JQuery('#bfBatchLabels').append(batchLabel);
  164. }
  165. }
  166. labelsResult = JQuery('#'+element.id).parent().children('.ff_label');
  167. if(labelsResult.length != 0){
  168. for(var k = 0; k < labelsResult.length;k++){
  169. prevm = JQuery('#'+labelsResult[k].id).css('margin');
  170. prevp = JQuery('#'+labelsResult[k].id).css('padding');
  171. prevElementWidth = JQuery('#'+labelsResult[k].id).css('width');
  172. prevElementHeight = JQuery('#'+labelsResult[k].id).css('height');
  173. appScope.setElementResizable(labelsResult[k]);
  174. JQuery('#'+labelsResult[k].id).css('margin', prevm);
  175. JQuery('#'+labelsResult[k].id).css('padding', prevp);
  176. JQuery('#'+labelsResult[k].id).css('width', prevElementWidth);
  177. JQuery('#'+labelsResult[k].id).css('height', prevElementHeight);
  178. var batchLabel = document.createElement('option');
  179. JQuery(batchLabel).val(labelsResult[k].id);
  180. JQuery(batchLabel).text(stripHTML( JQuery('#'+labelsResult[k].id).html() ) );
  181. JQuery('#bfBatchLabels').append(batchLabel);
  182. }
  183. }
  184. if(element.internalType != 'bfHidden'){
  185. var batchElement = document.createElement('option');
  186. JQuery(batchElement).val(element.id);
  187. JQuery(batchElement).text(element.name);
  188. JQuery('#bfBatchElements').append(batchElement);
  189. }
  190. }
  191. }
  192. <?php } ?>
  193. appScope.refreshTemplateBox();
  194. if(parseInt(document.adminForm.page.value) < 1){
  195. document.adminForm.page.value = 1;
  196. }
  197. JQuery('#bfCurrentPage').get(0).innerHTML = document.adminForm.page.value + "/" + (parseInt(document.adminForm.pages.value) == 0 ? 1 : document.adminForm.pages.value);
  198. JQuery('.bfPage').css('display','none');
  199. JQuery('#bfPage'+document.adminForm.page.value).css('display','');
  200. for(var i = 1; i <= parseInt(document.adminForm.pages.value);i++){
  201. var option = document.createElement('option');
  202. JQuery(option).val(i);
  203. JQuery(option).text(i);
  204. var option2 = document.createElement('option');
  205. JQuery(option2).val(i);
  206. JQuery(option2).text(i);
  207. JQuery('#bfGoToPage').append(option);
  208. JQuery('#bfMoveThisPageTo').append(option2);
  209. }
  210. this.populateHiddenFieldsOptions = function(){
  211. JQuery('#bfHiddenFieldsOptions').empty();
  212. var element = null;
  213. var br = null;
  214. var hiddenFields = appScope.getElementsByType('bfHidden');
  215. for(var i=0;i < hiddenFields.length;i++){
  216. // element name header
  217. element = document.createElement('span');
  218. element.innerHTML = '<?php echo BFText::_('COM_BREEZINGFORMS_NAME') ?>:';
  219. JQuery('#bfHiddenFieldsOptions').append(element);
  220. br = document.createElement('br');
  221. JQuery('#bfHiddenFieldsOptions').append(br);
  222. // element name
  223. element = document.createElement('input');
  224. element.setAttribute('type', 'text');
  225. element.setAttribute('id', 'name__HIDDEN__' + hiddenFields[i].id);
  226. element.setAttribute('class', 'bfHiddenOptionsName');
  227. element.setAttribute('value', hiddenFields[i].name);
  228. element.style.width = '100%';
  229. br = document.createElement('br');
  230. JQuery('#bfHiddenFieldsOptions').append(element);
  231. JQuery('#bfHiddenFieldsOptions').append(br);
  232. // element title header
  233. element = document.createElement('span');
  234. element.innerHTML = 'Title:';
  235. JQuery('#bfHiddenFieldsOptions').append(element);
  236. br = document.createElement('br');
  237. JQuery('#bfHiddenFieldsOptions').append(br);
  238. // element title
  239. element = document.createElement('input');
  240. element.setAttribute('type', 'text');
  241. element.setAttribute('id', 'title__HIDDEN__' + hiddenFields[i].id);
  242. element.setAttribute('class', 'bfHiddenOptionsTitle');
  243. element.setAttribute('value', hiddenFields[i].title);
  244. element.style.width = '100%';
  245. br = document.createElement('br');
  246. JQuery('#bfHiddenFieldsOptions').append(element);
  247. JQuery('#bfHiddenFieldsOptions').append(br);
  248. // element value header
  249. element = document.createElement('span');
  250. element.innerHTML = 'Value:';
  251. JQuery('#bfHiddenFieldsOptions').append(element);
  252. br = document.createElement('br');
  253. JQuery('#bfHiddenFieldsOptions').append(br);
  254. // element value
  255. element = document.createElement('input');
  256. element.setAttribute('type', 'text');
  257. element.setAttribute('id', 'value__HIDDEN__' + hiddenFields[i].id);
  258. element.setAttribute('class', 'bfHiddenOptionsValue');
  259. element.setAttribute('value', hiddenFields[i].options.value);
  260. element.style.width = '100%';
  261. br = document.createElement('br');
  262. JQuery('#bfHiddenFieldsOptions').append(element);
  263. JQuery('#bfHiddenFieldsOptions').append(br);
  264. element = document.createElement('span');
  265. element.innerHTML = 'Remove? ';
  266. JQuery('#bfHiddenFieldsOptions').append(element);
  267. element = document.createElement('input');
  268. element.setAttribute('type', 'checkbox');
  269. element.setAttribute('id', 'remove__HIDDEN__' + hiddenFields[i].id);
  270. element.setAttribute('class', 'bfHiddenOptionsDelete');
  271. //element.style.width = '100%';
  272. JQuery('#bfHiddenFieldsOptions').append(element);
  273. br = document.createElement('hr');
  274. JQuery('#bfHiddenFieldsOptions').append(br);
  275. }
  276. if(hiddenFields.length != 0){
  277. // update button
  278. br = document.createElement('br');
  279. JQuery('#bfHiddenFieldsOptions').append(br);
  280. element = document.createElement('input');
  281. element.setAttribute('type', 'submit');
  282. element.setAttribute('value', 'update');
  283. element.style.width = '100%';
  284. JQuery(element).click(
  285. function(){
  286. var children = JQuery('#bfHiddenFieldsOptions').children('.bfHiddenOptionsValue');
  287. for( var i = 0; i < children.length; i++ ){
  288. var id = children[i].id.split('__HIDDEN__');
  289. if(id.length == 2){
  290. var element = appScope.getElementById(id[1]);
  291. element.options.value = JQuery('#value__HIDDEN__'+id[1]).val();
  292. JQuery('#'+element.id).get(0).setAttribute('value', element.options.value);
  293. }
  294. }
  295. var children = JQuery('#bfHiddenFieldsOptions').children('.bfHiddenOptionsTitle');
  296. for( var i = 0; i < children.length; i++ ){
  297. var id = children[i].id.split('__HIDDEN__');
  298. if(id.length == 2){
  299. var element = appScope.getElementById(id[1]);
  300. element.title = JQuery('#title__HIDDEN__'+id[1]).val();
  301. }
  302. }
  303. children = JQuery('#bfHiddenFieldsOptions').children('.bfHiddenOptionsName');
  304. for( var i = 0; i < children.length; i++ ){
  305. var id = children[i].id.split('__HIDDEN__');
  306. if(id.length == 2){
  307. var element = appScope.getElementById(id[1]);
  308. element.name = JQuery('#name__HIDDEN__'+id[1]).val();
  309. }
  310. }
  311. var children = JQuery('#bfHiddenFieldsOptions').children('.bfHiddenOptionsDelete');
  312. for( var i = 0; i < children.length; i++ ){
  313. if(children[i].checked){
  314. var id = children[i].id.split('__HIDDEN__');
  315. if(id.length == 2){
  316. var element = appScope.getElementById(id[1]);
  317. JQuery('#'+id[1]).remove();
  318. appScope.removeElementFromAreaList(element);
  319. }
  320. }
  321. }
  322. appScope.populateHiddenFieldsOptions();
  323. JQuery('#bfHiddenFieldsOptions').get(0).innerHTML = '<?php echo BFText::_('COM_BREEZINGFORMS_OPTIONS_SAVED_TO_FINALLY_SAVE_YOUR_FORM_CLICK_SAVE_ON_THE_TOP_RIGHT_BUTTON') ?><br/><br/>' + JQuery('#bfHiddenFieldsOptions').get(0).innerHTML;
  324. }
  325. );
  326. JQuery('#bfHiddenFieldsOptions').append(element);
  327. }
  328. }
  329. /**
  330. * Return the elements of a droppableArea
  331. */
  332. this.getElementsArray = function (area){
  333. for(var i = 0; i < appScope.areaList.length; i++){
  334. if(appScope.areaList[i].area && appScope.areaList[i].area == area){
  335. return appScope.areaList[i].elements;
  336. }
  337. }
  338. return null;
  339. };
  340. /**
  341. * Checks if the droppableArea exists
  342. */
  343. this.hasArea = function (area){
  344. for(var i = 0; i < appScope.areaList.length; i++){
  345. if(appScope.areaList[i].area && appScope.areaList[i].area == area){
  346. return true;
  347. }
  348. }
  349. return false;
  350. };
  351. this.getElementById = function(id) {
  352. for(var i = 0; i < appScope.areaList.length; i++){
  353. for(var j = 0; j < appScope.areaList[i].elements.length; j++){
  354. if(id == appScope.areaList[i].elements[j].id){
  355. return appScope.areaList[i].elements[j];
  356. }
  357. }
  358. }
  359. return null;
  360. };
  361. this.getElementsByType = function(type) {
  362. var foundElements = new Array();
  363. for(var i = 0; i < appScope.areaList.length; i++){
  364. for(var j = 0; j < appScope.areaList[i].elements.length; j++){
  365. if(type == appScope.areaList[i].elements[j].internalType){
  366. foundElements.push(appScope.areaList[i].elements[j]);
  367. }
  368. }
  369. }
  370. return foundElements;
  371. };
  372. this.removeElementFromAreaList = function(element){
  373. for(var i = 0; i < appScope.areaList.length; i++){
  374. var newElements = new Array();
  375. for(var j = 0; j < appScope.areaList[i].elements.length; j++){
  376. if(element.id != appScope.areaList[i].elements[j].id){
  377. newElements.push(appScope.areaList[i].elements[j]);
  378. }
  379. }
  380. appScope.areaList[i].elements = newElements;
  381. }
  382. };
  383. this.removeElementFromTrashcanAreaList = function(element){
  384. var newElements = new Array();
  385. for(var i = 0; i < appScope.trashcanAreaList.length; i++){
  386. if(element.id != appScope.trashcanAreaList[i].id){
  387. newElements.push(appScope.trashcanAreaList[i]);
  388. }
  389. }
  390. appScope.trashcanAreaList = newElements;
  391. };
  392. /**
  393. * prepares the data for the form before the submit
  394. */
  395. this.prepareForSave = function(){
  396. if(appScope.captchaAdded > 1){
  397. alert('<?php echo BFText::_('COM_BREEZINGFORMS_ADDED_MORE_THAN_ONE_CAPTCHA') ?>');
  398. return;
  399. }
  400. JQuery('.calCode').remove();
  401. JQuery('ui-resizable-handle').remove();
  402. var areas = new Array();
  403. for(var i = 0; i < appScope.areaList.length; i++){
  404. areas.push( { id : appScope.areaList[i].area.id, elements: appScope.areaList[i].elements, pixelRaster: appScope.pixelRaster } );
  405. for(var j = 0; j < appScope.areaList[i].elements.length;j++){
  406. var element = appScope.areaList[i].elements[j];
  407. if( (element.internalType == 'bfTextfield' || element.internalType == 'bfSelect') && element.options && !element.options.mailback){ // compat 690
  408. element.options['mailback'] = false;
  409. }
  410. if(element.internalType == 'bfFile' && element.options && !element.options.allowedFileExtensions){ // compat 690
  411. element.options['allowedFileExtensions'] = '';
  412. element.data2 = '';
  413. } else {
  414. if(element.internalType == 'bfFile' && element.options){
  415. element.data2 = element.options.allowedFileExtensions.toLowerCase();
  416. }
  417. }
  418. if(element.internalType == 'bfFile' && element.options && !element.options.attachToAdminMail){ // compat 691
  419. element.options['attachToAdminMail'] = false;
  420. }
  421. if(element.internalType == 'bfFile' && element.options && !element.options.attachToUserMail){ // compat 691
  422. element.options['attachToUserMail'] = false;
  423. }
  424. if(!element.mailbackfile){
  425. element['mailbackfile'] = '';
  426. }
  427. if(!element.orderNumber){
  428. element['orderNumber'] = -1;
  429. }
  430. if(!element.tabIndex){ // compat 687
  431. element['tabIndex'] = -1;
  432. }
  433. if(!element.mailbackAccept){ // compat 686
  434. element['mailbackAccept'] = false;
  435. }
  436. if(!element.mailbackAcceptConnectWith){ // compat 686
  437. element['mailbackAcceptConnectWith'] = '';
  438. }
  439. if(!element.mailbackAsSender){ // compat 687
  440. element['mailbackAsSender'] = false;
  441. }
  442. if(element.internalType == 'bfFile' && element.options.attachToAdminMail){
  443. var attachToAdminMail = document.createElement('input');
  444. attachToAdminMail.setAttribute('type', 'hidden');
  445. attachToAdminMail.setAttribute('id', 'attachToAdminMail_'+element.name);
  446. attachToAdminMail.setAttribute('name', 'attachToAdminMail['+element.name+']');
  447. attachToAdminMail.setAttribute('class', 'attachToAdminMail');
  448. attachToAdminMail.setAttribute('value', 'true');
  449. JQuery('#bfTemplate').append(attachToAdminMail);
  450. }
  451. if(element.internalType == 'bfFile' && element.options.attachToUserMail){
  452. var attachToUserMail = document.createElement('input');
  453. attachToUserMail.setAttribute('type', 'hidden');
  454. attachToUserMail.setAttribute('id', 'attachToUserMail_'+element.name);
  455. attachToUserMail.setAttribute('name', 'attachToUserMail['+element.name+']');
  456. attachToUserMail.setAttribute('class', 'attachToUserMail');
  457. attachToUserMail.setAttribute('value', 'true');
  458. JQuery('#bfTemplate').append(attachToUserMail);
  459. }
  460. if(element.internalType == 'bfTextfield' && element.mailbackAsSender){
  461. var mailbackSender = document.createElement('input');
  462. mailbackSender.setAttribute('type', 'hidden');
  463. mailbackSender.setAttribute('id', 'mailbackSender_'+element.name);
  464. mailbackSender.setAttribute('name', 'mailbackSender['+element.name+']');
  465. mailbackSender.setAttribute('class', 'mailbackSender');
  466. mailbackSender.setAttribute('value', 'true');
  467. JQuery('#bfTemplate').append(mailbackSender);
  468. }
  469. if(element.internalType == 'bfCheckbox'){
  470. if(element.options.checked){
  471. JQuery('#'+element.id).get(0).setAttribute('checked','checked');
  472. }
  473. if(element.mailbackAccept){
  474. var connectWith = document.createElement('input');
  475. connectWith.setAttribute('type', 'hidden');
  476. connectWith.setAttribute('id', 'mailbackConnectWith_'+element.mailbackAcceptConnectWith);
  477. connectWith.setAttribute('name', 'mailbackConnectWith['+element.mailbackAcceptConnectWith+']');
  478. connectWith.setAttribute('class', 'mailbackConnectWith');
  479. connectWith.setAttribute('value', 'true_'+element.name);
  480. JQuery('#bfTemplate').append(connectWith);
  481. }
  482. }
  483. if(element.internalType == 'bfRadio'){
  484. if(element.options.checked){
  485. JQuery('#'+element.id).get(0).setAttribute('checked','checked');
  486. }
  487. }
  488. if(element.internalType == 'bfCalendar' || element.internalType == 'bfCaptcha' || element.internalType == 'bfHidden' || element.internalType == 'bfStaticText' || element.internalType == 'bfIcon'){
  489. // leave out, only necessary for input elements
  490. } else {
  491. // move input elements out of their ui-wrappers
  492. JQuery('#'+element.id).parent().before(JQuery(JQuery('#'+element.id).parent().prev()).get(0)); // moving the label
  493. JQuery('#'+element.id).parent().before(JQuery('#'+element.id).get(0)); // moving the element itself
  494. }
  495. if(element.script2flag1 == 1){
  496. var payment = "";
  497. if(element.internalType == 'bfPayPal'){
  498. payment = "document.getElementById('bfPaymentMethod').value='PayPal';";
  499. }
  500. else if(element.internalType == 'bfSofortueberweisung'){
  501. payment = "document.getElementById('bfPaymentMethod').value='Sofortueberweisung';";
  502. }
  503. JQuery('#'+element.id).get(0).setAttribute('onclick', payment + element.functionNameScript2 + '(this,\'click\');');
  504. }
  505. if(element.script2flag2 == 1){
  506. JQuery('#'+element.id).get(0).setAttribute('onblur', element.functionNameScript2 + '(this,\'onblur\')');
  507. }
  508. if(element.script2flag3 == 1){
  509. JQuery('#'+element.id).get(0).setAttribute('onchange', element.functionNameScript2 + '(this,\'onchange\')');
  510. }
  511. if(element.script2flag4 == 1){
  512. JQuery('#'+element.id).get(0).setAttribute('onfocus', element.functionNameScript2 + '(this,\'onfocus\')');
  513. }
  514. if(element.script2flag5 == 1){
  515. JQuery('#'+element.id).get(0).setAttribute('onselect', element.functionNameScript2 + '(this,\'onselect\')');
  516. }
  517. if(element.internalType == 'bfTooltip'){
  518. JQuery('#'+element.id).get(0).setAttribute('onmouseover', "return overlib('"+expstring(element.options.text)+"',CAPTION,'"+element.name+"',BELOW,RIGHT)");
  519. JQuery('#'+element.id).get(0).setAttribute('onmouseout', "return nd()");
  520. } else
  521. if(element.internalType == 'bfIcon'){
  522. JQuery(JQuery('#'+element.id).children('img')[0]).get(0).setAttribute('onmouseover', "this.src='"+element.data3+"'");
  523. JQuery(JQuery('#'+element.id).children('img')[0]).get(0).setAttribute('onmouseout', "this.src='"+element.data1+"'");
  524. JQuery('#'+element.id).get(0).setAttribute('onmouseover',"this.style.cursor = 'pointer'");
  525. JQuery('#'+element.id).get(0).setAttribute('onmouseout',"this.style.cursor = ''");
  526. } else
  527. if(element.internalType == 'bfCalendar'){
  528. var calCode ='<script class="calCode" type="text/javascript">if(typeof Calendar != "undefined"){Calendar.setup({inputField : ff_getElementByName("'+element.options.connectWith+'").id, ifFormat : "'+element.options.format+'", button : "'+element.id+'", align : "Bl", singleClick : true });}<\/script>';
  529. JQuery('.droppableArea').get(0).innerHTML += calCode;
  530. }
  531. if(JQuery('#'+element.id).parents('.bfPage')[0]){
  532. var elPage = JQuery('#'+element.id).parents('.bfPage')[0].id.split('bfPage');
  533. element.page = parseInt(elPage[1]);
  534. } else {
  535. element.page = 1;
  536. }
  537. if(element.internalType != 'bfHidden' && parseInt(element.tabIndex) != -1){
  538. JQuery('#'+element.id).get(0).setAttribute('tabindex', element.tabIndex);
  539. }
  540. }
  541. }
  542. JQuery('.ff_div').css('border','');
  543. JQuery('.ff_elem').css('border','');
  544. JQuery('.ff_label').css('border','');
  545. JQuery('.ff_div').css('border-left','');
  546. JQuery('.ff_elem').css('border-left','');
  547. JQuery('.ff_label').css('border-left','');
  548. JQuery('.ff_div').children('.ui-wrapper').remove();
  549. JQuery('.ff_div').children('.ui-resizable-handle').remove();
  550. JQuery('.ff_div').children('.ff_label').children('.ui-resizable-handle').remove();
  551. JQuery('.ff_div').children('.ff_elem').children('.ui-resizable-handle').remove();
  552. JQuery('.ff_label').removeClass('ui-resizable');
  553. JQuery('.ff_label').removeClass('ui-resizable-disabled');
  554. JQuery('.ff_label').removeClass('ui-state-disabled');
  555. JQuery('.ff_elem').removeClass('ui-resizable');
  556. JQuery('.ff_elem').removeClass('ui-resizable-disabled');
  557. JQuery('.ff_elem').removeClass('ui-state-disabled');
  558. JQuery('.droppableArea').removeClass('ui-sortable');
  559. JQuery('.droppableArea').removeClass('ui-droppable');
  560. JQuery('#bfTemplate').children('.ui-wrapper').remove();
  561. JQuery('.bfPage').css('display','none');
  562. JQuery('#bfPage1').css('display','');
  563. var rep = JQuery('#bfTemplate').get(0).innerHTML.replace(/border-width: initial; /g,"");
  564. rep = rep.replace(/border-color: initial; /g,"");
  565. var result =
  566. {
  567. templateCode : JQuery.base64Encode(rep),
  568. areas : JQuery.base64Encode(JQuery.toJSON(areas))
  569. };
  570. return result;
  571. };
  572. this.createElementBeside = function(element, type){
  573. var elements = appScope.getElementsArray(JQuery('#'+element.area).get(0));
  574. if(elements != null && type != ''){
  575. var ffListItem = null;
  576. if(JQuery('#' + element.id).parent().parent().parent().hasClass('ff_listItem')){
  577. ffListItem = JQuery('#' + element.id).parent().parent().parent();
  578. } else if(JQuery('#' + element.id).parent().parent().hasClass('ff_listItem')){
  579. ffListItem = JQuery('#' + element.id).parent().parent();
  580. } else {
  581. return;
  582. }
  583. JQuery(ffListItem).children('.ff_appender').remove();
  584. var info = appScope.getElementById(element.id);
  585. var rndId = JQuery.md5(Math.random() + info.appElementOrderId + info.appElementId + info.area);
  586. var besideElement = null;
  587. var wrapper = document.createElement('div');
  588. wrapper.setAttribute('id', 'ff_div' + rndId);
  589. wrapper.setAttribute('class', 'ff_div');
  590. if(type != 'bfStaticText'){
  591. var label = document.createElement('div');
  592. label.setAttribute('id', 'ff_elemLabel' + rndId);
  593. label.setAttribute('class', 'ff_label');
  594. label.style.verticalAlign = 'top';
  595. label.style.width = '50px';
  596. label.style.height = '10px';
  597. JQuery(label).css('float', 'left');
  598. label.innerHTML = 'Label...';
  599. JQuery(label).click(appScope.resizableElement);
  600. JQuery(wrapper).append(label);
  601. var mybr = document.createElement('div');
  602. mybr.setAttribute('id', 'ff_break' + rndId);
  603. mybr.setAttribute('class', 'ff_break');
  604. JQuery(mybr).css('display','none');
  605. JQuery(wrapper).append(mybr);
  606. }
  607. besideElement = appScope.createElementByType(type, rndId);
  608. if(besideElement != null){
  609. JQuery(wrapper).append(besideElement.element);
  610. ffListItem.append(wrapper);
  611. var appender = document.createElement('div');
  612. appender.setAttribute('class', 'ff_appender');
  613. JQuery(appender).css('clear','both');
  614. JQuery(ffListItem).append(appender);
  615. elements.push(
  616. {
  617. id : besideElement.element.id,
  618. dbId : 0,
  619. rndId : rndId,
  620. name : rndId, // default name until changed by user
  621. title : 'title_' + besideElement.element.id, // default title until changed by user
  622. type : besideElement.element.type ? besideElement.element.type : '',
  623. internalType : type,
  624. bfType : besideElement.bfType,
  625. elementType : besideElement.elementType,
  626. area : element.area,
  627. appElementId : type,
  628. appElementOrderId : elements.length,
  629. wrapperId : wrapper.id,
  630. labelId : label ? label.id : '',
  631. listItemId : element.listItemId,
  632. data1 : besideElement.data1,
  633. data2 : besideElement.data2,
  634. data3 : besideElement.data3,
  635. script1cond : besideElement.script1cond,
  636. script1id : besideElement.script1id,
  637. script1code : besideElement.script1code,
  638. script1flag1 : besideElement.script1flag1,
  639. script1flag2 : besideElement.script1flag2,
  640. script2cond : besideElement.script2cond,
  641. script2id : besideElement.script2id,
  642. script2code : besideElement.script2code,
  643. script2flag1 : besideElement.script2flag1,
  644. script2flag2 : besideElement.script2flag2,
  645. script2flag3 : besideElement.script2flag3,
  646. script2flag4 : besideElement.script2flag4,
  647. script2flag5 : besideElement.script2flag5,
  648. script3cond : besideElement.script3cond,
  649. script3id : besideElement.script3id,
  650. script3code : besideElement.script3code,
  651. script3msg : besideElement.script3msg,
  652. functionNameScript1: besideElement.functionNameScript1,
  653. functionNameScript2: besideElement.functionNameScript2,
  654. functionNameScript3: besideElement.functionNameScript3,
  655. flag1 : besideElement.flag1,
  656. flag2 : besideElement.flag2,
  657. mailback : besideElement.mailback,
  658. mailbackfile : besideElement.mailbackfile,
  659. mailbackAsSender : false,
  660. mailbackAccept : false,
  661. mailbackAcceptConnectWith: '',
  662. orderNumber : -1,
  663. tabIndex : -1,
  664. page : parseInt(document.adminForm.page.value),
  665. options : besideElement.options
  666. }
  667. );
  668. if(type == 'bfCaptcha'){
  669. appScope.captchaAdded++;
  670. }
  671. appScope.populateHiddenFieldsOptions();
  672. if(type != 'bfHidden'){
  673. appScope.setElementResizable(besideElement.element);
  674. }
  675. var labelsResult = JQuery('#'+besideElement.element.id).parent().parent().children('.ff_label');
  676. if(labelsResult.length != 0){
  677. for(var k = 0; k < labelsResult.length;k++){
  678. appScope.setElementResizable(labelsResult[k]);
  679. }
  680. }
  681. labelsResult = JQuery('#'+besideElement.element.id).parent().children('.ff_label');
  682. if(labelsResult.length != 0){
  683. for(var k = 0; k < labelsResult.length;k++){
  684. appScope.setElementResizable(labelsResult[k]);
  685. }
  686. }
  687. appScope.initMouseOvers();
  688. }
  689. }
  690. };
  691. this.createElementBesideByType = function(element, selector){
  692. this.createElementBeside( element, JQuery(selector).val() );
  693. };
  694. this.disableElementsDetails = function(){
  695. JQuery('.bfOptionsWrapper').css('display','none');
  696. JQuery('.bfOptions').css('display','none');
  697. JQuery('.bfOptions').css('visibility','hidden');
  698. JQuery('#bfActions').css('display','none');
  699. JQuery('#bfActions').css('visibility','hidden');
  700. JQuery('#bfGlobalOptions').css('display','none');
  701. JQuery('#bfGlobalOptions').css('visibility','hidden');
  702. JQuery('#bfSaveOptionsButton').css('display','none');
  703. JQuery('#bfSaveOptionsButton').css('visibility','hidden');
  704. JQuery('#bfRemoveLabelButton').css('display','none');
  705. JQuery('#bfRemoveLabelButton').css('visibility','hidden');
  706. JQuery('#bfOptionsSaveMessage').css('display','none');
  707. JQuery('#bfOptionsSaveMessage').css('visibility','hidden');
  708. JQuery('#bfBesideCreationButton').css('display','none');
  709. JQuery('#bfBesideCreationButton').css('visibility','hidden');
  710. JQuery('#bfElementRemoveButton').css('display','none');
  711. JQuery('#bfElementRemoveButton').css('visibility','hidden');
  712. JQuery('#bfElementMoveLeft').css('display','none');
  713. JQuery('#bfElementMoveRight').css('display','none');
  714. JQuery('#bfInitScript').css('display','none');
  715. JQuery('#bfInitScript').css('visibility','hidden');
  716. JQuery('#bfActionScript').css('display','none');
  717. JQuery('#bfActionScript').css('visibility','hidden');
  718. JQuery('#bfValidationScript').css('display','none');
  719. JQuery('#bfValidationScript').css('visibility','hidden');
  720. JQuery('.bfScriptsSaveMessage').css('display','none');
  721. };
  722. this.handleLabel = function (label){
  723. appScope.disableElementsDetails();
  724. appScope.optionElement = label;
  725. if(appScope.optionElement != null){
  726. JQuery('#bfOptionsWrapper').css('display','');
  727. JQuery('#bfGlobalOptions').css('display','');
  728. JQuery('#bfGlobalOptions').css('visibility','visible');
  729. JQuery('#bfSaveOptionsButton').css('display','');
  730. JQuery('#bfSaveOptionsButton').css('visibility','visible');
  731. JQuery('#bfRemoveLabelButton').css('display','');
  732. JQuery('#bfRemoveLabelButton').css('visibility','visible');
  733. JQuery('#bfLabelOptions').css('display','');
  734. JQuery('#bfLabelOptions').css('visibility','visible');
  735. JQuery(label).resizable('destroy');
  736. JQuery('#bfLabelContent').get(0).value = JQuery(label).get(0).innerHTML;
  737. appScope.setElementResizable(JQuery(label).get(0));
  738. if(JQuery(label).parent().children('.ff_break')[0].style.display != 'none'){
  739. JQuery('#bfLabelOnTop').attr('checked', true);
  740. } else {
  741. JQuery('#bfLabelOnTop').attr('checked', false);
  742. }
  743. JQuery('#bfLabelWidth').get(0).value = JQuery(label).get(0).style.width;
  744. JQuery('#bfLabelHeight').get(0).value = JQuery(label).get(0).style.height;
  745. JQuery('#bfOptionsPadding').get(0).value = JQuery(label).get(0).style.padding;
  746. JQuery('#bfOptionsMargin').get(0).value = JQuery(label).get(0).style.margin;
  747. }
  748. };
  749. this.populateElementValidationScript = function(){
  750. JQuery('#bfValidationScript').css('display','');
  751. JQuery('#bfValidationScript').css('visibility','visible');
  752. JQuery('#bfValidationScriptSelection').empty();
  753. for(var i = 0; i < appScope.elementScripts.validation.length;i++){
  754. var option = document.createElement('option');
  755. JQuery(option).val(appScope.elementScripts.validation[i].id);
  756. JQuery(option).text(appScope.elementScripts.validation[i].package + '::' + appScope.elementScripts.validation[i].name);
  757. if(appScope.elementScripts.validation[i].id == appScope.optionElement.script3id){
  758. //JQuery(option).attr('selected', 'selected');
  759. JQuery(option).get(0).setAttribute('selected', 'selected');
  760. }
  761. JQuery('#bfValidationScriptSelection').append(option);
  762. }
  763. JQuery('#script3msg').val(appScope.optionElement.script3msg);
  764. JQuery('#script3code').val(appScope.optionElement.script3code);
  765. switch(appScope.optionElement.script3cond){
  766. case 1:
  767. JQuery('.bfValidationType').attr('checked','');
  768. JQuery('#bfValidationTypeLibrary').attr('checked','checked');
  769. JQuery('#bfValidationScriptLibrary').css('display','');
  770. JQuery('#bfValidationScriptCustom').css('display','none');
  771. JQuery('#bfValidationScriptFlags').css('display','');
  772. JQuery('#bfValidationScriptLibrary').css('display','');
  773. JQuery('#bfValidationScriptCustom').css('display','none');
  774. break;
  775. case 2:
  776. JQuery('.bfValidationType').attr('checked','');
  777. JQuery('#bfValidationTypeCustom').attr('checked','checked');
  778. JQuery('#bfValidationScriptFlags').css('display','');
  779. JQuery('#bfValidationScriptLibrary').css('display','none');
  780. JQuery('#bfValidationScriptCustom').css('display','');
  781. break;
  782. default:
  783. JQuery('.bfValidationType').attr('checked','');
  784. JQuery('#bfValidationTypeNone').attr('checked','checked');
  785. JQuery('#bfValidationScriptFlags').css('display','none');
  786. JQuery('#bfValidationScriptLibrary').css('display','none');
  787. JQuery('#bfValidationScriptCustom').css('display','none');
  788. }
  789. };
  790. this.populateElementInitScript = function(){
  791. JQuery('#bfInitScript').css('display','');
  792. JQuery('#bfInitScript').css('visibility','visible');
  793. JQuery('#bfInitScriptSelection').empty();
  794. for(var i = 0; i < appScope.elementScripts.init.length;i++){
  795. var option = document.createElement('option');
  796. JQuery(option).val(appScope.elementScripts.init[i].id);
  797. JQuery(option).text(appScope.elementScripts.init[i].package + '::' + appScope.elementScripts.init[i].name);
  798. if(appScope.elementScripts.init[i].id == appScope.optionElement.script1id){
  799. //JQuery(option).attr('selected', 'selected');
  800. JQuery(option).get(0).setAttribute('selected', 'selected');
  801. }
  802. JQuery('#bfInitScriptSelection').append(option);
  803. }
  804. if(appScope.optionElement.script1flag1 == 1){
  805. JQuery('#script1flag1').get(0).checked = true;
  806. } else {
  807. JQuery('#script1flag1').get(0).checked = false;
  808. }
  809. if(appScope.optionElement.script1flag2 == 1){
  810. JQuery('#script1flag2').get(0).checked = true;
  811. } else {
  812. JQuery('#script1flag2').get(0).checked = false;
  813. }
  814. JQuery('#script1code').val(appScope.optionElement.script1code);
  815. switch(appScope.optionElement.script1cond){
  816. case 1:
  817. JQuery('.bfInitType').attr('checked','');
  818. JQuery('#bfInitTypeLibrary').attr('checked','checked');
  819. JQuery('#bfInitScriptLibrary').css('display','');
  820. JQuery('#bfInitScriptCustom').css('display','none');
  821. JQuery('#bfInitScriptFlags').css('display','');
  822. JQuery('#bfInitScriptLibrary').css('display','');
  823. JQuery('#bfInitScriptCustom').css('display','none');
  824. break;
  825. case 2:
  826. JQuery('.bfInitType').attr('checked','');
  827. JQuery('#bfInitTypeCustom').attr('checked','checked');
  828. JQuery('#bfInitScriptFlags').css('display','');
  829. JQuery('#bfInitScriptLibrary').css('display','none');
  830. JQuery('#bfInitScriptCustom').css('display','');
  831. break;
  832. default:
  833. JQuery('.bfInitType').attr('checked','');
  834. JQuery('#bfInitTypeNone').attr('checked','checked');
  835. JQuery('#bfInitScriptFlags').css('display','none');
  836. JQuery('#bfInitScriptLibrary').css('display','none');
  837. JQuery('#bfInitScriptCustom').css('display','none');
  838. }
  839. };
  840. this.populateElementActionScript = function(){
  841. JQuery('#bfActionScript').css('display','');
  842. JQuery('#bfActionScript').css('visibility','visible');
  843. if(appScope.optionElement.internalType == 'bfSofortueberweisung' || appScope.optionElement.internalType == 'bfPayPal' || appScope.optionElement.internalType == 'bfIcon' || appScope.optionElement.internalType == 'bfImageButton' || appScope.optionElement.internalType == 'bfSubmitButton'){
  844. JQuery('.script2flag').css('display','none');
  845. JQuery('.script2flagLabel').css('display','none');
  846. JQuery('#script2flag1').css('display','');
  847. JQuery('#script2flag1Label').css('display','');
  848. } else {
  849. JQuery('.script2flag').css('display','');
  850. JQuery('.script2flagLabel').css('display','');
  851. }
  852. JQuery('#bfActionsScriptSelection').empty();
  853. for(var i = 0; i < appScope.elementScripts.action.length;i++){
  854. var option = document.createElement('option');
  855. JQuery(option).val(appScope.elementScripts.action[i].id);
  856. JQuery(option).text(appScope.elementScripts.action[i].package + '::' + appScope.elementScripts.action[i].name);
  857. if(appScope.elementScripts.action[i].id == appScope.optionElement.script2id){
  858. JQuery(option).get(0).setAttribute('selected', 'selected');
  859. }
  860. JQuery('#bfActionsScriptSelection').append(option);
  861. }
  862. if(appScope.optionElement.script2flag1 == 1){
  863. JQuery('#script2flag1').get(0).checked = true;
  864. } else {
  865. JQuery('#script2flag1').get(0).checked = false;
  866. }
  867. if(appScope.optionElement.script2flag2 == 1){
  868. JQuery('#script2flag2').get(0).checked = true;
  869. } else {
  870. JQuery('#script2flag2').get(0).checked = false;
  871. }
  872. if(appScope.optionElement.script2flag3 == 1){
  873. JQuery('#script2flag3').get(0).checked = true;
  874. } else {
  875. JQuery('#script2flag3').get(0).checked = false;
  876. }
  877. if(appScope.optionElement.script2flag4 == 1){
  878. JQuery('#script2flag4').get(0).checked = true;
  879. } else {
  880. JQuery('#script2flag4').get(0).checked = false;
  881. }
  882. if(appScope.optionElement.script2flag5 == 1){
  883. JQuery('#script2flag5').get(0).checked = true;
  884. } else {
  885. JQuery('#script2flag5').get(0).checked = false;
  886. }
  887. JQuery('#script2code').val(appScope.optionElement.script2code);
  888. switch(appScope.optionElement.script2cond){
  889. case 1:
  890. JQuery('.bfActionType').attr('checked','');
  891. JQuery('#bfActionTypeLibrary').attr('checked','checked');
  892. JQuery('#bfActionScriptLibrary').css('display','');
  893. JQuery('#bfActionScriptCustom').css('display','none');
  894. JQuery('#bfActionScriptFlags').css('display','');
  895. JQuery('#bfActionScriptLibrary').css('display','');
  896. JQuery('#bfActionScriptCustom').css('display','none');
  897. break;
  898. case 2:
  899. JQuery('.bfActionType').attr('checked','');
  900. JQuery('#bfActionTypeCustom').attr('checked','checked');
  901. JQuery('#bfActionScriptFlags').css('display','');
  902. JQuery('#bfActionScriptLibrary').css('display','none');
  903. JQuery('#bfActionScriptCustom').css('display','');
  904. break;
  905. default:
  906. JQuery('.bfActionType').attr('checked','');
  907. JQuery('#bfActionTypeNone').attr('checked','checked');
  908. JQuery('#bfActionScriptFlags').css('display','none');
  909. JQuery('#bfActionScriptLibrary').css('display','none');
  910. JQuery('#bfActionScriptCustom').css('display','none');
  911. }
  912. };
  913. /**
  914. * handles the selected element to show its options in the accordion menu
  915. */
  916. this.handleElement = function(element){
  917. appScope.disableElementsDetails();
  918. if(element != null){
  919. appScope.optionElement = element;
  920. JQuery('#bfOptionsWrapper').css('display','');
  921. JQuery('#bfActions').css('display','');
  922. JQuery('#bfActions').css('visibility','visible');
  923. JQuery('#bfGlobalOptions').css('display','');
  924. JQuery('#bfGlobalOptions').css('visibility','visible');
  925. JQuery('#bfSaveOptionsButton').css('display','');
  926. JQuery('#bfSaveOptionsButton').css('visibility','visible');
  927. JQuery('#bfElementRemoveButton').css('display','');
  928. JQuery('#bfElementRemoveButton').css('visibility','visible');
  929. JQuery('#bfElementMoveLeft').css('display','');
  930. JQuery('#bfElementMoveLeft').css('visibility','visible');
  931. JQuery('#bfElementMoveRight').css('display','');
  932. JQuery('#bfElementMoveRight').css('visibility','visible');
  933. JQuery('#bfBesideCreationButton').css('display','');
  934. JQuery('#bfBesideCreationButton').css('visibility','visible');
  935. switch(element.internalType){
  936. case 'bfStaticText':
  937. JQuery('#bfStaticTextOptions').css('display','');
  938. JQuery('#bfStaticTextOptions').css('visibility','visible');
  939. JQuery('#bfStaticTextTitle').get(0).value = element.title;
  940. JQuery('#bfStaticTextWidth').get(0).value = JQuery('#'+element.id).get(0).style.width;
  941. JQuery('#bfStaticTextHeight').get(0).value = JQuery('#'+element.id).get(0).style.height;
  942. JQuery('#'+element.id).resizable('destroy');
  943. JQuery('#bfStaticTextContent').get(0).value = JQuery('#'+element.id).get(0).innerHTML;
  944. appScope.setElementResizable(JQuery('#'+element.id).get(0));
  945. break;
  946. case 'bfIcon':
  947. JQuery('#bfIconOptions').css('display','');
  948. JQuery('#bfIconOptions').css('visibility','visible');
  949. JQuery('#bfIconCaption').get(0).value = JQuery('#'+element.id).children('#ff_iconCaption'+element.rndId)[0].innerHTML;
  950. JQuery('#bfIconWidth').get(0).value = JQuery('#'+element.id).get(0).style.width;
  951. JQuery('#bfIconHeight').get(0).value = JQuery('#'+element.id).get(0).style.height;
  952. JQuery('#bfIconImage').get(0).value = JQuery('#'+element.id).attr('src');
  953. JQuery('#bfIconImage').get(0).value = element.data1;
  954. JQuery('#bfIconImageOver').get(0).value = element.data3;
  955. appScope.populateElementActionScript();
  956. break;
  957. case 'bfCalendar':
  958. JQuery('#bfCalendarOptions').css('display','');
  959. JQuery('#bfCalendarOptions').css('visibility','visible');
  960. JQuery('#bfCalendarFormat').get(0).value = element.options.format;
  961. JQuery('#bfCalendarConnectWith').get(0).value = element.options.connectWith;
  962. JQuery('#'+element.id).resizable('destroy');
  963. JQuery('#bfCalendarText').get(0).value = JQuery('#'+element.id).get(0).innerHTML.replace('','');
  964. appScope.setElementResizable(JQuery('#'+element.id).get(0));
  965. break;
  966. case 'bfCaptcha':
  967. JQuery('#bfCaptchaOptions').css('display','');
  968. JQuery('#bfCaptchaOptions').css('visibility','visible');
  969. JQuery('#bfCaptchaWidth').get(0).value = JQuery('.ff_captcha')[0].style.width;
  970. JQuery('#bfCaptchaHeight').get(0).value = JQuery('.ff_captcha')[0].style.height;
  971. break;
  972. case 'bfTextfield':
  973. JQuery('#bfTextfieldOptions').css('display','');
  974. JQuery('#bfTextfieldOptions').css('visibility','visible');
  975. JQuery('#bfTextfieldTitle').get(0).value = element.title;
  976. JQuery('#bfTextfieldName').get(0).value = element.name;
  977. JQuery('#bfTextfieldValue').get(0).value = element.options.value;
  978. JQuery('#bfTextfieldWidth').get(0).value = JQuery('#'+element.id).get(0).style.width;
  979. JQuery('#bfTextfieldHeight').get(0).value = JQuery('#'+element.id).get(0).style.height;
  980. JQuery('#bfTextfieldMaxlength').get(0).value = JQuery('#'+element.id).attr('maxlength') > -1 ? JQuery('#'+element.id).attr('maxlength') : '';
  981. if(element.options.readonly){
  982. JQuery('#bfTextfieldDisable').attr('checked', true);
  983. JQuery('#'+element.id).get(0).setAttribute('readonly','readonly');
  984. } else {
  985. JQuery('#bfTextfieldDisable').attr('checked', false);
  986. JQuery('#'+element.id).get(0).setAttribute('readonly','');
  987. JQuery('#'+element.id).get(0).removeAttribute('readonly');
  988. }
  989. if(element.options.password){
  990. JQuery('#bfTextfieldPassword').attr('checked', true);
  991. JQuery('#'+element.id).get(0).setAttribute('type','password');
  992. } else {
  993. JQuery('#bfTextfieldPassword').attr('checked', false);
  994. JQuery('#'+element.id).get(0).setAttribute('type', 'text');
  995. }
  996. if(element.options.mailback){
  997. JQuery('#bfTextfieldMailback').attr('checked', true);
  998. } else {
  999. JQuery('#bfTextfieldMailback').attr('checked', false);
  1000. }
  1001. if(element.mailbackAsSender){
  1002. JQuery('#bfTextfieldMailbackAsSender').attr('checked', true);
  1003. } else {
  1004. JQuery('#bfTextfieldMailbackAsSender').attr('checked', false);
  1005. }
  1006. JQuery('#bfTextfieldMailbackfile').get(0).value = element.mailbackfile;
  1007. appScope.populateElementActionScript();
  1008. appScope.populateElementInitScript();
  1009. appScope.populateElementValidationScript();
  1010. break;
  1011. case 'bfTextarea':
  1012. JQuery('#bfTextareaOptions').css('display','');
  1013. JQuery('#bfTextareaOptions').css('visibility','visible');
  1014. JQuery('#bfTextareaTitle').get(0).value = element.title;
  1015. JQuery('#bfTextareaName').get(0).value = element.name;
  1016. JQuery('#bfTextareaValue').get(0).value = element.options.value;
  1017. JQuery('#bfTextareaWidth').get(0).value = JQuery('#'+element.id).get(0).style.width;
  1018. JQuery('#bfTextareaHeight').get(0).value = JQuery('#'+element.id).get(0).style.height;
  1019. if(element.options.readonly){
  1020. JQuery('#bfTextareaDisable').attr('checked', true);
  1021. JQuery('#'+element.id).get(0).setAttribute('readonly','readonly');
  1022. } else {
  1023. JQuery('#bfTextareaDisable').attr('checked', false);
  1024. JQuery('#'+element.id).get(0).setAttribute('readonly','');
  1025. JQuery('#'+element.id).get(0).removeAttribute('readonly');
  1026. }
  1027. appScope.populateElementInitScript();
  1028. appScope.populateElementActionScript();
  1029. appScope.populateElementValidationScript();
  1030. break;
  1031. case 'bfCheckbox':
  1032. JQuery('#bfCheckboxOptions').css('display','');
  1033. JQuery('#bfCheckboxOptions').css('visibility','visible');
  1034. JQuery('#bfCheckboxChecked').get(0).checked = element.options.checked;
  1035. JQuery('#bfCheckboxValue').get(0).value = element.options.value;

Large files files are truncated, but you can click here to view the full file