
var mxAjax={onError:function(content,options){if($("mxAjaxError")==null){element=document.getElementsByTagName("head")[0];new Insertion.After(element,'<div id="mxAjaxError"></div>');}
$("mxAjaxError").innerHTML=content;}}
function scriptPath(){var script=$A(document.getElementsByTagName("script")).findAll(function(s){return(s.src&&s.src.match(/prototype\.min\.js(\?.*)?$/))})
script=script[0].src;return script.replace(/prototype\.min\.js(\?.*)?$/,'');}
function include(jsFileName){document.write('<'+'script src="'+jsFileName+'" language="javascript" type="text/javascript"'+'>'+'<'+'/script'+'>');}
function include_dom(jsFileName){var html_doc=document.getElementsByTagName('head').item(0);var js=document.createElement('script');js.setAttribute('language','javascript');js.setAttribute('type','text/javascript');js.setAttribute('src',jsFileName);html_doc.appendChild(js);return false;}
function isEmpty(o){var i,v;if(isObject(o)){for(i in o){v=o[i];if(isUndefined(v)&&isFunction(v)){return false;}}}
return true;}
function isString(a){return typeof a=='string';}
function isNull(a){return typeof a=='object'&&!a;}
function isFunction(a){return typeof a=='function';}
function isObject(a){return(a&&typeof a=='object')||isFunction(a);}
function isUndefined(a){return typeof a=='undefined';}
function addOnLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}
AJAX_DEFAULT_PARAMETER="ajaxParameter";AJAX_PORTLET_MAX=1;AJAX_PORTLET_MIN=2;AJAX_PORTLET_CLOSE=3;mxAjax.Param=Class.create();mxAjax.Param.prototype={initialize:function(_url,options){this.url=_url;this.setOptions(options);this.defaultParam="";this.type="Param";this.htmlResponse=false;this.callList=Array();},setOptions:function(options){if([this.url.toLowerCase()].grep('cfc')!=""&&!(options.serverFramework))options.serverFramework="cfc";this.options=Object.extend({httpMethod:options.httpMethod?options.httpMethod:"get",param:options.param?options.param:'',cffunction:options.cffunction?options.cffunction:'',serverFramework:options.serverFramework?options.serverFramework:"cfm"},options||{});},addCall:function(options){this.callList.push(options);},getUrlParam:function(){var urlData="";if(this.getHttpMethod()=="get"){urlData=this.getParamDataString();}else{if(this.callList.length>0)urlData="json=true";if(this.options.serverFramework=="cfc"){urlData=(urlData.length>0)?urlData+"&method=init":"method=init";}}
return urlData;},getParamDataString:function()
{if(this.callList.length>0){jsParam=JSON.stringify((this.callList.length==1)?this.callList[0]:{"calls":this.callList});if(this.options.serverFramework=="cfc")
jsParam="method=init&json=true&mxAjaxParam="+jsParam;}else{jsParam="function="+this.options.cffunction+this.buildParameterString(this.options.param);if(this.defaultParam!="")jsParam=jsParam+"&"+this.defaultParam;if(this.options.serverFramework=="cfc")
jsParam="method=init&"+jsParam;}
if(jsParam.toLowerCase().indexOf("htmlresponse=true")>=0)this.htmlResponse=true;return jsParam;},getPostData:function(){formData=this.getParamDataString();return formData;},getUrl:function(){var returnUrl=this.url;returnUrl=returnUrl+(returnUrl.indexOf('?')>0?'':'?');if(this.getHttpMethod()=="post"){var jsParam="";if(this.options.serverFramework=="cfc"){returnUrl=returnUrl+"method=init";if(this.callList.length>0)returnUrl=returnUrl+"&json=true";}}
if(returnUrl.toLowerCase().indexOf("htmlresponse=true")>=0)this.htmlResponse=true;var random=Math.floor(Math.random()*10001);var id=(random+"_"+new Date().getTime()).toString();returnUrl+="&"+id;return returnUrl;},setHttpMethod:function(_httpMethod){this.options.httpMethod=_httpMethod;},getHttpMethod:function(){return this.options.httpMethod;},setDefaultParam:function(defaultParam){return this.defaultParam=defaultParam;},buildParameterString:function(parameterList){var returnString='';var params=(parameterList||'').split(',');if(params!=null){for(var p=0;p<params.length;p++){var pair=params[p].split('=');var key=pair[0];var val=pair[1];if(!isEmpty(val)||isString(val)){var varList=val.match(new RegExp("\\{[\\w\\.\\(\\)\\[\\]]*\\}",'g'));if(!isNull(varList)){var field=$(varList[0].substring(1,varList[0].length-1));switch(field.type){case'checkbox':case'radio':case'text':case'textarea':case'password':case'hidden':case'select-one':returnString+='&'+key+'='+encodeURIComponent(field.value);break;case'select-multiple':var fieldValue=$F(varList[0].substring(1,varList[0].length-1));for(var i=0;i<fieldValue.length;i++){returnString+='&'+key+'='+encodeURIComponent(fieldValue[i]);}
break;default:returnString+='&'+key+'='+encodeURIComponent(field.innerHTML);break;}}else{returnString+='&'+key+'='+encodeURIComponent(val);}}}}
return returnString;},isHtmlResponse:function(){return this.htmlResponse;},removeUnwantedDataFromRequest:function(content){if(content.indexOf("mxajax****/")>=0)content=content.substring(content.indexOf("mxajax****/")+11);if(content.indexOf("/****mxajax")>=0)content=content.substring(0,content.indexOf("/****mxajax"));return content;}};mxAjax.CFQueryToJSKeyValueParser=Class.create();mxAjax.CFQueryToJSKeyValueParser.prototype={initialize:function(options){options=(options!=undefined)?options:{};this.type="CFQueryToJSKeyValueParser";this.setOptions(options);},setOptions:function(options){this.options=Object.extend({delimeter:options.delimeter?options.delimeter:",",callno:options.callno?options.callno:0,path:options.path?options.path:''},options||{});},parse:function(content){var myObject=JSON.parse(content);data=([content].grep(/"calls"/)=="")?myObject:myObject.calls[this.options.callno].data;if(this.options.path!="")data=eval("data"+this.options.path);var fields=myObject.COLUMNLIST.split(",");this.itemList=Array();for(var ctr=0;ctr<myObject.RECORDCOUNT;ctr++)
{this.itemList.push({key:myObject.DATA[fields[0]][ctr],value:myObject.DATA[fields[1]][ctr]});}
return myObject;}};mxAjax.CFArrayToJSKeyValueParser=Class.create();mxAjax.CFArrayToJSKeyValueParser.prototype={initialize:function(options){options=(options!=undefined)?options:{};this.type="CFArrayToJSKeyValue";this.setOptions(options);},setOptions:function(options){this.options=Object.extend({delimeter:options.delimeter?options.delimeter:",",callno:options.callno?options.callno:0,path:options.path?options.path:''},options||{});},parse:function(content){var myObject=JSON.parse(content);data=([content].grep(/"calls"/)=="")?myObject:myObject.calls[this.options.callno].data;if(this.options.path!="")data=eval("data"+this.options.path);this.itemList=data.collect(function(item){var id=item;var value=item;if(this.options.delimeter!=""){var list=item.split(this.options.delimeter);id=list[0];value=list[1];}
return{key:id,value:value};}.bind(this));return myObject;}};mxAjax.CFStructToJSKeyValueParser=Class.create();mxAjax.CFStructToJSKeyValueParser.prototype={initialize:function(options){options=(options!=undefined)?options:{};this.type="CFStructToJSKeyValueParser";this.setOptions(options);},setOptions:function(options){this.options=Object.extend({delimeter:options.delimeter?options.delimeter:",",callno:options.callno?options.callno:0,path:options.path?options.path:''},options||{});},parse:function(content){var myObject=JSON.parse(content);data=([content].grep(/"calls"/)=="")?myObject:myObject.calls[this.options.callno].data;this.itemList=Array();for(var prop in data){if(typeof data[prop]!="function")
this.itemList.push({key:prop,value:data[prop]});}
return myObject;}};mxAjax.CFArrayToJSArray=Class.create();mxAjax.CFArrayToJSArray.prototype={initialize:function(options){options=(options!=undefined)?options:{};this.type="CFArrayToJSArray";this.setOptions(options);},setOptions:function(options){this.options=Object.extend({delimeter:options.delimeter?options.delimeter:",",callno:options.callno?options.callno:0,path:options.path?options.path:''},options||{});},parse:function(content){var myObject=JSON.parse(content);data=([content].grep(/"calls"/)=="")?myObject:myObject.calls[this.options.callno].data;this.itemList=data;return myObject;}};mxAjax.ParseJson=Class.create();mxAjax.ParseJson.prototype={initialize:function(options){options=(options!=undefined)?options:{};this.type="ParseJson";this.setOptions(options);},setOptions:function(options){this.options=Object.extend({delimeter:options.delimeter?options.delimeter:",",callno:options.callno?options.callno:0,path:options.path?options.path:''},options||{});},parse:function(content){var myObject=JSON.parse(content);data=([content].grep(/"calls"/)=="")?myObject:myObject.calls[this.options.callno].data;if(this.options.path!="")data=eval("data"+this.options.path);this.itemList=data;return myObject;}};Object.dpDump=function(Ob,DevLabel,ShowFunctions,MaxRecurseLevel){if(typeof DevLabel!="string"||DevLabel==""){var DevLabel="Root Element";};if(typeof ShowFunctions!="boolean"){var ShowFunctions=false;};if(typeof MaxRecurseLevel!="number"){var MaxRecurseLevel=-1;};DPDumpWindow=window.open("","DPDumpWindow","scrollbars=yes,resizable=yes,width=500,height=400");var DPW=DPDumpWindow.document;if(DPW.getElementById("DPDump_Content")==null){DPW.write("<html><head>"," <title>dpDump Information</title>"," <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />"," <script type='text/javascript'>","  dpDumpInstances = 0;"," </script>","</head>","<frameset  rows='25,*'>","    <frame name='DPDump_Header' id='DPDump_Header' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' noresize>","    <frame name='DPDump_Content' id='DPDump_Content' marginwidth='0' marginheight='0' scrolling='auto' frameborder='0'>","</frameset>","</html>");DPW.close();DPDH=DPDumpWindow.DPDump_Header.document;DPDC=DPDumpWindow.DPDump_Content.document;DPDH.write("<html><head>"," <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />"," <style type='text/css' media='screen'>","  body, table, td {","   font-family: Verdana, Arial, sans-serif;","   font-size: 11pt;","   color: #28166f;","   background-color: #b8db7c;","   padding: 0px 0px 0px 0px;","   margin: 2px 2px 2px 2px;","   }","  A:LINK {","   color : #28166f;","   text-decoration : none;","   }","  A:VISITED {","   color : #28166f;","   text-decoration : none;","   }","  A:HOVER {","   text-decoration : underline;","   }","  #DumpHeader {","   width: 100%;","   vertical-align: top;","   padding: 0px;","   }","  #DumpTitle {","   font-size: 10pt;","   font-weight: bold;","   }","  #DumpTools {","   font-size: 10pt;","   font-weight: bold;","   text-align: right;","   padding: 0px 5px 0px 5px;","   }"," </style>","</head><body>","<table id='DumpHeader' cellspacing='0'>"," <tr><td id='DumpTitle'>dpDump by the <a href='http://www.depressedpress.com/' target='_blank'>DepressedPress</a></td>","  <td id='DumpTools'><a href='#' onclick='parent.DPDump_Content.document.getElementById(\"dpDumpDisplay\").innerHTML = \"\"; return false;'>Clear</a> | <a href='#' onclick='parent.close(); return false;'>Close</a></td>"," </tr>","</table>","</body></html>");DPDC.write("<html><head>"," <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />"," <script type='text/javascript'>"," function toggleObDisplay(ObLabelID, ObValueID) {","  var CurLabel = document.getElementById(ObLabelID);","  var CurValue = document.getElementById(ObValueID);","  if ( CurValue.style.display == \"none\" ) {","   CurValue.style.display = \"block\";","   CurLabel.style.fontStyle = \"normal\";","  } else {","   CurValue.style.display = \"none\";","   CurLabel.style.fontStyle = \"italic\";","  };"," };"," </script>"," <style type='text/css' media='screen'>","  body {","   font-family: Verdana, Arial, sans-serif;","   font-size: 11pt;","   background-color: white;","   padding: 0px 5px 0px 5px;","   margin: 0px 0px 0px 0px;","   }","  table.InstTable {","   width: 100%;","   vertical-align: top;","   padding: 0px;","   border: 0px;","   }","  td.InstHeader {","   padding: 1px 4px 1px 4px;","   background-color: blue;","   }","  td.InstLabel {","   font-size: 9pt;","   color: white;","   font-weight: bold;","   text-decoration: underline;","   cursor: pointer;","   }","  td.InstType {","   font-size: 7pt;","   color: white;","   text-align: right;","   }","  td.InstValue {","   }","  table.ObTable {","   width: 100%;","   vertical-align: top;","   padding: 0px;","   border: 2px blue solid;","   }","  td.ObHeader {","   padding: 1px 4px 1px 4px;","   background-color: #eeeeee;","   }","  td.ObLabel {","   font-size: 9pt;","   color: gray;","   font-weight: bold;","   text-decoration: underline;","   cursor: pointer;","   }","  td.ObType {","   font-size: 7pt;","   color: gray;","   text-align: right;","   }","  td.ObValue {","   padding: 4px 4px 4px 30px;","   }","  hr.ObSeparator {","   height: 2px;","   color: #b8db7c;","   background-color: #b8db7c;","   margin: 10px 10% 10px 10%;","   }"," </style>","</head><body>"," <div id='dpDumpDisplay'></div>","</body></html>");}else{DPDumpWindow.dpDumpInstances=DPDumpWindow.dpDumpInstances+1;};var EncodedChars=new Array();EncodedChars["&"]="&amp;";EncodedChars["<"]="&lt;";EncodedChars[">"]="&gt;";EncodedChars["\""]="&quot;";var ParsedObs=new Array();var InstID=DPDumpWindow.dpDumpInstances;var ObID=0;var ObRefID=0;DPDumpWindow.DPDump_Content.document.getElementById("dpDumpDisplay").innerHTML+=parseToHTML(Ob,DevLabel);return Ob;function escapeString(CurString){var CurRegEx;for(var CurChar in EncodedChars){if(typeof EncodedChars[CurChar]!="function"){;if(CurChar!="\\"){CurRegEx=new RegExp(CurChar,"g");}else{CurRegEx=/\\/g;};CurString=CurString.replace(CurRegEx,EncodedChars[CurChar]);};};return CurString;};function checkIfParsedOB(Ob){for(var Cnt=0;Cnt<ParsedObs.length;Cnt++){if(ParsedObs[Cnt]===Ob){return true;};};ParsedObs[ParsedObs.length]=Ob;return false;};function getObRefID(Ob){for(var Cnt=0;Cnt<ParsedObs.length;Cnt++){if(ParsedObs[Cnt]===Ob){return Cnt;};};return"";};function parseToHTML(Ob,ObLabel,RecurseLevel,ForceUnknown){if(typeof RecurseLevel!="number"){RecurseLevel=0;};if(typeof ForceUnknown!="boolean"){}
ForceUnknown=false;;ObID=ObID+1;var Results="";if(RecurseLevel==0){var StylePrefix="Inst";Results+="<table class='InstTable' cellspacing='0'>";}else{var StylePrefix="Ob";};if(ForceUnknown){var ObType="unknown";}else{var ObType=Object.dpGetType(Ob);};var ObLabelID="ObLabel_"+InstID+"_"+ObID;var ObValueID="ObValue_"+InstID+"_"+ObID;var ObIDLink="";var ObDisplayed=false;switch(ObType){case"object":case"array":if(checkIfParsedOB(Ob)){ObDisplayed=true;};var CurObRefID=getObRefID(Ob);if(ObDisplayed){if(navigator.appName=="Microsoft Internet Explorer"){ObIDLink=" <a href='#"+InstID+"_"+CurObRefID+"'>(id: "+CurObRefID+")</a>";}else{ObIDLink=" (id: "+CurObRefID+")";};}else{ObIDLink=" <a name='"+InstID+"_"+CurObRefID+"'>(id: "+CurObRefID+")</a>";};};Results+="<tr><td onclick='toggleObDisplay(\""+ObLabelID+"\", \""+ObValueID+"\");' id='"+ObLabelID+"' class='"+StylePrefix+"Header "+StylePrefix+"Label'>"+ObLabel+"</td><td class='"+StylePrefix+"Header "+StylePrefix+"Type'>"+ObType+ObIDLink+"</td></tr>";Results+="<tr><td colspan='2' class='"+StylePrefix+"Value'><div id='"+ObValueID+"'>";switch(ObType){case"object":case"array":if(ObDisplayed){Results+="<tt>( Previously Displayed )</tt>";}else if(RecurseLevel==MaxRecurseLevel){Results+="<tt>( Maximum Recursion Depth Reached )</tt>";}else{var ObEnumerable=true;try{for(var Prop in Ob){break;}}catch(CurError){ObEnumerable=false;};if(ObEnumerable){Results+="<table class='ObTable' cellspacing='0'>";for(var Prop in Ob){PropEnumerable=true;try{typeof Ob[Prop];Ob[Prop];}catch(CurError){PropEnumerable=false;Results+=parseToHTML(null,Prop,RecurseLevel+1,true);};if(PropEnumerable&&(typeof Ob[Prop]!="function"||ShowFunctions)&&(Ob[Prop]!=undefined)){Results+=parseToHTML(Ob[Prop],Prop,RecurseLevel+1);};};Results+="</table>";}else{Results+="<tt>( Object is not Enumerable )</tt>";};};break;case"function":Results+=escapeString(Ob.toString());break;case"null":Results+="<tt>( null )</tt>";break;case"date":Results+=Ob.toString();break;case"number":Results+=Ob.toString();break;case"string":if(Ob.length==0){Results+="<tt>( Empty String )</tt>";}else{Results+=escapeString(Ob);};break;case"boolean":Results+=Ob.toString();break;case"undefined":Results+="<tt>( Undefined Entity )</tt>";break;case"unknown":Results+="<tt>( Entity is not Enumerable )</tt>";break;};Results+="</div></td></tr>";if(RecurseLevel==0){Results+="</table><hr class='ObSeparator'>"};return Results;};};Object.dpGetType=function dpGetType(Ob){try{switch(typeof Ob){case"object":if(Ob==null){return"null";}else if(Ob.constructor==Date){return"date";}else if(Ob.constructor==Array){return"array";}else if(Ob.constructor==String){return"string";}else if(Ob.constructor==Number){return"number";}else if(Ob.constructor==Boolean){return"boolean";}else if(Ob==undefined){return"undefined";}else{return"object";};case"function":return"function";case"number":return"number";case"string":return"string";case"boolean":return"boolean";case"undefined":return"undefined";default:return"unknown";};}catch(CurError){return"unknown";};};Object.dpDebugInstances=function(Indicator){if(typeof Indicator!="boolean"){var Indicator=false;};if(Indicator==true){Object.prototype.dpDump=function(DevLabel,ShowFunctions){return Object.dpDump(this,DevLabel,ShowFunctions);}
Object.prototype.dpGetType=function(){return Object.dpGetType(this);}}else{Object.prototype.dpDump=undefined;Object.prototype.dpGetType=undefined;};};function getExpDate(days,hours,minutes){var expDate=new Date();if(typeof days=="number"&&typeof hours=="number"&&typeof hours=="number"){expDate.setDate(expDate.getDate()+parseInt(days));expDate.setHours(expDate.getHours()+parseInt(hours));expDate.setMinutes(expDate.getMinutes()+parseInt(minutes));return expDate.toGMTString();}}
function getCookieVal(offset){var endstr=document.cookie.indexOf(";",offset);if(endstr==-1){endstr=document.cookie.length;}
return unescape(document.cookie.substring(offset,endstr));}
function getCookie(name){var arg=name+"=";var alen=arg.length;var clen=document.cookie.length;var i=0;while(i<clen){var j=i+alen;if(document.cookie.substring(i,j)==arg){return getCookieVal(j);}
i=document.cookie.indexOf(" ",i)+1;if(i==0)break;}
return null;}
function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+
((expires)?"; expires="+expires:"")+
((path)?"; path="+path:"")+
((domain)?"; domain="+domain:"")+
((secure)?"; secure":"");}
function deleteCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+
((path)?"; path="+path:"")+
((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}}
mxAjax.Data=Class.create();mxAjax.Data.prototype={initialize:function(options){this.setOptions(options);this.setListeners();if(this.options.executeOnLoad==true){this.execute();}},setOptions:function(options){this.options=Object.extend({id:options.id?options.id:"",executeOnLoad:options.executeOnLoad?options.executeOnLoad:false,eventType:options.eventType?options.eventType:"click",handler:options.handler?options.handler:this.handler},options||{});},setListeners:function(){if(this.options.source!=undefined){Event.observe($(this.options.source),this.options.eventType,this.execute.bindAsEventListener(this),false);eval("$(this.options.source).on"+this.options.eventType+" = function(){return false;};");}},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction({id:this.options.id,source:this.options.source,target:null});var oParam=(this.options.paramArgs!=null)?this.options.paramArgs:this.options.paramFunction(this.options.id);var obj=this;var jsonObject="";var aj=new Ajax.Request(oParam.getUrl(),{asynchronous:true,method:oParam.getHttpMethod(),evalScripts:true,parameters:oParam.getUrlParam(),postBody:((oParam.getHttpMethod()=="post")?oParam.getPostData():''),onSuccess:function(request){var responseText=oParam.removeUnwantedDataFromRequest(request.responseText);jsonObject=JSON.parse(responseText);obj.options.handler(responseText,jsonObject,{id:obj.options.id,source:obj.options.source,target:null});},onFailure:function(request){if(obj.options.errorFunction!=null)
obj.options.errorFunction(request.responseText,{id:obj.options.id,object:"mxData"});else
mxAjax.onError(request.responseText,{id:obj.options.id,object:"mxData"});},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(oParam.removeUnwantedDataFromRequest(request.responseText),jsonObject,{id:obj.options.id,source:obj.options.source,target:null});}});},handler:function(response,json,options){}};function loadProductData(objectId,destination){var url='/ajax/functions.cfc';new mxAjax.Data({executeOnLoad:true,paramArgs:new mxAjax.Param(url,{param:"objectId="+objectId,cffunction:"getProductData"}),postFunction:handleData});function handleData(response){var myHTMLOutput=JSON.parse(response);document.getElementById(destination).innerHTML=myHTMLOutput;document.getElementById("lightBoxShoppingCartTxt").innerHTML=document.getElementById("shoppingCartTxt").innerHTML;}}