var path_base = "";
var imageList = new Array();
var imageCounter = 0;
var imageUrl = "";
var imageUrlPrevious = "";

function imageSwap() {
    var imageData = imageList[Math.floor(Math.random() * imageCounter)];
    
    imageUrlPrevious = imageUrl;
    imageUrl = "url(" + path_base + "/" + imageData.imagePath + imageData.imageName + "_crt2.png" + ")";
    
    imageCache = new Image();
    imageCache.src = path_base + "/" + imageData.imagePath + imageData.imageName + "_crt2.png";
    
    $("#slideshow_overlay").css({
        "backgroundPosition": "50% 50%",
        "background-image": imageUrlPrevious
    });
    
    $("#slideshow").css({
        "background-image":imageUrlPrevious,
        "backgroundPosition":"50% 50%"
    }).delay(8000).find("#slideshow_overlay").css({
        "display":"none",
        "background-image":imageUrl,
        "backgroundPosition":"50% 50%"
    }).delay(2000).fadeIn(2000);
    
    window.setTimeout("imageSwap()", 12000);
}

function addImportList(id, name) {
    importArray[importMax++] = {
        "id":id,
        "name":name,
        "status":0
    }
}

function addConvertList(id, type) {
    convertArray[convertMax++] = {
        "id":id,
        "type":type,
        "status":0
    }
}

function processList() {
    var output = "<p>" + importMax + " images import, " + convertMax + " images convert</p>";
    
    for (var key in importArray) {
        output += "<div id=\"convertImage" + importArray[key].id + "\">" + importArray[key].name + "<span class=\"thumb\"></span><span class=\"crt1\"></span><span class=\"crt2\"></span><span class=\"crt1i\"></span><span class=\"crt2i\"></span></div>\n";
    }
    
    $("#convert").html(output);
    
    window.setTimeout("updateList()", 1000);
}

function updateList() {
    var active = 0;
    for (var key in convertArray) {
        var output = "";
        
        switch (convertArray[key].status) {
        case 0:
            if (active < 3) {
                convertArray[key].status = 1;
                active++;
                output = "init";
                
                $.getJSON(
                    "crt.php?imageID=" + convertArray[key].id + "&key=" + key + "&mode=" + convertArray[key].type,
                    function(data) {
                        if (data.result > 0) {
                            convertArray[data.key].status = 2;
                        } else {
                            convertArray[data.key].status = -1;
                        }
                    }
                );
                convertArray[key].thumb = 2; // converting

            } else {
                output = "wait";
            }
            break;
        
        case 1:
            active++;
            output = "busy";
            break;

        case 2:
            output = "okay";
            break;
        
        default:
            output = "fail";
            break;
        }
        
        $("#convertImage" + convertArray[key].id + " ." + convertArray[key].type).html(output);
    }
    
    window.setTimeout("updateList()", 1000);
}


/*
function updateConvertList() {
    var scan = true;
    var key = 0;
    
    for (var count in convertArray) {
        if (scan) {
            if (convertArray[count].status == 0) {
                if (
                    (convertArray[count].thumb == 3) &&
                    (convertArray[count].crt1 == 3) &&
                    (convertArray[count].crt2 == 3) &&
                    (convertArray[count].crt1i == 3) &&
                    (convertArray[count].crt2i == 3)
                ) {
                    convertArray[count].status = 1;
                    $(imageID).removeClass("busy").addClass("ok");
                }
            }
            
            if (convertArray[count].status == 0) {
                key = count;
                
                var imageID = "#convertImage" + convertArray[key].id;
                
                scan = false;
                
                if (convertArray[key].thumb == 1) {  // convert
                    $(imageID).addClass("busy");
                    $.getJSON(
                        "crt.php?imageID=" + convertArray[key].id + "&mode=thumb",
                        function(data) {
                            if (data.result < 0) {
                                $(imageID + " .thumb").html("xx");
                            } else {
                                $(imageID + " .thumb").html("ok");
                            }
//                            alert("crt1");
                            convertArray[key].thumb = 3; // finished
                        }
                    );
                    convertArray[key].thumb = 2; // converting
                } else if (convertArray[key].thumb == 0) {
                    convertArray[key].thumb = 3; // finished
                } else if (convertArray[key].thumb == 2) {
                    $.getJSON(
                        "thumb.json",
                        function(data) {
                            $(imageID + " .thumb").html(Math.round(data.progress * 100) + "%");
                        }
                    );
                }
                
                if (convertArray[key].crt1 == 1) {  // convert
                    $(imageID).addClass("busy");
                    $.getJSON(
                        "crt.php?imageID=" + convertArray[key].id + "&mode=crt1",
                        function(data) {
                            if (data.result < 0) {
                                $(imageID + " .crt1").html("xx");
                            } else {
                                $(imageID + " .crt1").html("ok");
                            }
//                            alert("crt1");
                            convertArray[key].crt1 = 3; // finished
                        }
                    );
                    convertArray[key].crt1 = 2; // converting
                } else if (convertArray[key].crt1 == 0) {
                    convertArray[key].crt1 = 3; // finished
                } else if (convertArray[key].crt1 == 2) {
                    $.getJSON(
                        "crt1.json",
                        function(data) {
                            $(imageID + " .crt1").html(Math.round(data.progress * 100) + "%");
                        }
                    );
                }
                
                if (convertArray[key].crt2 == 1) {
                    $(imageID).addClass("busy");
                    $.getJSON(
                        "crt.php?imageID=" + convertArray[key].id + "&mode=crt2",
                        function(data) {
                            if (data.result < 0) {
                                $(imageID + " .crt2").html("xx");
                            } else {
                                $(imageID + " .crt2").html("ok");
                            }
//                            alert("crt2");
                            convertArray[key].crt2 = 3;
                        }
                    );
                    convertArray[key].crt2 = 2;
                } else if (convertArray[key].crt2 == 0) {
                    convertArray[key].crt2 = 3;
                } else if (convertArray[key].crt2 == 2) {
                    $.getJSON(
                        "crt2.json",
                        function(data) {
                            $(imageID + " .crt2").html(Math.round(data.progress * 100) + "%");
                        }
                    );
                }
                
                if (convertArray[key].crt1i == 1) {
                    $(imageID).addClass("busy");
                    $.getJSON(
                        "crt.php?imageID=" + convertArray[key].id + "&mode=crt1i",
                        function(data) {
                            if (data.result < 0) {
                                $(imageID + " .crt1i").html("xx");
                            } else {
                                $(imageID + " .crt1i").html("ok");
                            }
//                            alert("crt1i");
                            convertArray[key].crt1i = 3;
                        }
                    );
                    convertArray[key].crt1i = 2;
                } else if (convertArray[key].crt1i == 0) {
                    convertArray[key].crt1i = 3;
                } else if (convertArray[key].crt1i == 2) {
                    $.getJSON(
                        "crt1i.json",
                        function(data) {
                            $(imageID + " .crt1i").html(Math.round(data.progress * 100) + "%");
                        }
                    );
                }
                
                if (convertArray[key].crt2i == 1) {
                    $(imageID).addClass("busy");
                    $.getJSON(
                        "crt.php?imageID=" + convertArray[key].id + "&mode=crt2i",
                        function(data) {
                            if (data.result < 0) {
                                $(imageID + " .crt2i").html("xx");
                            } else {
                                $(imageID + " .crt2i").html("ok");
                            }
//                            alert("crt2i");
                            convertArray[key].crt2i = 3;
                        }
                    );
                    convertArray[key].crt2i = 2;
                } else if (convertArray[key].crt2i == 0) {
                    convertArray[key].crt2i = 3;
                } else if (convertArray[key].crt2i == 2) {
                    $.getJSON(
                        "crt2i.json",
                        function(data) {
                            $(imageID + " .crt2i").html(Math.round(data.progress * 100) + "%");
                        }
                    );
                }
                
//                alert(key + ":" + convertArray[key].crt1 + ":" + convertArray[key].crt2 + ":" + convertArray[key].crt1i + ":" + convertArray[key].crt2i);
            }
        }
    }
    
    window.setTimeout("updateConvertList()", 400);
}
 
function displayProgress() {
    $.get("progress.txt", function(data) {
        var imageID = crtList[crtListCounter];
        var imageSize = crtSize[crtListCounter];
        var displayObj = $("#image" + imageID + "crt" + imageSize);

        if (displayObj) {
            displayObj.attr("class", "busy").html(Math.round(data * 100) + "%");
        } else {
            $("#errorMessage").html("display error " + imageID + ", " + imageSize);
        }
    });
}
*/

$(document).ready(function() {
    $("#contact").html(function() {
        var address = 'k2 9C67lQ>2:=E@i2>:82o=J496D:D]?6EQm2>:82o=J496D:D]?6Ek^2m';
        var output = '';

        for (var pos = 0; pos < address.length; pos++ ) {
            if (address.charCodeAt(pos) >= 33 && address.charCodeAt(pos) <= 126) {
                output = output + String.fromCharCode(33 + (((address.charCodeAt(pos) - 33) + 47) % (47 * 2)));
            } else {
                output = output + address.charAt(pos);
          }
        }

        return output;
    });

    $("#slideshow").html(function() {
        $.getJSON(path_base + "/game/index.json", "", function(data) {
            $("#slideshow").html("<div id=\"slideshow_overlay\"></div>");

            $.each(data, function(index, item) {
                imageList[imageCounter++] = item;
            });

            imageSwap();
        });

        return "loading...";
    });
    
    $(".palette").css({"display":"none", "position":"absolute"});

    $(".draggable").draggable().hover(function() {
        $(".palette").css({"display":"block"});
    }, function() {
        $(".palette").css({"display":"none"})
    }).mousemove(function(e) {
        $(".palette").css({
            "left":(e.pageX + 16) + "px",
            "top":(e.pageY + 16) + "px"
        });
    });
/*    
    $(".viewItem img").each(function() {
        imgPri = this;
        imgPri_Url = imgPri.src;
        var extPos = 0;
        
        extPos = imgPri_Url.search(/_crt1/);
        if (extPos > 0) {
            imgSec = new Image;
            imgSec_Url = imgPri_Url.substr(0, extPos) + "_crt1i.png";
            
            imgSec.onload = function(){
                window.setInterval("interlace()", 33.3333);
            }
            
            imgSec.src = imgSec_Url;
        }
        
        extPos = imgPri_Url.search(/_crt2/);
        if (extPos > 0) {
            imgSec = new Image;
            imgSec_Url = imgPri_Url.substr(0, extPos) + "_crt2i.png";
            
            imgSec.onload = function(){
                window.setInterval("interlace()", 33.3333);
//                interlace();
            }
            
            imgSec.src = imgSec_Url;
        }
    });
*/
    $("#convert").each(function() {
        processList();
    })
});

function interlace() {
/*
    var benchmark = new Date;
    imgTimePrevious = imgTime;
    imgTime = benchmark.getUTCMilliseconds() + (benchmark.getUTCSeconds() * 1000);
    
    var diff = imgTime - imgTimePrevious;
    
    display = "00000" + diff;
    display = display.substr(display.length - 4);
    
    $(".title").html("<span style=\"background:#000\">" + display + ":" + imgTime + "</span>");
*/
    if (imgFlip) {
//        $(imgPri).css("visibility", "hidden");
        imgPri.src = imgPri_Url;
        imgFlip = false;
    } else {
//        $(imgPri).css("visibility", "visible");
        imgPri.src = imgSec_Url;
        imgFlip = true;
    }
    
//    window.setTimeout("interlace()", 100);
}

var imgPri;
var imgPri_Url;
var imgSec;
var imgSec_Url;
var imgFlip = false;
var imgTime = 0;
var imgTimePrevious = 0;

