Warning: mysql_close(): no MySQL-Link resource supplied in /mnt/emc/data/alime.net/js/alime_biztalk.php on line 3 if( yjGetCookie("alime_popup101") ) { } else { yjSetCookie( "alime_popup101", "101", "", "/" ); window.open("http://crs1.alime.net/popup/popup4.php?aid=hanmigagu&pid=101&flag=0","popup0","scrollbars=no,width=400,height=436,left=0,top=0"); } document.write(""); var ID_ORDER = "dubuOrderProduct"; var ID_VIEW = "dubuViewProduct"; var KEY_ADS = "dubuAds"; var MODE_SWITCH = 1; // Mode for order product :1 = keep value of para, 2 = parse value of para function getCookie(name) { var start = document.cookie.indexOf(name + "="); var len = start + name.length + 1; if ((!start) && (name != document.cookie.substring(0, name.length))) { return null; } if (start == -1) { return null; } var end = document.cookie.indexOf(";", len); if (end == -1) { end = document.cookie.length; } return unescape(document.cookie.substring(len, end)); } function setCookie(name, value, expires, path, domain, secure) { var cookieString = name + "=" + escape(value) + ( (expires) ? ";expires=" + expires : "") + ( (path) ? ";path=" + path : "") + ( (domain) ? ";domain=" + domain : "") + ( (secure) ? ";secure" : ""); document.cookie = cookieString; } 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"; } } 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 supportCookies() { return navigator.cookieEnabled; } function getVId() { if (!supportCookies()) { return -1; } var vId = getCookie('lavid'); if (!vId) { // Set the expiration period for the cookies (visitor) var expireDate = getExpDate(365*20, 0, 0); var value = Math.random(); setCookie('lavid', value, expireDate); return value; } else { return vId; } } function getSId() { if (!supportCookies()) { return -1; } var sId = getCookie('lasid'); if (!sId) { var value = Math.random(); setCookie('lasid', value); return value; } else { return sId; } } var isCrossDomain = false; function getRefUrl() { var isSameDomain = true; // in frame structure and same domain or not in frame structure try { typeof(top.document.URL); } catch(e) { //check if e ~ access denied //frame and diffenrent domain isSameDomain = false; } if (isSameDomain == true) { //in frame structure and same domain or not in frame structure if (top.document.URL == self.document.referrer) { //frame return top.document.referrer; } else { // not frame or in frame but link direct to it return document.referrer; } } else { //frame and diffenrent domain isCrossDomain = true; if (typeof getRef != "function") { //proxy_observer.js is not available return ""; //invalid result (technical restriction) } else { //proxy_observer.js is available if (getRef() == "") { return document.referrer; } var pageIndex = getRef().indexOf("&dubuPage="); return getRef().substring(9, pageIndex); } } } /** * get domain from url */ function extractDomain(url) { if (url == null) return ""; var nDomPos = url.indexOf('//'); var page = url; if (nDomPos > 0) { page = url.substring(nDomPos + 2); } var endPos = page.indexOf("/"); var domain = page; if (endPos > 0) { domain = page.substring(0, endPos); } return domain; } function getPageUrl() { var page = document.URL; var indexRef = page.indexOf("#dubuRef="); // process in cross domain, split from #dubu= string if (indexRef > 0) { page = page.substring(0, indexRef); } return page; } /** function getDomainName() { var domain = document.domain; if (!domain) return ""; else return domain; } */ function getInfo() { var resultVal = ""; var visitorId = ""; var sessionId = ""; var osId = ""; var browserId = ""; var displayId = ""; var langId = ""; // GET VID try { visitorId = getVId(); } catch (e) { } // GET SID try { sessionId = getSId(); } catch (e) { } // OS try { osId = getOS(); } catch (e) { } // Browser try { browserId = getBrowser(); // appname } catch (e) { } // Display try { displayId = screen.width + "x" + screen.height; } catch (e) { } // Lang try { if (navigator.appName == 'Netscape') { langId = navigator.language; } else { langId = navigator.browserLanguage; } } catch (e) { } resultVal = visitorId + "," + sessionId + "," + osId + "," + browserId + "," + displayId + "," + langId; return resultVal; } var key ; function setKey(value) { key = value; } function getCusId() { if (key == null || key == 'undefined') { return null; // for test } else { return key; } } // Get the version number function navig_extVer(txt) { if (!txt) return ""; var ver = ""; for(var i = 0; i < txt.length; i++) { if ((isNaN(txt.charAt(i))) && (txt.charAt(i) != '.')) { if (ver.length > 0) return (ver); } else { ver += txt.charAt(i); } } return ver; } function formatVersion(rv) { var index = rv.indexOf('.'); rv = (index != -1) ? rv.substring(0, index + 2) : rv + '.0'; return rv; } function getBrowser() { var appname = navigator.appName; var useragent = navigator.userAgent; var appversion = navigator.appVersion; var browString = ''; var browVersion = 0; var p1 = 0; var p2 = 0; var p3 = 0; var p4 = 0; var p5 = 0; var p6 = 0; var p7 = 0; var pg = 0; var s1 = ''; var n = 0; // Get IE if (navigator.appName == 'Microsoft Internet Explorer') { var rv = -1; var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); var index; if (re.exec(ua) != null) { rv = parseFloat( RegExp.$1 ); rv = rv.toString(); return 'Internet Explorer ' + formatVersion(rv); } } var navig_agt = navigator.userAgent.toLowerCase(); var navig_fox = (navig_agt.indexOf('firefox') != -1); // Get FF if (navig_fox) { var tmp = navig_agt.indexOf('firefox/'); return "Firefox " + formatVersion(navig_extVer(navig_agt.substring(tmp + 8))); } // IE if (appname.indexOf('Internet Explorer') != -1) { p1 = appversion.indexOf('MSIE') + 5; s1 = appversion.substring(p1, p1 + 8); p2 = s1.indexOf(';'); if (p2 > 0) browString = ' ' + s1.substring(0, p2); if (appname.indexOf('Microsoft Internet Explorer') != -1) appname = 'Internet Explorer'; // Look for AOL browser (IE compatible) p3 = useragent.indexOf('America Online Browser'); if (p3 != -1) { s1 = useragent.substring(p3, p3 + 30); p4 = s1.indexOf(';'); appname = 'AOL Explorer'; } // Look for AOL Explorer browser (IE compatible) p7 = useragent.indexOf('AOL Explorer'); if (p7 != -1) { s1 = useragent.substring(p7, p7 + 30); p8 = s1.indexOf(';'); appname = s1.substring(0, p8); } // Look for Netscape } else if (appname == 'Netscape') { p1 = appversion.indexOf('[') - 1; if (p1 < 0) {p1 = appversion.indexOf('(') - 1;} if (p1 > 0) {browString = ' ' + appversion.substring(0,p1);} // Look for Netscape 6 and greater p2 = useragent.indexOf('Netscape'); if (p2 != -1) { s1 = useragent.substring(p2, p2 + 15); p1 = s1.indexOf('/'); p3 = s1.indexOf(' '); if (p3 > 0) { browString = ' ' + s1.substring(p1 + 1, p3); } else if (p1 > 0) { browString = ' ' + s1.substring(p1 + 1, p1 + 6); } } else { p2 = useragent.indexOf('Navigator'); if (p2 != -1) { browString = ' ' + useragent.substring(p2, p2 + 15); } } // Look for Opera } else if (appname == 'Opera') { p1 = useragent.indexOf('Opera') + 6; if (p1 != 6) { p2 = useragent.indexOf('[') + 1; if (p2 == 0) {p2 = p1 + 8;} s1 = useragent.substring(p1,p2); browString = ' ' + s1; p2 = s1.indexOf('['); if (p2 > 0) {browString = ' ' + s1.substring(0, p2 - 2);} p2 = browString.indexOf('\('); if (p2 > 0) {browString = browString.substring(0, p2 - 1);} } else { p2 = useragent.indexOf('('); browString = ' ' + useragent.substring(6, p2 - 1); } } if (browString == '') {browString = ' ' + appversion;} browVersion = parseFloat(browString.substring(1, browString.length)); // Look for Mozilla, Firefox, and variants (Netscape 5) if (appname == 'Netscape' && browVersion >= 5) { appname = 'Mozilla'; pg = useragent.indexOf('Gecko/'); p4 = -1; p6 = useragent.indexOf('Firefox'); if (p6 == -1) {p6 = useragent.indexOf('SeaMonkey');} if (p6 != -1) { appname = useragent.substring(p6, p6 + 20); p4 = 0; p5 = 100; } else if (useragent.indexOf('Fedora') == -1) { if (pg != -1) { if (useragent.charCodeAt(pg + 15) > 32) { appname = useragent.substring(pg + 15, pg + 35); p4 = pg + 15; p5 = 100; } } } // Mozilla revision number (rv:) p1 = useragent.indexOf('rv:'); if (p1 != -1 && appname.indexOf('Firefox') == -1) { p1 = p1 + 3; p2 = useragent.indexOf(')'); if (p4 != -1) { browString = ' ' + useragent.substring(p5, p5 + 10); } else if (browVersion < 6) { if (p2 > p1) { browString = ' ' + useragent.substring(p1, p2); p3 = browString.indexOf(';'); if (p3 != -1) {browString = browString.substring(0, p3);} } else { browString = ''; } } } else { browString = ''; } } // Look for Safari (Mac) p1 = useragent.indexOf('Safari'); if (p1 != -1) { appname = 'Safari'; p2 = useragent.indexOf('Version'); if (p2 != -1) { p3 = useragent.substring(p2, p2 + 20).indexOf(' '); browString = ' ' + useragent.substring(p2 + 8, p2 + p3); } } // Look for Konqueror (Linux) p1 = useragent.indexOf('Konqueror'); if (p1 != -1) {appname = 'Konqueror';} // Look for Galeon (Linux) p1 = useragent.indexOf('Galeon'); if (p1 != -1) {appname = 'Galeon';} // Look for WebTV p1 = useragent.indexOf('WebTV'); if (p1 != -1) {appname = 'WebTV';} // Report web browser version var mozhelp = 0; var currBrowser = appname; if (appname.indexOf('Internet Explorer') != -1) { currBrowser = appname + browString; if (currBrowser.indexOf('Microsoft Internet Explorer') != -1) { n = currBrowser.indexOf('Internet Explorer'); if (n != -1) { currBrowser = currBrowser.substring(n, currBrowser.length); } } } else if (appname.indexOf('Firefox') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('SeaMonkey') != -1) { currBrowser = appname; } else if (appname.indexOf('Opera') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('Safari') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('Camino') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('Konqueror') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('Galeon') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('WebTV') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('K-Meleon') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('Epiphany') != -1) { currBrowser = appname; } else if (appname.indexOf('AOL Explorer') != -1) { currBrowser = appname; } else if (useragent.indexOf('Flock') != -1) { currBrowser = "Flock"; } else if (appname.indexOf('Netscape') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('Mozilla') != -1) { currBrowser = appname + browString; } else if (appname.indexOf('GranParadiso') != -1) { // 4 GranParadiso/3.0.2 currBrowser = appname + browString; n = currBrowser.indexOf(' '); if (n != -1) { currBrowser = currBrowser.substring(n + 1, currBrowser.length); } } else if (appname.indexOf('Iceweasel') != -1) { // 8 Iceweasel/3.0.1 (D currBrowser = appname + browString; n = currBrowser.indexOf(' '); if (n != -1) { currBrowser = currBrowser.substring(n + 1, currBrowser.length); } } else if (appname.indexOf('Shiretoko') != -1) { // 0 Shiretoko/3.1a1 currBrowser = appname + browString; n = currBrowser.indexOf(' '); if (n != -1) { currBrowser = currBrowser.substring(n + 1, currBrowser.length); } } else if (appname.indexOf('Minefield') != -1) { // 64214 Minefield/3.1a currBrowser = appname + browString; n = currBrowser.indexOf(' '); if (n != -1) { currBrowser = currBrowser.substring(n + 1, currBrowser.length); } } else { currBrowser = appname; } n = currBrowser.indexOf('/'); if (n != -1) { currBrowser = currBrowser.replace('/', ' '); } var rv = currBrowser.split("."); if (rv[1] != null) currBrowser = rv[0] + "." + rv[1].substring(0, 1); var searchStr = ";"; var replaceStr = "."; var re = new RegExp(searchStr , "g"); return currBrowser.replace(re, replaceStr); } function getOS() { var info = navigator.userAgent; var currOS = ''; var n = info.length; var p1 = 0; if (info.indexOf('(Windows') != -1) { p1 = info.indexOf(';') + 4; info = info.substring(p1, n); p1 = info.indexOf(';'); currOS = info.substring(1, p1); } else if (info.indexOf('(X11') != -1) { if (info.indexOf('U;') != -1) { p1 = info.indexOf('('); info = info.substring(p1, n); n = info.length; if (info.indexOf('U;)') != -1) { p1 = info.indexOf(';') + 1; info = info.substring(p1, n); currOS = info.substring(1, info.indexOf(';')); } else { p1 = info.indexOf(';') + 4; currOS = info.substring(p1, n - 1); } } else { n = info.length; p1 = info.indexOf(';') + 1; p2 = info.indexOf(')'); currOS = info.substring(p1, p2); } } else if (info.indexOf('(Macintosh') != -1) { p1 = info.indexOf(';') + 4; info = info.substring(p1, n); p1 = info.indexOf(';'); currOS = info.substring(1, p1); } else if (info.indexOf('(IRIX') != -1) { currOS = 'Irix'; } else if (info.indexOf('OS/2') != -1) { p1 = info.indexOf(';') + 4; info = info.substring(p1, n); currOS = info.substring(0, info.indexOf(';')); } else if (info.indexOf('(compatible') != -1) { if (info.indexOf('WebTV') != -1) currOS = 'Unknown OS'; else if (info.indexOf('America Online Browser') != -1) { do { p1 = info.indexOf(';') + 1; if (p1 != 0){ info = info.substring(p1, n); } } while(p1 != 0) currOS = info.substring(1, info.indexOf(')')); } else { if (info.indexOf('Windows') != -1) { p1 = info.indexOf(';') + 1; info = info.substring(p1, n); p1 = info.indexOf(';'); if (p1 != -1){ info = info.substring(p1 + 1, info.length); p1 = info.indexOf(';'); if (p1 == -1){ p1 = info.indexOf(')'); } currOS = info.substring(1, p1); } } else { currOS = 'Unknown OS'; } } } else { currOS = 'Unknown OS'; } if (currOS == 'Windows NT 5.1') currOS = 'Windows XP'; else if (currOS == 'Windows NT 6.0') currOS = 'Windows Vista'; else if (currOS == 'Windows NT 5.0') currOS = 'Windows 2000'; else if(currOS = 'Windows NT 5.2') currOS = 'Windows .NET Server'; if (currOS == '') { if (navigator.platform.indexOf('Win32') != -1) currOS = 'Win32'; else if (navigator.platform.indexOf('Linux') != -1) currOS = 'Linux'; else if (navigator.useragent.indexOf('Mac os X') != -1) currOS = 'Mac os X'; else if (navigator.useragent.indexOf('MSIE 5.2') != -1) currOS = 'Mac os X'; else if (navigator.platform.indexOf('Mac') != -1) currOS = 'Mac'; else currOS = 'UnKnown OS'; } // We disable these code to support map OS string to number. var searchStr = ";"; var replaceStr = "."; var re = new RegExp(searchStr , "g"); return currOS.replace(re, replaceStr); } /** * Get list product that user order of one page of customer */ function getOrderProduct() { var orderElement = document.getElementById(ID_ORDER); // Get from hidden field if (orderElement) { return encodeURIComponent(orderElement.value); } // Nothing return null; } /** * Get list product that user order of one page of customer */ function getViewProduct() { var viewElement = document.getElementById(ID_VIEW); // Get from hidden field if (viewElement) { return encodeURIComponent(viewElement.value); } // Nothing return null; } /** * Get adsvertisement indentify */ function getAdsPara() { var adsElement; var url; var paraStr; if ((typeof(isCrossDomain) == "undefined") || (isCrossDomain == false)) { //in frame structure and same domain or not in frame structure if (top.document.URL == self.document.referrer) { // If frame included this page, find KEY_ADS at top url url = top.document.URL; } else { // If page only be called directly, page url already include KEY_ADS para in its params url = document.URL; return null; } } else { //frame and diffenrent domain if (typeof getRef != "function") { //proxy_observer.js is not available return null; //invalid result (technical restriction) } else { //proxy_observer.js is available if (getRef() == "") { url = document.referrer; } var pageIndex = getRef().indexOf("&dubuPage="); url = getRef().substring(pageIndex, getRef().length); } } var nDomPos = url.indexOf('//'); var nPathPos = url.indexOf('/', nDomPos + 2); var nParaPos = url.indexOf('?', nPathPos); if (nParaPos != -1) { paraStr = url.substring(nParaPos + 1); } else { paraStr = ""; } var paraCom = paraStr.split("&"); for (var i = 0; i < paraCom.length; i++) { var pos = paraCom[i].indexOf('='); if (pos > 0) { var keyword = paraCom[i].substring(0, pos); if (keyword == KEY_ADS) { adsElement = paraCom[i]; return adsElement; } } } // nothing return null; } var rad ; function setRandom(value) { rad = value; } function getCusRandom() { if (rad == null || rad == 'undefined') { return "0.000123456789"; // For test } else { return rad; } } function getJSRandom() { return Math.random(); } function getClientRawInfo() { return null; } var TYPE_ENTER = 0; var TYPE_LINK = 1; var TYPE_BACK = 2; var TYPE_FORWARD = 3; var TYPE_REFRESH = 4; var TYPE_CLIENT = 5; var TYPE_EXTERNAL = 6; var REF_ISEMPTY = "empty"; function doHistory() { var curBrowser = getBrowser().toLowerCase(); var pageType = TYPE_LINK; if (curBrowser.indexOf('internet explorer') != -1) { try { // pageType = getPageType(); // setHistoryPage(pageType); pageType = setHistoryPageIEEx(); } catch (e) { } } else if (curBrowser.indexOf('firefox') != -1) { try { pageType = setHistoryPageFFEx(); } catch (e) { } } else { pageType = TYPE_LINK; } return pageType; } function setHistoryPage(pageType) { if (!supportCookies()) { return -1; } var value = ''; var refUrl = getRefUrl().toLowerCase(); var pageUrl = getPageUrl().toLowerCase(); var hisLength = window.history.length; var his = getCookie('lahis'); if (refUrl == "") { refUrl = REF_ISEMPTY; } if (his) { if (pageType == TYPE_ENTER || pageType == TYPE_LINK || pageType == TYPE_CLIENT) { value = his + ";;" + refUrl + ";" + pageUrl + ";" + hisLength; setHisCookie(value); } } else { value = refUrl + ";" + pageUrl + ";" + hisLength; setHisCookie(value); } } function getPageType() { var refUrl = getRefUrl().toLowerCase(); var pageUrl = getPageUrl().toLowerCase(); var hisLength = window.history.length; if (refUrl == "") { refUrl = REF_ISEMPTY; } var data = getHisCookie(); if (!data) { return TYPE_LINK; } var curNumOfItem = getNumOfItem(data); var curItem = getItemAt(data, curNumOfItem - 1).split(';'); var curLength = parseInt(curItem[2], 10); if (curItem == null) { // error ??? return TYPE_LINK; } // R B->B if (refUrl == pageUrl) { return TYPE_REFRESH; } // R ENTER 100% if ((refUrl == REF_ISEMPTY) && (pageUrl == curItem[1])) { if ((curItem[0] != REF_ISEMPTY) || (hisLength - curLength < 2)) { return TYPE_REFRESH; } else { // (curItem[0] == REF_ISEMPTY) && (hisLength - curLength >= 2) return TYPE_CLIENT; } } if (getPosOfRP(data, refUrl, pageUrl) < 0) { // (R,P) not in cookie // L/E if (refUrl == REF_ISEMPTY) { return TYPE_ENTER; } else { return TYPE_LINK; } } else { // Check history length increase or not if (hisLength < curLength) { // L < Li if (refUrl == REF_ISEMPTY) { return TYPE_ENTER; } else { return TYPE_LINK; } } else if (hisLength == curLength) { // L = Li // B/F/R if ((refUrl == curItem[0]) && (pageUrl == curItem[1])) { return TYPE_REFRESH; // Include E/L to seft current page } else { return TYPE_CLIENT; // BF not need to distinguish } } else { // L > Li -> B/L/E // Check visitor go out site or not if (hisLength - curLength == 1) { // Not go out side // (R,P) <> (Ri-1,Pi-1) var tmpItem = getItemAt(data, curNumOfItem - 2); var curItem1; if (tmpItem == REF_ISEMPTY || tmpItem == null) { if (refUrl == REF_ISEMPTY) { return TYPE_ENTER; } else { return TYPE_LINK; } } curItem1 = tmpItem.split(';'); if (curItem1 == null || (refUrl != curItem1[0]) || (pageUrl != curItem1[1])) { if (refUrl == REF_ISEMPTY) { return TYPE_ENTER; } else { return TYPE_LINK; } } else { return TYPE_CLIENT; // B include 2 case of E/L: "->B->C->Enter(B); or C->B->C->Link(B); } } else { // L - Li >= 2 -> go out side // (R,P) <> (Ri,Pi) if ((refUrl != curItem[0]) || (pageUrl != curItem[1])) { if (refUrl == REF_ISEMPTY) { return TYPE_ENTER; } else { return TYPE_LINK; } } else { return TYPE_EXTERNAL; // B include 2 case of E/L: "->B->X->Enter(B); or X->B->X->Link(B); } } } } return TYPE_ENTER; } function setHistoryPageIEEx() { if (!supportCookies()) { return -1; } // client information var refUrl = getRefUrl().toLowerCase(); var pageUrl = getPageUrl().toLowerCase(); var hisLength = window.history.length; if (refUrl == "") { refUrl = REF_ISEMPTY; } // process cookie var value = ''; var pageType = TYPE_LINK; var lahis = getHisCookie(); if (!lahis) { if (refUrl == REF_ISEMPTY) { // pageType = TYPE_ENTER; // invalid result (technical restriction) if ((typeof(isCrossDomain) != "undefined") && (isCrossDomain)) { pageType = TYPE_LINK; } else { pageType = TYPE_ENTER; } } else { pageType = TYPE_LINK; } value = hisLength + ";;;" + pageType + ";;;" + 0 + ";;;" + -1 + ";;;" + refUrl + ";" + pageUrl + ";" + hisLength; setHisCookie(value); return pageType; } // process cookie var subHisCtrl = lahis.split(';;;'); // process cookie: info var lahisLength = parseInt(subHisCtrl[0], 10); var lahisPageType = parseInt(subHisCtrl[1], 10); var lahisIndexi = parseInt(subHisCtrl[2], 10); var lahisIndexj = parseInt(subHisCtrl[3], 10); // process cookie: data var dataHisItem = subHisCtrl[4].split(';;'); var subDataItemi = dataHisItem[lahisIndexi].split(';'); var itemiHisLength = parseInt(subDataItemi[2], 10); var subDataItemj; if (lahisIndexj == -1) { subDataItemj = null; } else { subDataItemj = dataHisItem[lahisIndexj].split(';'); } // start here if (refUrl == pageUrl) { // R B->B subHisCtrl[4] = updateArrayDataAtPos(dataHisItem, refUrl, pageUrl, dataHisItem.length - 1); pageType = TYPE_REFRESH; } else if ((refUrl == REF_ISEMPTY) && (pageUrl == subDataItemi[1])) { // R E100 if (subDataItemi[0] != REF_ISEMPTY || (hisLength - lahisLength < 2)) { subHisCtrl[4] = updateArrayDataAtPos(dataHisItem, refUrl, pageUrl, dataHisItem.length - 1); pageType = TYPE_REFRESH; } else { // (subDataItemj[0] == REF_ISEMPTY) && (hisLength - lahisLength >=2) pageType = TYPE_CLIENT; } } else { var posOfRP = getPosOfArrayRPEx(dataHisItem, refUrl, pageUrl); if (posOfRP < 0) { // (R,P) not in cookie, so add it into cookie // L/E if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } // subHisCtrl[3] = subHisCtrl[2]; // Update Ri-1,Pi-1 {Rj,Pj} index // subHisCtrl[2] = dataHisItem.length; // Update Ri,Pi index // value = ";;" + refUrl + ";" + pageUrl + ";" + hisLength; } else { // Check history length increase or not if (hisLength < itemiHisLength) { // L < Lo, B then L/E if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } } else if (hisLength == itemiHisLength) { // L = Lo // B/F/R if ((refUrl == subDataItemi[0]) && (pageUrl == subDataItemi[1])) { subHisCtrl[4] = updateArrayDataAtPos(dataHisItem, refUrl, pageUrl, dataHisItem.length - 1); pageType = TYPE_REFRESH; // Include E/L to seft current page } else { pageType = TYPE_CLIENT; // BF don't need to distinguish } } else { // L > Li -> B/L/E // Check visitor go out site or not if (hisLength - itemiHisLength == 1) { // Not go out site // (R,P) <> (Ri-1, Pi-1) if ((subDataItemj == null) || (refUrl != subDataItemj[0]) || (pageUrl != subDataItemj[1])) { if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } } else { pageType = TYPE_CLIENT; // B include 2 case of E/L: "->B->C->Enter(B); or C->B->C->Link(B)" } } else { // L - Li >= 2 -> go out side // (R,P) <> (Ri,Pi) if ((refUrl != subDataItemi[0]) || (pageUrl != subDataItemi[1])) { if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } } else { pageType = TYPE_EXTERNAL; // B include 2 case of E/L: "->B->X->Enter(B); or X->B->X->Link(B)" } } } // if (pageType != TYPE_REFRESH) { // subHisCtrl[3] = subHisCtrl[2]; // Update Ri-1,Pi-1 {Rj,Pj} index // subHisCtrl[2] = posOfRP; // Update Ri,Pi index // } } // Include cookie } subHisCtrl[0] = hisLength; // Update history length subHisCtrl[1] = pageType; // Update page type // Add to cookie all pages if (pageType == TYPE_ENTER || pageType == TYPE_LINK || pageType == TYPE_CLIENT) { subHisCtrl[3] = subHisCtrl[2]; // Update Ri-1,Pi-1 {Rj,Pj} index subHisCtrl[2] = dataHisItem.length; // Update Ri,Pi index value = ";;" + refUrl + ";" + pageUrl + ";" + hisLength; } value = subHisCtrl[0] + ";;;" + subHisCtrl[1] + ";;;" + subHisCtrl[2] + ";;;" + subHisCtrl[3] + ";;;" + subHisCtrl[4] + value; setHisCookie(value); return pageType; } function setHistoryPageFFEx() { if (!supportCookies()) { return -1; } // client information var refUrl = getRefUrl().toLowerCase(); var pageUrl = getPageUrl().toLowerCase(); var hisLength = window.history.length; if (refUrl == "") { refUrl = REF_ISEMPTY; } // process cookie var value = ''; var pageType = TYPE_LINK; var lahis = getHisCookie(); if (!lahis) { if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } value = hisLength + ";;;" + pageType + ";;;" + 0 + ";;;" + -1 + ";;;" + refUrl + ";" + pageUrl + ";" + hisLength; setHisCookie(value); return pageType; } // process cookie var subHisCtrl = lahis.split(';;;'); // process cookie: info var lahisLength = parseInt(subHisCtrl[0], 10); var lahisPageType = parseInt(subHisCtrl[1], 10); var lahisIndexi = parseInt(subHisCtrl[2], 10); var lahisIndexj = parseInt(subHisCtrl[3], 10); // process cookie: data var dataHisItem = subHisCtrl[4].split(';;'); var subDataItemi = dataHisItem[lahisIndexi].split(';'); var subDataItemj; if (lahisIndexj == -1) { subDataItemj = null; } else { subDataItemj = dataHisItem[lahisIndexj].split(';'); } // start here if ((refUrl == pageUrl) && (pageUrl == subDataItemi[1])) { // R B->B subHisCtrl[4] = updateArrayDataAtPos(dataHisItem, refUrl, pageUrl, dataHisItem.length - 1); pageType = TYPE_REFRESH; } else if ((refUrl == REF_ISEMPTY) && (pageUrl == subDataItemi[1]) && (hisLength == lahisLength)) { // R E100 subHisCtrl[4] = updateArrayDataAtPos(dataHisItem, refUrl, pageUrl, dataHisItem.length - 1); pageType = TYPE_REFRESH; } else { var posOfRP = getPosOfArrayRPEx(dataHisItem, refUrl, pageUrl); if (posOfRP < 0) { // (R,P) not in cookie, so add it into cookie // L/E if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } subHisCtrl[3] = subHisCtrl[2]; // Update Ri-1,Pi-1 {Rj,Pj} index subHisCtrl[2] = dataHisItem.length; // Update Ri,Pi index value = ";;" + refUrl + ";" + pageUrl + ";" + hisLength; } else { // Check history length increase or not if (hisLength < lahisLength) { // L < Lo, B then L/E if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } } else if (hisLength == lahisLength) { // L = Lo // BF/R/E100/L100 if ((refUrl == subDataItemi[0]) && (pageUrl == subDataItemi[1]) && lahisPageType != TYPE_BACK) { subHisCtrl[4] = updateArrayDataAtPos(dataHisItem, refUrl, pageUrl, dataHisItem.length - 1); pageType = TYPE_REFRESH; } else { pageType = TYPE_CLIENT; } } else { // L > Li -> B/L/E if ((refUrl == subDataItemi[0]) && (pageUrl == subDataItemi[1])) { // BF pageType = TYPE_EXTERNAL; } else { if (refUrl == REF_ISEMPTY) { pageType = TYPE_ENTER; } else { pageType = TYPE_LINK; } } } if (pageType != TYPE_REFRESH) { subHisCtrl[3] = subHisCtrl[2]; // Update Ri-1,Pi-1 {Rj,Pj} index subHisCtrl[2] = posOfRP; // Update Ri,Pi index } } // Include cookie } subHisCtrl[0] = hisLength; // Update history length subHisCtrl[1] = pageType; // Update page type value = subHisCtrl[0] + ";;;" + subHisCtrl[1] + ";;;" + subHisCtrl[2] + ";;;" + subHisCtrl[3] + ";;;" + subHisCtrl[4] + value; setHisCookie(value); return pageType; } function getNumOfItem(data) { if (data == null || data == "") { return 0; } var value = data.split(';;'); return value.length; } function getItemAt(data, index) { var value = data.split(';;'); if (index >= value.length) { return null; } return value[index]; } function getPosOfRP(data, refUrl, pageUrl) { var value = data.split(';;'); var pos = 0; for (pos = 0; pos < value.length; pos++) { var item = value[pos].split(';'); if ((refUrl.toLowerCase() == item[0].toLowerCase()) && (pageUrl.toLowerCase() == item[1].toLowerCase())) { return pos; } } return -1; } function getPosOfArrayRPEx(data, refUrl, pageUrl) { // data variable is already array items var index = 0; for (index = 0; index < data.length; index++) { var item = data[index].split(';'); if ((refUrl == item[0]) && (pageUrl == item[1])) { return index; } } return -1; } function updateArrayDataAtPos(data, refUrl, pageUrl, pos) { // data variable is already array items var index; var newData = data; var item; if ((pos > -1) && (pos < data.length)) { item = data[pos].split(';'); item[0] = refUrl; item[1] = pageUrl; } if (pos == 0) { newData = item[0] + ";" + item[1] + ";" + item[2]; } else { newData = data[0]; } for (index = 1; index < data.length; index++) { if (index == pos) { newData = newData + ";;" + item[0] + ";" + item[1] + ";" + item[2]; } else { newData = newData + ";;" + data[index]; } } return newData; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length)); } return null; } function setHisCookieLimit(name, value, expires, path, domain, secure) { var cookieString = name + "=" + escape(value) + ( (expires) ? ";expires=" + expires : "") + ( (path) ? ";path=" + path : "") + ( (domain) ? ";domain=" + domain : "") + ( (secure) ? ";secure" : ""); // Check cookie size limit: 4096 ~ 4K if (cookieString.length < 1024) { document.cookie = cookieString; return 1; } return 0; } // Use in: get/setHisCookie() function var lahis1Value = null; var lahis2Value = null; function getHisCookie() { lahis1Value = readCookie('lahis1'); lahis2Value = readCookie('lahis2'); if (lahis1Value == null) { return null; } if (lahis2Value == null) { return lahis1Value; } return (lahis1Value + lahis2Value); } function setHisCookie(value) { var remainValue = ""; var ret = 0; if (!lahis2Value) { if (!lahis1Value) { // lahis1 is empty, so dont need to check cookie limit setHisCookieLimit('lahis1', value); } else { ret = setHisCookieLimit('lahis1', value); if (ret == 0) { // lahis1 is over cookie limit, split data and insert to lahis2 remainValue = value.substring(lahis1Value.length, value.length); setHisCookieLimit('lahis2', remainValue); } } } else { remainValue = value.substring(lahis1Value.length, value.length); ret = setHisCookieLimit('lahis2', remainValue); if (ret == 0) { // reset all lahis cookie now. deleteCookie('lahis1'); deleteCookie('lahis2'); } } } setKey('81701'); var xPos = document.documentElement.offsetWidth - 20 - 130;var yPos = document.documentElement.offsetHeight - 520; addContent = '
';
s+="
";
s+='