function Site_Utility() { this.loaded = 0; this.staff_access = 0; } function site_utility_initialize() { with (this) { if (Site.loaded == 1) { loaded = 1; root = "http://www.gmf.ca/"; } else { window.setTimeout('Utility.Initialize()',10); } } } function site_utility_inventory_selectcompany(c) { with (this) { if ($('inventory_add_form') && $('inventory_add_update') && $('inventory_add_company')) { $('inventory_add_update').value = "1"; $('inventory_add_company').value = c; $('inventory_add_form').submit(); } } } function site_utility_categories(opt,r) { var Lists = []; var NewItem; var new_value = ""; var new_text = ""; var new_list = new Array(); var new_list_text = new Array(); var found = false; var total = 0; with (this) { Lists['available'] = $('categories_available'); Lists['selected'] = $('categories_selected'); Lists['new'] = $('categories_new'); Lists['final'] = $('category_list'); if (Lists['available'] && Lists['selected'] && Lists['final']) { switch (opt) { case "add": if (Lists['available'].selectedIndex > -1 && Lists['selected'].options.length < 15) { new_value = Lists['available'].options[Lists['available'].selectedIndex].value; new_text = Lists['available'].options[Lists['available'].selectedIndex].text; if (Lists['selected'].options.length == 0) { found = false; } else { for (i = 0; i < Lists['selected'].options.length; i++) { if (new_value == Lists['selected'].options[i].value) { found = true; } } } if (found === false) { NewItem = document.createElement('OPTION'); NewItem.text = new_text; NewItem.value = new_value; Lists['selected'].options.add(NewItem); Categories('sort',0); } } break; case "new": new_value = Lists['new'].value; new_value = new_value.replace(/[\|]/g,""); new_value = new_value.replace(/[,]/g,""); if (new_value.length > 0 && Lists['selected'].options.length < 15) { Lists['new'].value = ""; if (Lists['selected'].options.length == 0) { found = false; } else { for (i = 0; i < Lists['selected'].options.length; i++) { if (new_value == Lists['selected'].options[i].value) { found = true; } } } if (found === false) { NewItem = document.createElement('OPTION'); NewItem.text = new_value; NewItem.value = new_value; Lists['selected'].options.add(NewItem); Categories('sort',0); } } break; case "remove": if (Lists['selected'].selectedIndex > -1) { Lists['selected'].remove(Lists['selected'].selectedIndex); } break; case "sort": if (Lists['selected'].options.length > 0) { for (j = 0; j < Lists['selected'].options.length; j++) { new_list[j] = Lists['selected'].options[j].value; new_list_text[j] = Lists['selected'].options[j].text; } Categories('clear',0); new_list.sort(); for (j = 0; j < new_list.length; j++) { NewItem = document.createElement('OPTION'); NewItem.text = new_list_text[j]; NewItem.value = new_list[j]; Lists['selected'].options.add(NewItem); } } if (r == 1) { return new_list.join('|'); } break; case "clear": if (Lists['selected'].options.length > 0) { total = Lists['selected'].options.length; for (j = total; j > -1; j--) { Lists['selected'].remove(j); } } break; case "result": Lists['final'].value = Categories('sort',1); break; } } } } function site_utility_addfield(n) { var name = (n != "" ? n+"_" : ""); var field; var desc; var errors; var success; var entries; var count; var insert_num = 1; var i = 1; var x = 0; var div; var copy = ""; with (this) { field = $(name+'item_1'); errors = $(name+'item_errors_1'); success = $(name+'item_success_1'); entries = $(name+'item_entries'); count = $(name+'item_count'); if (field && entries && errors && count) { if ($(name+'item_insert')) { insert_num = $(name+'item_insert').options[$(name+'item_insert').selectedIndex].value; } for (z = 0; z < insert_num; z++) { i = 1; x = 0; while (x == 0) { if ($(name+'item_'+i)) { i++; } else { x = i; } } div = document.createElement("div"); div.id = name+"item_"+x; copy = field.innerHTML.replace("/"+name+"item_errors_1/gi",name+"item_errors_"+x); copy = copy.replace("/"+name+"item_success_1/gi",name+"item_success_"+x); copy = copy.replace("/"+name+"item_input_1/gi",name+"item_input_"+x); copy = copy.replace("/"+name+"item_type_1/gi",name+"item_type_"+x); copy = copy.replace("/"+name+"item_value_1/gi",name+"item_value_"+x); copy = copy.replace(/#1/gi,"#"+x); div.innerHTML = copy; entries.insertBefore(div,null); if ($(name+'item_errors_'+x)) { $(name+'item_errors_'+x).style.visibility = "hidden"; $(name+'item_errors_'+x).style.display = "none"; } count.innerHTML = x; } } } } function site_utility_inventory_brandsbycompany(load,id,b) { // id - selected entry from companies // b - list of brand entries (based on company selection) var brands; with (this) { brands = $('inventory_brand_list'); if (load == 1) { $('data_loader').src = "http://www.gmf.ca/faculty/inventory/x/brands_by_company.php?id="+id.replace(/company-/gi,''); } else { if (brands) { if (brands.options.length > 0) { total = brands.options.length; for (i = total; i > -1; i--) { brands.remove(i); } } if (b.length > 0) { new_entry = document.createElement('OPTION'); new_entry.text = "Select.."; new_entry.value = ""; new_entry.label = ""; brands.options.add(new_entry); for (i = 0; i < b.length; i++) { new_entry = document.createElement('OPTION'); new_entry.text = b[i][0]; new_entry.value = b[i][0]; new_entry.label = b[i][1]; brands.options.add(new_entry); } } else { if ($('brand')) { $('brand').value = ""; } } } } } } function site_utility_round(v,p) { var r = ""; if (v != "") { if (Site.Number(v) == 1) { r = (v*1).toFixed(p); } } return r; } function site_utility_tax(p,t) { var r = ""; with (this) { p = Round(p,2); t = Round(t,2); if (p != "" && t != "") { r = (p * (t/100)).toFixed(2); } } return r; } function site_utility_pricerange(low,high) { var nums = new Array(0,0); with (this) { if (low.value && high.value) { nums[0] = Round(low.value,2); nums[1] = Round(high.value,2); nums[0] = (nums[0] == "" ? 0 : (nums[0]*1)); nums[1] = (nums[1] == "" ? 0 : (nums[1]*1)); if (nums[0] > nums[1]) { nums[0] = nums[1]; } low.value = Round(nums[0],2); high.value = Round(nums[1],2); } } } Site_Utility.prototype.Initialize = site_utility_initialize; Site_Utility.prototype.Inventory_SelectCompany = site_utility_inventory_selectcompany; Site_Utility.prototype.Categories = site_utility_categories; Site_Utility.prototype.AddField = site_utility_addfield; Site_Utility.prototype.Inventory_BrandsByCompany = site_utility_inventory_brandsbycompany; Site_Utility.prototype.Round = site_utility_round; Site_Utility.prototype.Tax = site_utility_tax; Site_Utility.prototype.PriceRange = site_utility_pricerange; var Utility = new Site_Utility(); Utility.Initialize();