Alterar Checkout de pagamento para REAL BRASILEIRO
Olá pessoal, meu nome é Lucas, recentemente eu criei um blog de ecommerce com um template pre-configurado para o BLOGGER!
Até aí tudo beleza, criei conta no PayPal, da qual seria necessário para receber os pagamentos de compras feitas, configurei toda minha conta no PayPal conforme o solicitado pelo o mesmo... agora, no código HTML eu localizei o carrinho de compras, onde há pequenas configurações, como o "provedor" para pagamento, da qual é o PayPal e a MOEDA estava em USD (Dollar), então alterei para o REAL BRASILEIRO BRL. Isso é apenas uma breve explicação que fiz no código HTML.
Nos produtos, coloquei todos com o valor em REAL, por exemplo, uma central de alarme, o valor dela está em R$ 200,00 ou algo assim... eu clico para adicionar ao carrinho, e lá em fazer o pagamento (checkout) é redirecionado até a página para pagamento do site PayPal só que com o valor de U$ 200,00 (200 dólares). O problema que, além de ser Dólar, o valor seria muito a mais de R$ 200,00 e também não dá pra fazer o pagamento, porque no meu PayPal está conigurado para receber apenas em REAL BRASILEIRO.
Localizei o código javascript, lá tinha umas informações de checkout e tipo de moeda... alterei algumas coisas, hospedei e com isso dava erro no carrinho de compras! Então, galera, preciso de quem entende de verdade disso, eu sou apenas curioso, e com isso eu vou deixar o link do JAVA do carrinho de compras aqui, quem puder avaliar e até mesmo me falar ONDE eu devo alterar, eu agradeço muito!
**LINK DO CÓDIGO JAVASCRIPT DO CARRINHO:** "https://www.paypal.com/cgi-bin/webscr";
form.acceptCharset = "utf-8";
// setup hidden fields
form.appendChild(me.createHiddenElement("cmd", "_cart"));
form.appendChild(me.createHiddenElement("rm", me.paypalHTTPMethod == "POST" ? "2" : "0" ));
form.appendChild(me.createHiddenElement("upload", "1"));
form.appendChild(me.createHiddenElement("business", me.email ));
form.appendChild(me.createHiddenElement("currency_code", "me.currency"));
if( me.taxRate ){
form.appendChild(me.createHiddenElement("tax_cart",me.taxCost ));
}
if( me.shipping() !== 0){
form.appendChild(me.createHiddenElement("handling_cart", me.shippingCost ));
}
if( me.successUrl ){
form.appendChild(me.createHiddenElement("return", me.successUrl ));
}
if( me.cancelUrl ){
form.appendChild(me.createHiddenElement("cancel_return", me.cancelUrl ));
}
me.each(function(item,iter){
counter = iter+1;
form.appendChild( me.createHiddenElement( "item_name_" + counter, item.name ) );
form.appendChild( me.createHiddenElement( "quantity_" + counter, item.quantity ) );
form.appendChild( me.createHiddenElement( "amount_" + counter, item.price ) );
form.appendChild( me.createHiddenElement( "item_number_" + counter, counter ) );
var option_count = 0;
me.each( item , function( value, x , field ){
if( field !== "id" && field !== "price" && field !== "quantity" && field !== "name" && field !== "shipping" && option_count < 10) {
form.appendChild( me.createHiddenElement( "on" + option_count + "_" + counter, field ) );
form.appendChild( me.createHiddenElement( "os" + option_count + "_" + counter, value ) );
option_count++;
}
});
form.appendChild( me.createHiddenElement( "option_index_" + counter, option_count) );
});
document.body.appendChild( form );
form.submit();
document.body.removeChild( form );
};
me.googleCheckout = function() {
var me = this;
if( me.currency !== USD && me.currency !== GBP ){
error( "Google Checkout only allows the USD and GBP for currency.");
return;
} else if( me.merchantId === "" || me.merchantId === null || !me.merchantId ){
error( "No merchant Id for google checkout supplied.");
return;
}
var form = document.createElement("form"),
counter=1,
current,
item,
descriptionString;
form.style.display = "none";
form.method = "POST";
form.action = "[https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/](https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/)" +
me.merchantId;
form.acceptCharset = "utf-8";
me.each(function(item,iter){
counter = iter+1;
form.appendChild( me.createHiddenElement( "item_name_" + counter, item.name ) );
form.appendChild( me.createHiddenElement( "item_quantity_" + counter, item.quantity ) );
form.appendChild( me.createHiddenElement( "item_price_" + counter, item.price ) );
form.appendChild( me.createHiddenElement( "item_currency_" + counter, me.currency ) );
form.appendChild( me.createHiddenElement( "item_tax_rate_" + counter, me.taxRate ) );
form.appendChild( me.createHiddenElement( "_charset_" , "" ) );
descriptionString = "";
me.each( item , function( value , x , field ){
if( field !== "id" &&
field !== "quantity" &&
field !== "price" ) {
descriptionString = descriptionString + ", " + field + ": " + value;
}
});
descriptionString = descriptionString.substring( 1 );
form.appendChild( me.createHiddenElement( "item_description_" + counter, descriptionString) );
});
// hack for adding shipping
if( me.shipping() !== 0){
form.appendChild(me.createHiddenElement("ship_method_name_1", "Shipping"));
form.appendChild(me.createHiddenElement("ship_method_price_1", parseFloat(me.shippingCost).toFixed(2)));
form.appendChild(me.createHiddenElement("ship_method_currency_1", me.currency));
}
document.body.appendChild( form );
form.submit();
document.body.removeChild( form );
};
me.emailCheckout = function() {
return;
};
me.customCheckout = function() {
return;
};
/******************************************************
data storage and retrival
******************************************************/
/* load cart from cookie */
me.load = function () {
var me = this,
id;
/* initialize variables and items array */
me.items = {};
me.total = 0.00;
me.quantity = 0;
/* retrieve item data from cookie */
if( readCookie(simpleCart.storagePrefix + 'simpleCart_' + "chunks") ){
var chunkCount = 1*readCookie(simpleCart.storagePrefix + 'simpleCart_' + "chunks"),
dataArray = [],
dataString = "",
data = "",
info,
newItem,
y=0;
if(chunkCount>0) {
for( y=0;y<chunkCount;y++){
dataArray.push( readCookie( simpleCart.storagePrefix + 'simpleCart_' + (1 + y ) ) );
}
dataString = unescape( dataArray.join("") );
data = dataString.split("++");
}
for(var x=0, xlen=data.length;x<xlen;x++){
info = data[x].split('||');
newItem = new CartItem();
if( newItem.parseValuesFromArray( info ) ){
newItem.checkQuantityAndPrice();
/* store the new item in the cart */
me.items[newItem.id] = newItem;
}
}
}
me.isLoaded = true;
};
/* save cart to cookie */
me.save = function () {
var dataString = "",
dataArray = [],
chunkCount = 0;
chunkCount = 1*readCookie(simpleCart.storagePrefix + 'simpleCart_' + "chunks");
for( var j=0;j<chunkCount;j++){
eraseCookie(simpleCart.storagePrefix + 'simpleCart_'+ j);
}
eraseCookie(simpleCart.storagePrefix + 'simpleCart_' + "chunks");
me.each(function(item){
dataString = dataString + "++" + item.print();
});
dataArray = simpleCart.chunk( dataString.substring(2) , simpleCart.MAX_COOKIE_SIZE );
for( var x=0,xlen = dataArray.length;x<xlen;x++){
createCookie(simpleCart.storagePrefix + 'simpleCart_' + (1 + x ), dataArray[x], me.cookieDuration );
}
createCookie( simpleCart.storagePrefix + 'simpleCart_' + "chunks", "" + dataArray.length , me.cookieDuration );
};
/******************************************************
view management
******************************************************/
me.initializeView = function() {
var me = this;
me.totalOutlets = getElementsByClassName('simpleCart_total');
me.quantityOutlets = getElementsByClassName('simpleCart_quantity');
me.cartDivs = getElementsByClassName('simpleCart_items');
me.taxCostOutlets = getElementsByClassName('simpleCart_taxCost');
me.taxRateOutlets = getElementsByClassName('simpleCart_taxRate');
me.shippingCostOutlets = getElementsByClassName('simpleCart_shippingCost');
me.finalTotalOutlets = getElementsByClassName('simpleCart_finalTotal');
me.addEventToArray( getElementsByClassName('simpleCart_checkout') , simpleCart.checkout , "click");
me.addEventToArray( getElementsByClassName('simpleCart_empty') , simpleCart.empty , "click" );
me.Shelf = new Shelf();
me.Shelf.readPage();
me.pageIsReady = true;
};
me.updateView = function() {
me.updateViewTotals();
if( me.cartDivs && me.cartDivs.length > 0 ){
me.updateCartView();
}
};
me.updateViewTotals = function() {
var outlets = [ ["quantity" , "none" ] ,
["total" , "currency" ] ,
["shippingCost" , "currency" ] ,
["taxCost" , "currency" ] ,
["taxRate" , "percentage" ] ,
["finalTotal" , "currency" ] ];
for( var x=0,xlen=outlets.length; x<xlen;x++){
var arrayName = outlets[x][0] + "Outlets",
outputString,
element;
for( var y = 0,ylen = me[ arrayName ].length; y<ylen; y++ ){
switch( outlets[x][1] ){
case "none":
outputString = "" + me[outlets[x][0]];
break;
case "currency":
outputString = me.valueToCurrencyString( me[outlets[x][0]] );
break;
case "percentage":
outputString = me.valueToPercentageString( me[outlets[x][0]] );
break;
default:
outputString = "" + me[outlets[x][0]];
break;
}
me[arrayName][y].innerHTML = "" + outputString;
}
}
};
me.updateCartView = function() {
var newRows = [],
y,newRow,current,header,newCell,info,outputValue,option,headerInfo;
/* create headers row */
newRow = document.createElement('div');
for(var y=0,ylen = me.cartHeaders.length; y<ylen; y++ ){
newCell = document.createElement('div');
headerInfo = me.cartHeaders[y].split("_");
newCell.innerHTML = me.print( headerInfo[0] );
newCell.className = "item" + headerInfo[0];
for(var z=1,zlen=headerInfo.length;z<zlen;z++){
if( headerInfo[z].toLowerCase() == "noheader" ){
newCell.style.display = "none";
}
}
newRow.appendChild( newCell );
}
newRow.className = "cartHeaders";
newRows[0] = newRow;
/* create a row for each item in the cart */
me.each(function(item, x){
newRow = document.createElement('div');
for(var y=0,ylen = me.cartHeaders.length; y<ylen; y++ ){
newCell = document.createElement('div');
info = me.cartHeaders[y].split("_");
outputValue = me.createCartRow( info , item , outputValue );
newCell.innerHTML = outputValue;
newCell.className = "item" + info[0];
newRow.appendChild( newCell );
}
newRow.className = "itemContainer";
newRows[x+1] = newRow;
});
for( var x=0,xlen=me.cartDivs.length; x<xlen; x++){
/* delete current rows in div */
var div = me.cartDivs[x];
if( div.childNodes && div.appendChild ){
while( div.childNodes[0] ){
div.removeChild( div.childNodes[0] );
}
for(var j=0, jLen = newRows.length; j<jLen; j++){
div.appendChild( newRows[j] );
}
}
}
};
me.createCartRow = function( info , item , outputValue ){
switch( info[0].toLowerCase() ){
case "total":
outputValue = me.valueToCurrencyString(parseFloat(item.price)*parseInt(item.quantity,10) );
break;
case "increment":
outputValue = me.valueToLink( "+" , "javascript:;" , "onclick=\"simpleCart.items[\'" + item.id + "\'].increment();\"" );
break;
case "decrement":
outputValue = me.valueToLink( "-" , "javascript:;" , "onclick=\"simpleCart.items[\'" + item.id + "\'].decrement();\"" );
break;
case "remove":
outputValue = me.valueToLink( "Remove" , "javascript:;" , "onclick=\"simpleCart.items[\'" + item.id + "\'].remove();\"" );
break;
case "price":
outputValue = me.valueToCurrencyString( item[ info[0].toLowerCase() ] ? item[info[0].toLowerCase()] : " " );
break;
default:
outputValue = item[ info[0].toLowerCase() ] ?
typeof item[info[0].toLowerCase()] === 'function' ?
item[info[0].toLowerCase()].call(item) :
item[info[0].toLowerCase()] :
" ";
break;
}
for( var y=1,ylen=info.length;y<ylen;y++){
option = info[y].toLowerCase();
switch( option ){
case "image":
case "img":
outputValue = me.valueToImageString( outputValue );
break;
case "input":
outputValue = me.valueToTextInput( outputValue , "onchange=\"simpleCart.items[\'" + item.id + "\'].set(\'" + info[0].toLowerCase() + "\' , this.value);\"" );
break;
case "div":
case "span":
case "h1":
case "h2":
case "h3":
case "h4":
case "p":
outputValue = me.valueToElement( option , outputValue , "" );
break;
case "noheader":
break;
default:
error( "unkown header option: " + option );
break;
}
}
return outputValue;
};
me.addEventToArray = function ( array , functionCall , theEvent ) {
var outlet,
element;
for(var x=0,xlen=array.length; x<xlen; x++ ){
element = array[x];
if( element.addEventListener ) {
element.addEventListener(theEvent, functionCall , false );
} else if( element.attachEvent ) {
element.attachEvent( "on" + theEvent, functionCall );
}
}
};
me.createHiddenElement = function ( name , value ){
var element = document.createElement("input");
element.type = "hidden";
element.name = name;
element.value = value;
return element;
};
/******************************************************
Event Management
******************************************************/
// bind a callback to a simpleCart event
me.bind = function( name , callback ){
if( typeof callback !== 'function' ){
return me;
}
if (me.events[name] === true ){
callback.apply( me );
} else if( typeof me.events[name] !== 'undefined' ){
me.events[name].push( callback );
} else {
me.events[name] = [ callback ];
}
return me;
};
// trigger event
me.trigger = function( name , options ){
var returnval = true;
if( typeof me.events[name] !== 'undefined' && typeof me.events[name][0] === 'function'){
for( var x=0,xlen=me.events[name].length; x<xlen; x++ ){
returnval = me.events[name][x].apply( me , (options ? options : [] ) );
}
}
if( returnval === false ){
return false;
} else {
return true;
}
};
// shortcut for ready function
me.ready = function( callback ){
if( !callback ){
me.trigger( 'ready' );
me.events['ready'] = true;
} else {
me.bind( 'ready' , callback );
}
return me;
};
/******************************************************
Currency management
******************************************************/
me.currencySymbol = function() {
switch(me.currency){
case IDR:
return "Rp ";
case CHF:
return "CHF ";
case CZK:
return "CZK ";
case DKK:
return "DKK ";
case HUF:
return "HUF ";
case NOK:
return "NOK ";
case PLN:
return "PLN ";
case SEK:
return "SEK ";
case JPY:
return "¥";
case EUR:
return "€";
case GBP:
return "£";
case CHF:
return "CHF ";
case THB:
return "฿";
case USD:
case CAD:
case AUD:
case NZD:
case HKD:
case SGD:
return "$";
default:
return "";
}
};
me.currencyStringForPaypalCheckout = function( value ){
if( me.currencySymbol() == "$" ){
return "$" + parseFloat( value ).toFixed(2);
} else {
return "" + parseFloat(value ).toFixed(2);
}
};
/******************************************************
Formatting
******************************************************/
me.valueToCurrencyString = function( value ) {
var val = parseFloat( value );
if( isNaN(val))
val = 0;
return val.toCurrency( me.currencySymbol() );
};
me.valueToPercentageString = function( value ){
return parseFloat( 100*value ) + "%";
};
me.valueToImageString = function( value ){
if( value.match(/<\s*img.*src\=/) ){
return value;
} else {
return "<img src=\"" + value + "\" />";
}
};
me.valueToTextInput = function( value , html ){
return "<input type=\"text\" value=\"" + value + "\" " + html + " />";
};
me.valueToLink = function( value, link, html){
return "<a href=\"" + link + "\" " + html + " >" + value + "</a>";
};
me.valueToElement = function( type , value , html ){
return "<" + type + " " + html + " > " + value + "</" + type + ">";
};
/******************************************************
Duplicate management
******************************************************/
me.hasItem = function ( item ) {
var current,
matches,
field,
match=false;
me.each(function(testItem){
matches = true;
me.each( item , function( value , x , field ){
if( field !== "quantity" && field !== "id" && item[field] !== testItem[field] ){
matches = false;
}
});
if( matches ){
match = testItem;
}
});
return match;
};
/******************************************************
Language managment
******************************************************/
me.ln = {
"en_us": {
quantity: "Quantity"
, price: "Price"
, total: "Total"
, decrement: "Decrement"
, increment: "Increment"
, remove: "Remove"
, tax: "Tax"
, shipping: "Shipping"
, image: "Image"
}
};
me.language = "en_us";
me.print = function( input ) {
var me = this;
return me.ln[me.language] && me.ln[me.language][input.toLowerCase()] ? me.ln[me.language][input.toLowerCase()] : input;
};
/******************************************************
Cart Update managment
******************************************************/
me.update = function() {
if( !simpleCart.isLoaded ){
simpleCart.load();
}
if( !simpleCart.pageIsReady ){
simpleCart.initializeView();
}
me.updateTotals();
me.updateView();
me.save();
};
me.updateTotals = function() {
me.total = 0 ;
me.quantity = 0;
me.each(function(item){
if( item.quantity < 1 ){
item.remove();
} else if( item.quantity !== null && item.quantity !== "undefined" ){
me.quantity = parseInt(me.quantity,10) + parseInt(item.quantity,10);
}
if( item.price ){
me.total = parseFloat(me.total) + parseInt(item.quantity,10)*parseFloat(item.price);
}
});
me.shippingCost = me.shipping();
me.taxCost = parseFloat(me.total)*me.taxRate;
me.finalTotal = me.shippingCost + me.taxCost + me.total;
};
me.shipping = function(){
if( parseInt(me.quantity,10)===0 )
return 0;
var shipping = parseFloat(me.shippingFlatRate) +
parseFloat(me.shippingTotalRate)*parseFloat(me.total) +
parseFloat(me.shippingQuantityRate)*parseInt(me.quantity,10),
next;
me.each(function(nextItem){
if( nextItem.shipping ){
if( typeof nextItem.shipping == 'function' ){
shipping += parseFloat(nextItem.shipping());
} else {
shipping += parseFloat(nextItem.shipping);
}
}
});
return shipping;
}
me.initialize = function() {
me.initializeView();
me.load();
me.update();
me.ready();
};
}
/********************************************************************************************************
* Cart Item Object
********************************************************************************************************/
function CartItem() {
while( simpleCart.items["c" + simpleCart.nextId] )
simpleCart.nextId++;
this.id = "c" + simpleCart.nextId;
}
CartItem.prototype = {
set : function ( field , value ){
field = field.toLowerCase();
if( typeof( this[field] ) !== "function" && field !== "id" ){
value = "" + value;
if( field == "quantity"){
value = value.replace( /[^(\d|\.)]*/gi , "" );
value = value.replace(/,*/gi, "");
value = parseInt(value,10);
} else if( field == "price" ){
value = value.replace( /[^(\d|\.)]*/gi, "");
value = value.replace(/,*/gi , "");
value = parseFloat( value );
}
if( typeof(value) == "number" && isNaN( value ) ){
error( "Improperly formatted input.");
} else {
if( typeof( value ) === "string" ){
if( value.match(/\~|\=/) ){
error("Special character ~ or = not allowed: " + value);
}
value = value.replace(/\~|\=/g, "");
}
this[field] = value;
this.checkQuantityAndPrice();
}
} else {
error( "Cannot change " + field + ", this is a reserved field.");
}
simpleCart.update();
},
increment : function(){
this.quantity = parseInt(this.quantity,10) + 1;
simpleCart.update();
},
decrement : function(){
if( parseInt(this.quantity,10) < 2 ){
this.remove();
} else {
this.quantity = parseInt(this.quantity,10) - 1;
simpleCart.update();
}
},
print : function () {
var returnString = '',
field;
simpleCart.each(this ,function(item,x,name){
returnString+= escape(name) + "=" + escape(item) + "||";
});
return returnString.substring(0,returnString.length-2);
},
checkQuantityAndPrice : function() {
if( !this.quantity || this.quantity == null || this.quantity == 'undefined'){
this.quantity = 1;
error('No quantity for item.');
} else {
this.quantity = ("" + this.quantity).replace(/,*/gi, "" );
this.quantity = parseInt( ("" + this.quantity).replace( /[^(\d|\.)]*/gi, "") , 10);
if( isNaN(this.quantity) ){
error('Quantity is not a number.');
this.quantity = 1;
}
}
if( !this.price || this.price == null || this.price == 'undefined'){
this.price=0.00;
error('No price for item or price not properly formatted.');
} else {
this.price = ("" + this.price).replace(/,*/gi, "" );
this.price = parseFloat( ("" + this.price).replace( /[^(\d|\.)]*/gi, "") );
if( isNaN(this.price) ){
error('Price is not a number.');
this.price = 0.00;
}
}
},
parseValuesFromArray : function( array ) {
if( array && array.length && array.length > 0) {
for(var x=0, xlen=array.length; x<xlen;x++ ){
/* ensure the pair does not have key delimeters */
array[x] = array[x].replace(/\|\|/g, "| |");
array[x] = array[x].replace(/\+\+/g, "+ +");
if( array[x].match(/\~/) ){
error("Special character ~ not allowed: " + array[x]);
}
array[x] = array[x].replace(/\~/g, "");
/* split the pair and save the unescaped values to the item */
var value = array[x].split('=');
if( value.length>1 ){
if( value.length>2 ){
for(var j=2, jlen=value.length;j<jlen;j++){
value[1] = value[1] + "=" + value[j];
}
}
this[ unescape(value[0]).toLowerCase() ] = unescape(value[1]);
}
}
return true;
} else {
return false;
}
},
remove : function() {
simpleCart.remove(this.id);
simpleCart.update();
}
};
/********************************************************************************************************
* Shelf Object for managing items on shelf that can be added to cart
********************************************************************************************************/
function Shelf(){
this.items = {};
}
Shelf.prototype = {
readPage : function () {
this.items = {};
var newItems = getElementsByClassName( "simpleCart_shelfItem" ),
newItem;
me = this;
for( var x = 0, xlen = newItems.length; x<xlen; x++){
newItem = new ShelfItem();
me.checkChildren( newItems[x] , newItem );
me.items[newItem.id] = newItem;
}
},
checkChildren : function ( item , newItem) {
if( !item.childNodes )
return;
for(var x=0;item.childNodes[x];x++){
var node = item.childNodes[x];
if( node.className && node.className.match(/item_[^ ]+/) ){
var data = /item_[^ ]+/.exec(node.className)[0].split("_");
if( data[1] == "add" || data[1] == "Add" ){
var tempArray = [];
tempArray.push( node );
var addFunction = simpleCart.Shelf.addToCart(newItem.id);
simpleCart.addEventToArray( tempArray , addFunction , "click");
node.id = newItem.id;
} else {
newItem[data[1]] = node;
}
}
if( node.childNodes[0] ){
this.checkChildren( node , newItem );
}
}
},
empty : function () {
this.items = {};
},
addToCart : function ( id ) {
return function(){
if( simpleCart.Shelf.items[id]){
simpleCart.Shelf.items[id].addToCart();
} else {
error( "Shelf item with id of " + id + " does not exist.");
}
};
}
};
/********************************************************************************************************
* Shelf Item Object
********************************************************************************************************/
function ShelfItem(){
this.id = "s" + simpleCart.nextId++;
}
ShelfItem.prototype = {
remove : function () {
simpleCart.Shelf.items[this.id] = null;
},
addToCart : function () {
var outStrings = [],
valueString,
field;
for( field in this ){
if( typeof( this[field] ) !== "function" && field !== "id" ){
valueString = "";
switch(field){
case "price":
if( this[field].value ){
valueString = this[field].value;
} else if( this[field].innerHTML ) {
valueString = this[field].innerHTML;
}
/* remove all characters from price except digits and a period */
valueString = valueString.replace( /[^(\d|\.)]*/gi , "" );
valueString = valueString.replace( /,*/ , "" );
break;
case "image":
valueString = this[field].src;
break;
default:
if( this[field].value ){
valueString = this[field].value;
} else if( this[field].innerHTML ) {
valueString = this[field].innerHTML;
} else if( this[field].src ){
valueString = this[field].src;
} else {
valueString = this[field];
}
break;
}
outStrings.push( field + "=" + valueString );
}
}
simpleCart.add( outStrings );
}
};
/********************************************************************************************************
* Thanks to Peter-Paul Koch for these cookie functions (http://www.quirksmode.org/js/cookies.html)
********************************************************************************************************/
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
value = value.replace(/\=/g, '~');
document.cookie = name + "=" + escape(value) + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca*;*while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) === 0){
* var value = unescape(c.substring(nameEQ.length, c.length));*
* return value.replace(/\~/g, '=');*}
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
*//**************************************************************************************************
*/**
Developed by Robert Nyman, http://www.robertnyman.com
Code/licensing: http://code.google.com/p/getelementsbyclassname/
**/*
var getElementsByClassName = function (className, tag, elm){
if (document.getElementsByClassName) {
getElementsByClassName = function (className, tag, elm) {
elm = elm || document;
* var elements = elm.getElementsByClassName(className),*
* nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,*returnElements = [],
current;
for(var i=0, il=elements.length; i<il; i+=1){
* current = elements**;*
if(!nodeName || nodeName.test(current.nodeName)) {
returnElements.push(current);
}
}
return returnElements;
};
}
else if (document.evaluate) {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "";*
elm = elm || document;
var classes = className.split(" "),
classesToCheck = "",
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
returnElements = [],
elements,
node;
for(var j=0, jl=classes.length; j<jl; j+=1){
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
}
try {
elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
}
catch (e) {
elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
}
while ((node = elements.iterateNext())) {
returnElements.push(node);
}
return returnElements;
};
}
else {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "";*
elm = elm || document;
var classes = className.split(" "),
classesToCheck = [],
elements = (tag === "" && elm.all)? elm.all : elm.getElementsByTagName(tag),*
current,
returnElements = [],
match;
* for(var k=0, kl=classes.length; k<kl; k+=1){*
* classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));*}
for(var l=0, ll=elements.length; l<ll; l+=1){
current = elements[l];
match = false;
for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
match = classesToCheck[m].test(current.className);
if (!match) {
break;
}
}
if (match) {
returnElements.push(current);
}
}
return returnElements;
};
}
return getElementsByClassName(className, tag, elm);
};
*/*********************************************************************************************************
** Helpers*
*********************************************************************************************************/*
*String.prototype.reverse=function(){return this.split("").reverse().join("");};*
*Number.prototype.withCommas=function(){var x=6,y=parseFloat(this).toFixed(2).toString().reverse();while(x<y.length){y=y.substring(0,x)+","+y.substring(x);x+=4;}return y.reverse();};*
*Number.prototype.toCurrency=function(){return(arguments[0]?arguments[0]:"$")+this.withCommas();};*
*/*********************************************************************************************************
** error management*
*********************************************************************************************************/*
function error( message ){
try{
console.log( message );
}catch(err){
// alert( message );
}
}
*var simpleCart = new Cart();*
*if( typeof jQuery !== 'undefined' ) $(document).ready(function(){simpleCart.initialize();});*
*else if( typeof Prototype !== 'undefined') Event.observe( window, 'load', function(){simpleCart.initialize();});*
else window.onload = simpleCart.initialize;
Vou deixar meu blog aqui com vocês, para que possam fazer um teste
Discussão (6)
Carregando comentários...