123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319 |
- /* $Id : common.js 4865 2007-01-31 14:04:10Z paulgao $ */
- function goTop() {
- $('html,body').animate({
- 'scrollTop': 0
- }, 600);
- }
- /* *
- * 添加商品到购物车
- */
- function addToCart1(goodsId, parentId)
- {
- var goods = new Object();
- var spec_arr = new Array();
- var fittings_arr = new Array();
- var number = 1;
- var formBuy = document.forms['ECS_FORMBUY'];
- var quick = 0;
- // 检查是否有商品规格
- if (formBuy)
- {
- spec_arr = getSelectedAttributes(formBuy);
- if (formBuy.elements['number'])
- {
- number = formBuy.elements['number'].value;
- }
- }
- quick = 1;
- goods.quick = quick;
- goods.spec = spec_arr;
- goods.goods_id = goodsId;
- goods.number = number;
- goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
- Ajax.call('flow.php?step=add_to_cart1', 'goods=' + $.toJSON(goods), addToCartResponse1, 'POST', 'JSON');
- }
- function addToCartResponse1(result)
- {
- if (result.error > 0)
- {
- // 如果需要缺货登记,跳转
- if (result.error == 2)
- {
- alert(result.message);
- }
- // 没选规格,弹出属性选择框
- else if (result.error == 6)
- {
- openSpeDiv(result.message, result.goods_id, result.parent);
- } else
- {
- alert(result.message);
- }
- } else
- {
- var cartInfo = document.getElementById('ECS_CARTINFO');
- var cartInfo1 = document.getElementById('ECS_CARTINFO1');
- var cart_url = 'flow.php?step=cart';
- if (cartInfo)
- {
- cartInfo.innerHTML = result.content;
- }
- if (cartInfo1)
- {
- cartInfo1.innerHTML = result.content;
- }
- location.href = cart_url;
- }
- }
- function addToCart(goodsId, parentId)
- {
- var goods = new Object();
- var spec_arr = new Array();
- var fittings_arr = new Array();
- var number = 1;
- var formBuy = document.forms['ECS_FORMBUY'];
- var quick = 0;
- var fid = "number_" + goodsId;
- if (document.getElementById(fid)) {
- number = document.getElementById(fid).value;
- } else
- {
- number = 1;
- }
- // 检查是否有商品规格
- if (formBuy)
- {
- spec_arr = getSelectedAttributes(formBuy);
- if (formBuy.elements['number'])
- {
- number = formBuy.elements['number'].value;
- }
- var fid = "number_" + goodsId;
- if (document.getElementById(fid)) {
- number = document.getElementById(fid).value;
- }
- }
- goods.quick = quick;
- goods.spec = spec_arr;
- goods.goods_id = goodsId;
- goods.number = number;
- goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
- Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
- }
- /**
- * 获得选定的商品属性
- */
- function getSelectedAttributes(formBuy)
- {
- var spec_arr = new Array();
- var j = 0;
- for (i = 0; i < formBuy.elements.length; i++)
- {
- var prefix = formBuy.elements[i].name.substr(0, 5);
- if (prefix == 'spec_' && (
- ((formBuy.elements[i].type == 'radio' || formBuy.elements[i].type == 'checkbox') && formBuy.elements[i].checked) ||
- formBuy.elements[i].tagName == 'SELECT'))
- {
- spec_arr[j] = formBuy.elements[i].value;
- j++;
- }
- }
- return spec_arr;
- }
- /* *
- * 处理添加商品到购物车的反馈信息
- */
- function addToCartResponse(result)
- {
- if (result.error > 0)
- {
- // 如果需要缺货登记,跳转
- if (result.error == 2)
- {
- alert(result.message);
- }
- // 没选规格,弹出属性选择框
- else if (result.error == 6)
- {
- openSpeDiv(result.message, result.goods_id, result.parent);
- } else
- {
- alert(result.message);
- }
- } else
- {
- var cartInfo = document.getElementById('ECS_CARTINFO');
- var cartInfo1 = document.getElementById('ECS_CARTINFO1');
- var cart_url = 'flow.php?step=cart';
- if (cartInfo)
- {
- cartInfo.innerHTML = result.content;
- }
- if (cartInfo1)
- {
- cartInfo1.innerHTML = result.content;
- }
- switch (result.confirm_type)
- {
- case '1':
- opencartDiv(result.shop_price, result.goods_name, result.goods_thumb, result.goods_brief, result.goods_id, result.goods_price, result.goods_number);
- break;
- default:
- opencartDiv(result.shop_price, result.goods_name, result.goods_thumb, result.goods_brief, result.goods_id, result.goods_price, result.goods_number);
- break;
- }
- }
- }
- /* *
- * 添加商品到收藏夹
- */
- function collect(goodsId)
- {
- Ajax.call('user.php?act=collect', 'id=' + goodsId, collectResponse, 'GET', 'JSON');
- }
- /* *
- * 处理收藏商品的反馈信息
- */
- function collectResponse(result)
- {
- alert(result.message);
- }
- /* *
- * 处理会员登录的反馈信息
- */
- function signInResponse(result)
- {
- toggleLoader(false);
- var done = result.substr(0, 1);
- var content = result.substr(2);
- if (done == 1)
- {
- document.getElementById('member-zone').innerHTML = content;
- } else
- {
- alert(content);
- }
- }
- /* *
- * 评论的翻页函数
- */
- function gotoPage(page, id, type)
- {
- Ajax.call('comment.php?act=gotopage', 'page=' + page + '&id=' + id + '&type=' + type, gotoPageResponse, 'GET', 'JSON');
- }
- function gotoPageResponse(result)
- {
- document.getElementById("ECS_COMMENT").innerHTML = result.content;
- }
- /* *
- * 商品购买记录的翻页函数
- */
- function gotoBuyPage(page, id)
- {
- Ajax.call('goods.php?act=gotopage', 'page=' + page + '&id=' + id, gotoBuyPageResponse, 'GET', 'JSON');
- }
- function gotoBuyPageResponse(result)
- {
- document.getElementById("ECS_BOUGHT").innerHTML = result.result;
- }
- /* *
- * 取得格式化后的价格
- * @param : float price
- */
- function getFormatedPrice(price)
- {
- if (currencyFormat.indexOf("%s") > -1)
- {
- return currencyFormat.replace('%s', advFormatNumber(price, 2));
- } else if (currencyFormat.indexOf("%d") > -1)
- {
- return currencyFormat.replace('%d', advFormatNumber(price, 0));
- } else
- {
- return price;
- }
- }
- /* *
- * 夺宝奇兵会员出价
- */
- function bid(step)
- {
- var price = '';
- var msg = '';
- if (step != -1)
- {
- var frm = document.forms['formBid'];
- price = frm.elements['price'].value;
- id = frm.elements['snatch_id'].value;
- if (price.length == 0)
- {
- msg += price_not_null + '\n';
- } else
- {
- var reg = /^[\.0-9]+/;
- if (!reg.test(price))
- {
- msg += price_not_number + '\n';
- }
- }
- } else
- {
- price = step;
- }
- if (msg.length > 0)
- {
- alert(msg);
- return;
- }
- Ajax.call('snatch.php?act=bid&id=' + id, 'price=' + price, bidResponse, 'POST', 'JSON')
- }
- /* *
- * 夺宝奇兵会员出价反馈
- */
- function bidResponse(result)
- {
- if (result.error == 0)
- {
- document.getElementById('ECS_SNATCH').innerHTML = result.content;
- if (document.forms['formBid'])
- {
- document.forms['formBid'].elements['price'].focus();
- }
- newPrice(); //刷新价格列表
- } else
- {
- alert(result.content);
- }
- }
- /* *
- * 夺宝奇兵最新出价
- */
- function newPrice(id)
- {
- Ajax.call('snatch.php?act=new_price_list&id=' + id, '', newPriceResponse, 'GET', 'TEXT');
- }
- /* *
- * 夺宝奇兵最新出价反馈
- */
- function newPriceResponse(result)
- {
- document.getElementById('ECS_PRICE_LIST').innerHTML = result;
- }
- /* *
- * 返回属性列表
- */
- function getAttr(cat_id)
- {
- var tbodies = document.getElementsByTagName('tbody');
- for (i = 0; i < tbodies.length; i++)
- {
- if (tbodies[i].id.substr(0, 10) == 'goods_type') tbodies[i].style.display = 'none';
- }
- var type_body = 'goods_type_' + cat_id;
- try
- {
- document.getElementById(type_body).style.display = '';
- } catch (e)
- {
- }
- }
- /* *
- * 截取小数位数
- */
- function advFormatNumber(value, num) // 四舍五入
- {
- var a_str = formatNumber(value, num);
- var a_int = parseFloat(a_str);
- if (value.toString().length > a_str.length)
- {
- var b_str = value.toString().substring(a_str.length, a_str.length + 1);
- var b_int = parseFloat(b_str);
- if (b_int < 5)
- {
- return a_str;
- } else
- {
- var bonus_str, bonus_int;
- if (num == 0)
- {
- bonus_int = 1;
- } else
- {
- bonus_str = "0."
- for (var i = 1; i < num; i++)
- bonus_str += "0";
- bonus_str += "1";
- bonus_int = parseFloat(bonus_str);
- }
- a_str = formatNumber(a_int + bonus_int, num)
- }
- }
- return a_str;
- }
- function formatNumber(value, num) // 直接去尾
- {
- var a, b, c, i;
- a = value.toString();
- b = a.indexOf('.');
- c = a.length;
- if (num == 0)
- {
- if (b != -1)
- {
- a = a.substring(0, b);
- }
- } else
- {
- if (b == -1)
- {
- a = a + ".";
- for (i = 1; i <= num; i++)
- {
- a = a + "0";
- }
- } else
- {
- a = a.substring(0, b + num + 1);
- for (i = c; i <= b + num; i++)
- {
- a = a + "0";
- }
- }
- }
- return a;
- }
- /* *
- * 根据当前shiping_id设置当前配送的的保价费用,如果保价费用为0,则隐藏保价费用
- *
- * return void
- */
- function set_insure_status()
- {
- // 取得保价费用,取不到默认为0
- var shippingId = getRadioValue('shipping');
- var insure_fee = 0;
- if (shippingId > 0)
- {
- if (document.forms['theForm'].elements['insure_' + shippingId])
- {
- insure_fee = document.forms['theForm'].elements['insure_' + shippingId].value;
- }
- // 每次取消保价选择
- if (document.forms['theForm'].elements['need_insure'])
- {
- document.forms['theForm'].elements['need_insure'].checked = false;
- }
- // 设置配送保价,为0隐藏
- if (document.getElementById("ecs_insure_cell"))
- {
- if (insure_fee > 0)
- {
- document.getElementById("ecs_insure_cell").style.display = '';
- setValue(document.getElementById("ecs_insure_fee_cell"), getFormatedPrice(insure_fee));
- } else
- {
- document.getElementById("ecs_insure_cell").style.display = "none";
- setValue(document.getElementById("ecs_insure_fee_cell"), '');
- }
- }
- }
- }
- /* *
- * 当支付方式改变时出发该事件
- * @param pay_id 支付方式的id
- * return void
- */
- function changePayment(pay_id)
- {
- // 计算订单费用
- calculateOrderFee();
- }
- function getCoordinate(obj)
- {
- var pos =
- {
- "x": 0,
- "y": 0
- }
- pos.x = document.body.offsetLeft;
- pos.y = document.body.offsetTop;
- do
- {
- pos.x += obj.offsetLeft;
- pos.y += obj.offsetTop;
- obj = obj.offsetParent;
- }
- while (obj.tagName.toUpperCase() != 'BODY')
- return pos;
- }
- function showCatalog(obj)
- {
- var pos = getCoordinate(obj);
- var div = document.getElementById('ECS_CATALOG');
- if (div && div.style.display != 'block')
- {
- div.style.display = 'block';
- div.style.left = pos.x + "px";
- div.style.top = (pos.y + obj.offsetHeight - 1) + "px";
- }
- }
- function hideCatalog(obj)
- {
- var div = document.getElementById('ECS_CATALOG');
- if (div && div.style.display != 'none') div.style.display = "none";
- }
- function sendHashMail()
- {
- Ajax.call('user.php?act=send_hash_mail', '', sendHashMailResponse, 'GET', 'JSON')
- }
- function sendHashMailResponse(result)
- {
- alert(result.message);
- }
- /* 订单查询 */
- function orderQuery()
- {
- var order_sn = document.forms['ecsOrderQuery']['order_sn'].value;
- var reg = /^[\.0-9]+/;
- if (order_sn.length < 10 || !reg.test(order_sn))
- {
- alert(invalid_order_sn);
- return;
- }
- Ajax.call('user.php?act=order_query&order_sn=s' + order_sn, '', orderQueryResponse, 'GET', 'JSON');
- }
- function orderQueryResponse(result)
- {
- if (result.message.length > 0)
- {
- alert(result.message);
- }
- if (result.error == 0)
- {
- var div = document.getElementById('ECS_ORDER_QUERY');
- div.innerHTML = result.content;
- }
- }
- function display_mode(str)
- {
- document.getElementById('display').value = str;
- setTimeout(doSubmit, 0);
- function doSubmit() {
- document.forms['listform'].submit();
- }
- }
- function display_mode_wholesale(str)
- {
- document.getElementById('display').value = str;
- setTimeout(doSubmit, 0);
- function doSubmit()
- {
- document.forms['wholesale_goods'].action = "wholesale.php";
- document.forms['wholesale_goods'].submit();
- }
- }
- /* 修复IE6以下版本PNG图片Alpha */
- function fixpng()
- {
- var arVersion = navigator.appVersion.split("MSIE")
- var version = parseFloat(arVersion[1])
- if ((version >= 5.5) && (document.body.filters))
- {
- for (var i = 0; i < document.images.length; i++)
- {
- var img = document.images[i]
- var imgName = img.src.toUpperCase()
- if (imgName.substring(imgName.length - 3, imgName.length) == "PNG")
- {
- var imgID = (img.id) ? "id='" + img.id + "' " : ""
- var imgClass = (img.className) ? "class='" + img.className + "' " : ""
- var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
- var imgStyle = "display:inline-block;" + img.style.cssText
- if (img.align == "left") imgStyle = "float:left;" + imgStyle
- if (img.align == "right") imgStyle = "float:right;" + imgStyle
- if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
- var strNewHTML = "<span " + imgID + imgClass + imgTitle
- +" style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
- +"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
- + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
- img.outerHTML = strNewHTML
- i = i - 1
- }
- }
- }
- }
- function hash(string, length)
- {
- var length = length ? length : 32;
- var start = 0;
- var i = 0;
- var result = '';
- filllen = length - string.length % length;
- for (i = 0; i < filllen; i++)
- {
- string += "0";
- }
- while (start < string.length)
- {
- result = stringxor(result, string.substr(start, length));
- start += length;
- }
- return result;
- }
- function stringxor(s1, s2)
- {
- var s = '';
- var hash = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- var max = Math.max(s1.length, s2.length);
- for (var i = 0; i < max; i++)
- {
- var k = s1.charCodeAt(i) ^ s2.charCodeAt(i);
- s += hash.charAt(k % 52);
- }
- return s;
- }
- var evalscripts = new Array();
- function evalscript(s)
- {
- if (s.indexOf('<script') == -1) return s;
- var p = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/ig;
- var arr = new Array();
- while (arr = p.exec(s)) appendscript(arr[1], '', arr[2], arr[3]);
- return s;
- }
- function $$(id)
- {
- return document.getElementById(id);
- }
- function appendscript(src, text, reload, charset)
- {
- var id = hash(src + text);
- if (!reload && in_array(id, evalscripts)) return;
- if (reload && $$(id))
- {
- $$(id).parentNode.removeChild($$(id));
- }
- evalscripts.push(id);
- var scriptNode = document.createElement("script");
- scriptNode.type = "text/javascript";
- scriptNode.id = id;
- //scriptNode.charset = charset;
- try
- {
- if (src)
- {
- scriptNode.src = src;
- } else if (text)
- {
- scriptNode.text = text;
- }
- $$('append_parent').appendChild(scriptNode);
- } catch (e)
- {}
- }
- function in_array(needle, haystack)
- {
- if (typeof needle == 'string' || typeof needle == 'number')
- {
- for (var i in haystack)
- {
- if (haystack[i] == needle)
- {
- return true;
- }
- }
- }
- return false;
- }
- var pmwinposition = new Array();
- var userAgent = navigator.userAgent.toLowerCase();
- var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
- var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
- var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
- function pmwin(action, param)
- {
- var objs = document.getElementsByTagName("OBJECT");
- if (action == 'open')
- {
- for (i = 0; i < objs.length; i++)
- {
- if (objs[i].style.visibility != 'hidden')
- {
- objs[i].setAttribute("oldvisibility", objs[i].style.visibility);
- objs[i].style.visibility = 'hidden';
- }
- }
- var clientWidth = document.body.clientWidth;
- var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
- var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
- var pmwidth = 800;
- var pmheight = clientHeight * 0.9;
- if (!$$('pmlayer'))
- {
- div = document.createElement('div');
- div.id = 'pmlayer';
- div.style.width = pmwidth + 'px';
- div.style.height = pmheight + 'px';
- div.style.left = ((clientWidth - pmwidth) / 2) + 'px';
- div.style.position = 'absolute';
- div.style.zIndex = '999';
- $$('append_parent').appendChild(div);
- $$('pmlayer').innerHTML = '<div style="width: 800px; background: #666666; margin: 5px auto; text-align: left">' +
- '<div style="width: 800px; height: ' + pmheight + 'px; padding: 1px; background: #FFFFFF; border: 1px solid #7597B8; position: relative; left: -6px; top: -3px">' +
- '<div onmousedown="pmwindrag(event, 1)" onmousemove="pmwindrag(event, 2)" onmouseup="pmwindrag(event, 3)" style="cursor: move; position: relative; left: 0px; top: 0px; width: 800px; height: 30px; margin-bottom: -30px;"></div>' +
- '<a href="###" onclick="pmwin(\'close\')"><img style="position: absolute; right: 20px; top: 15px" src="images/close.gif" title="关闭" /></a>' +
- '<iframe id="pmframe" name="pmframe" style="width:' + pmwidth + 'px;height:100%" allowTransparency="true" frameborder="0"></iframe></div></div>';
- }
- $$('pmlayer').style.display = '';
- $$('pmlayer').style.top = ((clientHeight - pmheight) / 2 + scrollTop) + 'px';
- if (!param)
- {
- pmframe.location = 'pm.php';
- } else
- {
- pmframe.location = 'pm.php?' + param;
- }
- } else if (action == 'close')
- {
- for (i = 0; i < objs.length; i++)
- {
- if (objs[i].attributes['oldvisibility'])
- {
- objs[i].style.visibility = objs[i].attributes['oldvisibility'].nodeValue;
- objs[i].removeAttribute('oldvisibility');
- }
- }
- hiddenobj = new Array();
- $$('pmlayer').style.display = 'none';
- }
- }
- var pmwindragstart = new Array();
- function pmwindrag(e, op)
- {
- if (op == 1)
- {
- pmwindragstart = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
- pmwindragstart[2] = parseInt($$('pmlayer').style.left);
- pmwindragstart[3] = parseInt($$('pmlayer').style.top);
- doane(e);
- } else if (op == 2 && pmwindragstart[0])
- {
- var pmwindragnow = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
- $$('pmlayer').style.left = (pmwindragstart[2] + pmwindragnow[0] - pmwindragstart[0]) + 'px';
- $$('pmlayer').style.top = (pmwindragstart[3] + pmwindragnow[1] - pmwindragstart[1]) + 'px';
- doane(e);
- } else if (op == 3)
- {
- pmwindragstart = [];
- doane(e);
- }
- }
- function doane(event)
- {
- e = event ? event : window.event;
- if (is_ie)
- {
- e.returnValue = false;
- e.cancelBubble = true;
- } else if (e)
- {
- e.stopPropagation();
- e.preventDefault();
- }
- }
- /* *
- * 添加礼包到购物车
- */
- function addPackageToCart(packageId) {
- var package_info = new Object();
- var number = 1;
- package_info.package_id = packageId
- package_info.number = number;
- Ajax.call('flow.php?step=add_package_to_cart', 'package_info=' + $.toJSON(package_info), addPackageToCartResponse, 'POST', 'JSON');
- }
- /* *
- * 处理添加礼包到购物车的反馈信息
- */
- function addPackageToCartResponse(result)
- {
- if (result.error > 0)
- {
- if (result.error == 2)
- {
- if (confirm(result.message))
- {
- location.href = 'user.php?act=add_booking&id=' + result.goods_id;
- }
- } else
- {
- alert(result.message);
- }
- } else
- {
- var cartInfo = document.getElementById('ECS_CARTINFO');
- var cart_url = 'flow.php?step=cart';
- if (cartInfo)
- {
- cartInfo.innerHTML = result.content;
- }
- if (result.one_step_buy == '1')
- {
- location.href = cart_url;
- } else
- {
- switch (result.confirm_type)
- {
- case '1':
- if (confirm(result.message)) location.href = cart_url;
- break;
- case '2':
- if (!confirm(result.message)) location.href = cart_url;
- break;
- case '3':
- location.href = cart_url;
- break;
- default:
- break;
- }
- }
- }
- }
- function setSuitShow(suitId)
- {
- var suit = $('#suit_' + suitId);
- if (suit == null) {
- return;
- }
- suit.animate({
- height: '80%'
- }, [10000]);
- var total = 0,
- h = $(window).height(),
- top = $('#suit_' + suitId).find('.f_title').height() || 0,
- con = $('#suit_' + suitId).find('.f_content');
- total = 0.8 * h;
- con.height(total - top + 'px');
- $('.f_mask').show();
- }
- function close_gift(suitId) {
- $('.f_mask').hide();
- var suit = $('#suit_' + suitId);
- suit.animate({
- height: '0'
- }, [10000]);
- }
- /* 以下四个函数为属性选择弹出框的功能函数部分 */
- //检测层是否已经存在
- function docEle()
- {
- return document.getElementById(arguments[0]) || false;
- }
- //生成属性选择层
- function openSpeDiv(message, goods_id, parent)
- {
- var _id = "speDiv";
- var m = "mask";
- if (docEle(_id)) document.removeChild(docEle(_id));
- if (docEle(m)) document.removeChild(docEle(m));
- //计算上卷元素值
- var scrollPos;
- if (typeof window.pageYOffset != 'undefined')
- {
- scrollPos = window.pageYOffset;
- } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
- {
- scrollPos = document.documentElement.scrollTop;
- } else if (typeof document.body != 'undefined')
- {
- scrollPos = document.body.scrollTop;
- }
- var i = 0;
- var sel_obj = document.getElementsByTagName('select');
- while (sel_obj[i])
- {
- sel_obj[i].style.visibility = "hidden";
- i++;
- }
- // 新激活图层
- var newDiv = document.createElement("div");
- newDiv.id = _id;
- newDiv.style.position = "absolute";
- newDiv.style.zIndex = "10000";
- newDiv.style.width = "88%";
- newDiv.style.height = "auto";
- newDiv.style.margin = "0 6%";
- newDiv.style.top = (parseInt(scrollPos + 200)) + "px";
- newDiv.style.left = "0px"; // 屏幕居中
- newDiv.style.overflow = "auto";
- newDiv.style.background = "#FFF";
- newDiv.className = "shopdiv";
- //生成层内内容
- newDiv.innerHTML = '<div class="cartitle">' + select_spe + "</div>";
- for (var spec = 0; spec < message.length; spec++)
- {
- newDiv.innerHTML += '<div style="text-align:left; background:#ffffff; margin-left:15px;font-weight:600;margin-top: 10px;font-size: 16px; clear:both">' + message[spec]['name'] + '</div>';
- if (message[spec]['attr_type'] == 1)
- {
- for (var val_arr = 0; val_arr < message[spec]['values'].length; val_arr++)
- {
- if (val_arr == 0)
- {
- newDiv.innerHTML += "<div style='line-height:40px; font-size: 14px; float:left; '><input style='margin-left:15px;' type='radio' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' checked /> <font color=#555555>" + message[spec]['values'][val_arr]['label'] + '</font> [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br /></div>';
- } else
- {
- newDiv.innerHTML += "<div style='line-height:40px;font-size: 14px; float:left; '><input style='margin-left:15px;' type='radio' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' /> <font color=#555555>" + message[spec]['values'][val_arr]['label'] + '</font> [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br /></div>';
- }
- }
- newDiv.innerHTML += "<input type='hidden' name='spec_list' value='" + val_arr + "' />";
- } else
- {
- for (var val_arr = 0; val_arr < message[spec]['values'].length; val_arr++)
- {
- newDiv.innerHTML += "<div style='line-height:40px;font-size: 14px;'><input style='margin-left:15px;' type='checkbox' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + ' [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br /></div>';
- }
- newDiv.innerHTML += "<input type='hidden' name='spec_list' value='" + val_arr + "' />";
- }
- }
- newDiv.innerHTML += "<div class=cartbntfloat clearfix ><a href='javascript:submit_div(" + goods_id + "," + parent + ")' class='redBtn' >" + btn_buy + "</a><a href='javascript:cancel_div()' class='greyBtn' >" + is_cancel + "</a></div>";
- document.body.appendChild(newDiv);
- // mask图层
- var newMask = document.createElement("div");
- newMask.id = m;
- newMask.style.position = "absolute";
- newMask.style.zIndex = "9999";
- newMask.style.width = document.body.scrollWidth + "px";
- newMask.style.height = document.body.scrollHeight + "px";
- newMask.style.top = "0px";
- newMask.style.left = "0px";
- newMask.style.background = "#FFF";
- newMask.style.filter = "alpha(opacity=30)";
- newMask.style.opacity = "0.40";
- document.body.appendChild(newMask);
- }
- //获取选择属性后,再次提交到购物车
- function submit_div(goods_id, parentId)
- {
- var goods = new Object();
- var spec_arr = new Array();
- var fittings_arr = new Array();
- var number = 1;
- var input_arr = document.getElementsByTagName('input');
- var quick = 1;
- var fid = "number_" + goods_id;
- if (document.getElementById(fid)) {
- number = document.getElementById(fid).value;
- }
- var spec_arr = new Array();
- var j = 0;
- for (i = 0; i < input_arr.length; i++)
- {
- var prefix = input_arr[i].name.substr(0, 5);
- if (prefix == 'spec_' && (
- ((input_arr[i].type == 'radio' || input_arr[i].type == 'checkbox') && input_arr[i].checked)))
- {
- spec_arr[j] = input_arr[i].value;
- j++;
- }
- }
- goods.quick = quick;
- goods.spec = spec_arr;
- goods.goods_id = goods_id;
- goods.number = number;
- goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
- Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
- document.body.removeChild(docEle('speDiv'));
- document.body.removeChild(docEle('mask'));
- var i = 0;
- var sel_obj = document.getElementsByTagName('select');
- while (sel_obj[i])
- {
- sel_obj[i].style.visibility = "";
- i++;
- }
- }
- // 关闭mask和新图层
- function cancel_div()
- {
- document.body.removeChild(docEle('speDiv'));
- document.body.removeChild(docEle('mask'));
- var i = 0;
- var sel_obj = document.getElementsByTagName('select');
- while (sel_obj[i])
- {
- sel_obj[i].style.visibility = "";
- i++;
- }
- }
- function opencartDiv(price, name, pic, goods_brief, goods_id, total, number)
- {
- var _id = "speDiv";
- var m = "mask";
- if (docEle(_id)) document.removeChild(docEle(_id));
- if (docEle(m)) document.removeChild(docEle(m));
- //计算上卷元素值
- var scrollPos;
- if (typeof window.pageYOffset != 'undefined')
- {
- scrollPos = window.pageYOffset;
- } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
- {
- scrollPos = document.documentElement.scrollTop;
- } else if (typeof document.body != 'undefined')
- {
- scrollPos = document.body.scrollTop;
- }
- var i = 0;
- var sel_obj = document.getElementsByTagName('select');
- while (sel_obj[i])
- {
- sel_obj[i].style.visibility = "hidden";
- i++;
- }
- // 新激活图层
- var newDiv = document.createElement("div");
- newDiv.id = _id;
- var html = '';
- //生成层内内容
- html = '<div class="touchweb_com-indexPop pop_add-cart show" ><div class="inner"><div class="content_name"><p>添加成功!<br>商品已成功加入购物车</p></div><div id="mcart_confirm_popup_btns" class="btn_box"><a href="javascript:cancel_div()" class="btn btn_cancel">再逛逛</a><a href="flow.php" class="btn btn_confirm">去购物车</a></div></div></div>';
- newDiv.innerHTML = html;
- document.body.appendChild(newDiv);
- // mask图层
- var newMask = document.createElement("div");
- newMask.id = m;
- document.body.appendChild(newMask);
- }
- function opencartDivflow(price, name, pic, goods_brief, goods_id, total, number)
- {
- var _id = "speDiv";
- var m = "mask";
- if (docEle(_id)) document.removeChild(docEle(_id));
- if (docEle(m)) document.removeChild(docEle(m));
- //计算上卷元素值
- var scrollPos;
- if (typeof window.pageYOffset != 'undefined')
- {
- scrollPos = window.pageYOffset;
- } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
- {
- scrollPos = document.documentElement.scrollTop;
- } else if (typeof document.body != 'undefined')
- {
- scrollPos = document.body.scrollTop;
- }
- var i = 0;
- var sel_obj = document.getElementsByTagName('select');
- while (sel_obj[i])
- {
- sel_obj[i].style.visibility = "hidden";
- i++;
- }
- // 新激活图层
- var newDiv = document.createElement("div");
- newDiv.id = _id;
- var html = '';
- //生成层内内容
- html = '<div class="touchweb_com-indexPop pop_add-cart show" ><div class="inner"><div class="content_name"><p>添加成功!<br>商品已成功加入购物车</p></div><div id="mcart_confirm_popup_btns" class="btn_box"><a href="flow.php" class="btn btn_cancel">再逛逛</a><a href="flow.php" class="btn btn_confirm">去购物车</a></div></div></div>';
- newDiv.innerHTML = html;
- document.body.appendChild(newDiv);
- // mask图层
- var newMask = document.createElement("div");
- newMask.id = m;
- document.body.appendChild(newMask);
- }
|