if(top.location != self.location)
{
    top.location = self.location;
}

var selected_photos = new Object();
selected_photos.old_elements = new Array();

function parseCookies()
{
    var cookies = document.cookie.split("; ");
    var cookie;
    var cookie_dir = "";
    selected_photos = new Object();
    selected_photos.old_elements = new Array();

    for(x=0;x<cookies.length;x++)
    {
        cookie = cookies[x].split("=");
        if(cookie[0] == "photos")
        {
            try
            {
                var photos = cookie[1].split("*");

                for(y=0;y<photos.length;y++)
                {
                    if(photos[y].length > 0)
                    {
                        selected_photos[photos[y]] = 1;
                        selected_photos.old_elements.push(photos[y]);
                    }
                }
            }
            catch(e) {}
        }
        else if(cookie[0] == "dir")
        {
            cookie_dir = cookie[1];
        }
    }

    if(document.photo_frm)
    {
        for(x=0;x<document.photo_frm.elements.length;x++)
        {
            if(document.photo_frm.elements[x].type == "checkbox" && selected_photos[document.photo_frm.elements[x].name] == 1)
            {
                document.photo_frm.elements[x].checked = true;

                for(y=0;y<selected_photos.old_elements.length;y++)
                {
                    if(selected_photos.old_elements[y] == document.photo_frm.elements[x].name)
                    {
                        selected_photos.old_elements.splice(y,1);
                        break;
                    }
                }
            }
        }

        updatePhotos();

    }
}

function updatePhotos()
{
    var tel = 0;

    selected_photos.new_elements = new Array();

    for(x=0;x<document.photo_frm.elements.length;x++)
    {
        if(document.photo_frm.elements[x].type == "checkbox" && document.photo_frm.elements[x].checked)
        {
            selected_photos.new_elements.push(document.photo_frm.elements[x].name);
        }
    }

    tel =  selected_photos.old_elements.length + selected_photos.new_elements.length;

    try
    {
        document.getElementById('selected_photos').innerHTML = tel;
        document.getElementById('next_click').innerHTML = tel > 0?'next step: ' + (OFFER_SALES?'<a href="javascript:selectPrints()">order photos</a>' + (!DISABLE_FAVORITES?' | ':''):'') + (DISABLE_FAVORITES?'':'<a href="javascript:selectFavorites()">save to favorites</a>'):'please select one or more photos';
        document.getElementById('buy_all_link').style.display = tel > 0?'none':'';
    }
    catch(e)
    {
        try
        {
            document.getElementById('selected_photos').innerHTML = tel;
            document.getElementById('next_click').innerHTML = tel > 0?'next step: <a href="javascript:selectPrints()">order photos</a> | <a href="javascript:selectFavorites()">save to favorites</a>':'please select one or more photos';
            document.getElementById('buy_all_link').style.display = tel > 0?'none':'';
        }
        catch(e) {}

    }

    try
    {
        document.getElementById('selected_photos_2').innerHTML = tel;
        document.getElementById('next_click_2').innerHTML = tel > 0?'next step: ' + (OFFER_SALES?'<a href="javascript:selectPrints()">order photos</a>' + (!DISABLE_FAVORITES?' | ':''):'') + (DISABLE_FAVORITES?'':'<a href="javascript:selectFavorites()">save to favorites</a>'):'please select one or more photos';
        document.getElementById('buy_all_link_2').style.display = document.getElementById('buy_all_link').style.display;
    }
    catch(e)
    {
        try
        {
            document.getElementById('selected_photos_2').innerHTML = tel;
            document.getElementById('next_click_2').innerHTML = tel > 0?'next step: <a href="javascript:selectPrints()">order photos</a> | <a href="javascript:selectFavorites()">save to favorites</a>':'please select one or more photos';
            document.getElementById('buy_all_link_2').style.display = document.getElementById('buy_all_link').style.display;
        }
        catch(e) {}
    }

    var cookie_str = "";

    if(selected_photos.old_elements.length > 0)
    {
        cookie_str = selected_photos.old_elements.join("*");
        if(selected_photos.new_elements.length > 0)
            cookie_str += "*";
    }

    if(selected_photos.new_elements.length > 0)
    {
        cookie_str += selected_photos.new_elements.join("*");
    }

    document.cookie = "photos=" + cookie_str + "; path=/;";
    document.cookie = "dir=" + global_dir + "; path=/;";
}

function selectPrints()
{

    sfrm = window.frames['submit_frame'].document;
    sfrm.open();
    sfrm.write('<body bgcolor=red><form target="_parent" action="/scripts/expman.pl" method=post>\n<input type=text name="rm" value="buy_overview2"><input type=text name="dir" value="' + global_dir +'">\n');

    for(x=0;x<selected_photos.old_elements.length ;x++)
    {
        sfrm.write('<input type=text name="photo" value="' + escape(selected_photos.old_elements[x]) + '">');
    }

    for(x=0;x<selected_photos.new_elements.length ;x++)
    {
        sfrm.write('<input type=text name="photo" value="' + escape(selected_photos.new_elements[x]) + '">');
    }

    sfrm.close();
    sfrm.forms[0].submit();
}

function saveCart(referer)
{

    sfrm = window.frames['submit_frame'].document;
    sfrm.open();
    sfrm.write('<body bgcolor=red><form target="_parent" action="/scripts/cart.pl" method=post>\n<input type=text name="rm" value="save_cart"><input type=text name="dir" value="' + global_dir +'">\n');

    sfrm.close();
    sfrm.forms[0].submit();
}

function selectFavorites()
{

    sfrm = window.frames['submit_frame'].document;
    sfrm.open();
    sfrm.write('<body bgcolor=red><form target="_parent" action="/scripts/expman.pl" method=post>\n<input type=text name="rm" value="buy_favorites"><input type=text name="dir" value="' + global_dir +'">\n');

    for(x=0;x<selected_photos.old_elements.length ;x++)
    {
        sfrm.write('<input type=text name="photo" value="' + escape(selected_photos.old_elements[x]) + '">');
    }

    for(x=0;x<selected_photos.new_elements.length ;x++)
    {
        sfrm.write('<input type=text name="photo" value="' + escape(selected_photos.new_elements[x]) + '">');
    }

    sfrm.close();
    sfrm.forms[0].submit();
}

function selectAllPhotos()
{
    for(x=0;x<document.photo_frm.elements.length;x++)
    {
        if(document.photo_frm.elements[x].type == "checkbox" && document.photo_frm.elements[x].getAttribute("isPhoto") == "true")
        {
            document.photo_frm.elements[x].checked = true;
        }
    }

    updatePhotos();
}

function viewBorder(photo_id, border_id)
{
        document.getElementById('main_image').src = document.getElementById('main_image').src + "&border_id=" + border_id;
        document.getElementById('main_image').onload = checkImageSize;
}

var em_border_image;

function checkImageSize()
{
        var img = document.getElementById('main_image');
        em_border_image = new Image();
        em_border_image.src = img.src;

        setTimeout("updateBorderImage()",10);
}

function updateBorderImage()
{
        if(em_border_image.complete)
        {
            var img = document.getElementById('main_image');
            img.width = em_border_image.width;
            img.height = em_border_image.height;
        }
        else
        {
         setTimeout("updateBorderImage()",1);
        }
}

var positions = new Object();

function setPosition(id, value)
{
        positions[id] = value;
}

var product_qty = false;

function changeQuantity(product_id, qty, updateCart_yn)
{
    product_qty = document.getElementById('chk_' + product_id);

    var new_qty = parseInt(product_qty.value) + qty;

    if(new_qty < 0)
        new_qty = 0;

    if(new_qty + "" == "NaN")
        new_qty = 0;

    product_qty.value = new_qty;

    if(updateCart_yn)
        addToCart(true, true);

    product_qty = false;
}

function updateCount(g_photo_id, e, updateIfZero, clearProductQty)
{
    if(g_photo_id && e)
    {
        if(!product_qty)
            product_qty = e.target||e.srcElement;

        if(product_qty.value.length > 0)
        {
            if(product_qty.value == 0 && updateIfZero)
                product_qty.value = 1;

            var nqty = product_qty.value.match(/\d/g).join("");
            var qty = parseInt(nqty)+"";

            if(qty == "NaN")
                qty = 0;

            product_qty.value = qty;
        }

        if(clearProductQty)
            product_qty = false;
    }
}

function updateCart(g_photo_id, e, updateIfZero)
{
        if(g_photo_id && e)
        {
            updateCount(g_photo_id, e, updateIfZero, false);
            addToCart(g_photo_id, e);
        }

}

var SESSION_NAME = "";
var SESSION_ID = "";

function addToCart(g_photo_id, e)
{
  var disabled = true;
  var checked = false;

    var str = '<form name="cart_frm" action="/scripts/cart.pl" method=post target="frm_cart"><input type="hidden" name="rm" value="add_to_cart_js"><input type="hidden" name="viewtype" value="js"><input type="hidden" name="' + SESSION_NAME + '" value="' + SESSION_ID + '">';

    try
    {

        if(g_photo_id && e)
        {
            var checkbox = product_qty||e.target||e.srcElement;
            var id = photo_id;
            var pid = checkbox.name;

            var position = '';

            if(checkbox.getAttribute('ptype') == "product")
            {
                try
                {
                    position = document.product_form[pid + "_position"].value;
                }
                catch(e2){}
            }

            str +=  "<input type=hidden name=\"" + checkbox.getAttribute('ptype') + "@" + photo_id + "@" + pid + "@" + position + "\" value=" + checkbox.value + ">";
            product_qty = false;
        }
        else
        {
            for(x=0;x<document.product_form.elements.length;x++)
            {
                    var ptype = document.product_form.elements[x].getAttribute('ptype') ;
                    if(ptype != "" && (ptype+"") != "null")
                    {
                            var id = photo_id;
                            var pid = document.product_form.elements[x].name;

                            var position = '';

                            if(document.product_form.elements[x].getAttribute('ptype') == "product")
                            {
                                    try
                                    {
                                            position = document.product_form[pid + "_position"].value;
                                    }
                                    catch(e2){}
                            }

                            var product_quantity;

                            if(document.product_form.elements[x].type == "checkbox")
                               product_quantity = document.product_form.elements[x].checked?1:0;
                            else
                               product_quantity = document.product_form.elements[x].value;

                            str +=  "<input type=hidden name=\"" + document.product_form.elements[x].getAttribute('ptype') + "@" + photo_id + "@" + pid + "@" + position + "\" value=" + product_quantity + ">";
                    }
            }
        }
    }
    catch(e)
    {
        alert(e.message);
    }

    str += "</form>";

    if(navigator.userAgent.match('MSIE 5') && navigator.userAgent.match('PowerPC'))
    {
        document.frm_cart.document.open();
        document.frm_cart.document.write(str);
        document.frm_cart.document.close();
        document.frm_cart.document.cart_frm.submit();
    }
    else
    {
        document.getElementById('form_contents').innerHTML = str;
        document.cart_frm.submit();
    }
}

function addToMip(product_id, product_photo_id, photo_id, but)
{
    product_id.replace("_mp","");
    var url;

    if(but.value == "Add photo")
    {
        var cart_string = "product@" + photo_id + "@" + product_id + "@=1";
        url = "/scripts/cart.pl?rm=add_to_cart&viewtype=js&" + cart_string + "&" + SESSION_NAME + "=" + SESSION_ID;
        but.value = "Adding photo";
    }
    else
    {
        but.value = "Removing photo";
        url = "/scripts/cart.pl?rm=remove_from_mip&photo_id=" + product_photo_id +  "&photos_id=" + photo_id + "&product_id=" + product_id + "&" + SESSION_NAME + "=" + SESSION_ID;
    }

    //$.getScript(url);

    jQuery.ajax({
              type: "GET",
              url: url,
              dataType: "html",
              success: function()
              {
                    var qtip_api = jQuery('#lbl_' + product_id).qtip("api");

                    if(but.value == "Removing photo")
                    {
                        qtip_api.updateContent("This image has been removed from your CD");
                        but.value = "Add photo";
                    }
                    else
                    {
                        qtip_api.updateContent("This image has been added to your CD");
                        but.value = "Remove photo";
                    }

              }
    });


}

function updatePreviewImage(src)
{
    try
    {
        document.getElementById('em_preview_image').src = src;
    }
    catch(e) {}
}

function parsePageLoaded()
{
        var cookies = document.cookie.split("; ");

        for(x=0;x<cookies.length;x++)
        {
            cookie = cookies[x].split("=");
            if(cookie[0] == "photoPageLoaded")
            {
                var contents = cookie[1].split("~");

                if(contents[0] == DIR)
                {
                    if(current_page == 1)
                    {
                        loading_new_page = true;
                        loadNewPage(contents[1]);
                    }
                }
                break;
            }
        }

        $(window).scroll(function () {

        if(!loading_new_page && current_page < total_pages)
        {
            loading_new_page = true;
            loadNewPage();
        }

    });


}

function forceNewPage(page_id)
{
    $("#tr_page_load_" + page_id).hide();

    if(current_page < total_pages)
    {
        loading_new_page = true;
        loadNewPage();
    }
}

function loadNewPage(uptoPage)
{
        $("#loading_link_" + current_page).html("Loading more images - please wait.");

        var URL = '/Gallery/page?dir=' + DIR + '&page=' + (++current_page) + (uptoPage?('&uptoPage=' + uptoPage):'');
        $.ajax( { url: URL, dataType: 'html', success: function(data) {

                $("#tr_page_load_" + (current_page-1)).hide();

                if(uptoPage)
                {
                    current_page = uptoPage;
                }

                var trbody = $("#photo_table").children()[0];
                $(trbody).html( $(trbody).html()  +  data );
                parseCookies();
                document.cookie = "photoPageLoaded=" + DIR + "~" + current_page + "; path=/;";  //only keep track of one gallery for now
                setTimeout("loading_new_page = false;", 500); //make sure we don't overload the server

                if(current_page >= total_pages)
                        $("#tr_page_load_" + current_page).hide();
        }  } );
}

function hideEventExpiration()
{
    jQuery('#tr_days_to_expire').fadeOut();
    document.cookie = 'hideEventExpiration=1; path=/;';
}

var $downloadDialog;

function downloadImage(dir, photo_id)
{
    $downloadDialog = jQuery('<div id="dlg_download_image"></div>')
          .load("/Cart/download_options?dir=" + dir + "&photo_id=" + photo_id)
          .dialog({
            autoOpen: false,
            title: "Download options",
            width: 800,
            height: 550,
            overlay: {
                backgroundColor: '#000',
                opacity: 0.5
            },
            modal: true,
            bgiframe: true,
            resizable: false,
            close: function() { $downloadDialog.dialog('destroy'); $downloadDialog.html(""); },
            buttons: {
                'Purchase': purchaseImage,
                Cancel: function() {
                    $downloadDialog.dialog('destroy');
                    $downloadDialog.html("");
                }
            }

        });

        $downloadDialog.dialog('open');
}

function purchaseImage(event)
{
    jQuery("#download_selection_screen").hide();
    jQuery("#download_please_wait_screen").fadeIn();
    //will do this through Ajax
    jQuery.post("/Cart/complete_download_order", jQuery("#frm_download_image").serialize(), function(data) {

        if(data.success == 1)
        {
            $downloadDialog.dialog('option', 'buttons', {
                                                        'Continue': function() {
                                                            $downloadDialog.dialog('destroy');
                                                        }
                                                    });

            jQuery("#download_order_id").text( data.order_id );

            if(data.download_ready == 1)
            {
                //let's start loading the download
                location = '/Order_download/download_photos_command?order_id=' + data.order_id;
                jQuery("#download_will_start").show();
            }
            else
            {
                jQuery("#download_not_ready").show();
            }

            //order successful
            jQuery("#download_please_wait_screen").hide();
            jQuery("#download_confirmation_screen").fadeIn();

        }
        else
        {

            $downloadDialog.dialog('option', 'buttons', {
                                                        'Retry purchase': purchaseImage,
                                                         Cancel: function() {
                                                            $downloadDialog.dialog('destroy');
                                                            $downloadDialog.html("");
                                                         }
                                                    });

            jQuery("#download_please_wait_screen").hide();
            jQuery("#download_error").html( data.error );
            jQuery("#download_products").hide();
            jQuery("#credit_card_error").show();
            jQuery("#download_selection_screen").fadeIn();
        }

    }, 'json');
}

function showDownloadLicense(id)
{
    jQuery("#download_selection_screen").hide();
    jQuery(".download_eula").hide();
    jQuery("#download_eula_" + id).show();
    jQuery("#download_legal_screen").fadeIn();

    $downloadDialog.dialog('option', 'buttons', {
                                                'Continue': function() {

                                                     jQuery("#download_legal_screen").hide();
                                                     jQuery("#download_selection_screen").fadeIn();

                                                     $downloadDialog.dialog('option', 'buttons', {
                                                        'Purchase': purchaseImage,
                                                        Cancel: function() {
                                                            $downloadDialog.dialog('destroy');
                                                            $downloadDialog.html("");
                                                         }
                                                    });

                                                }
                                            });

}


generateURL = addToCart;


