String.prototype.padLeft = function(totalWidth, paddingChar) {
    var paddedValue = new String(this);
    paddedValue = paddedValue.trim();

    while (paddedValue.length < totalWidth) {
        paddedValue = paddingChar + paddedValue;
    }

    return paddedValue;
}

String.prototype.padRight = function(totalWidth, paddingChar) {
    var paddedValue = new String(this);
    paddedValue = paddedValue.trim();

    while (paddedValue.length < totalWidth) {
        paddedValue = paddedValue + paddingChar;
    }
    return paddedValue;
}


document.newGetElementById = document.getElementById;
document.getElementById = function(sElementID) {
    var element = document.newGetElementById(sElementID);
    if (!element) {
        element = document.newGetElementById('ctl00_' + sElementID);
    }
    if (!element) {
        element = document.newGetElementById('ctl00_cphMain_' + sElementID);
    }
    if (!element) {
        element = document.newGetElementById('ctl00_cbCreateBox_' + sElementID);
    }
    return element;
}

jQuery(document).ready(

function() {
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        if (anchors[i].getAttribute("rel") == "external") {
            anchor.target = "_blank";
        }
    }
});


function RenderMessages(messages) {
    var content = "";
    if (messages && messages.length > 0) {
        content += "<ul>";
        for (var i = 0; i < messages.length; i++) {
            content += "<li>" + messages[i] + "</li>";
        }
        content += "</ul>";
    }
    return content;
}

function GetAmount() {
    return jQuery("#txtProductQuantity").val();
}

function AddProductToCart(idProduct) {
    FrontEndServices.AddProductToCart(idProduct, GetAmount(), OnAddProductToCart);
}

function OnAddProductToCart(result) {
    if (result.Success) {
        window.location.href = "Cart.aspx";
    }
}

function UpdateProductBigPhoto(middlePhotoUrl, largePhotoUrl, title) {
    jQuery("div#bigPhoto a").attr("href", largePhotoUrl).find("img").attr("src", middlePhotoUrl).attr("alt", title);
}




//===========================================================================
// Provides a Dictionary object for client-side java scripts
//===========================================================================

function Lookup(key) {
    return (this[key]);
}


function Delete() {
    for (c = 0; c < Delete.arguments.length; c++) {
        this[Delete.arguments[c]] = null;
    }
    // Adjust the keys (not terribly efficient)
    var keys = new Array()
    for (var i = 0; i < this.Keys.length; i++) {
        if (this[this.Keys[i]] != null)
            keys[keys.length] = this.Keys[i];
    }
    this.Keys = keys;
}

function Add() {
    for (c = 0; c < Add.arguments.length; c += 2) {
        // Add the property
        this[Add.arguments[c]] = Add.arguments[c + 1];
        // And add it to the keys array
        this.Keys[this.Keys.length] = Add.arguments[c];
    }
}

function Dictionary() {
    this.Add = Add;
    this.Lookup = Lookup;
    this.Delete = Delete;
    this.Keys = new Array();
}
