PageSourceSearch

http://www.activa.com.au/js/User_Design.js

js activa.com.au collected 2026-10-06 13:15:12 UTC 33,375 bytes, 1,040 lines download raw bytes

1// JavaScript Document
2var year;
3var mainObjectAddForm=null;
4function pad (str, maxx ,char) {
5  return str.length < maxx ? pad(char + str, maxx) : str;
6}
7function generate_excel(page,id)
8{
9	var t = siteurl.split('/');
10	var index = t.length-1;
11	
12	if(t[index-1]=='documentreport')
13	{
14		url = baseurl+"report/excel/id/"+id;
15		window.location= url;
16	}
17	else if(t[index-1]=='report')
18	{
19		url = siteurl+"excel/id/"+id;
20		window.location= url;
21	}	
22	else
23	{
24		var where = "";
25		if(page=="Activity")
26		{
27			where = $('#awhere').html();			
28		}
29		else if(page=="Doc")
30		{
31			where = $('#dwhere').html();
32		}
33		else
34		{
35			where = $('#where').html();
36		}
37		
38		url = siteurl+"excel/page/"+page+"/where/"+where;
39		window.location= url;
40	}	
41}
42function generate_pr(page,id)
43{
44	
45	var t = siteurl.split('/');
46	var index = t.length-1;
47	
48	if(t[index-1]=='documentreport')
49	{
50		url = baseurl+"report/pdf/id/"+id;
51		window.location= url;
52	}
53	else if(t[index-1]=='report')
54	{
55		url = siteurl+"pdf/id/"+id;
56		window.location= url;
57	}
58	else if(t[index-1]=='survey')
59	{
60		url = siteurl+"pdf/id/"+id;
61		window.location= url;
62	}
63	else if(t[index-1]=='calendar')
64	{
65		url = siteurl+"pdf/id/"+id+"/v/"+page;
66		window.location= url;
67	}
68	else
69	{
70		var where = "";
71		if(page=="Activity")
72		{
73			where = $('#awhere').html();			
74		}
75		else if(page=="Doc")
76		{
77			where = $('#dwhere').html();
78		}
79		else if(page=="SR")
80		{
81			where = $('#swhere').html();			
82		}
83		else
84		{
85			where = $('#where').html();
86		}
87		
88		url = siteurl+"pdf/page/"+page+"/where/"+where;
89		window.location= url;
90	}	
91	//url = url+"month/"+document.getElementById('combo_Add_month').value+"/month2/"+document.getElementById('combo_Add_month2').value+"/year/"+document.getElementById('combo_Add_year').value;	
92	
93}
94function getPDFFromPage()
95{
96	var data = $('form').html();
97	
98	$.ajax({
99			   type:'POST',
100			   data:{ html:data },
101			   url:baseurl+"userevent/costpdf/",
102			   datatype:'html',
103			   success:function(sdata)
104				   {   			   		
105					   alert(sdata);
106				   }
107		   });
108}
109function generate_pr_year(url)
110{
111	url = url+"/year/"+document.getElementById('combo_Add_year').value;
112		window.location= url;	
113}
114
115function makeEditForm(objectEditForm,cancel)
116{ 	
117	if(cancel == null || cancel == "")
118	{
119		cancel = "hideEditForm()";
120	}
121	mainObjectEditForm=objectEditForm;
122	var AddOn = objectEditForm['available_edit_on'].split(",");
123	var editForm="";
124	editForm+="<fieldset><legend>Fill Information</legend><dl class='inline'>";
125	
126	
127	for (i=0;i<AddOn.length;i++)
128	{
129		var keyValue= AddOn[i];
130		
131	 	editForm+=getHtmlContollerForEdit(objectEditForm[keyValue]['name'],objectEditForm[keyValue]['text'],objectEditForm[keyValue]['datatype'],objectEditForm[keyValue]['data'],objectEditForm[keyValue]['data1'],objectEditForm[keyValue]['data2'],objectEditForm[keyValue]['data3'],objectEditForm[keyValue]['value'],objectEditForm[keyValue]['value2'],objectEditForm[keyValue]['value3'],objectEditForm[keyValue]['start'],objectEditForm[keyValue]['end'],objectEditForm[keyValue]['events'],objectEditForm[keyValue]['func'],objectEditForm[keyValue]['display']);
132		
133	}
134	//editForm += "<input id='resetEdit' type='button' class='button blue small1' value='Reset' name='reset' />";
135	editForm += "<dd> <div class='buttons'><input id='Save'  type='submit'  value='Update' class='button blue small1'    >";
136	editForm += " <input id='close'  type='button'  ' value='close' class='button blue small1' onclick='"+cancel+"'></div></dd>";
137	 
138	editForm+="</dl></fieldset>";
139	 
140	$('#editForm').html(editForm); 
141		
142	loadJQeury();
143}
144function makeAddForm(objectAddForm)
145{
146	var t = siteurl.split('/');
147var index = t.length-1;
148	if(addedDone){return;} 
149	
150	mainObjectAddForm=objectAddForm;
151	var AddOn = objectAddForm['available_add_on'].split(",");
152	
153	var addForm="";
154	addForm+="<fieldset><legend>Fill Information</legend><dl class='inline'>";
155			 
156	for (i=0;i<AddOn.length;i++)
157	{		
158		var keyValue= AddOn[i];
159		
160	 	addForm+=getHtmlContollerForADD(objectAddForm[keyValue]['name'],objectAddForm[keyValue]['text'],objectAddForm[keyValue]['datatype'],objectAddForm[keyValue]['data'],objectAddForm[keyValue]['data1'],objectAddForm[keyValue]['data2'],objectAddForm[keyValue]['data3'],objectAddForm[keyValue]['value'],objectAddForm[keyValue]['value2'],objectAddForm[keyValue]['value3'],objectAddForm[keyValue]['start'],objectAddForm[keyValue]['end'],objectAddForm[keyValue]['events'],objectAddForm[keyValue]['func'],objectAddForm[keyValue]['events1'],objectAddForm[keyValue]['func1'],objectAddForm[keyValue]['dis
160p'],objectAddForm[keyValue]['id']);
161
162	}	
163	addForm += "<br /><div class='buttons'>";
164	addForm += " <input id='validate'  type='submit'  value='Save' class='button blue small1'>";
165	
166	if(t[index-1]!='srdocs')
167	{
168		//addForm += "<input id='reset' type='button' class='button blue small1' value='Reset' name='reset' />";
169		addForm += " <input id='close'  type='button'  ' value='close' class='button blue small1' onclick='hideAddForm()'></div>";
170	}	 
171	addForm+="</dl></fieldset>";
172	
173	$('#addForm').html(addForm);
174	$('#addForm').append(" <script> " + uploader_for_add_form +"  </script>");
175	$('#addForm').append(" <script> " + objectAddForm['validation_script']+"  </script>");		
176}
177function makequickAddForm(objectAddForm)
178{
179	if(addedDone){return;} 
180	
181	mainObjectAddForm=objectAddForm;
182	var AddOn = objectAddForm['available_quick_add_on'].split(",");
183	var addForm="";
184	addForm+="<fieldset><legend>Fill Information</legend><dl class='inline'>";
185	
186		 
187	for (i=0;i<AddOn.length;i++)
188	{
189		
190		
191		var keyValue= AddOn[i];
192		
193	 	addForm+=getHtmlContollerForADD(objectAddForm[keyValue]['name'],objectAddForm[keyValue]['text'],objectAddForm[keyValue]['datatype'],objectAddForm[keyValue]['data'],objectAddForm[keyValue]['data1'],objectAddForm[keyValue]['data2'],objectAddForm[keyValue]['data3'],objectAddForm[keyValue]['value'],objectAddForm[keyValue]['value2'],objectAddForm[keyValue]['value3'],objectAddForm[keyValue]['start'],objectAddForm[keyValue]['end'],objectAddForm[keyValue]['events'],objectAddForm[keyValue]['func'],objectAddForm[keyValue]['events1'],objectAddForm[keyValue]['func1'],objectAddForm[keyValue]['disp'],objectAddForm[keyValue]['id']);
194
195	}	
196	
197	//addForm += "<input id='reset' type='button' class='button blue small1' value='Reset' name='reset' />";
198	addForm += " <div class='buttons'><input id='validate'  type='submit'  value='Save' class='button blue small1'    >";
199	 addForm += " <input id='close'  type='button'  ' value='close' class='button blue small1' onclick='hideQuickAddForm()'></div>";
200	 
201	 addForm+="</dl></fieldset>";
202	
203	$('#quickaddForm').html(addForm);
204	$('#quickaddForm').append(" <script> " + uploader_for_add_form +"  </script>");
205	$('#quickaddForm').append(" <script> " + objectAddForm['validation_script']+"  </script>");		
206}
207function makeCombo(objectCombo,button)
208{
209	var showAll="";
210	var label = "";
211	var btnfunction = "";
212	var btnlabel = "";
213	for(d in objectCombo)
214	{
215		if(d == "btnfunction")
216		{
217			btnfunction = "true";	
218		}
219		if(d == "btnlabel")
220		{
221			btnlabel = "true";	
222		}
223	}
224	
225	if(btnfunction == "true")
226	{
227		showAll = objectCombo['btnfunction'];
228	}
229	else
230	{
231		showAll = "showAllRecords();";	
232	}
233	if(btnlabel == "true")
234	{
235		label = objectCombo['btnlabel'];
236	}
237	else
238	{
239		//label = "showall";
240		label = "Cancel";
241	}
242	if(button == null || button == "")
243	{
244		button = "show";
245	}
246	else
247	{
248		button = "hide";
249	}
250	mainobjectCombo=objectCombo;
251	var AddOn = objectCombo['available_combo_on'].split(",");
252	var combo="";
253	combo+="<fieldset><legend>Filter</legend><dl class='inline' id='filter'>";
254	
255	for (i=0;i<AddOn.length;i++)
256	{
257		var keyValue= AddOn[i];
258		
259	 	combo+=getCombo(objectCombo[keyValue]['name'],objectCombo[keyValue]['text'],objectCombo[keyValue]['datatype'],objectCombo[keyValue]['data'],objectCombo[keyValue]['value'],objectCombo[keyValue]['start'],objectCombo[keyValue]['end'],objectCombo[keyValue]['events'],objectCombo[keyValue]['func'],objectCombo[keyValue]['disp'],objectCombo[keyValue]['id']);	
260		
261	}
262	
263	if(button != 'hide')
264	{
265		//combo += "<div class='buttons' style='margin-top:5px;'>";
266		combo += " <input id='show_all'  type='button'  value='"+label+"' class='button blue small1' style=''  onclick='"+showAll+"'  >";
267	 	//combo += "</div>";
268	}
269	
270	combo+="</dl></fieldset>";
271	
272	$('#combo').html(combo);
273			
274}
275function intilizeList(data)
276{ 
277	var t = siteurl.split('/');
278	var index = t.length-1;
279	
280	$("#dialog-form-add").hide().css({visibility: "hidden", display: "none"});
281	$("#dialog-form-quick-add").hide().css({visibility: "hidden", display: "none"});
282	$("#dialog-form-edit").hide().css({visibility: "hidden", display: "none"});
283	$("#dialog-combo").show().css({visibility: "visible", display: "block"});
284	$("#dialog-form-editprofile").hide().css({visibility: "hidden", display: "none"});
285	$("#mainpage").show().css({visibility: "visible", display: "block"});
286	$("#flash_msg").hide().css({visibility: "hidden", display: "none"});
287	
288	setConfigurations(data['config']);
289	var show=false;
290	if(data['config']['primarykey']=='PeopleId' || data['config']['primarykey']=='ClientId')
291	{
292		show=true;
293	}
294	var sessId = data['config']['sess_id'];
295	$("#start").text(data['config']['start']);
296	
297	if((data['config']['end']) >= (data['config']['total']))
298	{
299		$("#end").text(data['config']['total']);
300		$("#total").text(data['config']['total']);
301	}
302	else
303	{
304		$("#end").text(data['config']['end']);
305		$("#total").text(data['config']['total']);
306	}
307	if(data['combo'] != null)
308	{
309		makeCombo(data['combo']);
310	}
311	var dataavail=false;
312	if (data['config']['searching_on']==1)
313	{
314		makeSearching(data['search']);
315	}
316	
317	if (data['config']['addable']==1)
318	{
319		for(name in CKEDITOR.instances)
320		{
321			CKEDITOR.instances[name].destroy();
322		}
323		if(t[index-1]=='crmservicerequest')
324		{
325			makeAddSRForm(data['addform']);
326		}
327		else
328		{
329			makeAddForm(data['addform']);
330		}
331		//makeExtraAddForm(data['ExtraAddform']);
332	}
333	
334	if (data['config']['quickaddable']==1)
335	{
336		makequickAddForm(data['quickaddform']);
337	}
338	
339	var myJSONObject = data;
340	
341	var makeTable=data;
342	makeTable="<table id='table1' width='100%' >";
343	if(myJSONObject[0] != null)
344	{	
345		makeTable+=makeHeader(myJSONObject[0]);		
346		
347		var listFunctionalityAdded=data['listFunctionalityAdded'];	
348		for (myJSONObject in data) 
349		{
350		if (myJSONObject=="config" || myJSONObject=="search" || myJSONObject=="addform" || myJSONObject=="listFunctionalityAdded" ) break;
351			makeTable+="<tr onmouseover=\"this.className='GridRowOver'\" onmouseout=\"this.className='GridRow'\">";
352			var objtmp = data[myJSONObject];
353				
354			 if(multiple_delete==1)
355				{
356					makeTable+="<td>";
357					makeTable+="<input id='multiple_d_"+objtmp[primarykey]+"' type='checkbox' value='"+objtmp[primarykey]+"' > ";
358					makeTable+=" <label  for='multiple_d_"+objtmp[primarykey]+"' > C </label>";
359					makeTable+="</td>";
360				}
361				
362				for (tmp in objtmp)
363				{	
364				var listflag=false;
365				 dataavail=true;
366				 	
367					if (tmp==primarykey && primarykeydisplay==0 ) continue;
368					if(tmp=='CRMPriorityId') continue;
369					if(tmp=='ackn') continue;
370					if(tmp=='Assign') continue;
371					
372					makeTable+="<td>";
373					
374						try{
375							if(listFunctionalityAdded[tmp]['key']==tmp)
376							{
377								 
378								var keys = listFunctionalityAdded[tmp]['datakeys'].split(',');
379								var jsdata="";
380								for(iTemp=0;iTemp<keys.length;iTemp++)
381								{							
382									if(iTemp!=0) jsdata+="&";
383									jsdata+=keys[iTemp]+"="+objtmp[keys[iTemp]] ;
384								}
385								action= listFunctionalityAdded[tmp]['action'];						
386								makeTable+= "<a href='javascript:void(0);' onclick=\"listFunctionalityAdded('"+action+"','"+escape(jsdata)+"');\" > ";
387		
388								listflag=true;
389							}
390						}catch(err)
391						{
392								
393						}
394					
395					
396					if(t[index-1]=='users')
397					{
398						if(tmp=='Name')
399						{
400							makeTable+="<a class='' href='javascript:void(0);' onclick='showData("+objtmp[primarykey]+")' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
401						}
402						else
403						{
404							makeTable+=objtmp[tmp];
405						}
406					}
407					else if(t[index-1]=='survey')
408					{	
409						if(tmp=='QAName')
410						{
411							makeTable+="<a class='' href='javascript:void(0);' onclick='showSurvey("+objtmp[primarykey]+",\"e\",0)' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
412						}
413						else if(tmp=='Icon')
414						{
415							makeTable+='<img src="data:image/png;base64,'+objtmp['Icon']+' " height="20" width="20" border="0" alt="Icon" align="middle" />';
416						}						
417						else
418						{
419							makeTable+=objtmp[tmp];
420						}
421					}
422					else if(t[index-1]=='report')
423					{
424						if(tmp=='DocumentName')
425						{
426							makeTable+="<a class='' href='javascript:void(0);' onclick='displayDocument("+objtmp['Id']+")' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
427						}
428						else
429						{
430							makeTable+=objtmp[tmp];
431						}
432					}
433					else if(t[index-1]=='documentreport')
434					{
435						if(tmp=='DocumentName')
436						{
437							make
438							Table+="<a class='' href='javascript:void(0);' onclick='displayDocument("+objtmp['Id']+")' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
439						}
440						else
441						{
442							makeTable+=objtmp[tmp];
443						}
444					}
445					else if(t[index-1]=='batch')
446					{
447						if(tmp=='BatchId')
448						{
449							var url = baseurl+"invoice?b="+objtmp[primarykey]+"&t=R";
450							makeTable+="<a class='' href='javascript:void(0);' onclick='window.location = \""+url+"\";' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
451						}
452						else
453						{
454							makeTable+=objtmp[tmp];
455						}
456					}
457					else if( t[index-1]=='credbatch')
458					{
459						if(tmp=='BatchId')
460						{
461							var url = baseurl+"invoice?b="+objtmp[primarykey]+"&t=C";
462							makeTable+="<a class='' href='javascript:void(0);' onclick='window.location = \""+url+"\";' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
463						}
464						else
465						{
466							makeTable+=objtmp[tmp];
467						}
468					}
469					else if(t[index-1]=='invoice')
470					{
471						
472						if(tmp=='InvoiceNo')
473						{
474							makeTable+="<a class='' href='javascript:void(0);' onclick='showWIPTrans("+objtmp["InvoiceNo"]+",\"invoice\");' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
475						}
476						else if(tmp=='Paid')
477						{
478							makeTable+="<a class='' href='javascript:void(0);' onclick='showPayments("+objtmp["InvoiceNo"]+");' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
479						}
480						else
481						{							
482							makeTable+=objtmp[tmp];							
483						}						
484					}
485					else if(t[index-1]=='contacts')
486					{
487						if(tmp=='PhoneNo')
488						{
489							//makeTable+="<a class='' href='javascript:void(0);' onclick='displayNumber(\"Number\",\""+objtmp[tmp]+"\")' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
490							makeTable+=objtmp[tmp];
491						}
492						else
493						{
494							makeTable+=objtmp[tmp];
495						}
496					}
497					else if(show==true && tmp=='Company')
498					{
499						makeTable+="<a class='' href='javascript:void(0);' onclick='showData("+objtmp[primarykey]+")' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
500					}
501					else if(tmp=='Document')
502					{
503						makeTable+="<a class='' href='javascript:void(0);' onclick='displayDocument("+objtmp[primarykey]+")' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
504					}
505					else if(tmp=='Resource')
506					{
507						var url = baseurl+"resources/showdetail/id/"+objtmp[primarykey];
508						makeTable+="<a class='' href='javascript:void(0);' onclick='popupwindow(\""+url+"\",\"Detail\",1250,650);' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
509					}
510					else if(tmp=='CRMEventTypeName')
511					{
512						var url = baseurl+"crmeventtypes/showdetail/id/"+objtmp[primarykey];
513						makeTable+="<a class='' href='javascript:void(0);' onclick='popupwindow(\""+url+"\",\"Detail\",1250,650);' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
514					}
515					else if(tmp=='Question')
516					{
517						makeTable+="<a class='' href='javascript:void(0);' onclick='popupwindow(\""+siteurl+"edit/id/"+objtmp[primarykey]+"\",\"edit\",850,600);' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
518					}
519					else if(tmp=='Email')
520					{
521						makeTable+="<a href='mailto:"+objtmp[tmp]+"?Subject=From Activa Pty Limited'>"+objtmp[tmp]+"</a>";
522					}
523					else if(tmp=='SRId')
524					{						
525						//if(objtmp['EventGroup']==null)
526						if(objtmp['ackn']==0 && objtmp['Assign']==sessId)
527						{
528							makeTable+="<a class='' href='javascript:void(0);' onclick='sepEditStatRecord(\""+objtmp[primarykey]+"\");' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
529						}
530						else if(objtmp['ackn']==sessId && objtmp['Assign']==sessId && objtmp['EventGroup']==null)
531						{
532							makeTable+="<a class='' href='javascript:void(0);' onclick='sepEditStatRecord(\""+objtmp[primarykey]+"\");' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
533						}
534						else if(objtmp['ackn']==0 && objtmp['Assign']==0)
535						{
536							makeTable+="<a class='' href='javascript:void(0);' onclick='sepEditStatRecord(\""+objtmp[primarykey]+"\");' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";					
537						}
538						else if(objtmp['ackn']==0 && objtmp['Assign']!=sessId)
539						{
540							makeTable+=objtmp[tmp];
541						}
542						else
543						{
544							var url = siteurl+"display/id/"+objtmp[primarykey];
545							makeTable+="<a class='' href='javascript:void(0);' onclick='popupwindow(\""+url+"\",\"DisplaySR\",1100,900);' style='color:#2B00D5;' >"+objtmp[tmp]+"</a>";
546						}				
547					}
548					else if(tmp=='Icon')
549					{
550						makeTable+='<img src="data:image/png;base64,'+objtmp[tmp]+' " height="20" width="20" border="0" alt="Icon" align="middle" />';
551					}
552					else if(tmp=='Position')
553					{
554						if(t[index-1]=='crmservicerequest')
555						{
556							makeTable+=objtmp[tmp].substring(1);
557						}
558						else
559						{
560							makeTable+=objtmp[tmp];
561						}
562					}
563					else if(tmp=='Priority')
564					{
565						if(objtmp['Priority']=="Critical")
566						{
567							makeTable+="<div style='color:red;'><b>"+objtmp[tmp]+"</b></div>";
568						}
569						else if(objtmp['Priority']=="Urgent")
570						{
571							makeTable+="<div style='color:orange;'><b>"+objtmp[tmp]+"</b></div>";
572						}
573						else if(objtmp['Priority']=="Routine")
574						{
575							makeTable+="<div style='color:green;'>"+objtmp[tmp]+"</div>";
576						}
577						else if(objtmp['Priority']=="General")
578						{
579							makeTable+="<div style='color:blue;'>"+objtmp[tmp]+"</div>";
580						}
581						else
582						{
583							if(objtmp[tmp]==null)
584							{
585								makeTable+="<div></div>";
586							}
587							else
588							{
589								makeTable+="<div>"+objtmp[tmp]+"</div>";
590							}
591							
592						}
593					}
594					else if(t[index-1]=='crmservicerequest')
595					{						
596						if(tmp=='State')
597						{
598							makeTable+="<span style='color:red; font-weight:bold;'>"+objtmp[tmp]+"</span>";
599						}
600						else
601						{
602							if(objtmp[tmp]==null)
603							{
604								makeTable+='';
605							}
606							else
607							{
608								makeTable+=objtmp[tmp];
609							}
610						}
611					}
612					
613					else
614					{
615						if(objtmp[tmp]==null)
616						{
617							makeTable+='';
618						}
619						else
620						{
621							makeTable+=objtmp[tmp];
622						}
623					}
624					
625					if(listflag)
626					{
627						makeTable+="</a>";
628					}
629					makeTable+="</td>";
630				}
631				
632				if(deletable==1 || editable==1 || action_available==1 || smail==1 || view==1)
633				{
634					makeTable+="<td>";
635	
636					if (action_available==1)
637						{
638						var actions=	action_available_action.split("?");
639							for(i=0;i<actions.length;i++)
640							{
641								var objData =actions[i].split("||");
642								
643								var keys = objData[2].split(',');
644								var jsdata="";
645								for(iTemp=0;iTemp<keys.length;iTemp++)
646								{							
647									if(iTemp!=0) jsdata+="&";
648									jsdata+=keys[iTemp]+"="+objtmp[keys[iTemp]] ;
649								} 
650								makeTable+= "<a href='javascript:void(0);' onclick=\"listFunctionalityAdded('"+objData[0]+"','"+escape(jsdata)+"');\" > ";
651								makeTable+=objData[1];
652								makeTable+="</a>";
653								//objtmp[primarykey]
654							}
655						}
656						
657					if(view==1)
658					{
659						makeTable+="<a class='' href='javascript:void(0);' onclick='showData("+objtmp[primarykey]+")' >";
660						makeTable+="<img src='images/admin/icons/detail.png' border='0' alt='View' style='padding-left:10px;' />";
661						makeTable+="</a>";
662					}
663					if(sepedit==1)
664					{
665						makeTable+="<a class='' href='javascript:void(0);' onclick='sepEditStartRecord(\""+objtmp[primarykey]+"\")' >";
666						makeTable+="<img src='images/admin/icons/edit.png' alt='Edit' border='0' style='padding-left:10px;' />"; 
667						makeTable+="</a>";
668					}
669					if (editable==1)
670					{
671						makeTable+="<a class='' href='javascript:void(0);' onclick='editStartRecord("+objtmp[primarykey]+",\""+siteurl+"\")' >";
672						makeTable+="<img src='images/admin/icons/edit.png' alt='Edit' border='0' style='padding-left:10px;' />"; 
673						//makeTable+="<span class='ui-icon ui-icon-pencil'></span>"; 
674						makeTable+="</a>";
675					}				
676					if (deletable==1)
677					{
678						if(t[index-1]=='invoice')
679						{
680							if(objtmp["Status"]=="Pending")
681							{							
682								makeTable+="<a class='' href='javascript:void(0);' onclick='deleteRecord(\""+objtmp[primarykey]+"\")' >";
683								//makeTable+="<span class='ui-icon ui-icon-close'></span>"; 
684								makeTable+="<img src='images/admin/icons/cross.png' alt='Delete' border='0' style='padding-left:10px;' />"; 
685								makeTable+="</a>";	
686							}
687						}
688						else
689						{						
690							makeTable+="<a class='' href='javascript:void(0);' onclick='deleteRecord(\""+objtmp[primarykey]+"\")' >";
691							//makeTable+="<span class='ui-icon ui-icon-close'></span>"; 
692							makeTable+="<img src='images/admin/icons/cross.png' alt='Delete' border='0' style='padding-left:10px;' />"; 
693							makeTable+="</a>";	
694						}
695						
696					}
697					/*if(t[index-1]=='crmservicerequest')
698					{
699						var url = 'window.location="'+baseurl+'srdocs/index/s/'+objtmp[primarykey]+'";';
700						makeTable+="<a class='' href='#' onclick='"+url+"' >";
701						//makeTable+="<span class='ui-icon ui-icon-close'></span>"; 
702						makeTable+="<img src='images/view_doc.png' alt='Documents' height='18' width='24' title='View Documents' style='padding-left:20px;' />"; 
703						makeTable+="</a>";	
704					}*/
705					if(t[index-1]=='survey')
706					{
707						makeTable+="<a class='' title='Add Questions' href='javascript:void(0);' onclick='addQuestionsToSurvey("+objtmp[primarykey]+")' >";					
708						makeTable+="<img src='images/qual.png' alt='Add Credential' border='0' height='20' width='20' style='padding-left:10px;' />"; 
709						makeTable+="</a>";
710						
711						makeTable+="<a class='' title='View EventType' href='javascript:void(0);' onclick='showQAEvents("+objtmp[primarykey]+")' >";					
712						makeTable+="<img src='images/review.bmp' alt='Add Credential' border='0' height='15' width='15' style='padding-left:10px;' />"; 
713						makeTable+="</a>";
714					}
715					
716						
717					makeTable+="</td>";
718				}			
719				
720			makeTable+="</tr>";
721			
722		}
723		makeTable+="</table>"; 
724	}
725	else
726	{
727		//if(data['search']==null || data['search']=="undefined")
728		//{
729			makeTable+=makeHeader(myJSONObject[1]);		
730		/*}
731		else
732		{
733			makeTable+=makeHeader(myJSONObject[1],data['search']);
734		}*/
735		
736		//makeTable+=makeHeader(myJSONObject[1]);
737		var cnt=0;
738		for (myJSONObject in data) 
739		{
740			var objtmp = data[myJSONObject];
741					
742			for (tmp in objtmp)
743			{			
744				cnt++;
745			}
746		}
747		makeTable+= "<tr class='GridRow'><td colspan='"+cnt+"' align = 'center'><b>No Data</b></td></tr>";
748	}
749	
750		if (dataavail)
751		{
752			$('#content').html(makeTable);
753		}
754		else
755		{
756			$('#content').html(makeTable);
757		}
758		
759			
760		loadJQeury();
761}
762
763// Website Functions
764function sendContactRequest()
765{
766	var sal = $('#Salutation').val();
767	var fname = $('#first_name').val();
768	var lname = $('#last_name').val();
769	var comp = $('#company').val();
770	//var pos = $('#position').val();
771	var email = $('#email').val();
772	//var tele = $('#telephone').val();
773	//var country = $('#country').val();
774	var comments = $('#comments').val();
775	var code = $('#code').val();
776	var msg = "";
777	
778	
779	if(fname=="" || fname==null)
780	{
781		msg += " ,First Name";
782	}
783	if(lname=="" || lname==null)
784	{
785		msg += " ,Last Name";
786	}
787	if(comp=="" || comp==null)
788	{
789		msg += " ,Company Name";
790	}
791	/*if(pos=="" || pos==null)
792	{
793		msg += " ,Position";
794	}*/
795	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
796	if(email=="" || email==null)
797	{
798		msg += " ,email";
799	}	
800	else if(!emailReg.test(email)) 
801	{		
802		msg += ' ,Invalid email address';
803	}
804	
805	if(msg=="" || msg==null)
806	{	
807		$.post("js/captcha/post.php?"+$("#newsletter").serialize(), {		
808		}, function(response){					
809				if($.trim(response)==0)
810				{
811					alert('Invalid code');
812					return false;
813				}
814				else
815				{
816					$.ajax({
817						   type:'POST',
818						   data:{ Salutation:sal, FirstName:fname, LastName:lname, CompanyName:comp, EmailAddress:email, Comments:comments },
819						   url:baseurl + "index/savecontact/",
820						   datatype:'html',
821						   success:function(data)
822						   {
823							  if(data=="done")
824							   {
825								   $("#flash_msg").show();
826								   $("#flash_msg").html("Contact request sent successfully. Activa Support will get back to you shortly.");		
827								   $("#flash_msg").fadeOut(15000);		
828							   		setTimeout(function(){ window.location.reload(1);	}, 5000);	
829									alert("Contact request sent successfully. Activa Support will get back to you shortly.");
830							   }
831							   else
832							   {
833								   alert(data);
834								   return false;
835							   }
836						   }
837					});		
838				}
839		});
840		
841	}
842	else
843	{
844		alert('Required Fields : '+ msg.substring(2));
845		return false;
846	}
847}
848function portalLogin()
849{
850	var email = $('#Email').val();
851	var uname = $('#UserName').val();
852	var pwd = $('#Password').val();
853	var fo = $('#FO').val();
854	if(email=="" || email==null)
855	{
856		$('#lblemail').text('Required');
857		$('#Email').css({border: "1px solid #FF0000"});
858		$('#Email').focus();
859		return false;
860	}
861	else if(uname=="" || uname==null)
862	{
863		$('#Email').css({border: "1px solid #000000"});
864		$('#lblemail').text('');
865		$('#lblusername').text('Required');
866		$('#UserName').css({border: "1px solid #FF0000"});
867		$('#UserName').focus();
868		return false;
869	}
870	else if(pwd=="" || pwd==null)
871	{
872		$('#UserName').css({border: "1px solid #000000"});
873		$('#lblusername').text('');
874		$('#lblpassword').text('Required');
875		$('#Password').css({border: "1px solid #FF0000"});
876		$('#Password').focus();
877		return false;
878	}
879	else
880	{
881		$('#lblusername').text('');
882		$('#lblpassword').text('');
883		$('#UserName').css({border: "1px solid #000000"});
884		$('#Password').css({border: "1px solid #000000"});
885		
886		// Create Base64 Object
887		var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}
888
889		var usrnm = Base64.encode(uname);
890		var passwd = Base64.encode(pwd);
891		var mail = Base64.encode(email);
892		var fodb = Base64.encode(fo);
893		var url = siteroot+"/ActivaFO/client/login?username="+usrnm+"&password="+passwd+"&Email="+mail+"&d="+fodb;
894
895		var win = window.open(url, '_self');
896		if(win){
897			//Browser has allowed it to be opened
898			win.focus();			
899		}else{
900			//Broswer has blocked it
901			alert('Please allow popups for this site');
902		}		
903	}
904}
905function displayDocumentContent(docid,searchstr,paraid)
906{
907	$.ajax({
908			   type:'POST',
909			   url:baseurl+"document/getcontent/",
910			   data:{ Docid:docid, Paraid:paraid},
911			   datatype:'json',
912			   success:function(data)
913				{
914					/*var downloads = data["Downloads"];
915					var dlhtml = "";
916					if(downloads.length > 0)
917					{
918						$.each(downloads,function(){
919							var txt = this["Text"];					  
920							var onclick = this["Click"];
921							dlhtml += "<a href='javascript:void(0);' onclick='"+onclick+"' class='downloadbtn' style='color:#B41B43; font-weight:bold;'>"+txt+"</a>";
922							});
923						$('#divButtons').append(dlhtml);
924					}*/
925					var breadcrumb = data["Pagepath"];
926					$('#pagePath').html(breadcrumb);
927					// Update document image
928					var docimg = data["DocImageName"];
929					var doctitle = data["DocumentSubTitle"];
930					$('#SlideShowImage').attr("src",docimg);
931					$('#SlideShowImage').attr("title",doctitle);	
932					$('#SlideShowImage').height(280);
933					$('#SlideShowImage').width(980);
934				
935					if(data['content']=="" ||  data['content']==null ||  data['content'].length <= 0)
936					{
937						$('#DocContent').html('');
938					}
939					else
940					{
941						var content = data['content'];					
942						$('#DocContent').html(content);
943						$('#DocumentId').val(docid);
944						if(searchstr=="" || searchstr==null) { }
945						else
946						{
947							$('#DocContent').removeHighlight().highlight(searchstr);						
948						}						
949						
950						$("a[rel^='prettyPhoto']").prettyPhoto({animation_speed:'normal',theme:'light_square',slideshow:3000, autoplay_slideshow: false});
951						
952						if(paraid > 0)
953						{
954							var id = 'divpar'+paraid;
955							$('html, body').animate({
956								scrollTop: $("#"+id).offset().top
957							}, 50);
958						}	
959					}			
960									
961				}
962		   });	
963}
964function SearchGlobal(searchstr)
965{
966	if(searchstr=='' || searchstr==null)
967	{
968		var val = $('#search-highlight').val();
969	}
970	else
971	{
972		var val = searchstr;
973	}
974	
975	var t = siteurl.split('/');
976	var index = t.length-1;
977
978	if(t[index-1]=='document')
979	{		
980		SearchSting(val);
981	}
982	else
983	{	
984		url = siteurl+"/document?s="+val;
985		window.location= url;
986	}
987}
988function SearchSting(val)
989{		
990	$('#ulsearch').empty();
991	if(val=="" || val==null)
992	{
993		$('#ulsearch').empty();	
994	}
995	else
996	{		
997		$.ajax({
998			   type:'POST',
999			   url:baseurl+"document/searchstr/",
1000			   data:{ value:val },
1001			   datatype:'json',
1002			   success:function(data)
1003				{
1004					//var dt = $.parseJSON(data);
1005					var records = data["data"];
1006					var tot = data["total"];
1007					$('#result').html('Search results : '+tot);
1008					var html = "";
1009					//html += "<li style='padding:5px; margin-bottom:10px;'> Total results : "+records.length+"</li>";
1010					//$.each(records,function(key,values) {
1011						//html += "<li style='padding:5px; margin-bottom:0px;'><h3>"+key+"</h3></li>";
1012							$.each(records,function(){		
1013									html += "<li style='margin-left:5px; margin-bottom:10px; border:1px solid #EEE; padding:5px; border-radius:3px; box-shadow:0 0 8px rgba(0, 0, 0, 0.15);'>";
1014									html += '<b><a href="javascript:void(0);" title="'+this['DocTitle']+" / "+this['Title']+'" onclick="displayDocumentContent('+this['DocumentId']+',\''+val+'\','+this['ParagraphId']+');">'+this['Title']+'</a></b>';
1015									html += "<br>"+this['content']+"</li>";							
1016							});
1017						//});
1018					
1019					$('#ulsearch').append(html);							
1020					$('#ulsearch').removeHighlight().highlight(val);
1021					$('#DocContent').removeHighlight().highlight(val);
1022				}
1023			});
1024	}
1025}
1026function downloadPDF()
1027{
1028	var id = $('#DocumentId').val();
1029	window.location = siteurl+'pdf?id='+id;
1030}
1031function downloadFile(filename)
1032{
1033	var url = baseurl+"document/download/f/"+filename;
1034	var w=800;
1035	var h=700;
1036
1037	var left = (screen.width/2)-(w/2);
1038	var top = (screen.height/3)-(h/2)+30;
1039	window.open(url, 'Document', 'toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=0, resizable=1, copyhistory=0, width='+w+', height='+h+', top='+top+', left='+left);
1040}

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.