//Modified by / Date: //Description: //---------------------------------- //B.Lim - JUN-2006 //Class and utils created //uses validate.js //uses cookieUtil.js //uses cookieCtrUtil.js var CK_DOMAIN = 'redskins.com'; var CK_PATH = '/'; //Cookie names var CK_Z = 'z'; //old cookie var CK_R = 'r'; //old cookie var CK_TEST = 'test'; var CK_REG = 'redReg'; var CK_FANZONE = 'secFanzone'; var CK_GAMES = 'secGameday'; var CK_MEDIA = 'secMedia'; var CK_OLD_LIST = new Array(CK_R, CK_Z); var CK_ALL_LIST = new Array(CK_R, CK_Z, CK_REG, CK_FANZONE, CK_GAMES, CK_MEDIA); //Cookie life (millisec) var CKLF_FANZONE = TIME_HOUR * 24; var CKLF_GAMES = TIME_HOUR * 24; var CKLF_MEDIA = TIME_HOUR * 24; //Limits var LIM_FANZONE = 1; var LIM_GAMES = 1; var LIM_MEDIA = 1; //Pages var NORM_SITE = 'htt' + 'p://' + 'www.redskins.com'; var SEC_SITE = 'htt' + 'ps://' + 'secure.redskins.com'; var PLAYER_OF_THE_GAME_SITE = 'htt' + 'p://' + 'player.redskins.com'; var MAIN_PAGE = NORM_SITE + '/default.jsp'; var LOGIN_PAGE = NORM_SITE + '/register/default.jsp?prevPage='; var REG_PAGE = SEC_SITE + '/register/register.jsp?prevPage='; var PLAYER_OF_THE_GAME_PAGE = PLAYER_OF_THE_GAME_SITE + '/redskinsPlayer.epic?xid=10'; var COOKIE_REQ_PAGE = NORM_SITE + '/register/cookieRequired.jsp'; var COOKIE_REQ_PAGE_NO_PROTOCOL = '/register/cookieRequired.jsp'; //Hit ret val var HIT_OK = 1; var HIT_REDIR_REG = 2; var HIT_REDIR_MAIN = 3; var BT_KEY = 'R3d5k1n5Xx73@K3y'; function getName(oDocument) { var oCookie = new CookieHandler(CK_REG, CK_DOMAIN, CK_PATH, true, BT_KEY); if (oCookie.load(oDocument)) { return oCookie.getFieldValue('firstName'); } else { return null; } } function getChatGUID(oDocument) { var retVal = ''; var oCookie = new CookieHandler(CK_REG, CK_DOMAIN, CK_PATH, true, BT_KEY); if (oCookie.load(oDocument)) { var email = oCookie.getFieldValue('email'); if (email != null) { retVal = email; } } return retVal; } function getChatSuffix(oDocument) { //return Math.floor((Math.random()*1000) + 1); var oCookie = new CookieHandler(CK_REG, CK_DOMAIN, CK_PATH, true, BT_KEY); var retVal = ''; if (oCookie.load(oDocument)) { var email = oCookie.getFieldValue('email'); retVal = hashToMD5Hex(email); retVal = retVal.substring(0, 5); if (retVal.length < 1) { retVal = 0; } } return retVal; } function getChatName(oDocument, suffix) { var oCookie = new CookieHandler(CK_REG, CK_DOMAIN, CK_PATH, true, BT_KEY); var retVal = ''; if (oCookie.load(oDocument)) { var sFName = oCookie.getFieldValue('firstName'); var sLName = oCookie.getFieldValue('lastName'); retVal = sFName + sLName.substring(0, 2) + suffix; } return retVal; } function gotoRegister(oWin, sPrevPage) { if (!sPrevPage) { sPrevPage = oWin.location; } gotoPage(oWin, REG_PAGE, sPrevPage, MAIN_PAGE); } function gotoLogin(oWin, sPrevPage) { if (!sPrevPage) { sPrevPage = oWin.location; } gotoPage(oWin, LOGIN_PAGE, sPrevPage, MAIN_PAGE); } function gotoPlayerOfTheGame(oWin, sPrevPage) { if (!sPrevPage) { sPrevPage = oWin.location; } gotoPage(oWin, PLAYER_OF_THE_GAME_PAGE, sPrevPage, MAIN_PAGE); } function gotoPage(oWin, sPage, sPrevPage, sDefaultPage) { if ((sPrevPage == null) || (sPrevPage == '')) { sPrevPage = sDefaultPage; } try { oWin.location.href = sPage + escape(sPrevPage); } catch(e) { //alert(e); } } function logout(oWin) { var oCookie = new CookieHandler(CK_REG, CK_DOMAIN, CK_PATH, false, ''); oCookie.setExpired(); redirMain(oWin, ''); } function checkCookie() { var cookieEnabled=(navigator.cookieEnabled)? true : false; //if not IE4+ nor NS6+ if ((typeof navigator.cookieEnabled=='undefined') && (!cookieEnabled)) { document.cookie='testRSCKavail'; cookieEnabled=(document.cookie.indexOf('testRSCKavail')!=-1)? true : false; } if (!cookieEnabled) { var currURL = '' + window.top.location.href; if (currURL.indexOf(COOKIE_REQ_PAGE_NO_PROTOCOL) < 0) { redirReqCk(window.top, ''); } } } function checkLogin(oDocument) { var oCookie = new CookieHandler(CK_REG, CK_DOMAIN, CK_PATH, true, BT_KEY); return oCookie.load(oDocument); } function checkOldSiteCookieExists(oDocument) { var bFound = false; for (var i=0; (i -1) { checkDone = true; if (!checkOldSiteCookieExists(oDoc)) { if (bIsPopUp) { redirLogin(oWin.opener.top, sRedirURL); oWin.close(); } else { redirLogin(oWin.top, sRedirURL); } } else { //placeholder } } } if (!checkDone) { if (!checkAnySiteCookieExists(oDoc)) { //placeholder } else { if (bIsPopUp) { //redirMain(oWin.opener.top, ''); redirLogin(oWin.opener.top, sRedirURL); oWin.close(); } else { //redirMain(oWin.top, ''); redirLogin(oWin.top, sRedirURL); } } } } function hitSect(sSectName, iSectLim, iSectCKLife, oDocument) { var bRetVal = true; var oCookie = new CookieCounterHandler(sSectName, CK_DOMAIN, CK_PATH, true, BT_KEY); var bCookieFound = oCookie.load(oDocument); oCookie.incCount(); if (!checkLogin(oDocument)) { if (bCookieFound) { if (oCookie.getCount() > iSectLim) { bRetVal = false; } } else { oCookie.setExpDateToNow(); oCookie.addExpDateTime(iSectCKLife); } } oCookie.save(); return bRetVal; } function redirReqCk(oWin, sRedirURL) { redirPage(oWin, COOKIE_REQ_PAGE, sRedirURL); } function redirMain(oWin, sRedirURL) { redirPage(oWin, MAIN_PAGE, sRedirURL); } function redirLogin(oWin, sRedirURL) { redirPage(oWin, LOGIN_PAGE, sRedirURL); } function redirReg(oWin, sRedirURL) { redirPage(oWin, REG_PAGE, sRedirURL); } function redirPage(oWin, sPage, sRedirURL) { var sNewURL = sPage; if ((sRedirURL != null) && (sRedirURL != '')) { sNewURL = sPage + escape(sRedirURL); } if (oWin) { if (oWin.stop) { oWin.stop(); } var oDoc = oWin.document; if (oDoc) { if (oDoc.execCommand) { try { oDoc.execCommand('Stop'); } catch (e) { //placeholder } } oDoc.location.href = sNewURL; } else { oWin.top.location.href = sNewURL; } } else { window.top.location.href = sNewURL; } } function hitMedia() { var stopType = ''; var args = hitMedia.arguments; if (args.length > 0) { stopType = args[0]; } var currLoc = window.location; if(!hitSect(CK_MEDIA, LIM_MEDIA, CKLF_MEDIA, window.document)) { if (stopType == 'setFlashVar') { if (window.document.skins_MC) { window.document.skins_MC.SetVariable('stopStream', 'Y'); } } else if (stopType == 'setFlashVarHP') { window.document.flvPlayer.SetVariable('stopStream', 'Y'); } var startDate = new Date(); do { var currDate = new Date(); } while(currDate - startDate < 250); redirLogin(window, currLoc); } } function hitPhotoGal() { var currLoc = window.location; if(!hitSect(CK_MEDIA, LIM_MEDIA, CKLF_MEDIA, window.document)) { redirLogin(window.opener.top, currLoc); } } function hitGenPage(sSectName) { if (sSectName == CK_GAMES) { } else if (sSectName == CK_FANZONE) { } else if (sSectName == CK_MEDIA) { hitMedia(); } }