var lastSearchString="";var arrGoboSizes=['A (100 x 75mm)','B (85 x 64.5 mm)','C (150 x 120mm)','D (53 x 40mm)','E (37.25 x 28mm)','G (66 x 45mm)','M (66 x 49.5mm)','AMDJ - Accu Spot 575 (27 x 22mm)','AMDJ - Accu (Scan250/Roller250/Spot250/Hybrid250) (25 x 20mm)','AMDJ - Accu Spot (300 / 250 II) (25 x 20mm)','AMDJ - Accu Spot Pro (26.7 x 24.7mm)','AMDJ - Gobo Spot 1 (58.5 x 30mm)','AMDJ - Gobo Spot II (38. x 26mm w/ notch)','AMDJ - Roto Gobo (26 x 20mm)','Chauvet - SX-Gobo (51 x 40.5mm)','Derksen - 700/1200 (105mm x 68mm)','Elation Image Pro 300 ( 51.8 x 35.5mm)','Elation Power Spot 259/575 (26.9 x 23mm)','ETC - Source Four (86 x 64.5mm)','ETC - Source Four Jr. (66 x 49.5mm)','High End - Cyber light (44.4 x 37mm)','High End - Studio Spot 575 (36.3 x 31.8mm)','Ikea Isbrytare (50 x 32mm)','Martin - Mania PR1 (53.3 x 40mm)','Martin - SCX 600/700 (22.5 .x 17mm)','Martin - Mac 250 (22.25 x 17mm)','Martin - Mac 500/550/700 (27.8 x 23mm)','Martin - Mac 2K (37.25 x 28mm)','Other (Please specify below)'];var arrPrismatics=['GB-RG43801','GB-RG43802','GB-RG43803','GB-RG43804','GB-RG43805','GB-RG43806','GB-RG43807','GB-RG43808','GB-RG43809'];var arrColorizer=['GB-RG56203','GB-RG56204','GB-RG56205','GB-RG56103','GB-RG56201','GB-RG56202','GB-RG56102','GB-RG55006','GB-RG55007','GB-RG55008','GB-RG56101','GB-RG55004','GB-RG55005'];var arrImageGlass=['GB-RG33617','GB-RG33618','GB-RG33619','GB-RG33620','GB-RG33621','GB-RG33616','GB-RG33614','GB-RG33615','GB-RG33611','GB-RG33612','GB-RG33613','GB-RG33610','GB-RG33609','GB-RG33608','GB-RG33606','GB-RG33607','GB-RG33605','GB-RG33600','GB-RG33601','GB-RG33602','GB-RG33603','GB-RG33604','GB-RG33622','GB-RG33623','GB-RG43050','GB-RG43501','GB-RG43502','GB-RG43503','GB-RG43504','GB-RG33624'];var arrColorWave=['GB-RG33305','GB-RG33304','GB-RG33205','GB-RG33301','GB-RG33302','GB-RG33303','GB-RG33204','GB-RG33203','GB-RG33201','GB-RG33202','GB-RG33104','GB-RG33105','GB-RG33005','GB-RG33101','GB-RG33102','GB-RG33103','GB-RG33001','GB-RG33004','GB-RG33003','GB-RG33002','GB-RG33401','GB-RG33402','GB-RG33403','GB-RG33404','GB-RG33405'];function inArray(haystack,needle)
{for(var j=0;j<haystack.length;j++)
{if(needle==haystack[j])
{return true;}}
return false;}
function clearSelection()
{var textColor=document.getElementById('textColor');textColor.value="";var colorSelectionDIV=document.getElementById('colorSelectionDIV');colorSelectionDIV.innerHTML='';var colorDisplayDIV=document.getElementById('colorDisplayDIV');colorDisplayDIV.innerHTML='<p>Selected Gobo:</p>';var strQty=trim(document.getElementById('qty').value);strQty='1';var sizeSelect=document.getElementById('opt0');sizeSelect.options[0].selected=true;var hiddenSKU=document.getElementById('key');hiddenSKU.value="GB";var otherSizeDiv=document.getElementById('otherSizeDiv');otherSizeDiv.style.display='none';var selectSize=document.getElementById('opt0');selectSize.length=0;selectSize.options[0]=new Option("Choose a gobo first...",-1);selectSize.options[0].selected=true;selectSize.disabled=true;var addButton=document.getElementById('add');addButton.disabled=true;lastSearchString="";return true;}
function checkQuantity()
{var addButton=document.getElementById('add');var strQty=trim(document.getElementById('qty').value);var textColor=document.getElementById('textColor').value;var sizeSelect=document.getElementById('opt0');var flagEnableAdd=true;if(-1==sizeSelect.value)
{flagEnableAdd=false;}
if('0'==strQty||''==strQty)
{flagEnableAdd=false;}
if(-1==textColor.search(/-/))
{flagEnableAdd=false;}
if(flagEnableAdd)
{addButton.disabled=false;}
else
{addButton.disabled=true;}}
function checkSizeSelection()
{var sizeSelect=document.getElementById('opt0');var otherSizeDiv=document.getElementById('otherSizeDiv');if('Other'==sizeSelect[sizeSelect.selectedIndex].text.substring(0,5))
{otherSizeDiv.style.display='block';}
else
{otherSizeDiv.style.display='none';}
checkQuantity();}
function selectItem(id,name,type,vendor,price)
{var textColor=document.getElementById('textColor');var addButton=document.getElementById('add');var hiddenSKU=document.getElementById('key');var justPrice=document.getElementById('price');var colorSelectionDIV=document.getElementById('colorSelectionDIV');colorSelectionDIV.innerHTML='';var colorDisplayDIV=document.getElementById('colorDisplayDIV');var imageFile=createImageFilename(vendor,id);colorDisplayDIV.innerHTML='<p>Selected Gobo: '+ name+'</p><img width="150" height="150" src="/images/gobos/'+ trim(vendor.toLowerCase())+'/'+ imageFile+'">';justPrice.value=price;var strNewID=id.replace(/-/g,"");var strType=('S'==trim(type))?'Steel':'Glass';textColor.value='Gobo: '+ vendor+' '+ strType+' '+ id+'-'+ name;hiddenSKU.value="GB";switch(trim(vendor))
{case'Apollo':hiddenSKU.value+="-A";break;case'Lee':hiddenSKU.value+="-L";break;case'Rosco':hiddenSKU.value+="-R";break;case'Gam':hiddenSKU.value+="-G";break;}
var selectSize=document.getElementById('opt0');selectSize.length=0;if('Lee'==trim(vendor))
{hiddenSKU.value+=trim(type)+ trim(strNewID);var i=0;selectSize.options[i++]=new Option('Please choose a size...',-1);selectSize.options[i++]=new Option(arrGoboSizes[0],1);selectSize.options[i++]=new Option(arrGoboSizes[1],2);selectSize.options[i++]=new Option(arrGoboSizes[6],7);selectSize.options[0].selected=true;if(-1!=strNewID.indexOf('/'))
{strNewID=strNewID.substring(0,strNewID.indexOf('/'));}}
else
{var i=0
var intSizeID=1;hiddenSKU.value+=trim(type)+ trim(strNewID);selectSize.options[0]=new Option('Please choose a size...',-1);if(inArray(arrPrismatics,hiddenSKU.value)||inArray(arrColorizer,hiddenSKU.value)||inArray(arrImageGlass,hiddenSKU.value)||inArray(arrColorWave,hiddenSKU.value))
{intSizeID=0;for(i=1;i<arrGoboSizes.length;i++)
{if('A '==arrGoboSizes[i].substring(0,2)||'C '==arrGoboSizes[i].substring(0,2))
{continue;}
selectSize.options[selectSize.length]=new Option(arrGoboSizes[i],intSizeID++);}}
else
{for(i=0;i<arrGoboSizes.length;i++)
{selectSize.options[selectSize.length]=new Option(arrGoboSizes[i],intSizeID++);}}
selectSize.options[0].selected=true;}
selectSize.disabled=false;addButton.disabled=false;checkQuantity();}
function createImageFilename(vendor,id)
{var imageFile;switch(trim(vendor))
{case'Apollo':var code,number;if('-'==id.substring(2,3))
{code=trim(id.substring(0,2));number=trim(id.substring(3));}
else
{code=trim(id.substring(0,2));number=trim(id.substring(2));}
switch(code)
{case'SR':case'CS':case'C2':imageFile=code+'-'+ number.replace(/(.*)([a-zA-Z]).jpg/,"$1-$2.jpg")+'.jpg';break;case'HE':imageFile=code+'-'+ number.replace(/(.*)([a-zA-Z]).gif/,"$1-$2.gif")+'.gif';break;default:imageFile=number+'.jpg';break;}
break;case'Lee':imageFile='T'+ id+'.gif';break;case'Rosco':if('7'==id.slice(0,1))
{imageFile=id+'sm.gif';}
else
{imageFile=id+'sm.jpg';}
break;default:imageFile=id+'sm.gif';break;}
return imageFile;}
function successHandler(o)
{if(o.responseXML!==undefined)
{var i;var colorSelectionDIV=document.getElementById('colorSelectionDIV');var products=o.responseXML.getElementsByTagName('product');if(0==products.length)
{colorSelectionDIV.innerHTML="No results found. Please try again.";return;}
var strDisplay="<table width='100%' border='0' cellpadding='2' cellspacing='0'>";for(i=0;i<products.length;i++)
{var id=products[i].getElementsByTagName('id')[0].childNodes[0].nodeValue;var name=products[i].getElementsByTagName('name')[0].childNodes[0].nodeValue;var type=products[i].getElementsByTagName('type')[0].childNodes[0].nodeValue;var note=products[i].getElementsByTagName('note')[0].childNodes[0].nodeValue;if("N"==trim(note)){note="";}
var vendor=products[i].getElementsByTagName('vendor')[0].childNodes[0].nodeValue;var price=products[i].getElementsByTagName('price')[0].childNodes[0].nodeValue;var category=products[i].getElementsByTagName('category')[0].childNodes[0].nodeValue;var strType=('S'==trim(type))?'Steel':'Glass';var selectParams="selectItem('"+ id+"','"+ name+"','"+ type+"','"+ vendor+"','"+ price+"');";var imageFile=createImageFilename(vendor,id);strDisplay+='<tr valign="top" onmouseover="this.bgColor=\'#CCCCCC\';" onMouseOut="this.bgColor=\'#FFFFFF\';"> \
							<td > \
								<table class="listRow" border="0" cellspacing="2" cellpadding="2" onclick="'+ selectParams+'"> \
									<tr> \
										<td width="50px" class="list">'+ id+'</td> \
										<td width="50px" rowspan="4" class="list"><img width=50 height=50 src="/images/gobos/'+ trim(vendor.toLowerCase())+'/'+ imageFile+'"></td> \
										<td class="list"><strong>'+ name+'</strong></td> \
										<td class="list">$'+ price+'</td> \
										<td class="list">'+ strType+'</td> \
									</tr> \
									<tr> \
										<td class="list">&nbsp;</td> \
										<td class="list" colspan="3">'+ category+'</td> \
									</tr> \
									<tr> \
										<td class="list">&nbsp;</td> \
										<td class="list" colspan="3">'+ note+'</td> \
									</tr> \
								</table> \
							</td> \
						 </tr>';}
strDisplay+='</table>';colorSelectionDIV.innerHTML=strDisplay;}}
function failureHandler(o){var colorSelectionDIV=document.getElementById('colorSelectionDIV');colorSelectionDIV.innerHTML=o.status+" "+ o.statusText;}
function lookupColor()
{var selectVendor=document.getElementById('selectVendor').value;var textColor=document.getElementById('textColor').value;var colorSelectionDIV=document.getElementById('colorSelectionDIV');if(1==textColor.length&&-1==textColor.search(/^[0-9]$/))
{return;}
colorSelectionDIV.innerHTML="Searching...";var entryPoint='/HTN/lib/goboSelector.php';var queryString=encodeURI('?v='+ selectVendor+'&q='+ textColor);var sUrl=entryPoint+ queryString;if(""==textColor)
{colorSelectionDIV.innerHTML="";}
else
{var request=YAHOO.util.Connect.asyncRequest('POST',sUrl,{success:successHandler,failure:failureHandler});}}
function myColorSelectInterval()
{var timeInterval=1000;var textColor=document.getElementById('textColor').value;var colorSelectionDIV=document.getElementById('colorSelectionDIV');if(textColor.length<1)
{colorSelectionDIV.innerHTML='';return;}
if(-1!=textColor.search('Gobo'))
{colorSelectionDIV.innerHTML='';return;}
if(lastSearchString!=textColor)
{lastSearchString=textColor;lookupColor();return;}}
function validateForm()
{var textColor=document.getElementById('textColor').value;if(''==trim(textColor))
{colorSelectionDIV.innerHTML='';return false;}
else
{return true;}}
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"),"");}
