1var FormBuilderObject=null; 2function FormBuilderOpen(container,level,ref,open_first){ 3 clearProcesses(); 4 if(FormBuilderObject){ 5 FormBuilderObject.closeEditor(); 6 FormBuilderObject=null; 7 } 8 InstantPricingFormEditMode(true); 9 FormBuilderObject=new formBuilder(container,level,ref,open_first); 10// el('FORM_SUBMIT_B').style["display"]="none"; 11} 12function FormBuilderClose(){ 13 if(FormBuilderObject){ 14 if(FormBuilderObject.isEditing) FormBuilderObject.closeEditElement(); 15 FormBuilderObject.closeEditor(); 16 FormBuilderObject=null; 17 InstantPricingFormEditMode(false); 18 returnProcesses(); 19 } 20// el('FORM_SUBMIT_B').style["display"]=""; 21 return true; 22} 23function FormBuilderDefaultOptions(){ 24 if(FormBuilderObject){ 25 FormBuilderObject.showDefaultOptions(); 26 } 27} 28function FormBuilderClearDefault(){ 29 if(FormBuilderObject){ 30 FormBuilderObject.clearDefault(); 31 } 32} 33function FormBuilderCloseDefaultOptions(){ 34 if(FormBuilderObject){ 35 FormBuilderObject.closeDefaultOptions(); 36 } 37} 38function FormBuilderAddDefault(val){ 39 if(FormBuilderObject){ 40 FormBuilderObject.addDefault(val); 41 } 42} 43 44 45function FormBuilderSelectImage(){ 46 if(FormBuilderObject) FormBuilderObject.selectImage(); 47} 48 49 50 51/*********************************************************************************/ 52 53function formBuilder(container,level,ref,open_first){ 54 this.refLevel=level; this.formID=ref; 55 this.isEditing=false; 56 var instance=this; 57 this.content=new HTMLParse(container) 58 this.submitButton=el('FORM_SUBMIT_B'); 59 if(this.submitButton)this.submitButton.style["display"]="none"; 60 this.loading(); 61 var params= new AjaxFormContent(); 62 params.addNameValue("pid",PREFS.Site_Dir); 63 params.addNameValue("mdl","Form_Builder2/resource.aj"); 64 params.addNameValue("DEBUG",1); 65 params.addNameValue("FORM_Form_ID",this.formID); 66 params.addNameValue("FORM_Ref_ID",this.formID); 67 params.addNameValue("FORM_Ref_Level",this.refLevel); 68 ajaxPostFunction(params,function(sc,st,rt,rxml){ 69 instance.res=new HTMLParse(rt); 70 document.body.appendChild(instance.res.DEFAULT_OPTIONS[0].node); 71 if(instance.refLevel==9){ 72 instance.formInfo=instance.res.formInfo[0]; 73 instance.content.node.parentNode.insertBefore(instance.formInfo.node,instance.content.node); 74 instance.processFormInfo(); 75 } 76 if(instance.refLevel==9||instance.refLevel==11){ 77 instance.weightInfo=instance.res.weightInfo[0]; 78 instance.content.node.parentNode.insertBefore(instance.weightInfo.node,instance.content.node); 79 instance.processWeightInfo(); 80 } 81 instance.newElement=instance.res.newElement[0]; 82 instance.processElements(); 83 if(instance.content.node.nextSibling){ 84 instance.content.node.parentNode.insertBefore(instance.newElement.node,instance.content.node.nextSibling); 85 }else{ 86 instance.content.node.parentNode.appendChild(instance.newElement.node); 87 } 88 if(instance.refLevel==12&&document.getElementById('paw_signup_in_cart')) { 89 instance.paw_signup=document.getElementById('paw_signup_in_cart'); 90 instance.content.node.parentNode.insertBefore(instance.paw_signup,instance.newElement.node); 91 } 92 //setMouseOver(instance.newElement.predefined[0].submitButton[0].node,"green-sm"); 93 instance.newElement.predefined[0].submitButton[0].node.onclick=function(){instance.addPredefined();}; 94 //setMouseOver(instance.newElement.newElementForm[0].submitButton[0].node,"green-sm"); 95 instance.newElement.newElementForm[0].submitButton[0].node.onclick=function(){instance.addNewElement();}; 96 instance.loadingDiv.style["display"]="none"; 97 if(open_first&&instance.firstEditButton) instance.editElement(instance.firstEditButton); 98 },"ajax.iml"); 99} 100 101 102formBuilder.prototype.loading=function(){ 103 this.loadingDiv=el('LOADING'); 104 if(this.loadingDiv){ 105 this.loadingDiv.style["display"]=""; 106 }else{ 107 this.loadingDiv=ce('div'); 108 this.loadingDiv.style["padding"]="20px"; 109 this.loadingDiv.style["textAlign"]="center"; 110 111 this.loadingDiv.innerHTML='<img src="images/Spinning-Ball.gif" border=0 align="middle"> <b>Loading</b>'; 112 this.content.node.parentNode.insertBefore(this.loadingDiv,this.content.node); 113 } 114} 115 116formBuilder.prototype.closeEditor=function(){ 117 if(this.refLevel==9){this.content.node.parentNode.removeChild(this.formInfo.node);} 118 this.content.node.parentNode.removeChild(this.newElement.node); 119 var node=this.content.node; 120 this.content=new HTMLParse(node); 121 for(var i=0; i<this.content.editTemplate.length; i++){ 122 node.appendChild(this.content.editTemplate[i].content[0].element[0].node); 123 node.removeChild(this.content.editTemplate[i].node); 124 } 125 if(this.submitButton)this.submitButton.style["display"]=""; 126} 127 128 129formBuilder.prototype.elementHeaders=new Array("","Text Entry Field", "Checkbox Entry Field", "Pulldown Menu", "Multiline Text Field", "File Transfer Field", "Text Message", "Highlighted Text Message", "Divider Line", "Image", "Global Price List", "Radio Button Entry Field", "Instant Pricing", "", "uDesignIT! Preview", "uDesignIT! Image Upload","Custom HTML"); 130 131formBuilder.prototype.elementDataFields=new Array("Form_Item_ID", "Element_ID", "Attribute_Name", "Description", "Default_Value", "onChange", "Cols", "Rows", "Align", "Required", "Global", "Type", "Options", "Filter", "PP_Key", "Field_Number", "Help_Text", "Warning_Text"); 132 133 134 135/************************************ Elements *********************************************/ 136 137formBuilder.prototype.processElements=function(){ 138 var instance=this; 139 var eid, type; 140 for(var i=0; this.content.element&&i<this.content.element.length; i++){ 141 this.content.appendObject(this.processElementNode(this.content.element[i])); 142 } 143 this.dragger=new DragDropListObject(this.content.node,function(){instance.sort();}); 144} 145 146formBuilder.prototype.processElementNode=function(htmlNode,newElement){ 147 var instance=this; 148 var eid=Number(htmlNode.Form_Item_ID[0].node.innerHTML); 149 var type=Number(htmlNode.Type[0].node.innerHTML); 150 var result=new HTMLParse(this.res.editTemplate[0].node,true); 151 result.header[0].node.innerHTML=this.elementHeaders[type]; 152 result.content[0].appendObject(htmlNode); 153 if(!newElement&&result.content[0].element[0].Pre_Edit_Function){ 154 eval(result.content[0].element[0].Pre_Edit_Function[0].node.innerHTML); 155 } 156 if(type<12||type>13){
157 result.content[0].appendObject(this.res.editTemplate[type],true); 158 result.content[0].editTemplate[0].node.style["display"]="none"; 159 result.content[0].editTemplate[0].Type[0].node.setAttribute('eid',eid); 160 result.content[0].editTemplate[0].Type[0].node.onchange=function(){instance.changeElementType(this);} 161 }else{ 162 result.content[0].editTemplate=new Array(); 163 result.content[0].editTemplate[0]=null; 164 } 165 $(result.node).hover(function(evt){instance.mouseOver(this);},function(evt){instance.mouseOut(this);}); 166 ////setMouseOver(result.action[0].node,'black-sm'); 167 ////setMouseOver(result.action[1].node,'black-sm'); 168 ////setMouseOver(result.action[2].node,'black-sm'); 169 ////setMouseOver(result.action[3].node,'black-sm'); 170 if(htmlNode.NO_EDIT[0].node.innerHTML=="1"){ 171 result.action[0].node.style["display"]="none"; 172 result.action[1].node.style["display"]="none"; 173 }else if(htmlNode.Global[0].node.innerHTML=="1"||type==14){ 174 result.action[0].node.style["display"]="none"; 175 }else{ 176 result.action[0].node.onclick=function(evt){instance.editElement(this);}; 177 if(!this.firstEditButton)this.firstEditButton=result.action[0].node; 178 } 179 result.action[2].node.style["display"]="none"; 180 result.action[3].node.style["display"]="none"; 181 result.action[2].node.onclick=function(evt){instance.saveElement(this);}; 182 result.action[3].node.onclick=function(evt){instance.closeEditElement(this);}; 183 result.action[1].node.onclick=function(evt){instance.deleteElement(this);}; 184 result.action[0].node.setAttribute('eid',eid); 185 result.action[1].node.setAttribute('eid',eid); 186 if(type<=5||type==11||type==15){ 187 result.required[0].input[0].node.setAttribute('eid',eid); 188 result.required[0].input[0].node.onclick=function(evt){instance.setRequired(this);}; 189 if(htmlNode.Required[0].node.innerHTML=="1") result.required[0].input[0].node.checked=true; 190 else result.required[0].input[0].node.checked=false; 191 }else{ 192 result.required[0].node.style["display"]="none"; 193 } 194 return result; 195} 196 197formBuilder.prototype.mouseOver=function(obj){ 198 if(!this.dragger.isDragging&&!this.isEditing){ 199 obj.className="fbElementHover"; 200 for(i=0; i<this.content.editTemplate.length; i++){ 201 if(this.content.editTemplate[i].node!=obj) this.content.editTemplate[i].node.className="fbElement"; 202 } 203 } 204 return false; 205} 206 207formBuilder.prototype.mouseOut=function(obj){ 208 if(!this.dragger.isDragging&&!this.isEditing) obj.className="fbElement"; 209 return false; 210} 211 212 213formBuilder.prototype.deleteElement=function(obj){ 214 this.isEditing=true; 215 var eid=obj.getAttribute('eid'); 216 var instance=this; 217 this.editingID=this.findElement(eid); 218 obj=this.content.editTemplate[this.editingID].node; 219 if(confirm("You are about to delete content from this page. Do you want to continue?")){ 220 var params=new AjaxFormContent(); 221 params.addNameValue("pid",PREFS.Site_Dir); 222 params.addNameValue("DEBUG",1); 223 params.addNameValue("remove_id",eid); 224 params.addNameValue("mdl","Form_Builder2/delete_item.aj"); 225 ajaxPostFunction(params,function(sc,st,rt,rxml){ 226 obj.parentNode.removeChild(obj); 227 instance.isEditing=false; 228 }, 229 "ajax.iml"); 230 } 231} 232 233formBuilder.prototype.sort=function(){ 234 var sort=0; 235 var sortedContent=new HTMLParse(this.content.node); 236 var params=new AjaxFormContent(); 237 params.addNameValue("pid",PREFS.Site_Dir); 238 params.addNameValue("DEBUG",1); 239 params.addNameValue("mdl","Form_Builder2/sort.aj"); 240 for(var i=0; i<sortedContent.editTemplate.length; i++){ 241 params.addNameValue("Form_Item_ID", sortedContent.editTemplate[i].content[0].element[0].Form_Item_ID[0].node.innerHTML); 242 } 243 ajaxPostFunction(params,function(sc,st,rt,rxml){ }, "ajax.iml"); 244} 245 246formBuilder.prototype.setRequired=function(obj){ 247 var id=this.findElement(obj.getAttribute('eid')); 248 var instance=this; 249 var params=new AjaxFormContent(); 250 var fData; 251 var fNode=this.content.editTemplate[id].content[0].editTemplate[0]; 252 params.addNameValue("pid",PREFS.Site_Dir); 253 params.addNameValue("DEBUG",1); 254 params.addNameValue("FORM_Form_ID",this.formID); 255 params.addNameValue("QU_Form_Item_ID", obj.getAttribute('eid')); 256 params.addNameValue("QU_Required",(obj.checked?1:0) ); 257 params.addNameValue("mdl","Form_Builder2/updateRequired.aj"); 258 ajaxPostFunction(params,function(sc,st,rt,rxml){ 259 var ct=new HTMLParse(rt); 260 var newContent=instance.processElementNode(ct.element[0]); 261 var oldContent=instance.content.editTemplate[id]; 262 instance.content.node.replaceChild(newContent.node,oldContent.node); 263 instance.content.editTemplate[id]=newContent; 264 instance.dragger=new DragDropListObject(instance.content.node,function(){instance.sort();}); 265 }, 266 "ajax.iml"); 267} 268 269 270/************************************ Edit Element *********************************************/ 271 272formBuilder.prototype.editElement=function(obj){ 273 this.showEditor( obj.getAttribute('eid')); 274} 275 276formBuilder.prototype.changeElementType=function(obj){ 277 var instance=this; 278 var eid=obj.getAttribute('eid') 279 var htmlNode=this.content.editTemplate[this.findElement(eid)]; 280 var type=obj.options[obj.selectedIndex].value; 281 htmlNode.content[0].element[0].Type[0].node.innerHTML=type; 282 htmlNode.content[0].node.removeChild(htmlNode.content[0].editTemplate[0].node); 283 htmlNode.content[0].editTemplate[0]=new HTMLParse(this.res.editTemplate[type].node,true); 284 htmlNode.content[0].editTemplate[0].Type[0].node.setAttribute('eid',eid); 285 htmlNode.content[0].editTemplate[0].Type[0].node.onchange=function(){instance.changeElementType(this);} 286 htmlNode.content[0].node.appendChild(htmlNode.content[0].editTemplate[0].node); 287 this.showEditor(eid); 288} 289 290formBuilder.prototype.showEditor=function(eid){ 291 this.editingID=this.findElement(eid); 292 if(this.editingID>=0){ 293 this.mouseOver(this.content.editTemplate[this.editingID].node); 294 this.content.editTemplate[this.editingID].node.className="fbElementEdit"; 295 this.isEditing=true; 296 if(this.content.editTemplate[this.editingID].content[0].element[0].Edit_Function){ 297 eval(this.content.editTemplate[this.editingID].content[0].element[0].Edit_Function[0].node.innerHTML); 298 }else{ 299 var theElement=this.content.editTemplate[this.editingID].content[0].element[0]; 300 var theForm=this.content.editTemplate[this.editingID].content[0].editTemplate[0]; 301 theForm.node.style["display"]=""; 302 theElement.node.style["display"]="none"; 303 this.loadFormData(theElement,theForm); 304 if(theElement.Type[0].node.value=="9"){ // image 305 if(theElement.Description[0].node.value==""){ 306 theForm.ImagePreview[0].node.src="no_image.jpg"; 307 }else{ 308 theForm.ImagePreview[0].node.src=theForm.ImagePreview[0].node.getAttribute('imagepath')+"/"+theElement.Description[0].node.value; 309 } 310 } 311 } 312 this.content.editTemplate[this.editingID].action[0].node.value="Close Without Saving"; 313 var instance=this; 314 this.content.editTemplate[this.editingID].action[0].node.onclick=function(evt){instance.closeEditElement(this);}; 315 this.content.editTemplate[this.editingID].action[2].node.style["display"]=""; 316 this.content.editTemplate[this.editingID].action[3].node.style["display"]=""; 317 this.content.editTemplate[this.editingID].required[0].node.style["display"]="none"; 318 } 319} 320 321formBuilder.prototype.findElement=function(id){ 322 for(var i=0;i<this.content.editTemplate.length; i++){ 323 if(this.content.editTemplate[i].content[0].element[0].Form_Item_ID[0].node.innerHTML==id) return i; 324 } 325 return -1; 326} 327 328formBuilder.prototype.loadFormData=function(eNode,fNode){ 329 var eData, fData, nodeType; 330 this.optionsListAdd=null; 331 this.optionsList=null; 332 for(var i=0;i<this.elementDataFields.length;i++){ 333 eData=eval("eNode."+this.elementDataFields[i]);
334 fData=eval("fNode."+this.elementDataFields[i]); 335 if(eData&&fData){ 336 nodeType=fData[0].node.nodeName; 337 if(nodeType=='INPUT'){ 338 if(fData[0].node.type=="checkbox"||fData[0].node.type=="radio"){ 339 for(var j=0; j<fData.length; j++){ 340 if(fData[j].node.value==eData[0].node.value) fData[j].node.checked=true; 341 } 342 }else fData[0].node.value=eData[0].node.value; 343 }else if(nodeType=='SELECT'){ 344 for(var j=0; j<fData[0].node.options.length; j++){ 345 if(fData[0].node.options[j].value==eData[0].node.value) fData[0].node.selectedIndex=j; 346 } 347 }else if(nodeType=='TEXTAREA'){ 348 fData[0].node.value=eData[0].node.value; 349 } 350 if(this.res.OPTIONS_LINE_ITEM&&this.elementDataFields[i]=="Options"){ 351 var instance=this; 352 fData[0].node.style["display"]="none"; 353 this.optionsList=new HTMLParse(""); 354 fData[0].node.parentNode.appendChild(this.optionsList.node); 355 var option_list=fData[0].node.value.split("\n"); 356 for(var j=0;j<option_list.length;j++) this.loadFormDataOption(option_list[j]); 357 this.optionsListDrag=new DragDropListObject(this.optionsList.node); 358 this.optionsListAdd=new HTMLParse(this.res.NEW_OPTION_LINE[0].node,true); 359 this.optionsListAdd.input[0].node.onchange=function(){instance.addNewOption();return false;}; 360 this.optionsListAdd.add[0].node.onclick=function(){instance.addNewOption();return false;}; 361 this.optionsListAdd.add[0].node.onfocus=function(){instance.optionsListAdd.input[0].node.focus();}; 362 fData[0].node.parentNode.appendChild(this.optionsListAdd.node); 363 } 364 } 365 } 366} 367 368formBuilder.prototype.loadFormDataOption=function(str){ 369 if(str=="")return; 370 var instance=this; 371 var index; 372 if(this.optionsList.OPTIONS_LINE_ITEM) index=this.optionsList.OPTIONS_LINE_ITEM.length; 373 else index=0; 374 var tmp=new HTMLParse(this.res.OPTIONS_LINE_ITEM[0].node,true); 375 tmp.node.setAttribute('index',index); 376 tmp.view[0].node.setAttribute('index',index); 377 if(str=="") tmp.view[0].node.innerHTML=" "; 378 else tmp.view[0].node.innerHTML=str; 379 tmp.view[0].node.onclick=function(){instance.editOption(this.getAttribute('index'))}; 380 tmp.edit[0].input[0].node.setAttribute('original',str); 381 tmp.edit[0].input[0].node.setAttribute('index',index); 382 tmp.edit[0].input[0].node.value=str; 383 tmp.edit[0].input[0].node.onchange=function(){instance.changeOption(this);}; 384 tmp.edit[0].input[0].node.onblur=function(){instance.changeOption(this);}; 385 tmp.del[0].node.setAttribute('index',index); 386 tmp.del[0].node.setAttribute('original',str); 387 tmp.del[0].node.onclick=function(event){instance.deleteOption(this.getAttribute('index'));return false;} 388 this.optionsList.appendObject(tmp); 389} 390formBuilder.prototype.addNewOption=function(){ 391 this.loadFormDataOption(this.optionsListAdd.input[0].node.value); 392 this.optionsListDrag=new DragDropListObject(this.optionsList.node); 393 this.optionsListAdd.input[0].node.value=""; 394 this.optionsListAdd.input[0].node.focus(); 395} 396formBuilder.prototype.deleteOption=function(index){ 397 for(var i=0; i<this.optionsList.OPTIONS_LINE_ITEM.length; i++){ 398 if(index==this.optionsList.OPTIONS_LINE_ITEM[i].node.getAttribute('index')){ 399 this.optionsList.removeObject(this.optionsList.OPTIONS_LINE_ITEM,i); 400 break; 401 } 402 } 403} 404formBuilder.prototype.editOption=function(index){ 405 for(var i=0; i<this.optionsList.OPTIONS_LINE_ITEM.length; i++){ 406 if(index==this.optionsList.OPTIONS_LINE_ITEM[i].node.getAttribute('index')){ 407 this.optionsList.OPTIONS_LINE_ITEM[i].view[0].node.style["display"]="none"; 408 this.optionsList.OPTIONS_LINE_ITEM[i].edit[0].node.style["display"]=""; 409 this.optionsList.OPTIONS_LINE_ITEM[i].edit[0].input[0].node.focus(); 410 break; 411 } 412 } 413} 414formBuilder.prototype.resetOption=function(index){ 415 for(var i=0; i<this.optionsList.OPTIONS_LINE_ITEM.length; i++){ 416 if(index==this.optionsList.OPTIONS_LINE_ITEM[i].node.getAttribute('index')){ 417 this.optionsList.OPTIONS_LINE_ITEM[i].view[0].node.style["display"]=""; 418 this.optionsList.OPTIONS_LINE_ITEM[i].edit[0].node.style["display"]="none"; 419 break; 420 } 421 } 422} 423formBuilder.prototype.changeOption=function(obj){ 424 var index=obj.getAttribute('index'); 425 var item; 426 var str=obj.value; 427 for(var i=0; i<this.optionsList.OPTIONS_LINE_ITEM.length; i++){ 428 if(index==this.optionsList.OPTIONS_LINE_ITEM[i].node.getAttribute('index')){ 429 item=this.optionsList.OPTIONS_LINE_ITEM[i];
430 var original=item.edit[0].input[0].node.getAttribute('original'); 431 if(original!=str){ 432 var params=new AjaxFormContent(); 433 params.addNameValue("pid",PREFS.Site_Dir); 434 params.addNameValue("DEBUG",1); 435 params.addNameValue("mdl","Elements2/update_option.aj"); 436 params.addContent(this.content.editTemplate[this.editingID].content[0].editTemplate[0].Element_ID[0].node); 437 params.addNameValue("QU_Option",original); 438 params.addNameValue("QU_Option_NEW",str); 439 ajaxPostFunction(params,function(sc,st,rt,rxml){ }, "ajax.iml"); 440 } 441 item.view[0].node.innerHTML=str; 442 item.view[0].node.style["display"]=""; 443 item.edit[0].node.style["display"]="none"; 444 item.edit[0].input[0].node.setAttribute('original',str); 445 item.del[0].node.setAttribute('original',str); 446 break; 447 } 448 } 449} 450formBuilder.prototype.resetOptions=function(){ 451 this.optionsList=new HTMLParse(this.optionsList.node); 452 var str=""; 453 if(this.optionsList.OPTIONS_LINE_ITEM){ 454 for(var i=0;i<this.optionsList.OPTIONS_LINE_ITEM.length;i++){ 455 if(i>0)str=str+"\n"; 456 str=str+this.optionsList.OPTIONS_LINE_ITEM[i].edit[0].input[0].node.value; 457 } 458 } 459 this.optionsList.node.parentNode.removeChild(this.optionsList.node); 460 if(this.optionsListAdd) this.optionsListAdd.node.parentNode.removeChild(this.optionsListAdd.node); 461 this.optionsList=null; 462 return str; 463} 464 465formBuilder.prototype.saveElement=function(obj){ 466 var instance=this; 467 if(this.isEditing){ 468 this.closeDefaultOptions(); 469 this.content.editTemplate[this.editingID].action[0].node.value="Edit"; 470 this.content.editTemplate[this.editingID].action[0].node.onclick=function(evt){instance.editElement(this);}; 471 this.content.editTemplate[this.editingID].action[2].node.style["display"]="none"; 472 this.content.editTemplate[this.editingID].action[3].node.style["display"]="none"; 473 var type=this.content.editTemplate[this.editingID].content[0].element[0].Type[0].node.value; 474 if(type==1||type==3||type==4||type==5){ 475 this.content.editTemplate[this.editingID].required[0].node.style["display"]=""; 476 } 477 this.isEditing=false; 478 this.mouseOver(this.content.editTemplate[this.editingID].node); 479 if(this.content.editTemplate[this.editingID].content[0].element[0].Save_Function){ 480 eval(this.content.editTemplate[this.editingID].content[0].element[0].Save_Function[0].node.innerHTML); 481 }else{ 482 var params=new AjaxFormContent(); 483 var fData; 484 var fNode=this.content.editTemplate[this.editingID].content[0].editTemplate[0]; 485 if(this.optionsList){ 486 fNode.Options[0].node.value=this.resetOptions(); 487 } 488 params.addNameValue("pid",PREFS.Site_Dir); 489 params.addNameValue("DEBUG",1); 490 params.addNameValue("FORM_Form_ID",this.formID); 491 params.addNameValue("FORM_Ref_ID",this.formID); 492 params.addNameValue("FORM_Ref_Level",this.refLevel); 493 for(var i=0;i<this.elementDataFields.length;i++){ 494 fData=eval("fNode."+this.elementDataFields[i]); 495 if(fData){ 496 params.addContent(fData[0].node); 497 } 498 } 499 params.addNameValue("mdl","Elements2/update.aj"); 500 ajaxPostFunction(params,function(sc,st,rt,rxml){ 501 var ct=new HTMLParse(rt); 502 var newContent=instance.processElementNode(ct.element[0]); 503 var oldContent=instance.content.editTemplate[instance.editingID]; 504 instance.content.node.replaceChild(newContent.node,oldContent.node); 505 instance.content.editTemplate[instance.editingID]=newContent; 506 instance.dragger=new DragDropListObject(instance.content.node,function(){instance.sort();}); 507 }, 508 "ajax.iml"); 509 } 510 } 511} 512formBuilder.prototype.closeEditElement=function(obj){ 513 if(this.isEditing){ 514 this.isEditing=false; 515 this.closeDefaultOptions(); 516 var theElement=this.content.editTemplate[this.editingID].content[0].element[0]; 517 var theForm=this.content.editTemplate[this.editingID].content[0].editTemplate[0]; 518 if(theForm) theForm.node.style["display"]="none"; 519 if(theElement) theElement.node.style["display"]=""; 520 this.content.editTemplate[this.editingID].action[0].node.value="Edit"; 521 var instance=this; 522 this.content.editTemplate[this.editingID].action[0].node.onclick=function(evt){instance.editElement(this);}; 523 this.content.editTemplate[this.editingID].action[2].node.style["display"]="none"; 524 this.content.editTemplate[this.editingID].action[3].node.style["display"]="none"; 525 var type=theElement.Type[0].node.value; 526 if(type==1||type==3||type==4||type==5) this.content.editTemplate[this.editingID].required[0].node.style["display"]=""; 527 this.mouseOver(this.content.editTemplate[this.editingID].node); 528 if(this.content.editTemplate[this.editingID].content[0].element[0].Cancel_Function){ 529 eval(this.content.editTemplate[this.editingID].content[0].element[0].Cancel_Function[0].node.innerHTML); 530 } 531 if(this.optionsList) this.resetOptions(); 532 } 533} 534 535formBuilder.prototype.showDefaultOptions=function(){ 536 if(this.isEditing){ 537 this.defaultOptionsDest=null; 538 if(this.content.editTemplate[this.editingID].content[0].editTemplate[0].Default_Value) 539 this.defaultOptionsDest=this.content.editTemplate[this.editingID].content[0].editTemplate[0].Default_Value[0].node; 540 else if(this.content.editTemplate[this.editingID].content[0].editTemplate[0].Description) 541 this.defaultOptionsDest=this.content.editTemplate[this.editingID].content[0].editTemplate[0].Description[0].node; 542 $('[dataname=DEFAULT_OPTIONS]').show().position({of:this.defaultOptionsDest,my:"left+10 top+30",at:"right top",collision: 'fit'}); 543// var pos=Geometry.upperLeftOffset(this.defaultOptionsDest); 544// this.res.DEFAULT_OPTIONS[0].node.style["visibility"]="visible"; 545// this.res.DEFAULT_OPTIONS[0].node.style["left"]=pos.x+10; 546// this.res.DEFAULT_OPTIONS[0].node.style["top"]=pos.y+30; 547 } 548} 549formBuilder.prototype.clearDefault=function(){ 550 if(this.isEditing&&this.defaultOptionsDest){ 551 this.defaultOptionsDest.value=""; 552 this.defaultOptionsDest.focus(); 553 } 554} 555formBuilder.prototype.closeDefaultOptions=function(){ 556 $('[dataname=DEFAULT_OPTIONS]').hide(); 557// this.res.DEFAULT_OPTIONS[0].node.style["visibility"]="hidden"; 558} 559formBuilder.prototype.addDefault=function(val){ 560 if(this.isEditing&&this.defaultOptionsDest){ 561 this.defaultOptionsDest.value=this.defaultOptionsDest.value+val; 562 this.defaultOptionsDest.focus(); 563 } 564} 565formBuilder.prototype.selectImage=function(){ 566 if(this.isEditing){ 567 var instance=this; 568 imageDragger.setPosition(this.content.editTemplate[this.editingID].node); 569 var src=this.content.editTemplate[this.editingID].content[0].editTemplate[0].ImagePreview[0].node.src; 570 var prefix=src.substring(0,src.lastIndexOf('/')>=0?src.lastIndexOf('/'):src.length); 571 var file=prefix.lastIndexOf('/')>=0?src.substring(prefix.lastIndexOf('/')+1,src.length):''; 572 imagePicker.open(function(img){instance.setImage(img);},"My Images","",file); 573 } 574} 575formBuilder.prototype.setImage=function(img){ 576 var theForm=this.content.editTemplate[this.editingID].content[0].editTemplate[0]; 577 theForm.Description[0].node.value=img; 578 if(img!=""){ 579 theForm.ImagePreview[0].node.src=theForm.ImagePreview[0].node.getAttribute('imagepath')+"/"+img; 580 }else{ 581 theForm.ImagePreview[0].node.src="no_image.jpg"; 582 } 583} 584 585/************************************ Add Element *********************************************/ 586 587formBuilder.prototype.addPredefined=function(){ 588 if(this.isEditing){ 589 alert("Please save your changes before adding a new element!"); 590 return; 591 } 592 var params=new AjaxFormContent(); 593 params.addNameValue("pid",PREFS.Site_Dir); 594 params.addNameValue("mdl","Form_Builder2/add_predefined.aj"); 595 params.addNameValue('FORM_Form_ID',this.formID); 596 params.addNameValue('FORM_Ref_ID',this.formID); 597 params.addNameValue('FORM_Ref_Level',this.refLevel); 598 599 params.fromNode(this.newElement.predefined[0].node); 600 var instance=this; 601 ajaxPostFunction(params,function(sc,st,rt,rxml){ 602 var result=new HTMLParse(rt); 603 for(var i=0; i<result.element.length; i++){ 604 instance.content.appendObject(instance.processElementNode(result.element[i])); 605 if(result.element[i].FORM_FOOTER_SCRIPT) eval(result.element[i].FORM_FOOTER_SCRIPT[0].node.innerHTML); 606 } 607 instance.dragger=new DragDropListObject(instance.content.node,function(){instance.sort();}); 608 }, 609 "ajax.iml"); 610} 611formBuilder.prototype.addNewElement=function(){ 612 if(this.isEditing){ 613 alert("Please save your changes before adding a new element!"); 614 return; 615 } 616 var selectType=this.newElement.newElementForm[0].selectType[0].node; 617 var selectedType=selectType.options[selectType.selectedIndex].value; 618 if(selectedType==14||selectedType==15){ 619 if(!PREFS.uDesignIT){ 620 alert("uDesignIT! (the variable data component of your website) is currently not active. Please contact WebsitesForPrinters.com at 800-736-0688 for more information."); 621 return; 622 }else if(!PREFS.Pageflex_Available){ 623 if(selectedType==14) alert("Adding a uDesignIT! Preview requires the presence of a Pageflex Studio project file."); 624 else if(selectedType==15) alert("Adding a uDesignIT! Image Upload requires the presence of a Pageflex Studio project file."); 625 return; 626 } 627 } 628 var params=new AjaxFormContent(); 629 params.addNameValue("pid",PREFS.Site_Dir); 630 params.addNameValue("mdl","Form_Builder2/addElement.aj"); 631 params.addNameValue('DEBUG',1); 632 params.addNameValue('FORM_Form_ID',this.formID); 633 params.addNameValue('FORM_Ref_ID',this.formID); 634 params.addNameValue('FORM_Ref_Level',this.refLevel); 635 636 params.fromNode(this.newElement.newElementForm[0].node); 637 var instance=this; 638 ajaxPostFunction(params,function(sc,st,rt,rxml){ 639 var result=new HTMLParse(rt); 640 for(var i=0; i<result.element.length; i++){ 641 instance.content.appendObject(instance.processElementNode(result.element[i],true)); 642 if(result.element[i].FORM_FOOTER_SCRIPT) eval(result.element[i].FORM_FOOTER_SCRIPT[0].node.innerHTML); 643 if(result.element[i].Pre_Edit_Function) eval(result.element[i].Pre_Edit_Function[0].node.innerHTML); 644 } 645 instance.dragger=new DragDropListObject(instance.content.node,function(){instance.sort();}); 646 var type=result.element[0].Type[0].node.innerHTML; 647 if(type!=14) instance.showEditor(result.element[0].Form_Item_ID[0].node.innerHTML); 648 }, 649 "ajax.iml"); 650} 651 652 653/************************************ Form Info *********************************************/ 654
655formBuilder.prototype.processFormInfo=function(){ 656 if(this.refLevel==9){ 657 var instance=this; 658// this.formInfo.node.onmouseover=function(evt){this.className="fbElementHover";}; 659// this.formInfo.node.onmouseout=function(evt){this.className="fbElement";}; 660 //setMouseOver(this.formInfo.action[0].node,'black-sm'); 661 //setMouseOver(this.formInfo.action[1].node,'black-sm'); 662 //setMouseOver(this.formInfo.action[2].node,'black-sm'); 663 //setMouseOver(this.formInfo.action[3].node,'black-sm'); 664 this.formInfo.action[2].node.style["display"]="none"; 665 this.formInfo.action[3].node.style["display"]="none"; 666 this.formInfo.action[2].node.onclick=function(evt){instance.updateFormInfo();}; 667 this.formInfo.action[3].node.onclick=function(evt){instance.closeFormInfo();}; 668 this.formInfo.action[1].node.onclick=function(evt){instance.deleteFormInfo();}; 669 this.formInfo.action[0].node.onclick=function(evt){instance.editFormInfo();}; 670 //setMouseOver(this.formInfo.content[0].customers_form[0].action[0].node,'green-sm'); 671 this.formInfo.content[0].customers_form[0].action[0].node.onclick=function(evt){instance.addCustomer();}; 672 this.processCustomers(); 673 if(this.formInfo.content[0].customers[0].listing){ 674 this.formInfo.content[0].customers[0].listing[0].node.style["display"]=""; 675 this.formInfo.content[0].customers[0].listing[1].node.style["display"]="none"; 676 } 677 } 678} 679 680formBuilder.prototype.processWeightInfo=function(){ 681 if(this.refLevel==9||this.refLevel==11){ 682 var instance=this; 683 //setMouseOver(this.weightInfo.action[0].node,'black-sm'); 684 this.weightInfo.action[0].node.onclick=function(evt){instance.editWeightInfo();}; 685 //setMouseOver(this.weightInfo.action[1].node,'black-sm'); 686 this.weightInfo.action[1].node.onclick=function(evt){instance.closeWeightInfo();}; 687 //setMouseOver(this.weightInfo.action[2].node,'black-sm'); 688 this.weightInfo.action[2].node.onclick=function(evt){instance.closeWeightInfo();}; 689 } 690} 691 692 693formBuilder.prototype.editFormInfo=function(){ 694 if(this.refLevel==9){ 695 var instance=this; 696// this.formInfo.node.onmouseover=null; 697// this.formInfo.node.onmouseout=null; 698 this.formInfo.node.className="fbElementEdit"; 699 this.formInfo.action[2].node.style["display"]=""; 700 this.formInfo.action[3].node.style["display"]=""; 701 this.formInfo.action[0].node.value="Close Without Saving"; 702 this.formInfo.action[0].node.onclick=function(evt){instance.closeFormInfo();}; 703 var c=this.formInfo.content[0]; 704 c.formLabel[0].node.style["display"]=""; c.formLabel[1].node.style["display"]="none"; 705 if(c.formPP_Template_No){ 706 c.formPP_Template_No[0].node.style["display"]=""; c.formPP_Template_No[1].node.style["display"]="none"; 707 } 708 if(c.formPitStop_Profile) {c.formPitStop_Profile[0].node.style["display"]=""; c.formPitStop_Profile[1].node.style["display"]="none";} 709 if(c.formAsura_Profile) {c.formAsura_Profile[0].node.style["display"]=""; c.formAsura_Profile[1].node.style["display"]="none";} 710 if(c.formQty_Question) {c.formQty_Question[0].node.style["display"]=""; c.formQty_Question[1].node.style["display"]="none";} 711 c.formSubmit_Button[0].node.style["display"]=""; c.formSubmit_Button[1].node.style["display"]="none"; 712 c.customers_form[0].node.style["display"]=""; 713 if(this.formInfo.content[0].customers[0].listing){ 714 this.formInfo.content[0].customers[0].listing[0].node.style["display"]="none"; 715 this.formInfo.content[0].customers[0].listing[1].node.style["display"]=""; 716 } 717 } 718} 719 720formBuilder.prototype.editWeightInfo=function(){ 721 if(this.refLevel==9||this.refLevel==11){ 722 var instance=this; 723 this.weightInfo.node.className="fbElementEdit"; 724 this.weightInfo.editor[0].node.style["display"]=""; 725 this.weightInfo.action[0].node.onclick=function(evt){instance.closeWeightInfo();}; 726 this.weightInfo.action[0].node.value="Close Without Saving"; 727 this.weightInfo.content[0].node.style["display"]="none"; 728 WeightCalcObj.open(this.weightInfo.editor[0].node); 729 } 730} 731 732formBuilder.prototype.closeFormInfo=function(){ 733 if(this.refLevel==9){ 734 var instance=this; 735// this.formInfo.node.onmouseover=function(evt){this.className="fbElementHover";}; 736// this.formInfo.node.onmouseout=function(evt){this.className="fbElement";}; 737 this.formInfo.node.className="fbElementHover"; 738 this.formInfo.action[2].node.style["display"]="none"; 739 this.formInfo.action[3].node.style["display"]="none"; 740 this.formInfo.action[0].node.value="Edit"; 741 this.formInfo.action[0].node.onclick=function(evt){instance.editFormInfo();}; 742 var c=this.formInfo.content[0]; 743 c.formLabel[1].node.style["display"]=""; c.formLabel[0].node.style["display"]="none"; 744 if(c.formPP_Template_No){ 745 c.formPP_Template_No[1].node.style["display"]=""; c.formPP_Template_No[0].node.style["display"]="none"; 746 } 747 if(c.formPitStop_Profile) {c.formPitStop_Profile[1].node.style["display"]=""; c.formPitStop_Profile[0].node.style["display"]="none";} 748 if(c.formAsura_Profile) {c.formAsura_Profile[1].node.style["display"]=""; c.formAsura_Profile[0].node.style["display"]="none";} 749 if(c.formQty_Question) {c.formQty_Question[1].node.style["display"]=""; c.formQty_Question[0].node.style["display"]="none";} 750 c.formSubmit_Button[1].node.style["display"]=""; c.formSubmit_Button[0].node.style["display"]="none"; 751 c.customers_form[0].node.style["display"]="none"; 752 if(this.formInfo.content[0].customers[0].listing){ 753 this.formInfo.content[0].customers[0].listing[0].node.style["display"]=""; 754 this.formInfo.content[0].customers[0].listing[1].node.style["display"]="none"; 755 } 756 } 757} 758 759formBuilder.prototype.closeWeightInfo=function(){ 760 if(this.refLevel==9||this.refLevel==11){ 761 var instance=this; 762 this.weightInfo.node.className="fbElementHover"; 763 this.weightInfo.action[0].node.onclick=function(evt){instance.editWeightInfo();}; 764 this.weightInfo.action[0].node.value="Edit"; 765 this.weightInfo.editor[0].node.style["display"]="none"; 766 this.weightInfo.content[0].node.style["display"]=""; 767 } 768} 769 770formBuilder.prototype.updateFormInfo=function(){ 771 if(this.refLevel==9){ 772 var params=new AjaxFormContent(); 773 params.addNameValue("pid",PREFS.Site_Dir); 774 params.addNameValue("mdl","Form_Builder2/update_info.aj"); 775 params.addNameValue('FORM_Form_ID',this.formID); 776 params.fromNode(this.formInfo.node); 777 var instance=this; 778 ajaxPostFunction(params,function(sc,st,rt,rxml){ 779 var res=new HTMLParse(rt); 780 instance.formInfo.node.parentNode.removeChild(instance.formInfo.node); 781 instance.formInfo=new HTMLParse(res.formInfo[0].node); 782 instance.content.node.parentNode.insertBefore(instance.formInfo.node,instance.content.node);
783 instance.processFormInfo(); 784 instance.closeFormInfo(); 785 }, 786 "ajax.iml"); 787 } 788} 789 790formBuilder.prototype.processCustomers=function(){ 791 if(this.formInfo.content[0].customers[0].listing){ 792 var instance=this; 793 for(var i=0; i<this.formInfo.content[0].customers[0].listing[1].customerRow.length; i++){ 794 //setMouseOver(this.formInfo.content[0].customers[0].listing[1].customerRow[i].removeCustomer[0].node,'red-sm'); 795 this.formInfo.content[0].customers[0].listing[1].customerRow[i].removeCustomer[0].node.onclick=function(){instance.removeCustomer(this);}; 796 } 797 } 798} 799 800formBuilder.prototype.removeCustomer=function(button){ 801 if(this.refLevel==9){ 802 var params=new AjaxFormContent(); 803 params.addNameValue("pid",PREFS.Site_Dir); 804 params.addNameValue("mdl","Form_Builder2/remove_cust.aj"); 805 params.addNameValue('FORM_Form_ID',this.formID); 806 params.addNameValue('DEBUG',1); 807 params.addNameValue('FORM_Company_ID',button.getAttribute("Company_ID")); 808 params.addNameValue('FORM_Branch_ID',button.getAttribute("Branch_ID")); 809 params.addNameValue('FORM_Contact_ID',button.getAttribute("Contact_ID")); 810 var instance=this; 811 ajaxPostFunction(params,function(sc,st,rt,rxml){ 812 var tmp=new HTMLParse(rt); 813 instance.formInfo.content[0].customers[0].node.parentNode.replaceChild(tmp.customers[0].node,instance.formInfo.content[0].customers[0].node); 814 instance.formInfo.content[0].customers[0]=tmp.customers[0]; 815 instance.processCustomers(); 816 }, 817 "ajax.iml"); 818 } 819} 820 821formBuilder.prototype.addCustomer=function(){ 822 if(this.refLevel==9){ 823 var params=new AjaxFormContent(); 824 params.addNameValue("pid",PREFS.Site_Dir); 825 params.addNameValue("mdl","Form_Builder2/add_cust.mdl"); 826 params.addNameValue('FORM_Form_ID',this.formID); 827 params.fromNode(this.formInfo.content[0].customers_form[0].node); 828 var instance=this; 829 ajaxPostFunction(params,function(sc,st,rt,rxml){ 830 var tmp=new HTMLParse(rt); 831 instance.formInfo.content[0].customers[0].node.parentNode.replaceChild(tmp.customers[0].node,instance.formInfo.content[0].customers[0].node); 832 instance.formInfo.content[0].customers[0]=tmp.customers[0]; 833 instance.processCustomers(); 834 }, 835 "ajax.iml"); 836 } 837} 838 839 840function showHelpAlertIcons(){ 841 $('.form_item_note_icons').show().each(function(){ 842 var p=$(this).attr('form_item_id'); 843 $(this).position({ 844 my:'left top', 845 at:'right top', 846 of:'[dataname=element][form_item_id='+p+']' 847 }); 848 }); 849} 850 851$(window).load(showHelpAlertIcons).resize(showHelpAlertIcons); 852$(function(){ 853 $('.form_item_note_icons img').click(function(){ 854 $('.form_note_popup').hide(); 855 var id=$(this).closest('[form_item_id]').attr('form_item_id'); 856 var obj=null; 857 if($(this).attr('obj_type')=="alert_button"){ 858 obj=$('.form_note_popup[obj_type=warning_message][form_item_id='+id+']'); 859 }else{ 860 obj=$('.form_note_popup[obj_type=help_message][form_item_id='+id+']'); 861 } 862 obj.show().position({my:'center center', at:'center center', of:$(window)}); 863 }); 864 $('.form_note_popup .close_popup').click(function(){ 865 $(this).closest('.form_note_popup').hide(); 866 }); 867}); 868$(document).ready(function() { 869 $('input[data-dateformat]').each(function() { 870 $(this).datepicker('destroy').datepicker( 871 { 'minDate' : ($(this).data('datepast')==1)?null:new Date() }, 872 { 'dateFormat' : ($(this).data('dateformat')!="") ? $(this).data('dateformat') : 'mm/dd/yy' } 873 ); 874 }); 875});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.