function getElements(name)
{
var elemList=document.getElementsByName(name);
if(document.all!=null && elemList.length==0)
{
elemList=new Array();
for(var key in document.all)
if(document.all[key].name==name)
elemList[elemList.length]=document.all[key];
}
var idElem=document.getElementById(name);
if(idElem!=null) elemList[elemList.length]=idElem;
return elemList;
}
function getElement(name,fail_safe)
{
if(fail_safe==null) fail_safe=true;
var elem=document.getElementById(name);
if(elem) return elem;
elem=document.getElementsByName(name);
if(elem.length>0) return elem[0];
if(document.all!=null && fail_safe)
{
for(var key in document.all)
{
if(document.all[key].id==name) return document.all[key];
if(document.all[key].name==name) return document.all[key];
}
}
return null;
}
function getValue(name)
{
var elem=getElement(name);
if(elem==null) return null;
if(elem.type!=null&&elem.type=='radio')
{
elem=getElements(name);
for(var i=0;i<elem.length;i++) if(elem[i].checked) return elem[i].value;
return null;
}
if(elem.value!=null) return elem.value;
if(elem.innerHTML!=null) return elem.innerHTML;
return null;
}
function is_array(obj)
{
if (obj.constructor.toString().indexOf("Array") == -1)
return false;
else
return true;
}
function setElement(elem,value)
{
if(elem.tagName=='SELECT')
for(var i=0;i<elem.options.length;i++)
if(elem.options[i].value==value)
{
elem.options[i].selected=true;
elem.selectedIndex=i;
}
else
elem.options[i].selected=false;
if(elem.tagName=='SPAN' || elem.tagName=='DIV')
{
elem.innerText=value;
elem.innerHTML=value;
}
if(elem.value!=null) elem.value=value;
else if(elem.innerHTML) elem.innerHTML=value;
}
function setValue(name,value)
{
var elem=getElement(name);
if(elem!=null) setElement(elem,value);
}
function setClass(name,value)
{
var elem=getElement(name);
if(elem!=null) elem.className=value;
}
function setAllValues(name,value)
{
var elemList=getElements(name);
if(elemList.length>0)
for(var i=0;i<elemList.length;i++)
setElement(elemList[i],value);
}
function setSelectOptions(name, newOptions, append, appendGroup)
{
if(append == null) append=false;
var elem=getElement(name);
if(elem==null) return;
if(!append)
{
elem.options.length=0;
var optGrps = elem.getElementsByTagName("optgroup");
var olength=optGrps.length;
if(olength>0) for (var i=0; i<olength; i++) elem.removeChild(optGrps[0]);
}
for(var key in newOptions)
{
if(is_array(newOptions[key]))
{
optGroup=document.createElement('optgroup');
optGroup.label=key;
elem.appendChild(optGroup);
setSelectOptions(name, newOptions[key], true, optGroup);
}
else
{
var newOption=new Option(newOptions[key],key)
elem.options[elem.options.length]=newOption;
if(appendGroup != null) appendGroup.appendChild(newOption);
}
}
}
function addTableRow(theTable,newName,offset)
{
if(offset==null) offset=theTable.rows.length;
if(offset<0) offset=theTable.rows.length+offset+1;
var newRow=theTable.insertRow(offset);
newRow.name=newName;
newRow.id=newName;
return newRow;
}
function addTableCell(tableRow,innerStuff)
{
var newCol=document.createElement('td');
newCol.innerHTML=innerStuff;
tableRow.appendChild(newCol);
return newCol;
}
function textareaAutoSize(theElem,stepSize,minSize,maxSize)
{
if(theElem==null || theElem.rows==null || theElem.cols==null || theElem.value==null) return;
if(stepSize==null || stepSize<1) stepSize=5;
var rowContent=theElem.value.split('\n');
var rowCount=rowContent.length;
for(i=0;i<rowContent.length;i++)
rowCount+=Math.floor(rowContent[i].length/60);
rowCount=Math.floor(rowCount/stepSize)*stepSize+stepSize;
if(minSize!=null && minSize>rowCount) rowCount=minSize;
if(maxSize!=null && maxSize>minSize && maxSize<rowCount) rowCount=maxSize;
theElem.rows=rowCount;
}
function toggleSection(sectionName,force)
{
var theSect=getElement(sectionName);
var hideNote=getElement(sectionName+'_hideNote',false);
if(theSect==null) return;
var newDisplay=(theSect.style.display=='none');
if(force!=null) newDisplay=force;
theSect.style.display=(newDisplay)?'':'none';
if(hideNote!=null) hideNote.style.display=(newDisplay)?'none':'';
}
function testPost(theFrm)
{
var oldact=theFrm.action;
var oldtrg=theFrm.target;
theFrm.action="testpost.php";
theFrm.target="_blank";
theFrm.submit();
theFrm.action=oldact;
theFrm.target=oldtrg;
}
function array_search(needle,haystack)
{
if(needle==null || haystack==null) return null;
for(var i=0;i<haystack.length;i++)
if(needle==haystack[i])
return i;
return null;
}
function explode(str_separator,str_string)
{
return str_string.split(str_separator);
}
function implode(str_glue,arr_pieces)
{
return arr_pieces.join(str_glue);
}
function in_array(needle,haystack)
{
if(needle==null || haystack==null) return false;
for(var i=0;i<haystack.length;i++)
if(needle==haystack[i])
return true;
return false;
}
function join(str_glue,arr_pieces)
{
return implode(str_glue,arr_pieces);
}
function str_replace(str_search,str_replace,str_subject)
{
return implode(str_replace,explode(str_search,str_subject));
}
function round(num_val,num_precision)
{
if(num_precision==null || num_precision<1)
num_precision=0;
return Number(num_val).toFixed(num_precision);
}
function convertCurrency(price,fromCurrency,toCurrency)
{
var exKeys=new Array('ADP', 'AFN', 'ALL', 'AMD', 'ANG', 'ARS', 'AUD', 'AWG', 'AZM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUP', 'CVE', 'CYP', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'ECS', 'EEK', 'ETB', 'EUR', 'FJD', 'GBP', 'GEL', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'INR', 'IQD', 'IRR', 'ISK', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MNT', 'MOP', 'MRO', 'MTL', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZM', 'NGN', 'NIC', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SBD', 'SCR', 'SEK', 'SGD', 'SKK', 'SLL', 'SOS', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TMM', 'TND', 'TRY', 'TTD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'XAF', 'XAG', 'XAU', 'XCD', 'XEU', 'XPF', 'XPT', 'ZAR');
var exRate=new Array('0.0082', '0.0209', '0.0098', '0.0026', '0.5587', '0.2593', '0.9132', '0.5587', '0.0002', '0.5', '0.0144', '0.6976', '2.6525', '0.0008', '1', '0.7152', '0.1425', '0.5646', '1', '0.0219', '0.1472', '0.0003', '0.5128', '0.9699', '0.9332', '0.0019', '0.1465', '0.0005', '0.0018', '1', '0.0123', '2.331', '0.0533', '0.0056', '0.1834', '0.0276', '0.0137', '0.1827', '0.0872', '0.0745', '1.3646', '0.5196', '1.5017', '0.5816', '0.7073', '1.5017', '0.0368', '0.0002', '0.1242', '0.0049', '0.1289', '0.0529', '0.188', '0.0252', '0.0051', '0.0001', '0.2683', '0.0219', '0.0009', '0.0001', '0.0079', '0.0111', '1.4118', '0.011', '0.013', '0.0223', '0.0002', '0.0028', '0.0009', '3.465', '1.2195', '0.0068', '0.0001', '0.0007', '0.0088', '0.014', '0.1342', '0.3952', '1.9264', '0.7907', '0.1217', '0.0795', '0.0005', '0.0007', '0.1251', '0.0038', '3.1786', '0.0328', '0.0781', '0.0066', '0.0793', '0.3012', '0.1558', '0.0066', '0.0475', '0.1701', '0.0137', '0.6983', '2.5974', '1', '0.3523', '0.3625', '0.0219', '0.0119', '0.3492', '0.0002', '0.2748', '0.3331', '0.0137', '0.0339', '0.0017', '0.1205', '0.0851', '0.1403', '0.7151', '0.0453', '0.0003', '0.0007', '0.3643', '0.2667', '0.1143', '0.0217', '0.1342', '0.0306', '0.2723', '0.7212', '0.651', '0.1575', '0.0315', '0.0007', '0.125', '0.0005', '1', '0.0508', '0.0006', '0.2329', '0.0002', '0.01', '0.0021', '16.9205', '1111.1111', '0.3704', '1.3646', '0.0115', '1666.6667', '0.1341');
fromCurrency=array_search(fromCurrency.slice(0,3).toUpperCase(),exKeys);
toCurrency=array_search(toCurrency.slice(0,3).toUpperCase(),exKeys);
if(fromCurrency==null || toCurrency==null || fromCurrency==toCurrency)
return Number(price).toFixed(2);
var newP=price*(exRate[fromCurrency]/exRate[toCurrency]);
return newP.toFixed(2);
}
function generic_insert(name,tag,extras)
{
var theElem=getElement(name);
if(theElem==null) return;
if(extras==null) extras='';
if(theElem.selectionStart!=null && theElem.selectionEnd!=null)
{
var a=theElem.selectionStart;
var b=theElem.selectionEnd;
theElem.value=theElem.value.substring(0,a)+'<'+tag+extras+'>'+theElem.value.substring(a,b)+'</'+tag+'>'+theElem.value.substring(b);
theElem.selectionStart=a+2+tag.length+extras.length;
theElem.selectionEnd=2+tag.length+extras.length+b;
theElem.focus();
}
else
{
var repltext=null;
var seltext=(document.all)?document.selection.createRange():document.getSelection();
var selit=(document.all)?document.selection.createRange().text:document.getSelection();
if(seltext!=null && selit.length>=1)
seltext.text='<'+tag+extras+'>'+seltext.text+'</'+tag+'>';
else
theElem.value+='<'+tag+extras+'>TEXT</'+tag+'>';
}
}
function formatMETA(theString,type)
{
theString=str_replace('"',"'",theString);
theString=str_replace(';',"",theString);
if(type=='keyword')
{
theString=str_replace(","," ",theString);
theString=str_replace("-"," ",theString);
var words=theString.split(' ');
words=my_trim(words);
var keywords='';
for(i=0;i<50 && i<words.length;i++)
{
if(words[i].replace(" ","")!='')
{
var let=words[i].charAt(0);
let=let.toUpperCase();
keywords+=let+words[i].substring(1,words[i].length)+", ";
}
}
return keywords;
}
return theString;
}
function generateURLKeys(product_name)
{
var pr_ar=explode(' ',product_name);
var new_words=Array();
var count=0;
for(i=0;i<pr_ar.length;i++)
{
if(isNaN(pr_ar[i]) && pr_ar[i].length>2 && count<3)
{
new_words[i]=pr_ar[i];
count++;
}
}
return implode(' ',new_words);
}
function my_trim(array)
{
for(i=0;i<array.length;i++)
{
var word=array[i]+"";
array[i]=word.replace(" ","");
}
return array;
}
function open_win(url)
{
window.open(url,'','scrollbar=yes,width=400,height=400');
}
function isValidEmail(email_address)
{
regex=/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/;
return regex.test(email_address);
}
function openWindow(url,w,h,centered,features)
{
if(features==null) features='';
if(features!='') features+=',';
if(centered == null) centered = false;
features += 'width='+w+', height='+h;
if(centered) features += ', top='+((screen.height - h) / 2)+', left='+((screen.width - w) / 2);
window.open(url,'',features);
}
function changeOpac(opacity, name, obj)
{
var object=getElement(name);
if(obj!=null) object=obj;
object.style.opacity = (opacity / 100);
object.style.MozOpacity = (opacity / 100);
object.style.KhtmlOpacity = (opacity / 100);
object.style.filter = "alpha(opacity=" + opacity + ")";
}
function opacity(name, opacStart, opacEnd, millisec)
{
var speed = Math.round(millisec / 100);
var timer = 0;
if(opacStart > opacEnd)
{
for(i = opacStart; i >= opacEnd; i--)
{
setTimeout("changeOpac(" + i + ",'" + name + "')",(timer * speed));
timer++;
}
}
else if(opacStart < opacEnd)
{
for(i = opacStart; i <= opacEnd; i++)
{
setTimeout("changeOpac(" + i + ",'" + name + "')",(timer * speed));
timer++;
}
}
}
function scrollToElement(elem)
{
if(elem==null) return;
var posX=elem.offsetLeft
var posY=elem.offsetTop;
elem=elem.offsetParent;
while(elem != null)
{
posX+=elem.offsetLeft
posY+=elem.offsetTop;
elem=elem.offsetParent;
}
window.scrollTo(posX ,posY-95);
}
function trim(str, chars)
{
return ltrim(rtrim(str, chars), chars);
}
function ltrim(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
function rtrim(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
if(!String.prototype.trim) String.prototype.trim=function()
{
var str=this.replace(/^\s\s*/,''), ws=/\s/, i=str.length;
while(ws.test(str.charAt(--i)));
return str.slice(0,i+1);
}
String.prototype.levenshtein=function(t,cost_ins,cost_rep,cost_del)
{
var s=this;
if(cost_ins==null) cost_ins=1;
if(cost_rep==null) cost_rep=1;
if(cost_del==null) cost_del=1;
var m=s.length;
var n=t.length;
var d=[];
for(var i=0;i<=m;i++) d[i]=[i];
for(var j=0;j<=n;j++) d[0][j]=j;
for(var j=1;j<=n;j++) for(var i=1;i<=m;i++)
{
var cost=cost_rep;
if(s.charAt(i-1)==t.charAt(j-1)) cost=0;
d[i][j]=Math.min(d[i-1][j]+cost_ins,d[i][j-1]+cost_del,d[i-1][j-1]+cost);
}
return d[m][n];
}
function loginPass(elem)
{
if(elem!=null)
{
elem.style.display='none';
toggleSection('login[password]',true);
var elem2=getElement('login[password]');
if(elem2.select) elem2.select();
if(elem2.focus) elem2.focus();
}
}
function emailBlurred(elem)
{
if(elem.value=='') elem.value='Email';
if(elem.value=='Email') elem.style.color='#888';
}
function passBlurred(elem)
{
if(elem.value=='')
{
elem.style.display='none';
var elem2=getElement('logPass');
elem2.style.display='';
}
}
function leftScroll()
{
if(scr_tab==null) scr_tab=getElement('scroll_table');
if(scr_box==null) scr_box=getElement('scroll_box');
if(left<0)
{
left+=10;scr_tab.style.left=left+'px';
timer=setTimeout("leftScroll()",80);
}
getElement('arrow_left').className='aleft'+((left < 0)?'':'_in');
getElement('arrow_right').className='aright'+(((scr_box.offsetWidth-scr_tab.offsetWidth) <= left)?'':'_in');
}
function rightScroll()
{
if(scr_tab==null) scr_tab=getElement('scroll_table');
if(scr_box==null) scr_box=getElement('scroll_box');
if((scr_box.offsetWidth-scr_tab.offsetWidth) <= left)
{
left-=10;scr_tab.style.left=left+'px';
timer=setTimeout("rightScroll()",80);
}
getElement('arrow_right').className='aright'+(((scr_box.offsetWidth-scr_tab.offsetWidth) <= left)?'':'_in');
getElement('arrow_left').className='aleft'+((left < 0)?'':'_in');
}
function stopScroll()
{
clearTimeout(timer);
}
function doInitScroll()
{
scr_tab=getElement('scroll_table');
scr_box=getElement('scroll_box');
if(scr_tab!=null && scr_box!=null)
{
getElement('arrow_right').className='aright'+(((scr_box.offsetWidth-scr_tab.offsetWidth) <= left)?'':'_in');
getElement('arrow_left').className='aleft'+((left < 0)?'':'_in');
}
}
function buildShoppingCart()
{
$("#header_checkout").load("/build_new_cart.html");
}
function show_tb_box(obj)
{
tb_show('<div class="shop_cart_head"><img src="/images/shim.gif" alt="Shopping Cart" title="Shopping Cart" /></div>', obj.href+'?keepThis=true&TB_iframe=true&height=150&width=520', false);
}
function screenshots(product_id,shot_id)
{
if(product_id==null || shot_id==null) return;
var script='/screenshots/'+shot_id+'_'+product_id+'.html';
var features='width=1004,height=685,top=0,left=0,resizable=1';
openWindow(script,1004,685,true);
return false;
}
function productQtyChanged(qty)
{
var orig_saving=Number(overall_saving).toFixed(0);
orig_price=Number(orig_price).toFixed(precision);
getElement('other_qty').className='';
getElement('qty_1').className='';
var use_price=orig_price;
for(key in pricing)
{
getElement('qty_'+key).className='';
var tmp_qty=qty;
if(qty==0) tmp_qty=getValue('qty_other');
if(Number(tmp_qty)>=Number(key))
use_price=Number(pricing[key]).toFixed(precision);
}
var new_saving=orig_saving;
if(use_price != orig_price) new_saving=Math.round(100 * (1-(use_price/orig_price)));
var spanName=(qty==0) ? 'other_qty' : ('qty_'+qty);
getElement(spanName).className='selected_span';
getElement('savings_table').style.visibility=(new_saving>0)?'visible':'hidden';
setValue('savings',new_saving);
}
function updatePrices()
{
var elems=getElements('product_qty');
for(i=0;i<elems.length;i++) elems[i].checked=(elems[i].value==0);
var newQty=getValue('qty_other');
var use_price='';
for(key in pricing) if(Number(newQty)>=Number(key))
use_price=Number(pricing[key]).toFixed(precision);
if(use_price!='') getElement('other_qty').innerHTML='$'+use_price+' USD';
productQtyChanged(0); // so to update the saving %..
}
function updateLink(qty)
{
getElement('freight_link').href='/freight/freight_'+product_id+'_'+qty+'.html';
}
function jumpToPage(newPage,check)
{
if(check==null) check=true;
var new_url="/checkout/checkout_"+newPage+".html";
var checkoutForm=getElement('checkoutForm');
checkoutForm.action=new_url;
if(check==true)
{
if(validateDetails())
checkoutForm.submit();
}
else checkoutForm.submit();
}
function validateDetails()
{
var elems=getElements('checkout[service_id]');
var sv_checked=false;
var sv_id='';
var str='';
for(i=0;i<elems.length;i++)
{
var el=elems[i];
if(el.checked)
{
sv_checked=true;
sv_id=el.value;
}
}
if(freight_required&&sv_id=='')
{
alert('Please select your freight courier');
return false;
}
if(sv_id=='-100' && getValue('checkout[own_account_id]')=='0' && getValue('checkout[own_account_name]')=='')
{
alert('Please enter the name for your courier');
getElement('checkout[own_account_name]').select();
getElement('checkout[own_account_name]').focus();
return false;
}
if(sv_id=='-100' && getValue('checkout[own_account_num]')=='')
{
alert('Please enter an account number for your courier');
getElement('checkout[own_account_num]').select();
getElement('checkout[own_account_num]').focus();
return false;
}
var pay_id=getValue('checkout[paymenttype_id]');
if(is_invoice&&pay_id==null)
{
alert('Please Choose a valid Payment Method');
return false;
}
if(is_invoice&&pay_id!=null)
{
var checks=Array('VISA','MASTERCARD','AMEX');
var fields=Array('card_number', 'security_code', 'expire_month', 'expire_year');
var names=Array('Card Number', 'Security Code', 'Expiry Date Month', 'Expiry Date Year');
var digits= {
'VISA': {'card_number':16,'security_code':3, 'expire_month':2, 'expire_year':2},
'MASTERCARD': {'card_number':16,'security_code':3, 'expire_month':2, 'expire_year':2},
'AMEX': {'card_number':15,'security_code':4, 'expire_month':2, 'expire_year':2}
};
var dToUse=digits[pay_id];
if(in_array(pay_id,checks)) for(key in fields)
{
var elem=getElement('paymentmethod['+pay_id.toLowerCase()+']['+fields[key]+']');
if(elem.value=='')
{
alert('Please enter the '+names[key]);
if(elem.select) elem.select();
if(elem.focus) elem.focus();
if(fields[key]=='card_number')
{
var e2=getElement(pay_id.toLowerCase()+'[card][0]');
if(e2.select) e2.select();
if(e2.focus) e2.focus();
}
return false;
}
var tmp=dToUse[fields[key]];
if(elem.value.length < tmp)
{
alert('Please enter '+tmp+' digits in the '+names[key]+' field');
if(elem.select) elem.select();
if(elem.focus) elem.focus();
if(fields[key]=='card_number')
{
var e2=getElement(pay_id.toLowerCase()+'[card][0]');
if(e2.select) e2.select();
if(e2.focus) e2.focus();
}
return false;
}
}
}
var elem=getElement('terms_conditions');
if(elem!=null && !elem.checked)
{
alert('You need to agree with the Terms & Condition before proceeding.');
return false;
}
var po=getElement('checkout[proforma_purchaseorder]');
if(po.value=='Please enter your Purchase Order No. (if applicable)') po.value='';
return true;
}
function shippingNeeds(recheckout)
{
if(recheckout==null) recheckout=false;
var name1=name2=(recheckout) ? 're' : '';
name1 += 'checkout[ignore_ship_needs]';
name2 += 'checkout[ship_needs]';
var elem = getElement(name1);
var elem2= getElement(name2);
if(elem.value=='true') {
elem2.value='';
elem2.innerHTML='';
elem2.innerText='';
elem.value='false';
}
}
function purchaseOrder(recheckout)
{
if(recheckout==null) recheckout=false;
var name1=name2=(recheckout) ? 're' : '';
name1 += 'checkout[ignore_po]';
name2 += 'checkout[proforma_purchaseorder]';
var elem = getElement(name1);
var elem2= getElement(name2);
if(elem.value=='true') {
elem2.value='';
elem.value='false';
}
}
function previewInvoice(theFrm)
{
if(theFrm==null) theFrm=getElement('checkoutForm');
var oldact=theFrm.action;
var oldtrg=theFrm.target;
theFrm.action="/checkout/preview_invoice.html";
theFrm.target="_blank";
theFrm.submit();
theFrm.action=oldact;
theFrm.target=oldtrg;
}
function paymentTypeChanged(new_type)
{
for(var i=0;i<types_list.length;i++)
toggleSection('method_'+types_list[i]+'_description',(new_type==types_list[i]));
buildNewInvoice();
}
function modifyFreight()
{
var vars=Array();
for(key in toGet)
{
var elem=toGet[key];
if(elem=='') elem='checkout['+key+']';
var tmp=getValue(elem);
if(tmp!='' && tmp!=null) vars[vars.length]=key+'='+escape(tmp);
}
var url='/checkout/freight_details.html?'+implode('&',vars);
tb_show('', url+'&keepThis=true&TB_iframe=true&height=515&width=920', false);
}
function onchangeOwnAccountId(newValue)
{
toggleSection('checkout[own_account_name]',(newValue==0));
}
function getServiceIdRows()
{
var elems=getElements('checkout[service_id]');
var service_ids=Array();
for(i=0;i<elems.length;i++)
service_ids[i]=elems[i].value;
return service_ids;
}
function onchangeServiceId(newvalue)
{
var service_ids=getServiceIdRows();
for(var i=0;i<service_ids.length;i++)
{
var row=getElement('courierTR_'+service_ids[i]);
var oldClass=(row.rowIndex%2==1)?'shade_cell':'';
row.className=((service_ids[i]==newvalue)?'highlight':oldClass);
toggleSection('insurance_rowa['+service_ids[i]+']',(service_ids[i]==newvalue));
toggleSection('insurance_rowb['+service_ids[i]+']',(service_ids[i]==newvalue));
}
toggleSection('highway_insurance_rowa',(newvalue>=0));
toggleSection('highway_insurance_rowb',(newvalue>=0));
toggleSection('highway_insurance_rowc',(newvalue>=0));
buildNewInvoice();
}
function insuranceChanged(row)
{
var rows=Array('b','c');
for(i=0;i<rows.length;i++) getElement('highway_insurance_row'+rows[i]).className=((row==rows[i])?'highlight':'');
buildNewInvoice();
}
function buildNewInvoice()
{
$.ajax({
type: "POST",
url: "/checkout/build_new_invoice.html",
data: $("#checkoutForm").serialize(),
async: false,
success: function(msg) {
var response=explode('Split Here',msg);
setValue('order_details',response[0]);
setValue('shipping_info',response[1]);
if(response[2]!=null) setValue('payment_methods1',response[2]);
}
});
}
function termsCondition()
{
var parameters=$("#checkoutForm").serialize();
var url='/checkout/terms_conditions.html?'+parameters+'&keepThis=true&TB_iframe=true&height=420&width=900';
tb_show('<div class="terms_head"><img src="/images/shim.gif" alt="Terms and Conditions" title="Terms and Conditions" /></div>', url, false);
}
function restrictToNumbers(elem)
{
var numb="0123456789";
var w = "";
for (i=0; i < elem.value.length; i++)
{
var x=elem.value.charAt(i);
if(numb.indexOf(x,0) != -1) w+=x;
}
elem.value=w;
}
function cardNumberTyped(type,num,eName)
{
if(eName==null) eName='paymentmethod['+type+'][card_number]';
var allowed={'visa':3, 'mastercard':3, 'amex':2};
var maxlength=allowed[type];
if(maxlength==null) return;
var elemName=type+'[card]['+num+']';
var elem=getElement(elemName);
if(elem.value.length == elem.maxLength && num!=maxlength)
{
var elem2=getElement(type+'[card]['+(num+1)+']');
if(elem2.select) elem2.select();
if(elem2.focus) elem2.focus();
}
var str='';
for(i=0;i<=maxlength; i++)
str+=String(getValue(type+'[card]['+i+']'));
setValue(eName, str);
}
function onchangeShipAddress(newValue)
{
setValue('ship_address_full',str_replace('\n','<br />',address_list[newValue]));
if(freight_selected)
{
for(key in toGet) if(key!='ship_addr_id')
{
var elem=toGet[key];
if(elem=='') elem='checkout['+key+']';
setValue(elem,'');
}
freight_selected=false;
}
buildNewInvoice();
}
function modifyShipping(add)
{
if(add==null) add=false;
var ship_id=getValue('checkout[ship_addr_id]');
var act_ship_id=id_list[ship_id];
var url='/checkout/shipping_modify.html?member_id='+member_id+((!add)?'&shipping_id='+act_ship_id:'');
url+='&inFrame=true&keepThis=true&TB_iframe=true&height=335&width=940';
var editHeader='<div class="modify_shipping_head"><img src="/images/shim.gif" alt="Modify Shipping Details" title="Modify Shipping Details" /></div>';
var addHeader='<div class="add_shipping_head"><img src="/images/shim.gif" alt="Modify Shipping Details" title="Modify Shipping Details" /></div>';
tb_show(((add)?addHeader:editHeader),url, false);
}
function setMemberData(data)
{
if(data['detUp']=='1') setValue('address_full',data['address_full']);
else if(data['shipUp']=='1')
{
var selected_ship_id=getValue('checkout[ship_addr_id]');
setSelectOptions('checkout[ship_addr_id]', data['option_list']);
getElement('shipAddrTd').style.display=(data['option_list'].length <= 1) ? 'none' : '';
address_list=data['string_list'];
id_list=data['id_list'];
setValue('checkout[ship_addr_id]',selected_ship_id);
onchangeShipAddress(selected_ship_id);
if(data['new_shipping']=='1')
{
var tmp1='';
for(key in data['string_list']) tmp1=key;
setValue('checkout[ship_addr_id]',tmp1);
onchangeShipAddress(tmp1);
}
}
}
function setContactData(data)
{
var table=getElement('contact_table');
if(table==null) return;
var newRow=addTableRow(table,'');
var newCell=addTableCell(newRow,'<input type="checkbox" name="chekcout[contacts]['+data['id']+']" value="'+data['id']+'" checked="checked" />&nbsp;'+data['name']+' <small><i>('+data['email']+')</i></small>');
newCell.style.padding='4px';
}
function searchSubmit(id)
{
var form=getElement('searchForm'+((id!=null)?id:''));
var sElem=form.elements['query'];
if(sElem.value=='SEARCH' || sElem.value=='') alert('Please enter your search terms');
else form.submit();
}
function contactValidate()
{
var check=['name','email','country','subject','msg'];
var middle=['enter','enter','select','enter','enter'];
var msg=['Name', 'Email', 'Country','Subject','Message'];
for(i=0;i<check.length;i++)
{
var key=check[i]; var tmp=getElement('cont_'+key);
if(trim(tmp.value)=='' || (key=='msg'&&tmp.value=='Type your comments here'))
{
alert('Please '+middle[i]+' your '+msg[i]);
if(tmp.select) tmp.select();
if(tmp.focus) tmp.focus();
return false;
}
}
return true;
}
function payOption(option)
{
tb_show('<div class="pay_options_head"><img src="/images/shim.gif" alt="Payment Options" title="Payment Options" /></div>', '/contact_details.html?action='+option+'&TB_iframe=true&height='+ ((option=="bank") ? "280" : ((option=="amex") ? "435" : "420")) +'&width=650', false);
}
function matrixOption(url)
{
tb_show('<div class="products_head"><img src="/images/shim.gif" alt="Order Matrix" title="Order Matrix" /></div>',url+'?header=no&TB_iframe=true&height=450&width=900', false);
}
function freightOption(url)
{
tb_show('<div class="freight_head"><img src="/images/shim.gif" alt="Freight Quote" title="Freight Quote" /></div>', url+'?&TB_iframe=true&height=470&width=850', false);
}
function setPayData(invoice_id, payText)
{
setValue('pay_'+invoice_id, payText);
}
function changePayMethod(invoice_id)
{
tb_show('<div class="change_payment_head"><img src="/images/shim.gif" alt="Change Payment Method" title="Change Payment Method" /></div>','/members/change_payment.html?invoice_id='+invoice_id+'&TB_iframe=true&height=200&width=600',false);
}
function addNewContact()
{
var table=getElement('contact_table');
if(table==null) return;
var newRow=addTableRow(table,'');
var newCell=addTableCell(newRow,'<b style="font-size:10px;">Colleague/Work Mate Details</b>');
newCell.colSpan="2";
newCell.style.padding="5px 0px";
if(contact!= -2) newCell.style.borderTop='1px solid #CCCCCC';
newRow=addTableRow(table,'');
newCell=addTableCell(newRow,'<span style="color:red">*</span>First Name :');
newCell.className='left';
newCell=addTableCell(newRow, '<input class="required" type="text" name="contacts['+contact+'][first_name]" value="" />');
newCell.className='right';
newRow=addTableRow(table,'');
newCell=addTableCell(newRow, '<span style="visibility:hidden">*</span>Last Name :');
newCell.className='left';
newCell=addTableCell(newRow, '<input class="optional" type="text" name="contacts['+contact+'][last_name]" value="" />');
newCell.className='right';
newRow=addTableRow(table,'');
newCell=addTableCell(newRow,'<span style="visibility:hidden">*</span>Job Title :');
newCell.className='left';
newCell=addTableCell(newRow, '<input class="optional" type="text" name="contacts['+contact+'][title]" value="" />');
newCell.className='right';
newRow=addTableRow(table,'');
newCell=addTableCell(newRow,'<span style="color:red">*</span>Email :');
newCell.className='left';
newCell=addTableCell(newRow, '<input class="required" type="text" name="contacts['+contact+'][email]" value="" />');
newCell.className='right';
newRow=addTableRow(table,'');
newCell=addTableCell(newRow, '<input type="checkbox" style="width:5%;" name="contacts['+contact+'][send_email_cc]" value="y" /> Send Email to this address as well');
newCell.colSpan="2";
newCell.style.textAlign="center";
contact--;
requiredOptional();
}
function requiredOptional()
{
$(".required").change(function() {
$(this).css("background-color",(this.value=="")?"#fee":"#efe");
$(this).css("border","1px solid #CCC");
if(this.name=='signup_1[email_address]')
$(this).css("background-color",(isValidEmail(this.value))?"#efe":"#fee");
}).css("background-color","#fee").filter('[value!=""]').css("background-color","#efe");
$(".optional").change(function() {
$(this).css("background-color",(this.value=="")?"#fff":"#efe");
$(this).css("border","1px solid #CCC");
}).css("background-color","#fff").filter('[value!=""]').css("background-color","#efe");
}
function emailAddressAutoChange()
{
var email = getElement('signup_1[email_address]');
var bColour=email.style.backgroundColor;
var h_eml = getElement('signup_1[hidden_address]');
var elem = getElement('account_type[company]');
var cont_email = getElement('contacts[0][email]');
if(cont_email == null) cont_email = getElement('contacts[-1][email]');
if(cont_email.value == h_eml.value) {
cont_email.value = email.value;
h_eml.value = email.value;
cont_email.style.backgroundColor=((isValidEmail(email.value))?"#efe":"#fee");
}
}
function signupCheck(type)
{
var other = (type == 'company') ? 'private' : 'company';
var obj = getElement('account_type['+type+']');
var temp;
if(temp=getElement('table_'+type)) temp.style.display=((obj.checked)?'':'none');
if(temp=getElement('account_type['+other+']')) temp.checked = ((obj.checked)?false:true);
if(temp=getElement('table_'+other+'')) temp.style.display = ((obj.checked)?'none':'');
if(temp=getElement('shipping_stuff')) temp.style.display='';
if(temp=getElement('account_details')) temp.style.display='';
}
function checkAvailability(login,return_url)
{
if(login==null) login=false;
if(return_url==null) return_url='';
var val = getValue('signup_1[email_address]');
if(isValidEmail(val)) {
var http_request=$.ajax({
type: "POST",
url: '/signup/check_availability.html',
data: "email="+val+((login)?'&from=login':''),
success: function(msg) {
var elem=$("#availability");
if(login)
{
elem.hide().html((msg=='na')?msg:'');
if(msg=='na') tb_show('<div class="rc_head"><img src="/images/shim.gif" alt="Returning Customer" title="Returning Customer" /></div>', '/messages/email_exists.html?email='+ escape(val) +'&return_url='+ escape(return_url) +'&frame=true&TB_iframe=true&height=400&width=650', false);
}
else elem.show().html(msg);
}
});
}
else alert('Please enter a valid email address.');
}
function validateSignupDetails()
{
var ret_false=false;
var theEmail=getElement("signup_1[email_address]");
var eml=theEmail.value;
if(eml=='' || !isValidEmail(eml))
{
theEmail.style.border='1px solid red';
alert('Please enter a valid email address');
if(theEmail.select) theEmail.select();
if(theEmail.focus) theEmail.focus();
return false;
}
var pass = getElement('signup_1[password1]');
if(pass.value == '')
{
pass.style.border='1px solid red';
alert('Please Enter a password');
if(pass.select) pass.select();
if(pass.focus) pass.focus();
return false;
}
else if(pass.value.length < 6)
{
pass.style.border='1px solid red';
alert('The password entered is to small. Minimum 6 characters.');
if(pass.select) pass.select();
if(pass.focus) pass.focus();
return false;
}
var pass2=getElement('signup_1[password2]');
if(pass.value!=pass2.value)
{
pass2.style.border='1px solid red';
alert('Your passwords do not match, please check and try again');
if(pass2.select) pass2.select();
if(pass2.focus) pass2.focus();
return false;
}
var chk_private = getElement('account_type[private]');
var chk_company = getElement('account_type[company]');
if(!((chk_private && chk_private.checked) || (chk_company && chk_company.checked)))
{
alert('Please select how you want to join Arcade Spare Parts');
return false;
}
if(chk_company && chk_company.checked)
{
var name = getElement('contacts[-1][first_name]');
var eml = getElement('contacts[-1][email]');
name.style.border=eml.style.border='1px solid #A7A6AA';
if(name && name.value=='')
{
name.style.border='1px solid red';
if(name.select) name.select();
if(name.focus) name.focus();
ret_false=true;
}
else if(eml && eml.value=='')
{
eml.style.border='1px solid red';
if(eml.select) eml.select();
if(eml.focus) eml.focus();
ret_false=true;
}
}
var checkList=['first_name','last_name','address','city','phone_no','post_code', 'country'];
var elemName=(chk_private.checked) ? 'signup_1' : 'company';
if(elemName == 'company') checkList = ['company_name','address','city','post_code','phone_no','country'];
for(i=0;i<checkList.length;i++)
{
var elem=getElement(elemName+'['+checkList[i]+']');
elem.style.border='1px solid #CCC';
if(elem.value=='')
{
elem.style.border='1px solid red';
if(elem.select) elem.select();
if(elem.focus) elem.focus();
ret_false=true;
}
}
var shipList=Array('company_name','address', 'city', 'post_code', 'phone_no', 'country');
var checkShipping=(getElement('signup[own_shipping]').checked);
if(checkShipping) for(i=0;i<shipList.length;i++)
{
var elem=getElement('ship['+shipList[i]+']');
elem.style.border='1px solid #CCC';
if(elem.value=='')
{
elem.style.border='1px solid red';
var txt=(checkList[i]=='country')?'select':'enter';
if(elem.select) elem.select();
if(elem.focus) elem.focus();
ret_false=true;
}
}
var checkMethod=(getElement('ship_account[method_own]').checked);
var courierList=Array('id', 'account_num', 'insurance');
if(checkMethod) for(i=0;i<courierList.length;i++)
{
var elem=getElement('courier['+courierList[i]+']');
elem.style.border='1px solid #CCC';
if(elem.value=='')
{
elem.style.border='1px solid red';
if(elem.select) elem.select();
if(elem.focus) elem.focus();
ret_false=true;
}
if(courierList[i]=='id' && elem.value==0)
{
var cName=getElement('courier[courier_name]');
cName.style.border='1px solid #CCC';
if(cName.value=='')
{
cName.style.border='1px solid red';
if(cName.select) cName.select();
if(cName.focus) cName.focus();
ret_false=true;
}
}
}
if(ret_false)
{
alert('Fields highlighted in red are missing information. Please check and re-try');
return false;
}
var phones=Array('phone_no', 'phone_no2', 'mobile_no', 'fax_no');
var count=0;
for(i=0;i<phones.length;i++)
{
var val=getElement(elemName+'['+phones[i]+']').value;
if(val!='') count++;
}
if(count<2)
{
alert("Please Note: For freight purposes 2 contact numbers are needed. Only 1 is entered");
var elem=getElement(elemName+'[phone_no2]');
if(elem.select) elem.select();
if(elem.focus) elem.focus();
return false;
}
return true;
}
function validatePrefsDetails()
{
var ret_false=false;
var p1E=getElement('password1');
var p2E=getElement('password2');
var opE=getElement('old_password');
var p1=p1E.value; var p2=p2E.value; var op=opE.value
opE.style.border="1px solid #CCC"; p1E.style.border="1px solid #CCC"; p2E.style.border="1px solid #CCC";
if(p1 != '' && op == '')
{
opE.style.border="1px solid red";
alert("Please enter your old password before you can change to the new password.");
if(opE.select) opE.select();
if(opE.focus) opE.focus();
return false;
}
if(p1!=p2 && p1 != '')
{
alert('Your passwords do not match, please check and try again');
p1E.style.border="1px solid red";
if(p1E.select) p1E.select();
if(p1E.focus) p1E.focus();
return false;
}
var checkList=['first_name','last_name','address','city', 'post_code', 'phone_no','country'];
for(i=0;i<checkList.length;i++)
{
var elem=getElement('member['+checkList[i]+']');
elem.style.border='1px solid #CCC';
if(elem.value=='')
{
elem.style.border='1px solid red';
if(elem.select) elem.select();
if(elem.focus) elem.focus();
ret_false=true;
}
}
if(ret_false)
{
alert('Some of the required fields are not filled in (highlighted in red). Please check and re-try');
return false;
}
var phones=Array('phone_no', 'phone_no2', 'mobile_no', 'fax_no');
var count=0;
for(i=0;i<phones.length;i++)
{
var val=getElement('member['+phones[i]+']').value;
if(val!='') count++;
}
if(count<2)
{
alert("Please Note: For freight purposes 2 contact numbers are needed. Only 1 is entered");
var elem=getElement('member[phone_no2]');
if(elem.select) elem.select();
if(elem.focus) elem.focus();
return false;
}
var ship_ret=false;
var ship_checkList=['company_name','address','city', 'country', 'post_code', 'phone_no'];
for(key in shipping_array)
{
var id = shipping_array[key];
for(j=0;j<ship_checkList.length;j++)
{
var elem=getElement('shipping['+id+']['+ship_checkList[j]+']');
elem.style.border='1px solid #CCC';
if(elem.value=='')
{
elem.style.border='1px solid red';
if(elem.select) elem.select();
if(elem.focus) elem.focus();
ship_ret=true;
}
}
}
for(a=0;a>ship_address;a--)
{
for(j=0;j<ship_checkList.length;j++)
{
var elem=getElement('shipping['+a+']['+ship_checkList[j]+']');
elem.style.border='1px solid #CCC';
if(elem.value=='')
{
elem.style.border='1px solid red';
if(elem.select) elem.select();
if(elem.focus) elem.focus();
ship_ret=true;
}
}
}
if(ship_ret)
{
alert('One or more of your shipping addresses is not fully complete. Please check and re-try');
return false;
}
return true;
}
function updateShippingAddress()
{
var id=getValue('ship_address_id');
var shipTable=getElement('shipping_tbody');
var totalRows=shipTable.rows;
for(i=0;i<totalRows.length;i++)
{
var row=totalRows[i];
var said=row.id.substr(8);
row.style.display=(said != id && said > 0) ? 'none' : '';
}
}
function updateContact()
{
var id=getValue('contact_select_id');
var contTable=getElement('contacts_tbody');
var totalRows=contTable.rows;
for(i=0;i<totalRows.length;i++)
{
var row=totalRows[i];
var conid=row.id.substr(11);
row.style.display=(conid != id && conid > 0) ? 'none' : '';
}
}
var country_list = '<option value=\042AF\042>Afghanistan</option>\n<option value=\042AL\042>Albania</option>\n<option value=\042DZ\042>Algeria</option>\n<option value=\042AS\042>American Samoa</option>\n<option value=\042AD\042>Andorra</option>\n<option value=\042AO\042>Angola</option>\n<option value=\042AI\042>Anguilla</option>\n<option value=\042AQ\042>Antarctica</option>\n<option value=\042AG\042>Antigua and Barbuda</option>\n<option value=\042AR\042>Argentina</option>\n<option value=\042AM\042>Armenia</option>\n<option value=\042AW\042>Aruba</option>\n<option value=\042AA\042>Asia</option>\n<option value=\042AU\042>Australia</option>\n<option value=\042AT\042>Austria</option>\n<option value=\042AZ\042>Azerbaijan</option>\n<option value=\042BS\042>Bahamas</option>\n<option value=\042BH\042>Bahrain</option>\n<option value=\042BD\042>Bangladesh</option>\n<option value=\042BB\042>Barbados</option>\n<option value=\042BY\042>Belarus</option>\n<option value=\042BE\042>Belgium</option>\n<option value=\042BZ\042>Belize</option>\n<option value=\042BJ\042>Benin</option>\n<option value=\042BM\042>Bermuda</option>\n<option value=\042BT\042>Bhutan</option>\n<option value=\042BO\042>Bolivia</option>\n<option value=\042BA\042>Bosnia and Herzegovina</option>\n<option value=\042BW\042>Botswana</option>\n<option value=\042BV\042>Bouvet Island</option>\n<option value=\042BR\042>Brazil</option>\n<option value=\042BN\042>Brunei Darussalam</option>\n<option value=\042BG\042>Bulgaria</option>\n<option value=\042BF\042>Burkina Faso</option>\n<option value=\042BI\042>Burundi</option>\n<option value=\042KH\042>Cambodia</option>\n<option value=\042CM\042>Cameroon</option>\n<option value=\042CA\042>Canada</option>\n<option value=\042CV\042>Cape Verde</option>\n<option value=\042KY\042>Cayman Islands</option>\n<option value=\042CF\042>Central African Republic</option>\n<option value=\042TD\042>Chad</option>\n<option value=\042CL\042>Chile</option>\n<option value=\042CN\042>China</option>\n<option value=\042CX\042>Christmas Island</option>\n<option value=\042CC\042>Cocos (Keeling) Islands</option>\n<option value=\042CO\042>Colombia</option>\n<option value=\042KM\042>Comoros</option>\n<option value=\042CD\042>Congo, Democratic Republic of the</option>\n<option value=\042CG\042>Congo, Republic of the</option>\n<option value=\042CK\042>Cook Islands</option>\n<option value=\042CR\042>Costa Rica</option>\n<option value=\042CI\042>Cote D\047Ivoire (Ivory Coast)</option>\n<option value=\042HR\042>Croatia (Hrvatska)</option>\n<option value=\042CU\042>Cuba</option>\n<option value=\042CY\042>Cyprus</option>\n<option value=\042CZ\042>Czech Republic</option>\n<option value=\042DK\042>Denmark</option>\n<option value=\042DJ\042>Djibouti</option>\n<option value=\042DM\042>Dominica</option>\n<option value=\042DO\042>Dominican Republic</option>\n<option value=\042TP\042>East Timor</option>\n<option value=\042EC\042>Ecuador</option>\n<option value=\042EG\042>Egypt</option>\n<option value=\042SV\042>El Salvador</option>\n<option value=\042GQ\042>Equatorial Guinea</option>\n<option value=\042ER\042>Eritrea</option>\n<option value=\042EE\042>Estonia</option>\n<option value=\042ET\042>Ethiopia</option>\n<option value=\042EU\042>Europe</option>\n<option value=\042FK\042>Falkland Islands (Malvinas)</option>\n<option value=\042FO\042>Faroe Islands</option>\n<option value=\042FJ\042>Fiji</option>\n<option value=\042FI\042>Finland</option>\n<option value=\042FR\042>France</option>\n<option value=\042GF\042>French Guiana</option>\n<option value=\042PF\042>French Polynesia</option>\n<option value=\042GA\042>Gabon</option>\n<option value=\042GM\042>Gambia</option>\n<option value=\042GE\042>Georgia</option>\n<option value=\042DE\042>Germany</option>\n<option value=\042GH\042>Ghana</option>\n<option value=\042GI\042>Gibraltar</option>\n<option value=\042GB\042>Great Britain (UK)</option>\n<option value=\042GR\042>Greece</option>\n<option value=\042GL\042>Greenland</option>\n<option value=\042GD\042>Grenada</option>\n<option value=\042GP\042>Guadeloupe</option>\n<option value=\042GU\042>Guam</option>\n<option value=\042GT\042>Guatemala</option>\n<option value=\042GN\042>Guinea</option>\n<option value=\042GW\042>Guinea-Bissau</option>\n<option value=\042GY\042>Guyana</option>\n<option value=\042HT\042>Haiti</option>\n<option value=\042HM\042>Heard and McDonald Islands</option>\n<option value=\042HN\042>Honduras</option>\n<option value=\042HK\042>Hong Kong</option>\n<option value=\042HU\042>Hungary</option>\n<option value=\042IS\042>Iceland</option>\n<option value=\042IN\042>India</option>\n<option value=\042ID\042>Indonesia</option>\n<option value=\042IR\042>Iran</option>\n<option value=\042IQ\042>Iraq</option>\n<option value=\042IE\042>Ireland</option>\n<option value=\042IL\042>Israel</option>\n<option value=\042IT\042>Italy</option>\n<option value=\042JM\042>Jamaica</option>\n<option value=\042JP\042>Japan</option>\n<option value=\042JO\042>Jordan</option>\n<option value=\042KZ\042>Kazakhstan</option>\n<option value=\042KE\042>Kenya</option>\n<option value=\042KI\042>Kiribati</option>\n<option value=\042KP\042>Korea (North)</option>\n<option value=\042KR\042>Korea (South)</option>\n<option value=\042KW\042>Kuwait</option>\n<option value=\042KG\042>Kyrgyzstan</option>\n<option value=\042LA\042>Laos</option>\n<option value=\042LV\042>Latvia</option>\n<option value=\042LB\042>Lebanon</option>\n<option value=\042LS\042>Lesotho</option>\n<option value=\042LR\042>Liberia</option>\n<option value=\042LY\042>Libya</option>\n<option value=\042LI\042>Liechtenstein</option>\n<option value=\042LT\042>Lithuania</option>\n<option value=\042LU\042>Luxembourg</option>\n<option value=\042MO\042>Macau</option>\n<option value=\042MK\042>Macedonia</option>\n<option value=\042MG\042>Madagascar</option>\n<option value=\042MW\042>Malawi</option>\n<option value=\042MY\042>Malaysia</option>\n<option value=\042MV\042>Maldives</option>\n<option value=\042ML\042>Mali</option>\n<option value=\042MT\042>Malta</option>\n<option value=\042MH\042>Marshall Islands</option>\n<option value=\042MQ\042>Martinique</option>\n<option value=\042MR\042>Mauritania</option>\n<option value=\042MU\042>Mauritius</option>\n<option value=\042YT\042>Mayotte</option>\n<option value=\042MX\042>Mexico</option>\n<option value=\042FM\042>Micronesia</option>\n<option value=\042MD\042>Moldova</option>\n<option value=\042MC\042>Monaco</option>\n<option value=\042MN\042>Mongolia</option>\n<option value=\042MS\042>Montserrat</option>\n<option value=\042MA\042>Morocco</option>\n<option value=\042MZ\042>Mozambique</option>\n<option value=\042MM\042>Myanmar</option>\n<option value=\042NA\042>Namibia</option>\n<option value=\042NR\042>Nauru</option>\n<option value=\042NP\042>Nepal</option>\n<option value=\042NL\042>Netherlands</option>\n<option value=\042AN\042>Netherlands Antilles</option>\n<option value=\042NC\042>New Caledonia</option>\n<option value=\042NZ\042>New Zealand (Aotearoa)</option>\n<option value=\042NI\042>Nicaragua</option>\n<option value=\042NE\042>Niger</option>\n<option value=\042NG\042>Nigeria</option>\n<option value=\042NU\042>Niue</option>\n<option value=\042NF\042>Norfolk Island</option>\n<option value=\042MP\042>Northern Mariana Islands</option>\n<option value=\042NO\042>Norway</option>\n<option value=\042NV\042>Not Available</option>\n<option value=\042OM\042>Oman</option>\n<option value=\042PK\042>Pakistan</option>\n<option value=\042PW\042>Palau</option>\n<option value=\042PA\042>Panama</option>\n<option value=\042PG\042>Papua New Guinea</option>\n<option value=\042PY\042>Paraguay</option>\n<option value=\042PE\042>Peru</option>\n<option value=\042PH\042>Philippines</option>\n<option value=\042PN\042>Pitcairn</option>\n<option value=\042PL\042>Poland</option>\n<option value=\042PT\042>Portugal</option>\n<option value=\042PR\042>Puerto Rico</option>\n<option value=\042QA\042>Qatar</option>\n<option value=\042RE\042>Reunion</option>\n<option value=\042RO\042>Romania</option>\n<option value=\042ru\042>Russia</option>\n<option value=\042RW\042>Rwanda</option>\n<option value=\042GS\042>S. Georgia and S. Sandwich Isls.</option>\n<option value=\042KN\042>Saint Kitts and Nevis</option>\n<option value=\042LC\042>Saint Lucia</option>\n<option value=\042VC\042>Saint Vincent and the Grenadines</option>\n<option value=\042WS\042>Samoa</option>\n<option value=\042SM\042>San Marino</option>\n<option value=\042ST\042>Sao Tome and Principe</option>\n<option value=\042SA\042>Saudi Arabia</option>\n<option value=\042SN\042>Senegal</option>\n<option value=\042CS\042>Serbia and Montenegro</option>\n<option value=\042SC\042>Seychelles</option>\n<option value=\042SL\042>Sierra Leone</option>\n<option value=\042SG\042>Singapore</option>\n<option value=\042SK\042>Slovak Republic</option>\n<option value=\042SI\042>Slovenia</option>\n<option value=\042Sb\042>Solomon Islands</option>\n<option value=\042SO\042>Somalia</option>\n<option value=\042ZA\042>South Africa</option>\n<option value=\042ES\042>Spain</option>\n<option value=\042LK\042>Sri Lanka</option>\n<option value=\042SH\042>St. Helena</option>\n<option value=\042PM\042>St. Pierre and Miquelon</option>\n<option value=\042SD\042>Sudan</option>\n<option value=\042SR\042>Suriname</option>\n<option value=\042SJ\042>Svalbard and Jan Mayen Islands</option>\n<option value=\042SZ\042>Swaziland</option>\n<option value=\042SE\042>Sweden</option>\n<option value=\042CH\042>Switzerland</option>\n<option value=\042SY\042>Syria</option>\n<option value=\042TW\042>Taiwan</option>\n<option value=\042TJ\042>Tajikistan</option>\n<option value=\042TZ\042>Tanzania</option>\n<option value=\042TH\042>Thailand</option>\n<option value=\042CT\042>The Canary Islands</option>\n<option value=\042TG\042>Togo</option>\n<option value=\042TK\042>Tokelau</option>\n<option value=\042TO\042>Tonga</option>\n<option value=\042TT\042>Trinidad and Tobago</option>\n<option value=\042TN\042>Tunisia</option>\n<option value=\042TR\042>Turkey</option>\n<option value=\042TM\042>Turkmenistan</option>\n<option value=\042TC\042>Turks and Caicos Islands</option>\n<option value=\042TV\042>Tuvalu</option>\n<option value=\042UG\042>Uganda</option>\n<option value=\042UA\042>Ukraine</option>\n<option value=\042AE\042>United Arab Emirates</option>\n<option value=\042US\042>United States</option>\n<option value=\042UY\042>Uruguay</option>\n<option value=\042UZ\042>Uzbekistan</option>\n<option value=\042VU\042>Vanuatu</option>\n<option value=\042VE\042>Venezuela</option>\n<option value=\042VN\042>Vietnam</option>\n<option value=\042VG\042>Virgin Islands (British)</option>\n<option value=\042VI\042>Virgin Islands (U.S.)</option>\n<option value=\042WF\042>Wallis and Futuna Islands</option>\n<option value=\042EH\042>Western Sahara</option>\n<option value=\042YE\042>Yemen</option>\n<option value=\042YU\042>Yugoslavia</option>\n<option value=\042ZR\042>Zaire</option>\n<option value=\042ZM\042>Zambia</option>\n<option value=\042ZW\042>Zimbabwe</option>';
var courier_list = '<option value=\04241\042>FedEx World Wide Service</option>\n<option value=\04242\042>DHL Express Service</option>\n<option value=\04243\042>UPS Express Service</option>\n<option value=\04244\042>TNT</option>\n<option value=\04245\042>Airborne</option>';
function addShippingAddress()
{
var con_table = getElement('shipping_tbody');
if(con_table == null) return;
var newRow = addTableRow(con_table,'ship_tr_'+ship_address);
var url="'/signup/postcode_help.html'";
addTableCell(newRow, '<input type="hidden" name="shipping['+ship_address+'][add]" value="add"/><table style="width:100%;border-top:1px solid #CCC;"><tr><td class="left"><span style="color:red">*</span>Company :</td><td class="right"><input class="required" type="text" name="shipping['+ship_address+'][company_name]" /></td></tr><tr><td class="left" valign="top"><span style="color:red">*</span>Street Address :</td><td class="right"><textarea class="required" rows="" cols="" name="shipping['+ship_address+'][address]" style="height:75px;"></textarea></td></tr><tr><td class="left"><span style="color:red">*</span>City :<\/td><td class="right"><input class="required" type="text" name="shipping['+ ship_address +'][city]"/></td></tr><tr><td class="left">State :</td><td class="right"><input class="optional" type="text" name="shipping['+ship_address+'][state]" /></td></tr><tr><td class="left"><a href="#" style="text-decoration:underline; font-size:11px;" onclick="openWindow('+ url +',400,400,true);return false;"><span style="color:red">*</span>Zip/Post Code :</a></td><td class="right"><input class="required" type="text" name="shipping['+ship_address+'][post_code]" /></td></tr><tr><td class="left"><span style="color:red">*</span>Country :</td><td class="right"><select class="required" name="shipping['+ship_address+'][country]"><option value="">Please Choose Country...</option>'+ country_list +'</select></td></tr><tr><td class="left shaded"><span style="color:red">*</span>Phone :</td><td class="right shaded"><input type="text" name="shipping['+ship_address+'][phone_no]" class="required" /></td></tr><tr><td class="left shaded">2nd Contact Number :</td><td class="right"><input type="text shaded" name="shipping['+ship_address+'][phone_no2]" class="optional" /></td></tr><tr><td class="left shaded">Mobile :</td><td class="right shaded"><input type="text" name="shipping['+ship_address+'][mobile_no]" class="optional" /></td></tr><tr><td class="left shaded">Fax :</td><td class="right shaded"><input class="optional" type="text" name="shipping['+ship_address+'][fax_no]" /></td></tr><tr><td class="left">Contact Name :</td><td class="right"><input type="text" name="shipping['+ship_address+'][contact]" class="optional" /></td></tr><tr><td class="left">Email :</td><td class="right"><input class="optional" type="text" name="shipping['+ship_address+'][email]" /></td></tr>');
newRow.style.width="100%";
ship_address--;
requiredOptional();
}
function addCourier()
{
var co_table = getElement('Accounts');
if(!co_table || co_table == null) return;
var newRow = addTableRow(co_table,'couriers['+courier+']');
var newCell = addTableCell(newRow,'<select class="required" name="courier['+courier+'][courier_id]" onchange="toggleSection(\'courier['+ courier +'][courier_name]\', (this.value==0));"><option value="0">Please Choose a Courier</option>'+courier_list+'</select><br /><input type="text" name="courier['+courier+'][courier_name]" class="required" />');
newCell.className='right';
newCell = addTableCell(newRow,'<input class="required" type="text" name="courier['+courier+'][account_num]"/>');
newCell.style.width="40%";
newCell.className='right';
newCell.valign="top";
newRow=addTableRow(co_table,'');
newCell=addTableCell(newRow,'<textarea class="optional" name="courier['+courier+'][notes]"></textarea>');
newCell.colSpan="2";
newCell.className='right';
courier--;
requiredOptional();
}
function addContact()
{
var con_table = getElement('contacts_tbody');
if(con_table == null) return;
var newRow = addTableRow(con_table,'contact_tr_'+contacts);
addTableCell(newRow, '<table style="width:100%;border-top:1px solid #CCC;"><tr><td class="left"><span style="color:red">*</span>First Name :</td><td class="right"><input type="hidden" name="contacts['+contacts+'][add]" value="y" /><input type="text" class="required" name="contacts['+contacts+'][first_name]" value="" /></td></tr><tr><td class="left">Last Name :</td><td class="right"><input class="optional" type="text" name="contacts['+contacts+'][last_name]" value="" /></td></tr><tr><td class="left">Job Title :</td><td class="right"><input class="optional" type="text" name="contacts['+contacts+'][title]" value="" /></td></tr><tr><td class="left"><span style="color:red">*</span>Email Address :</td><td class="right"><input class="required" type="text" name="contacts['+contacts+'][email]" value="" /></td></tr><tr><td colspan="2" style="text-align:center" class="left"><input style="width:5%;" type="checkbox" name="contacts['+contacts+'][send_email_cc]" value="y"> Send Email to this address as well</td></tr></table>');
contacts++;
requiredOptional();
}
function validateAndLogin()
{
var theFrm=getElement('logForm');
var ar=Array('email', 'password');
var names=Array('Email Address', 'Password');
for(key in ar)
{
var elem=theFrm.elements['login['+ar[key]+']'];
if(elem.value=='')
{
alert('Please enter your '+names[key]);
if(elem.focus) elem.focus();
if(elem.select) elem.select();
return false;
}
}
var eml=theFrm.elements['login[email]'];
if(!isValidEmail(eml.value))
{
alert('Please enter a valid email address');
if(eml.focus) eml.focus();
if(eml.select) eml.select();
return false;
}
theFrm.submit();
}
function validateAndSignup()
{
var checks=Array('email_address', 'password1', 'password2');
var names=Array('Email Address', 'Password', 'Confirm Password');
for(key in checks)
{
var obj=checks[key];
var elem=getElement('signup_1['+obj+']');
if(elem.value=='')
{
alert('Please enter text in the '+names[key]+' field');
if(elem.focus) elem.focus();
if(elem.select) elem.select();
return false;
}
}
var eml=getElement('signup_1[email_address]');
if(!isValidEmail(eml.value))
{
alert('Please enter a valid email address');
if(eml.focus) eml.focus();
if(eml.select) eml.select();
return false;
}
var elem=getElement('availablity');
if(elem!=null && elem.innerHTML!=null && elem.innerHTML=="na")
{
alert('This email address already exists in our system. You can use this email to login using the box on the right-hand side.');
if(eml.focus) eml.focus();
if(eml.select) eml.select();
return false;
}
var pass=getElement('signup_1[password1]');
var pass2=getElement('signup_1[password2]');
if(pass.value.length < 6)
{
alert('Password should be at least 6 characters long');
if(pass.focus) pass.focus();
if(pass.select) pass.select();
return false;
}
if(pass.value!=pass2.value)
{
alert('The 2 passwords entered do not match');
if(pass.focus) pass.focus();
if(pass.select) pass.select();
return false;
}
var account_type=Array('private', 'company');
var selected=false;
for(key in account_type)
if(getElement('account_type['+account_type[key]+']').checked) selected=true;
if(!selected)
{
alert('Please select how you would like to join Arcade Spare Parts');
return false;
}
getElement('signForm').submit();
}
function resetPassword()
{
var theFrm=getElement('logForm');
var eml=theFrm.elements['login[email]'];
var email=eml.value;
tb_show('','/signup/reset_password.html?handle='+email+'&frame=true&TB_iframe=true&height=290&width=600', false);
}
function validatePayDetails()
{
var fields={'card_number':'Card Number', 'security_code':'Security Code', 'expire_month':'Expiry Date Month', 'expire_year':'Expiry Date Year'};
for(key in fields)
{
var theElem=getElement('card['+key+']');
if(theElem!=null)
{
if(theElem.value.length==0)
{
alert('Please enter the '+fields[key]+' for your card');
if(theElem.select) theElem.select();
if(theElem.focus) theElem.focus();
return false;
}
if(theElem.value.length!=theElem.maxLength)
{
alert('Please enter '+theElem.maxLength+' digits in the '+fields[key]+' field');
if(theElem.select) theElem.select();
if(theElem.focus) theElem.focus();
return false;
}
}
}
return true;
}
function validateCreditBox()
{
var pay_id=getValue('card_type');
var activate=true;
var name=getElement('cc_name'); var comp=getElement('cc_company');
if(name.value=='' && comp.value=='') activate=false;
var checks=Array('reference','email','amount','currency');
for(i=0;i<checks.length;i++)
if(getValue('cc_'+checks[i])=='') activate=false;
checks=Array('visa','mastercard','amex');
var fields=Array('card_number', 'security_code', 'expire_month', 'expire_year');
var names=Array('Card Number', 'Security Code', 'Expiry Date Month', 'Expiry Date Year');
var digits= {
'visa': {'card_number':16,'security_code':3, 'expire_month':2, 'expire_year':2},
'mastercard': {'card_number':16,'security_code':3, 'expire_month':2, 'expire_year':2},
'amex': {'card_number':15,'security_code':4, 'expire_month':2, 'expire_year':2}
}
var dToUse=digits[pay_id];
if(in_array(pay_id,checks)) for(key in fields)
{
var elem=getElement('paymentmethod['+pay_id.toLowerCase()+']['+fields[key]+']');
if(elem.value=='') activate=false;
var tmp=dToUse[fields[key]];
if(elem.value.length < tmp) activate=false;
}
var btn=getElement('make_payment');
btn.className='btn'+((activate)?'top':'');
btn.onmouseover=function(){((activate)?getElement('make_payment').className='btnover':'')};
btn.onmouseout=function(){((activate)?getElement('make_payment').className='btntop':'')};
btn.onclick=function(){((activate)?getElement('credit_form').submit():'')};
}
function login(return_url)
{
if(return_url==null) return_url='';
var email=getValue('login[email]');
var password=getValue('login[password]');
if(email=='' || password=='')
{
alert('Please enter both email and password');
return;
}
if(!isValidEmail(email))
{
alert('Please enter a valid email address');
return;
}
toggleSection('loadingAjax', true);
var gotoPage='http://www.arcadespareparts.com'+return_url;
var txt = $.ajax({
url: 'https://www.arcadespareparts.com/members/login_ajax.html',
data: "email="+email+"&password="+password,
async: false
}).responseText;
toggleSection('loadingAjax',false);
if(txt=='error') alert('The email/password combination entered is not valid. Please try again.');
else if(txt=='success')
{
var frame=window.parent.window;
if(frame!=null) frame.location=gotoPage;
}
}
var left=0; var timer; var scr_tab=null; var scr_box=null;
;(function ($) {
var included_extras = false;
var loading_extras = false;
var list_classes = ["side_menu"];
var tab_classes = ["glass_tab", "flat_tab", "header_tab", "flat_tab3", "flat_tab4", "side_menu_tab"];
var button_classes = ["big_green_button", "blue_button", "flat_button1", "flat_button2", "glass_button", "green_button", "grey_button", "large_button", "larger_button", "search_button", "shadow_button", "side_menu_button"];
function apply_list_classes(context) {
$(list_classes).each(function () {
$("." + this + " li", context).toggleClass(this + "_button", true);
});
};
function apply_mouseover_effects(context) {
$(tab_classes).add(button_classes).each(function () {
$("." + this, context).attr("hover_class", this).hover(function () {
if (!this.disabled) {
if ($(this).hasClass($(this).attr("hover_class") + "_active")) $(this).toggleClass($(this).attr("hover_class") + "_active_hover", true);
else $(this).toggleClass($(this).attr("hover_class") + "_hover", true);
}
}, function () {
$(this).toggleClass($(this).attr("hover_class") + "_active_hover", false);
$(this).toggleClass($(this).attr("hover_class") + "_hover", false);
});
});
};
function apply_click_handling(context) {
$(button_classes).each(function () {
$("." + this, context).click(function (event) {
if (!$(event.target).is("a")) $("a:first", this).click().each(function () {
var href = $(this).attr("href");
if (href != "" && href != "#") document.location = href;
});
});
});
$(tab_classes).each(function () {
$("." + this, context).attr("tab_class", this).click(function (event) {
if ($(this).hasClass($(this).attr("tab_class") + "_active") && $(this).hasClass('toggleable')) {
$(this).toggleClass($(this).attr("tab_class") + "_active", false);
if ($(this).hasClass('slide_effect')) $("#" + $(this).attr("name")).slideUp();
else $("#" + $(this).attr("name")).fadeOut();
} else {
$(this).toggleClass($(this).attr("tab_class") + "_active", true);
if ($(this).hasClass('slide_effect')) $("#" + $(this).attr("name")).slideDown();
else $("#" + $(this).attr("name")).fadeIn();
$("." + $(this).attr("tab_class") + '[tabgroup="' + $(this).attr("tabgroup") + '"]').not(this).each($(this).hasClass('slide_effect') ? function () {
$(this).toggleClass($(this).attr("tab_class") + "_active", false);
$("#" + $(this).attr("name")).slideUp();
} : function () {
$(this).toggleClass($(this).attr("tab_class") + "_active", false);
$("#" + $(this).attr("name")).hide();
});
if (!$(event.target).is("a")) $("a:first", this).click().each(function () {
var href = $(this).attr("href");
if (href != "" && href != "#") document.location = href;
});
}
});
});
}
function apply_input_formatting(context) {
$(".clear_on_focus", context).each(function () {
$(this).attr("reset_value", $(this).val());
}).focus(function () {
if ($(this).attr("reset_value") == $(this).val()) $(this).val("").css('color', '#000');
}).blur(function () {
if ($(this).val() == "") $(this).val($(this).attr("reset_value")).css('color', null);
});
}
function apply_ajax_load_target(context) {
$(".ajax_load_target", context).click(function () {
var a = this.href || false;
var g = this.rel || false;
var t = $("#" + g);
if (g && a && t.length > 0) {
$("#" + g).slideUp().load(a, {
popup: 2
}, function () {
$(this).apply_common().slideDown();
});
this.blur();
return false;
}
});
}
function apply_table_classes(context) {
$("table.table_list1", context).each(function () {
$("tr:odd", this).addClass("alt");
});
$("table.table_list2, table.table_list5, table.table_list8", context).each(function () {
$("tr:even", this).addClass("alt");
});
}
function apply_extras(context) {
if ($.fn.numeric!=null && $.fn.corner!=null && tb_show!=null) included_extras=true;
if (included_extras) {
$(".tb_show", context).click(function () {
tb_show('<div class="orders_head"><img src="/images/shim.gif" alt="My Orders" title="My Orders"></div>', $(this).attr("href") + "&KeepThis=true&TB_iframe=true&height=260&width=600", false);
return false;
});
$(".view_history", context).click(function () {
tb_show('<div class="orders_head"><img src="/images/shim.gif" alt="My Orders" title="My Orders"></div>', $(this).attr("href") + "&KeepThis=true&TB_iframe=true&height=455&width=950", false);
return false;
});
$('.numeric', context).numeric();
$('.cornered', context).corner("top 10px");
$('.credit_div', context).corner("round 9px").parent().css('padding', '2px').corner("round 10px");
}
else if (!loading_extras) {
loading_extras = true;
$.ajaxSetup({
cache: true
});
$.getScript("/jquery/skip_deps&alphanumeric&corner&thickbox.js", function () {
included_extras = true;
apply_extras(context);
});
$.ajaxSetup({
cache: null
});
}
}
function apply_compatibility(context) {
$("input[name='product_qty']", context).click(function () {
var val = $(this).val();
productQtyChanged(val);
if (val == 0) updatePrices();
});
$("input[name='qty_other']", context).keyup(function () {
updatePrices();
});
$("a.hide_signup", context).css("cursor", 'pointer').click(function () {
$('#signup_box').hide("100000");
});
$("div.prod_btn", context).click(function () {
window.location = $(this).children("a")[0];
}).hover(function () {
$(this).addClass("prod_btn_over");
}, function () {
$(this).removeClass("prod_btn_over");
});
$("div.btntop", context).hover(function () {
$(this).addClass("btnover");
}, function () {
$(this).removeClass("btnover");
});
$(".div_top", context).hover(function () {
$("#order_div_td").css('verticalAlign', 'top');
}, function () {});
$(".div_middle", context).hover(function () {
$("#order_div_td").css('verticalAlign', 'middle');
}, function () {});
$(".div_bot", context).hover(function () {
$("#order_div_td").css('verticalAlign', 'bottom');
}, function () {});
doInitScroll();
requiredOptional();
$(".cont_help", context).hover(function () {
tt_in($(this).attr("rel"));
}, function () {
tt_out();
}).click(function () {
return false;
}).css({
'cursor': 'default'
});
}
$.fn.apply_common = function () {
return this.each(function (index) {
apply_list_classes(this);
apply_table_classes(this);
apply_mouseover_effects(this);
apply_click_handling(this);
apply_input_formatting(this);
apply_ajax_load_target(this);
apply_extras(this);
apply_compatibility(this);
});
};
})(jQuery);
$(function() {
$(document).apply_common();
});
$(window).load(function() {
try
{
document.execCommand("BackgroundImageCache", false, true);
}
catch(err)
{
}
});