<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
width="536"
height="520"
showCloseButton="true"
title="COMPRAR"
close="PopUpManager.removePopUp(this)"
creationComplete="init()">
<mx:states>
<mx:State name="Final">
<mx:SetProperty name="height" value="134"/>
<mx:AddChild position="lastChild">
<mx:Label x="33.5" y="24" showEffect="{bodyDissolve}" text="Sua compra foi finalizada com sucesso." fontFamily="Verdana" fontSize="14" fontWeight="bold" fontStyle="italic"/>
</mx:AddChild>
<mx:AddChild position="lastChild">
<mx:Button x="281.5" y="62" label="Fechar" click="PopUpManager.removePopUp(this);"/>
</mx:AddChild>
<mx:RemoveChild target="{accordion1}"/>
</mx:State>
</mx:states>
<mx:Script>
<![CDATA[
import mx.formatters.NumberFormatter;
import mx.charts.chartClasses.NumericAxis;
import mx.rpc.events.FaultEvent;
import mx.managers.PopUpManager;
import mx.controls.*;
import mx.events.*;
import mx.charts.CategoryAxis;
import mx.events.DragEvent;
import mx.collections.ArrayCollection;
import mx.core.ScrollPolicy;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
public const URLREMOTA:String="http://www.4e-commerce.com.br/caliopes/crex_read.php";
[Bindable]
public var listaProdutos:ArrayCollection = new ArrayCollection();
private var myCardMenu:Menu;
private var mySizeMenu:Menu;
private var produto:XML;
private var action:String;
private var valorTotal:String="0.00" ;
private function finalizar():void {
this.currentState = "Final";
}
private function init():void{
Security.allowDomain("*");
Security.loadPolicyFile("http://www.4e-commerce.com.br/caliopes/crossdomain.xml");
var requer:URLRequest = new URLRequest("http://www.4e-commerce.com.br/caliopes/crossdomain.xml");
var carregarCross:URLLoader = new URLLoader();
carregarCross.load(requer);
PopUpManager.centerPopUp(this);
getProductInfo.send();
}
private function initCard():void {
myCardMenu = new Menu();
var dp:Object = [{label: "Master"}, {label: "Visa"}, {label: "Amex"}, {label: "Boleto"}];
myCardMenu.dataProvider = dp;
myCardMenu.selectedIndex = 0;
myCardMenu.addEventListener("itemClick", itemClickCard);
popB.popUp = myCardMenu;
popB.label = myCardMenu.dataProvider[myCardMenu.selectedIndex].label;
}
private function itemClickCard(event:MenuEvent):void {
var label:String = event.item.label;
popB.label = label;
popB.close();
myCardMenu.selectedIndex = event.index;
}
private function initSize():void {
mySizeMenu = new Menu();
var dp:Object = [{label: "P"}, {label: "M"}, {label: "G"}, {label: "GG"}];
mySizeMenu.dataProvider = dp;
mySizeMenu.selectedIndex = 0;
mySizeMenu.addEventListener("itemClick", itemClickSize);
}
private function itemClickSize(event:MenuEvent):void {
var label:String = event.item.label;
mySizeMenu.selectedIndex = event.index;
}
private function erroHTTPService(event:FaultEvent):void{
Alert.show("ERRO: "+event.message);
}
private function adicionarProduto():void{
if(listaProdutos.length>=5){
Alert.show("Numero máximo de 5 tipos de produtos por pedido.");
}
else{
listaProdutos.addItem(produto.copy());
}
recalcTotal();
}
private function carregarProdutoInfo(event:ResultEvent):void{
var configuracaoProd:XML;
configuracaoProd=XML(event.result);
configuracaoProd.normalize();
produto=configuracaoProd.data[0];
var doc:XMLDocument = new XMLDocument();
var size:XMLNode = doc.createElement("size");
produto.appendChild(size);
produto.products_quantity=1;
listaProdutos.addItem(produto.copy());
recalcTotal();
}
private function removerProduto():void{
if(produtos.selectedIndex>=0){
if(listaProdutos.length<=1){
Alert.show("Numero minimo de 1 tipo de produtos por pedido.");
}
else{
listaProdutos.removeItemAt((listaProdutos.getItemIndex(produtos.selectedItem)));
}
}
recalcTotal();
}
private function recalcTotal():void{
var total:uint = 0;
var produtoXML:XML =null;
for(var i:int=0; i<listaProdutos.length;i++){
if(listaProdutos[i].products_quantity!=null
&& listaProdutos[i].products_quantity!=""
&& listaProdutos[i].products_price!=null
&& listaProdutos[i].products_price!=""){
produtoXML=XML(listaProdutos[i]);
total = total+ ( uint(produtoXML.products_quantity) * uint(produtoXML.products_price));
}
}
var nf:NumberFormatter = new NumberFormatter();
nf.precision=2;
valorTotal = nf.format(total);
try{
total1.text="Total da compra: R$ " + valorTotal;
total2.text="Total da compra: R$ " + valorTotal;
}
catch(err:Error){}
}
private var gravadoImagens:Boolean=false;
private function receverData(event:ResultEvent){
var retorno:XML;
var params:Object = new Object();
var retornoHTML:String;
accessRemote.url=URLREMOTA;
if(action=="ignore"){
}
else if(action=="login" || action=="register"){
retorno=XML(event.result);
if(retorno.data[0].attribute("return")!="true"){
Alert.show(retorno.data[0].data[0].toString())
}
else{
action="ADDPRODUCT";
receverData(event);
}
}
else if(action=="ADDPRODUCT"){
retorno=XML(event.result);
if(listaProdutos.length>=1){
var produtoXML:XML=XML(listaProdutos[0]);
params.cmd='product_add_to_cart';
params.products_id='28';
params.qty=produtoXML.products_quantity.toString();
params.notify="";
var colorComp:ColorPicker =CaliopesFinal(Object(parent).application).tshirtColorPicker;
var cores:ArrayCollection = CaliopesFinal(Object(parent).application).colorArrayCollection;
for(var i:int=0; i<cores.length;i++){
var option:XML = XML(cores[i]);
if(option.toString()==colorComp.value){
params.cor=option.attribute("value").toString();
}
}
params.size=produtoXML.size.toString();
accessRemote.url="http://www.4e-commerce.com.br/caliopes/crex_read.php?cmd=product_add_to_cart&products_id=28&qty="+params.qty+"&attributes[1]="+params.cor+"&attributes[2]="+params.size;
accessRemote.send();
listaProdutos.removeItemAt(0);
}
else{
CaliopesFinal(Object(parent).application).pixArtBack.fileName="V.jpg";
CaliopesFinal(Object(parent).application).pixArtBack.fnFinalize();
CaliopesFinal(Object(parent).application).pixArtFront.fileName="F.jpg";
CaliopesFinal(Object(parent).application).pixArtFront.fnFinalize();
params.cmd='checkout_confirmation';
action="SHIPPING";
accessRemote.send(params);
}
}
else if(action=="SHIPPING"){
accessRemoteNotHTML.url= "http://www.4e-commerce.com.br/caliopes/checkout_shipping.php";
params.shipping="flat_flat";
params.action="process";
params.comments="N/A"
action="PAYMENT";
accessRemoteNotHTML.send(params);
}
else if(action=="PAYMENT"){
retornoHTML= event.result.toString();
accessRemoteNotHTML.url= "http://www.4e-commerce.com.br/caliopes/checkout_confirmation.php";
params.payment="cod";
params.TipoFrete="EN";
action="CONFIRM";
accessRemoteNotHTML.send(params);
}
else if(action=="CONFIRM"){
retornoHTML = event.result.toString();
accessRemoteNotHTML.url= "http://www.4e-commerce.com.br/caliopes/checkout_process.php";
action="FINISH";
accessRemoteNotHTML.send();
}
else if(action=="FINISH"){
retornoHTML = event.result.toString();
accessRemoteNotHTML.url= "http://www.4e-commerce.com.br/caliopes/checkout_success.php";
action="logout";
accessRemoteNotHTML.send();
}
else if(action=="logout"){
retornoHTML = event.result.toString();
params.cmd='user_logout';
action="ignore";
accessRemote.send(params);
finalizar();
}
}
private function logar():void{
var params:Object = new Object();
params.cmd='user_login';
params.action='process';
params.email_address=email.text;
params.password=senha.text;
action="login";
accessRemote.send(params);
}
private function cadastrar():void{
if(senhaDesejada.text!=repetirSenha.text) {
Alert.show("As senhas digitadas não conferem.");
}
else{
var params:Object = new Object();
params.cmd='user_register';
params.action='process';
params.gender="m";
params.firstname=nome.text;
params.lastname=sobrenome.text;
params.dob=dataNascimento.text;
params.email_address=emailRegister.text;
params.company=""
params.street_address=endereco.text;
params.suburb="";
params.postcode=cep.text;
params.city=cidade.text;
params.state=uf.text;
params.zone_id="";
params.country="30"
params.telephone=telefone.text;
params.fax=telefone.text;
params.password=senhaDesejada.text;
params.confirmation=repetirSenha.text;
action="register";
accessRemote.send(params);
}
}
]]>
</mx:Script>
<mx:HTTPService id="accessRemote" url="{URLREMOTA}" method="POST" showBusyCursor="true" resultFormat="e4x" fault="erroHTTPService(event)" result="receverData(event)"/>
<mx:HTTPService id="accessRemoteNotHTML" url="{URLREMOTA}" method="POST" showBusyCursor="true" resultFormat="text" fault="erroHTTPService(event)" result="receverData(event)"/>
<mx:HTTPService id="getProductInfo" url="{URLREMOTA}" method="POST" showBusyCursor="true" resultFormat="e4x"
result="carregarProdutoInfo(event)" fault="erroHTTPService(event)" >
<mx:request xmlns="">
<cmd>get_product</cmd>
<pid>28</pid>
</mx:request>
</mx:HTTPService>
<mx:Dissolve id="bodyDissolve" duration="2000"/>
<mx:Accordion width="499" height="460" y="10" x="7" id="accordion1">
<mx:Canvas label="Detalhes do produto" width="100%" height="100%">
<mx:Label x="10" y="389" text="Total da compra: R$ {valorTotal}" id="total1"/>
<mx:Button x="419" y="380" label="Finalizar" click="logar()" id="button0"/>
<mx:HRule x="10" y="256" width="477"/>
<mx:VBox x="10" y="287" width="477" id="vbox0">
<mx:HBox x="10" y="96" width="100%" id="hbox5">
<mx:Label text="e-mail" width="100" id="label3"/>
<mx:TextInput width="100%" id="email"/>
</mx:HBox>
<mx:HBox width="100%">
<mx:Label text="senha" width="100"/>
<mx:TextInput width="100%" id="senha" displayAsPassword="true"/>
</mx:HBox>
<mx:HBox width="100%" horizontalAlign="right">
<mx:Label text="Selecione forma de pagamento" width="195"/>
<mx:PopUpButton enabled="true" id="popB" creationComplete="initCard();" width="121" labelPlacement="right"/>
</mx:HBox>
</mx:VBox>
<mx:Label text="Se você já é usuário preencha seus dados para finalizar a compra" width="393" height="18" y="261" x="10" color="#FF0000"/>
<mx:Label text="Ao clicar o botão "Finalizar" será redirecionado a aprovar pagamento" width="393" height="18" y="365" x="10" color="#FF0000"/>
<mx:List x="10" y="10" width="477" height="208" dataProvider="{listaProdutos}" itemRenderer="components.itemProduto" id="produtos" selectable="true" variableRowHeight="false" showInAutomationHierarchy="true" showScrollTips="false" change="recalcTotal()" focusEnabled="true" creationComplete="recalcTotal()" focusIn="recalcTotal()" focusOut="recalcTotal()" itemFocusIn="recalcTotal()" itemFocusOut="recalcTotal()" itemEditEnd="recalcTotal()" itemEditBeginning="recalcTotal()" itemEditBegin="recalcTotal()" itemClick="recalcTotal()" itemRollOut="recalcTotal()"></mx:List>
<mx:Button x="419" y="226" label="Mais um" click="adicionarProduto()"/>
<mx:Button x="10" y="226" label="Remover produto" click="removerProduto()"/>
</mx:Canvas>
<mx:Canvas label="Novos usuários" width="100%" height="100%">
<mx:VBox x="10" y="10" width="477" id="vbox1" height="321">
<mx:HBox width="100%" id="hbox1">
<mx:Label text="Nome" width="107"/>
<mx:TextInput width="100%" id="nome"/>
</mx:HBox>
<mx:HBox width="100%" id="hbox0">
<mx:Label text="Sobrenome" width="107"/>
<mx:TextInput width="100%" id="sobrenome"/>
</mx:HBox>
<mx:HBox width="100%">
<mx:Label text="CPF" width="107"/>
<mx:TextInput width="100%" id="cpf"/>
</mx:HBox>
<mx:HBox width="100%" id="hbox2">
<mx:Label text="Datra nascimento" width="107"/>
<mx:TextInput width="100%" id="dataNascimento"/>
</mx:HBox>
<mx:HBox x="10" y="96" width="100%" id="hbox4">
<mx:Label text="e-mail" width="107" id="label1"/>
<mx:TextInput width="100%" id="emailRegister"/>
</mx:HBox>
<mx:HBox width="100%">
<mx:Label text="Telefone" width="107"/>
<mx:TextInput width="100%" id="telefone"/>
</mx:HBox>
<mx:HBox x="10" y="126" width="100%">
<mx:Label text="Endereco" width="107"/>
<mx:TextInput width="100%" id="endereco"/>
</mx:HBox>
<mx:HBox x="10" y="156" width="100%">
<mx:Label text="CEP" width="107"/>
<mx:TextInput width="100%" id="cep"/>
</mx:HBox>
<mx:HBox x="10" y="212" width="475">
<mx:Label text="Cidade" width="107"/>
<mx:TextInput width="50%" id="cidade"/>
<mx:Label text="UF" width="46"/>
<mx:TextInput width="15%" id="uf"/>
</mx:HBox>
<mx:HBox width="100%">
<mx:Label text="Senha desejada" width="107"/>
<mx:TextInput width="100%" displayAsPassword="true" id="senhaDesejada"/>
</mx:HBox>
<mx:HBox width="100%">
<mx:Label text="Repetir senha" width="107"/>
<mx:TextInput width="100%" displayAsPassword="true" id="repetirSenha"/>
</mx:HBox>
</mx:VBox>
<mx:Label x="10" y="389" text="Total da compra: R$ {valorTotal}" id="total2"/>
<mx:Button x="419" y="385" label="Finalizar" click="cadastrar()" id="button1"/>
<mx:Label text="Ao clicar o botão "Finalizar" será redirecionado a aprovar pagamento" width="393" height="18" y="363" x="10" color="#FF0000"/>
<mx:HBox width="477" horizontalAlign="right" y="339" x="10">
<mx:Label text="Selecione forma de pagamento" width="195"/>
<mx:PopUpButton enabled="true" id="popB0" creationComplete="initCard();" width="121" labelPlacement="right"/>
</mx:HBox>
</mx:Canvas>
</mx:Accordion>
<mx:transitions>
<mx:Transition id="myTransition1"
fromState="*" toState="*">
<mx:WipeRight duration="500" target="{vbox1}"/>
</mx:Transition>
</mx:transitions>
</mx:TitleWindow>