
GDATA_KEY='PPX_UNDEFINED';GDATA_WVAL='PPX_UNDEFINED';PPX_CBS_UNINITIALIZED=0;PPX_CBS_OPEN=1;PPX_CBS_SENT=2;PPX_CBS_RECEIVING=3;PPX_CBS_LOADED=4;var ppx_google_ss_state=PPX_CBS_UNINITIALIZED;var ppx_private_google_ss_state=PPX_CBS_UNINITIALIZED;PPX_GOOGLE_SS_SCRIPT_ID="GoogleSS_JSONScript";PPX_DEF_ROWCOUNT=5;PPX_ROW_ID=0;PPX_ROW_DATATYPE=1;PPX_ROW_VISIBILITY=2;PPX_ROW_UNITS=3;PPX_ROW_TITLE=4;ppx_arr_id=[];ppx_arr_datatype=[];ppx_arr_visibility=[];ppx_arr_units=[];ppx_arr_title=[];PPX_DT_IMAGE="image";PPX_DT_TEXT="text";PPX_DT_EMAIL="email";PPX_DT_WEB="web";PPX_DT_NUMBER="number";PPX_DT_URL="url";PPX_DT_FLOATING="floating";PPX_DT_CURRENCY="currency";PPX_DT_PDF="pdf";PPX_DT_ROWLINK="rowlink";PPX_DT_DESCRIPTION="description";PPX_DT_GROUP="group";PPX_SHOWCOL_TEXT="show";PPX_HIDECOL_TEXT="hide";PPX_NOUNITS="n/a";PPX_GROUPCOL_TEXT="group";PPX_STATUS_NORMAL=0;PPX_STATUS_NODATAROWS=-2;PPX_ROOT_PATH="PPX_UNDEFINED";PPX_IMAGES_FOLDER="PPX_UNDEFINED";PPX_THUMBS_FOLDER="PPX_UNDEFINED";var ppx_group_names=[];var ppx_group_values=[];var bDoClipboard=false;var bDoClipboardSrcUrl=false;function fnInitPPXGoogleSS(sGDATA_KEY,sGDATA_WVAL,sPPX_ROOT_PATH,sPPX_IMAGES_FOLDER,sPPX_THUMBS_FOLDER){GDATA_KEY=sGDATA_KEY;GDATA_WVAL=sGDATA_WVAL;PPX_ROOT_PATH=sPPX_ROOT_PATH;PPX_IMAGES_FOLDER=sPPX_IMAGES_FOLDER;PPX_THUMBS_FOLDER=sPPX_THUMBS_FOLDER;}
function MultiDimensionalArray(iRows,iCols)
{var i;var j;var a=new Array(iRows);for(i=0;i<iRows;i++){a[i]=new Array(iCols);for(j=0;j<iCols;j++){a[i][j]="";}}
return(a);}
function fnAddCommas(nStr)
{nStr+='';x=nStr.split('.');x1=x[0];x2=x.length>1?'.'+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+','+'$2');}
return x1+x2;}
var ppx_ss_params;function PpxSS_GetDivId(){return this.divID;}
function PpxSS_GetCBFnc(){return this.cbFunc;}
function PpxSS(sDivID,sCBFunc){this.divID=sDivID;this.cbFunc=sCBFunc;}
PpxSS.prototype.GetDivID=PpxSS_GetDivId;PpxSS.prototype.GetCBFnc=PpxSS_GetCBFnc;function fnListPPXGoogleSS(json){ppx_google_ss_state=PPX_CBS_RECEIVING;var sDivID=ppx_ss_params.GetDivID();var fnCallBack=ppx_ss_params.GetCBFnc();var feed=json.feed;var entries=feed.entry||[];var fdRowCount=parseInt(feed.gs$rowCount.$t);if(fdRowCount<=PPX_DEF_ROWCOUNT){return(PPX_STATUS_NODATAROWS);}
var html=['<div class="ppx_google_ss" align="center">'];var len=feed.entry.length;var clCnt=0;while(clCnt<len){clCnt++;if('1'==feed.entry[clCnt].gs$cell.col){break;}}
var arrPpxSS=MultiDimensionalArray(fdRowCount,clCnt);function fnGetPPXDataCellById(irow,sPpx_col){var sRet="";for(var cc=0;cc<clCnt;cc++){if(sPpx_col==arrPpxSS[PPX_ROW_ID][cc]){sRet=arrPpxSS[irow][cc];break;}}
return(sRet);}
var cRow=0;var thisRow;var thisCol;for(var i=0;i<len;i++){var entry=feed.entry[i];if('1'==entry.gs$cell.col){cRow++;}
var thisRow=cRow-1;var thisCol=(parseInt(entry.gs$cell.col))-1;arrPpxSS[thisRow][thisCol]=entry.content.$t;}
for(var cc=0;cc<clCnt;cc++){ppx_arr_id.push(arrPpxSS[PPX_ROW_ID][cc]);ppx_arr_datatype.push(arrPpxSS[PPX_ROW_DATATYPE][cc]);ppx_arr_visibility.push(arrPpxSS[PPX_ROW_VISIBILITY][cc]);ppx_arr_units.push(arrPpxSS[PPX_ROW_UNITS][cc]);}
ppx_col_rowlink_id="";for(var cc=0;cc<clCnt;cc++){if(PPX_HIDECOL_TEXT!=ppx_arr_visibility[cc]){if(PPX_DT_ROWLINK==ppx_arr_datatype[cc]){ppx_col_rowlink_id=ppx_arr_id[cc];break;}}}
var sLastGroup="PPX_NO_GROUP_DEFINED";var sThisGroup="";var ppx_col_group_id="";for(var cc=0;cc<clCnt;cc++){if(PPX_GROUPCOL_TEXT==ppx_arr_visibility[cc]){ppx_col_group_id=ppx_arr_id[cc];break;}}
for(var cr=PPX_DEF_ROWCOUNT;cr<fdRowCount;cr++){if(""!=ppx_col_group_id){sThisGroup=fnGetPPXDataCellById(cr,ppx_col_group_id);if(sThisGroup!=sLastGroup){html.push('<p class="gssgroup">'+sThisGroup+'<\/p>');}
sLastGroup=sThisGroup;}
html.push('<div ');html.push('class=');var row_class='"normal"';html.push(row_class);html.push('>');for(var cc=0;cc<clCnt;cc++){if(PPX_HIDECOL_TEXT!=ppx_arr_visibility[cc]){if(PPX_DT_IMAGE==ppx_arr_datatype[cc]){html.push('<div class="prod_thumb">');if(""!=ppx_col_rowlink_id){var sRL=PPX_ROOT_PATH+fnGetPPXDataCellById(cr,ppx_col_rowlink_id);html.push('<a target="_blank" href="'+sRL+'">');}
html.push('<img src="');html.push(PPX_THUMBS_FOLDER+arrPpxSS[cr][cc]+'" alt="Product photo">');html.push('<\/img>');if(""!=ppx_col_rowlink_id){html.push('<\/a>');}
html.push('<\/div>');}}}
html.push('<div class="prod_details">');for(var cc=0;cc<clCnt;cc++){if(PPX_HIDECOL_TEXT!=ppx_arr_visibility[cc]){switch(ppx_arr_datatype[cc]){case PPX_DT_URL:break;case PPX_DT_PDF:break;case PPX_DT_IMAGE:break;case PPX_DT_ROWLINK:break;case PPX_DT_GROUP:break;default:if(PPX_DT_DESCRIPTION==ppx_arr_datatype[cc]){}
else{html.push("<div class='titlecell'>");html.push("<b>"+arrPpxSS[PPX_ROW_TITLE][cc]+": <\/b>");html.push("<\/div>");}
html.push("<div class='datacell'>");switch(ppx_arr_datatype[cc]){case PPX_DT_DESCRIPTION:html.push("<span style='font-weight:bold'>");html.push(arrPpxSS[cr][cc]);html.push("<\/span>");break;case PPX_DT_EMAIL:html.push("<a href='mailto:"+arrPpxSS[cr][cc]+"'>");html.push(arrPpxSS[cr][cc]);html.push("<\/a><br \/>");break;case PPX_DT_WEB:html.push('<a target="_blank" href="http://'+arrPpxSS[cr][cc]+'">');html.push(arrPpxSS[cr][cc]);html.push("<\/a><br \/>");break;default:html.push(arrPpxSS[cr][cc]);if(PPX_NOUNITS!=ppx_arr_units[cc]){html.push("&nbsp;"+ppx_arr_units[cc]);}
break;}
html.push("<\/div><br \/>");break;}}}
html.push("<\/div>");html.push("<div class='prod_actions'>");for(var cc=0;cc<clCnt;cc++){if(PPX_HIDECOL_TEXT!=ppx_arr_visibility[cc]){switch(ppx_arr_datatype[cc]){case PPX_DT_TEXT:break;case PPX_DT_EMAIL:break;case PPX_DT_WEB:break;case PPX_DT_IMAGE:break;case PPX_DT_NUMBER:break;case PPX_DT_FLOATING:break;case PPX_DT_CURRENCY:break;case PPX_DT_ROWLINK:break;default:html.push("<div class='actionitem'>");switch(ppx_arr_datatype[cc]){case PPX_DT_PDF:html.push('<a target="_blank" href="'+PPX_ROOT_PATH+'pdf\/'+arrPpxSS[cr][cc]+'">');html.push('<img src="'+PPX_IMAGES_FOLDER+'\/'+'btn_'+arrPpxSS[PPX_ROW_ID][cc]+'.gif" alt="View PDF"><\/img>');html.push("<\/a><br />");break;case PPX_DT_URL:html.push('<a href="'+PPX_ROOT_PATH+arrPpxSS[cr][cc]+'">');html.push('<img src="'+PPX_IMAGES_FOLDER+'\/'+'btn_'+arrPpxSS[PPX_ROW_ID][cc]+'.gif" alt="More Info"><\/img>');html.push("<\/a><br />");break;default:break;}
html.push("<\/div>");break;}}}
html.push("<\/div>");html.push("<div class='sep'>&nbsp;<\/div>");html.push("<\/div> <!-- end normal div -->");}
html.push("<\/div>");if(bDoClipboard==true){try{window.clipboardData.setData("Text",html.join(""));}
catch(ex){}}
fnClearPreviousResults(sDivID);document.getElementById(sDivID).innerHTML=html.join("");ppx_google_ss_state=PPX_CBS_LOADED;window.setTimeout(fnCallBack,100);return(PPX_STATUS_NORMAL);}
var ppx_private_ss_fields;function PpxPrivateSS_GetDivId(){return this.divID;}
function PpxPrivateSS_GetCBFnc(){return this.cbFunc;}
function PpxPrivateSS_GetArrData(){return this.data;}
function PpxPrivateSS_GetGrpFldId(){return this.groupFld;}
function PpxPrivateSS(sDivID,sCBFunc,arrData,sGroupFld){this.divID=sDivID;this.cbFunc=sCBFunc;this.data=arrData;this.groupFld=sGroupFld;}
PpxPrivateSS.prototype.GetDivID=PpxPrivateSS_GetDivId;PpxPrivateSS.prototype.GetCBFnc=PpxPrivateSS_GetCBFnc;PpxPrivateSS.prototype.GetArrData=PpxPrivateSS_GetArrData;PpxPrivateSS.prototype.GetGroupFld=PpxPrivateSS_GetGrpFldId;function fnListPrivatePPXGoogleSS(json){ppx_private_google_ss_state=PPX_CBS_RECEIVING;var sDivID=ppx_private_ss_fields.GetDivID();var fnCallBack=ppx_private_ss_fields.GetCBFnc();var fldArr=ppx_private_ss_fields.GetArrData();var groupID=ppx_private_ss_fields.GetGroupFld();var feed=json.feed;var entries=feed.entry||[];var fdRowCount=parseInt(feed.gs$rowCount.$t);if(fdRowCount<=PPX_DEF_ROWCOUNT){return(PPX_STATUS_NODATAROWS);}
var html=['<table onclick="sortColumn(event)" cellspacing="0" class="ppx_google_ss">'];var len=feed.entry.length;var clCnt=0;while(clCnt<len){clCnt++;if('1'==feed.entry[clCnt].gs$cell.col){break;}}
var arrPpxSS=MultiDimensionalArray(fdRowCount,clCnt);function fnGetPPXDataCellById(irow,sPpx_col){var sRet="";for(var cc=0;cc<clCnt;cc++){if(sPpx_col==arrPpxSS[PPX_ROW_ID][cc]){sRet=arrPpxSS[irow][cc];break;}}
return(sRet);}
function fnGetPPXColPosById(sPpx_col){var sRet=-1;for(var cc=0;cc<clCnt;cc++){if(sPpx_col==arrPpxSS[PPX_ROW_ID][cc]){sRet=cc;break;}}
return(sRet);}
function fnOutputCellsHeader(){html.push('<tr>');for(var cf=0;cf<ppxLen;cf++){ccp=fnGetPPXColPosById(fldArr[cf][0]);html.push('<td class="titlecell" ');html.push('type=');var sType="CaseInsensitiveString";switch(ppx_arr_datatype[ccp]){case PPX_DT_TEXT:break;case PPX_DT_EMAIL:break;case PPX_DT_WEB:break;case PPX_DT_IMAGE:break;case PPX_DT_NUMBER:sType="Number";break;case PPX_DT_FLOATING:sType="Number";break;case PPX_DT_CURRENCY:sType="Number";break;case PPX_DT_ROWLINK:break;default:}
html.push('"'+sType+'"');html.push(">");html.push("<b>"+arrPpxSS[PPX_ROW_TITLE][ccp]+"<\/b>");html.push("<\/td>");}
html.push('<\/tr>');}
var cRow=0;for(var i=0;i<len;i++){var entry=feed.entry[i];if('1'==entry.gs$cell.col){cRow++;}
arrPpxSS[cRow-1][(parseInt(entry.gs$cell.col))-1]=entry.content.$t;}
for(var cc=0;cc<clCnt;cc++){ppx_arr_id.push(arrPpxSS[PPX_ROW_ID][cc]);ppx_arr_datatype.push(arrPpxSS[PPX_ROW_DATATYPE][cc]);ppx_arr_visibility.push(arrPpxSS[PPX_ROW_VISIBILITY][cc]);ppx_arr_units.push(arrPpxSS[PPX_ROW_UNITS][cc]);}
ppx_col_rowlink_id="";for(var cc=0;cc<clCnt;cc++){if(PPX_HIDECOL_TEXT!=ppx_arr_visibility[cc]){if(PPX_DT_ROWLINK==ppx_arr_datatype[cc]){ppx_col_rowlink_id=ppx_arr_id[cc];break;}}}
var sLastGroup="PPX_NO_GROUP_DEFINED";var sThisGroup="";var ppx_col_group_id=groupID;var ppx_col_group_count=0;var ppxLen=fldArr.length;if(""==ppx_col_group_id){html.push('<thead>');fnOutputCellsHeader();html.push('<\/thead>');}
html.push('<tbody>');for(var cr=PPX_DEF_ROWCOUNT;cr<fdRowCount;cr++){if(""!=ppx_col_group_id){sThisGroup=fnGetPPXDataCellById(cr,ppx_col_group_id);if(sThisGroup!=sLastGroup){ppx_col_group_count++;html.push('<tr><td colspan="'+fldArr.length+'"><p class="gssgroup"><a name="'+sThisGroup+'">'+sThisGroup+'<\/a><\/p><\/td><\/tr>');fnOutputCellsHeader();ppx_group_names.push(sThisGroup);ppx_group_values.push(sThisGroup);}
sLastGroup=sThisGroup;}
html.push('<tr onmouseover="this.className=\'highlight\'" onmouseout="this.className=\'normal\'" ');html.push('class="normal"');html.push('>');for(var cf=0;cf<ppxLen;cf++){dataf=fnGetPPXDataCellById(cr,fldArr[cf][0]);ccp=fnGetPPXColPosById(fldArr[cf][0]);html.push('<td class="'+fldArr[cf][1]+'">');switch(ppx_arr_datatype[ccp]){case PPX_DT_DESCRIPTION:html.push("<span style='font-weight:bold'>");html.push(dataf);html.push("<\/span>");break;case PPX_DT_EMAIL:html.push("<a href='mailto:"+dataf+"'>");html.push(dataf);html.push("<\/a><br \/>");break;case PPX_DT_WEB:html.push("<a target=_blank href='http://"+dataf+"'>");html.push(dataf);html.push("<\/a><br \/>");break;default:switch(ppx_arr_datatype[ccp]){case PPX_DT_TEXT:break;case PPX_DT_EMAIL:break;case PPX_DT_WEB:break;case PPX_DT_IMAGE:break;case PPX_DT_NUMBER:dataf=fnAddCommas(dataf);break;case PPX_DT_FLOATING:dataf=fnAddCommas(dataf);break;case PPX_DT_CURRENCY:dataf=fnAddCommas(dataf);break;case PPX_DT_ROWLINK:break;default:}
html.push(dataf);if(PPX_NOUNITS!=ppx_arr_units[ccp]){html.push("&nbsp;"+ppx_arr_units[ccp]);}
break;}
html.push("<\/td>");}
html.push("<\/tr> <!-- end normal tr -->");}
html.push('<\/tbody>');html.push("<\/table>");if(bDoClipboard==true){try{window.clipboardData.setData("Text",html.join(""));}
catch(ex){}}
fnClearPreviousResults(sDivID);document.getElementById(sDivID).innerHTML=html.join("");ppx_private_google_ss_state=PPX_CBS_LOADED;window.setTimeout(fnCallBack,100);return(PPX_STATUS_NORMAL);}
function fnTimeoutHandler(sGuiMsgDivId){switch(ppx_google_ss_state){case PPX_CBS_UNINITIALIZED:break;case PPX_CBS_OPEN:break;case PPX_CBS_SENT:var oMsgDiv=document.getElementById(sGuiMsgDivId);oMsgDiv.innerHTML='<a href="javascript:window.location.reload(false)"><img src="'+PPX_IMAGES_FOLDER+'\/connectivity_issue.png"><\/img><\/a><p>You appear to be offline -- try connecting to the Internet, and then <a href="javascript:window.location.reload(false)">Refresh<\/a> this page.<\/p><br \/><br \/>';break;case PPX_CBS_RECEIVING:break;case PPX_CBS_LOADED:break;default:break;}
return(PPX_STATUS_NORMAL);}
function fnShowPPXGoogleSS(sDivId,fnpCallBackFunc){ppx_google_ss_state=PPX_CBS_OPEN;ppx_ss_params=new PpxSS(sDivId,fnpCallBackFunc);fnClearPreviousGSS_Script();var div=document.getElementById(sDivId);var script=document.createElement('script');var sFeedSrc=('http://spreadsheets.google.com/feeds/cells'
+'/'+GDATA_KEY
+'/'+GDATA_WVAL+'/public/values'+'?alt=json-in-script&callback=fnListPPXGoogleSS');script.setAttribute('src',sFeedSrc);if(bDoClipboardSrcUrl==true){try{window.clipboardData.setData("Text",sFeedSrc);}
catch(ex){}}
script.setAttribute('id',PPX_GOOGLE_SS_SCRIPT_ID);script.setAttribute('type','text/javascript');document.documentElement.firstChild.appendChild(script);;ppx_google_ss_state=PPX_CBS_SENT;var self=this;setTimeout(function(){self.fnTimeoutHandler(sDivId);},65000);}
function fnPrivateTimeoutHandler(sGuiMsgDivId){switch(ppx_private_google_ss_state){case PPX_CBS_UNINITIALIZED:break;case PPX_CBS_OPEN:break;case PPX_CBS_SENT:var oMsgDiv=document.getElementById(sGuiMsgDivId);oMsgDiv.innerHTML='<a href="javascript:window.location.reload(false)"><img src="'+PPX_IMAGES_FOLDER+'\/connectivity_issue.png"><\/img><\/a><p>You appear to be offline -- try connecting to the Internet, and then <a href="javascript:window.location.reload(false)">Refresh<\/a> this page.<\/p><br \/><br \/>';break;case PPX_CBS_RECEIVING:break;case PPX_CBS_LOADED:break;default:break;}
return(PPX_STATUS_NORMAL);}
function fnShowPrivatePPXGoogleSS(sDivID,fnpCallBackFunc,arrFields,group_id){ppx_private_google_ss_state=PPX_CBS_OPEN;ppx_private_ss_fields=new PpxPrivateSS(sDivID,fnpCallBackFunc,arrFields,group_id);fnClearPreviousGSS_Script();var div=document.getElementById(sDivID);div.innerHTML='<img src="'+PPX_IMAGES_FOLDER+'\/progress.gif"><\/img><br \/>&nbsp;&nbsp;&nbsp;Retrieving Database... <br \/><br \/>';var script=document.createElement('script');script.setAttribute('src','http://spreadsheets.google.com/feeds/cells'
+'/'+GDATA_KEY
+'/'+GDATA_WVAL+'/public/values'+'?alt=json-in-script&callback=fnListPrivatePPXGoogleSS');script.setAttribute('id',PPX_GOOGLE_SS_SCRIPT_ID);script.setAttribute('type','text/javascript');document.documentElement.firstChild.appendChild(script);;ppx_private_google_ss_state=PPX_CBS_SENT;var self=this;setTimeout(function(){self.fnPrivateTimeoutHandler(sDivID);},65000);}
function fnClearPreviousGSS_Script(){var scriptEl=document.getElementById(PPX_GOOGLE_SS_SCRIPT_ID);if(scriptEl){scriptEl.parentNode.removeChild(scriptEl);}}
function fnClearPreviousResults(sDivId){return 0;var div=document.getElementById(sDivId);if(div.firstChild){div.removeChild(div.firstChild);}}