var M_IN_STOCK = "IN_STOCK"; var M_IN_STOCK_RETAIL = "IN_STOCK_RETAIL"; var M_BACKORDERED = "BACKORDERED"; var M_RE_ORDERED = "RE_ORDERED"; var M_OUT_OF_STOCK = "OUT_OF_STOCK"; var M_FORWARD_STOCK_JAPAN = "FORWARD_STOCK_JAPAN"; var M_iMouseX = 0; var M_iMouseY = 0; var M_strGFileName = "Global.js"; var M_bIsDropdownHidden = false; var M_bMenuItemShow = false; var BrowserInfo = new BrowserDetect2(); var M_oPToPWin = null; var M_bSessionLoaded = false; var M_bIsPToP = false; function checkNonce(idtoset) { try { if( M_bSessionLoaded ) { var ifrSessInfo = window.frames["ifrSessInfo"]; if ( ifrSessInfo != null ) { var hccq = ifrSessInfo.document.getElementsByName("noncevalue")[0]; if(hccq != null) {$(idtoset).value = hccq.value; } } } else { checkNonce(); } } catch(e) { HandleError( "checkNonce", e, M_strGFileName ); } } function TrackFlashAltPrdView(altviewdesc,altviewproduct) { try { if(typeof(s_account) == 'undefined') return; var s=s_gi(s_account); s.linkTrackVars='eVar9,eVar10,events'; s.linkTrackEvents='event11'; s.eVar9=altviewdesc; s.eVar10=altviewproduct; s.events='event11'; s.tl(true,'o','Flash Alternate Product View'); } catch( e ) { HandleError( "TrackFlashAltPrdView", e, M_strGFileName ); } } function DisplayPopUp( strLayer, bShow ) { try { Element.setStyle(strLayer, {visibility: ( bShow ? "visible" : "hidden" )}); } catch( e ) { HandleError( "DisplayPopUp", e, M_strGFileName ); } } function IsEmpty( strVal ) { try { return ( strVal == null || strVal == "undefined" || strVal.strip() == ""); } catch( e ) { HandleError( "IsEmpty", e, M_strGFileName ); } } function HandleError( strFunction, err, strFile ) { try { alert( "Sorry, we're having a problem. Please try refreshing your browser as this issue may be temporary.\n\nDetails: \nFile Name: " + strFile + "\nFunction Name: " + strFunction + "\nMessage: " + err + ", " + err.description); } catch( e ) { alert( "Sorry, we're having a problem. Please try refreshing your browser as this issue may be temporary.\n\nDetails: \nFile Name: " + strFile + "\nFunction Name: " + strFunction + "\nMessage: " + err + ", " + err.description); } } function popUp( strURL, strWindowName, strFeatures ){ try { popUpRef( strURL, strWindowName, strFeatures ); } // End try catch( e ) { HandleError( "popUp", e, M_strGFileName ); } } function popUpRef( strURL, strWindowName, strFeatures ){ try { new_window = window.open( strURL, strWindowName, strFeatures ); new_window.focus(); return new_window; } // End try catch( e ) { HandleError( "popUpRef", e, M_strGFileName ); } } function popUpIntl( strURL, strWindowName, strFeatures ){ try { popUpRef( "/us/" + strURL, strWindowName, strFeatures ); } // End try catch( e ) { HandleError( "popUp", e, M_strGFileName ); } } function autoNext( objStartTxtBox, objNextTxtBox ){ try { if( objStartTxtBox != null ) { if ( objStartTxtBox.value.length == objStartTxtBox.getAttribute("maxlength") ) { objNextTxtBox.focus(); } // End length check } // End if not null } // End try catch( e ) { HandleError( "autoNext", e, M_strGFileName ); } } function SelectDD(id,val) { try { var ostate = $(id).options; var sln = ostate.length; for (i = 0; i< sln; i++) { if (ostate[i].value == val) { ostate[i].selected = true; break; } } } catch(e) { HandleError( "SelectDD", e, M_strGFileName ); } } function HideDropdowns() { try { var objSelects = document.getElementsByTagName( "select" ); var nodes = $A(objSelects); nodes.each( function(node) { ShowObject( node, false );} ); M_bIsDropdownHidden = true; } catch( e ) { HandleError( "HideDropdowns", e, M_strGFileName ); } } function ShowDropdowns() { try { var objSelects = document.getElementsByTagName( "select" ); var nodes = $A(objSelects); nodes.each( function(node) { ShowObject( node, true );} ); M_bIsDropdownHidden = false; } catch( e ) { HandleError( "ShowDropdowns", e, M_strGFileName ); } } function OpenSlideshowL(id) { try { popUp('/us' + '/popup/media_gallery_photo_b.jsp?OPTION=SAR&assetid=' + id,'win','width=760,height=830,scrollbars=yes,resizable=yes'); } catch(e) { HandleError( "OpenSlideshowL", e, M_strGFileName ); } } function ValidateEmailSignUpFooter() { try { return ValidateEmailSignUp("emailForm"); } catch( e ) { HandleError( "ValidateSignUp", e, M_strGFileName ); } } function ValidateEmailSignUp(frm) { var bIsValid = false; try { var oFrm = $(frm); if(oFrm != null) { var oEmail = oFrm.getElementsByTagName("input")[0]; if(oEmail != null) { bIsValid = ValidateEmail($F(oEmail)); if( !bIsValid ) { alert("Invalid email address. Must be of the form: 'name@something.xyz'"); } // end if not valid } // oemail != null } // end if ofrm != null } catch( e ) { HandleError( "ValidateSignUp", e, M_strGFileName ); } return bIsValid; } function ValidateEmail( strVal ) { var bIsValid = false; try { var emailRegex = new RegExp(/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/); bIsValid = emailRegex.test(TrimWhitespace(strVal)); } catch( e ) { HandleError( "ValidateEmail", e, M_strGFileName ); } return bIsValid; } function ShowObject( layer, bIsVisible ) { try { Element.setStyle(layer, {visibility: ( bIsVisible ? "visible" : "hidden" )}); } catch( e ) { HandleError( "ShowLayer", e, M_strGFileName ); } } Event.observe(document, 'mousemove', GetMousePosition); function GetMousePosition( e ) { try { M_iMouseX = Event.pointerX(e); M_iMouseY = Event.pointerY(e); } catch( er ) {} } function SetTimeout( strCodeToRun, flTimeInSeconds ) { try { var flLimit = parseFloat( flTimeInSeconds ) * 1000; setTimeout( strCodeToRun, flLimit ); } catch( e ) { HandleError( "SetTimeout", e, M_strGFileName ); } } function WirePopups(arPopupLinks) { try { $A(arPopupLinks).each( function(arr) { var alinks = $A(document.getElementsByClassName(arr[0])); if(alinks != null) { alinks.each(function(alink) { alink.onclick = function () { popUp(alink.href, arr[1], arr[2]); return false; }; }); // end each loop } //end !=null }); } catch( e ) { HandleError( "WirePopups", e, M_strFileName ); } } function BrowserDetect2() { var _strFrameName = "ifrHolsterInfo"; var _objIE = new BrowserProperty( "hdnIsIE", _strFrameName ); var _objFF = new BrowserProperty( "hdnIsFF", _strFrameName ); var _objSafari = new BrowserProperty( "hdnIsSafari", _strFrameName ); var _objShowPFW = new BrowserProperty( "hdnShowPFW", _strFrameName ); var _bOverrideShowPFW = false; var _bShowPfwOverride = false; this.isIE = function() { return _objIE.isOfType(); } this.isFF = function() { return _objFF.isOfType(); } this.isSafari = function() { return _objSafari.isOfType(); } this.showPFW = function() { if( _bOverrideShowPFW ) { return _bShowPfwOverride; } else { return _objShowPFW.isOfType(); } } this.setOverridePFW = function( bVal ) { _bOverrideShowPFW = bVal; } this.setShowPFWOverride = function( bVal ) { _bShowPfwOverride = bVal; } } function TrimWhitespace( strInput ) { var strReturn; try { if( strInput != null && strInput != ""){ strReturn = strInput.toString().replace(/^\s+/g, '').replace(/\s+$/g, ''); } else { strReturn = strInput; } } catch( e ) { HandleError( "TrimWhitespace", e, M_strGFileName ); } return strReturn; } function BrowserProperty( strField, strFrame ) { var _bIsSet = false; var _bIsType = false; var _strFieldName = strField; var _strFrameName = strFrame; this.isOfType = function() { try { _bIsType = this.getHiddenBrowserVal(); return _bIsType; } catch(e) { return false; } } this.getHiddenBrowserVal = function() { var bReturnVal = false; var ifrHolsterInfo = window.frames[_strFrameName]; if ( ifrHolsterInfo != null ) { if( ifrHolsterInfo.document.getElementById( _strFieldName ) ) { bReturnVal = Boolean( parseInt( ifrHolsterInfo.document.getElementById( _strFieldName ).value ) ); _bIsSet = true; } else { bReturnVal = false; } } return bReturnVal; } } function recref(cname) { var v; try { var v = Cookie.get(cname); Cookie.erase(cname); } catch(e) { HandleError( "recref", e, M_strGFileName ); } finally { return v; } } function GetSessionId() { var sid = ""; try { var cookiesid = Cookie.get("ts"); if(IsEmpty(cookiesid)) { var cd = new Date(); sid = cd.getTime(); Cookie.set("ts",sid); } else { sid = cookiesid; } } catch(e) {} finally { return sid; } } function GetUserId() { var uid = ""; try { var cookieuid = Cookie.get("uid"); if(!IsEmpty(cookieuid)) { uid = cookieuid; } } catch(e) {} finally { return uid; } } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i 0){ el.previous('label').hide(); } else { el.previous('label').show(); } }, //Shows the placeholder label on blur of there is not a value blur: function(el){ var inputVal = el.value; if(inputVal.length == 0) { el.previous('label').show(); } }, //Hides the placeholder label if there is a value on page load pageLoad: function(){ $$('.placeholder input[type=text],.placeholder input[type=password]').each(function(el){ // check for text var inputVal = el.value; if(inputVal.length > 0 && inputVal != ''){ el.previous('label').hide(); } // add events Event.observe(el, 'blur', function () {placeHolder.blur(this);}); Event.observe(el, 'keydown', function () {placeHolder.keydown(this);}); Event.observe(el, 'keyup', function () {placeHolder.keyup(this);}); Event.observe(el, 'change', function () {placeHolder.keyup(this);}); }); } } var validateForm = { msg : { /*example messaging email: "Please enter a valid email address.", */ username: 'Please enter your User Name', password: 'Please enter your Password', email: 'Email address is required.', emailinvalid: 'Invalid email address. Must be of the form: \'name@something.xyz\'', required: 'This is a required field' }, //checks to see if validation conditions are met and hides the errors keyUp: function(el){ $(el).observe('keyup', function(){ if(el.value != ''){ var labelError = $(el).up().previous(); if(labelError && labelError.hasClassName('error')) { labelError.remove(); el.removeClassName('error'); } } }); }, //shows the error message errorMsg: function(id,msg){ $(id).addClassName('error'); if(!$('errorlabel' + id)){ $(id).up().insert({'before': ''}); } }, //regex to validate email email: function(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; //" return email.match(re); } }