/* ,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,. *\

  ZeN Octopus specific javascript functions
  ----------------------------------------------------------------------------
  Created: 06.07.2005   Updated: 08.12.2009

\* ,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,.·'`'·.,,. */

ddm_listener = function(container) {
    var selects = $$("select");
    var liArray = gE(container).getElementsByTagName("li");
        for(var i=0;i<liArray.length;i++) {
        if(liArray[i].className.match(/ddm_parent/gi)) {
            liArray[i].onmouseover = function() {
                selects.each(function(s){
                    s.setStyle("visibility", "hidden");
                });
                
                this.className+=" over";
            }
            liArray[i].onmouseout = function() {
                selects.each(function(s){
                    s.setStyle("visibility", "visible");
                });
                
                this.className="overSub";
            }
        }
    }
}

/* --( Floating Cart )------------------------------------------------------- */
function refreshFloatingCart(sid, cid, uid) {
    ajaxRequest("ajaxDisplay('floating_cart_body',obj)","/octopus/__floating_cart_body.aspx?sid="+sid+"&cid="+cid+"&uid="+uid);
}



/* --( Details )------------------------------------------------------------- */
var blank_select = "<select class=\"a\" disabled=\"disabled\"><option value=\"0\">Selecione</option></select>";
var blank_availability = "<span></span>";

var zoomSrc = "";

function getNextSelect(sid,cid,sl,cp,dpth,ls,l,uid,thisConfig) {
  var cca = "";
  var i = 0;
  var trusted = true;
  if(l>0)for(i=0;i<l;i++){cca+=document.main_form["s"+i].value+";";if(document.main_form["s"+i].value==0)trusted=false;}
  if(trusted) {
    if(l>0&&l==dpth)getImages(sid, cid, uid, thisConfig, cp, cca);
    var req = new XMLHttpRequest();
    req.open("get","/octopus/__details_select.aspx"+ thisConfig +"&cid="+ cid +"&sl="+sl+"&cp="+cp+"&cca="+cca+"&dpth="+dpth+"&ls="+ls+"&l="+l,false);
    req.send(null);
    var c = req.responseText;
    wH(gE("s"+l+"P"),c);
  } else {
    wH(gE("s"+l+"P"),blank_select);
  }
  for(i=(l+1);i<ls;i++)wH(gE("s"+i+"P"),blank_select);
  wH(gE("details_texts_availability"),blank_availability);
}

function getImages(sid,cid,uid,thisConfig,cp,cca) {
    if(sid == 82) {
        var url = "/octopus/__approach2grid.aspx" + thisConfig + "&cp=" + cp;
        if(cca) url += "&cca=" + cca;
        
        var req = new XMLHttpRequest();
        req.open("get", url, false);
        req.send(null);
        var cg = req.responseText;
        
        document.location.href = "/octopus/" + thisConfig + "&mi=DTL&cg=" + cg + "#details";
    } else {
        var url = "/octopus/__details_images.aspx" + thisConfig + "&cid=" + cid + "&cp=" + cp;/* -- (cp is a codGrid) -- */
        if(cca) url += "&cca=" + cca;/* -- (cp is a codProd) -- */
        
        var req = new XMLHttpRequest();
        req.open("get", url, false);
        req.send(null);
        var c = req.responseText;
        
        $("details_images").empty().setHTML(c);
        
        var linkImage = new String(c.match(/\/b\/\S+(\.jpg)/gi));
        linkImage = linkImage.substr(3);
        zoomSrc = "/octopus/design/images/"+sid+"/products/z/"+ linkImage;
    }
}

function getGrid(sid,cid,uid,cg,thisConfig) {
    if(sid == 82) {/* TODO: Remove Sunny only */
        getImages(sid, cid, uid, thisConfig, cg);
    } else {
        getImages(sid, cid, uid, thisConfig, cg);
        
        var req = new XMLHttpRequest();
        req.open("get","/octopus/__details_texts.aspx"+thisConfig+"&cid="+cid+"&cp="+cg,false);
        req.send(null);
        var c = req.responseText;
        wH(gE("details_texts"),c);
        
        var fx = new Fx.Scroll(window, { duration: 1000, transition: Fx.Transitions.Back.easeOut });
        fx.toElement($("details"));
    }
}

function getApproach(sid,cid,cp,dpth,l,uid,thisConfig) {
  var cca = "", trusted = true;
  if(l > 0) {
    for(var i = 0; i < l; i++) {
      if(document.main_form["s"+i].value) {
        cca += document.main_form["s" + i].value + ";";
        if(document.main_form["s" + i].value == 0) trusted = false;
      }
    }
  }

  if(trusted) {
    if(l == dpth) {
         getImages(sid, cid, uid, thisConfig, cp, cca)
    }// else {
        var req = new XMLHttpRequest();
        req.open("get","/octopus/__details_texts.aspx"+thisConfig+"&cid="+cid+"&cp="+cp+"&cca="+cca,false);
        req.send(null);
        var c = req.responseText;
        wH(gE("details_texts"),c);
    // }
  } else {
    wH(gE("details_texts_availability"),blank_availability);
  }
}

function setBigImage(sid,s) {
    if(zoomSrc == "/octopus/design/images/"+sid+"/products/z/"+s) return;
    
    $("mouseTrail").setStyle("visibility", "visible");
    zoomSrc = "/octopus/design/images/"+sid+"/products/z/"+s;
    
    var div = $("details_images_big");
    var img = div.getElement("img");
    var a = img.getParent();
    
    var loaded = false;
    
    if(sid == 82) { /* TODO: Remove Sunny only */
        var zimg = $$(".MagicZoomBigImageCont")[0].getElement("img");
        zimg.src = zoomSrc.replace('/z/','/o/');
        MagicZoom.update(a, zoomSrc.replace('/z/','/o/'), zoomSrc.replace('/z/','/b/'), 'show-title: false');
    } else {
        div.setStyle("background", "url("+img.getProperty("src")+") no-repeat top left");
        img.remove();
        
        img = new Asset.image("/octopus/design/images/"+sid+"/products/b/"+s, {
            id: "details_images_big_img",
            style: "opacity:0",
            onload: function(){
                if(loaded) return;
                loaded = true;
                
                img.effect("opacity", {
                    duration: 1000,
                    transition: Fx.Transitions.linear
                }).start(0, 1);
            }
        }).injectInside(a);
    }
    
    $("mouseTrail").setStyle("visibility", "hidden");
}

function popZoom(idShop, idGrid) {
    var windowSize = window.getSize().size;
    SqueezeBox.initialize({
        size: {x: windowSize.x * .8, y: windowSize.y * .8}
    });
    
    if( idShop == 7 ) { /* TODO: Remove fantasy only */
        SqueezeBox.open('/octopus/_img2page.asp?idShop='+idShop+'&idGrid='+idGrid, {handler: 'iframe'});
    } else {
        SqueezeBox.open(zoomSrc, {handler: 'image'});
    }
}

function inStockNotification(sid,cg) {
    var form = $("main_form");
    if(form.nome.value == '') {alert("Favor preencher o campo [nome]");}
    else if(form.email.value == '') {alert("Favor preencher o campo [email]");}
    else if(! /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test( form.email.value ) ) {
        alert("Email invalido.");
        form.email.select();
        return;
    }
    else if(form.phone.value == '') {alert("Favor preencher o campo [telefone]");}
    else {
    var req = new XMLHttpRequest();
    req.open("get","/octopus/__stock_insert_isn.aspx?sid="+sid+"&cg="+cg+"&n="+form.nome.value+"&e="+form.email.value+"&p="+form.phone.value,false);
    req.send(null);
    var c = req.responseText;
    wH(gE('inStockNotification'),c);
    }
}



/* --( Cart )---------------------------------------------------------------- */
function replaceChar(s,f,t) {var v = "";for(var i=0;i<s.length;i++){if(s.charAt(i)==f)v+=t;else v+=s.charAt(i);}return v;}
function dot2comma(s) {return replaceChar(s,".",",");}
function comma2dot(s) {return replaceChar(s,",",".");}
function countItems(){var r=0;f=d.getElementsByTagName("input");for(var i=0;i<f.length;i++)if(f[i].type=="text"&&f[i].name.substring(0,1)=="f")r++;return r;}
function popCep(){window.open("http://www.correios.com.br/servicos/cep/cep_default.cfm","_blank","width=790,height=400,top=0,left=0,toolbar=0,location=0,directories=0,status=0,scrollbars=yes,menubar=0,resizable=0");}

function closeCart(url,eg) {
  if(eg) enviaDados(url +"&mi=GFT");
  else  enviaDados(url +"&mi=CRT&f=0");
}

function req_addItem(url,sid,cid,cg,f,eg,fc,uid) {
    ajaxRequest("ret_addItem('"+url+"','"+sid+"','"+cid+"',"+eg+","+fc+","+uid+",obj)","/octopus/__cart_add.aspx?sid="+sid+"&cid="+cid+"&cg="+cg+"&qt="+ document.main_form[f].value, "cid=" + cid);
}

function ret_addItem(url,sid,cid,eg,fc,uid,obj) {
  var c = obj.responseText;
  
  if(c != "True") {alert(c);}
  else {
    if(fc<2) {
		tmr = setTimeout("closeCart('"+url+"',"+eg+")",100);
	} else {
		refreshFloatingCart(sid,cid,uid);
		
		sysmsg_add("Produto adicionado ao carrinho.");
		sysmsg_pop();
	}
  }
}



/* --( Gifts )--------------------------------------------------------------- */
function countGifts(){var r=0;f=d.getElementsByTagName("input");for(var i=0;i<f.length;i++)if(f[i].type=="text"&&f[i].name.substring(0,2)=="gf")r++;return r;}

function addGift(sid,cid,st,cg) {
  var c = false;
  if(st) {
    var req = new XMLHttpRequest();
    req.open("get","/octopus/__gift_add.aspx?sid="+sid+"&cid="+cid+"&cg="+cg,false);
    req.send(null);
    c = req.responseText;
  } else {
    var req = new XMLHttpRequest();
    req.open("get","/octopus/__gift_remove.aspx?sid="+sid+"&cid="+cid+"&cg="+cg,false);
    req.send(null);
    c = req.responseText;
  }
  if(!c)alert("Ocorreu um erro durante a adição||exclusão do produto. Favor tentar novamente.");
}
