var curr_prod_id = -1;
var aImages;
var currSShotIndex = 0;
var currAppIntro = "";

function showAppIntro(appName) {
    new Effect.ScrollTo("footer", {duration: 0.5});
    
    if (currAppIntro == "") {
        Effect.Appear("app_"+appName, {duration: 0.2});
    }
    else if (currAppIntro != appName) {
        Effect.Fade("app_"+currAppIntro, {duration: 0.2, afterFinish: function(){
            Effect.Appear("app_"+appName, {duration: 0.2});    
        }});
    }
    currAppIntro = appName;
}

function iPhoneOver(picId) {
    $(picId).src = "/app/images/"+picId+"_over.png";
}

function iPhoneOut(picId) {
    $(picId).src = "/app/images/"+picId+".png";
}

// OLD STUFF ////////////////////

function prevSShot()
{
    if (currSShotIndex > 0) {
        currSShotIndex--;
        Effect.Fade("ss_container_img", {duration: 0.3, afterFinish: function() {
            $("ss_container_img").src = aImages[currSShotIndex].src;
            Effect.Appear("ss_container_img", {duration: 0.3});
        }});
    }
    
    $("ss_container_prev").style.opacity = currSShotIndex == 0 ? 0.5 : 1.0;
    $("ss_container_next").style.opacity = currSShotIndex == aImages.length ? 0.5 : 1.0;
}

function nextSShot()
{
    if (currSShotIndex < aImages.length - 1) {
        currSShotIndex++;
        Effect.Fade("ss_container_img", {duration: 0.3, afterFinish: function() {
            $("ss_container_img").src = aImages[currSShotIndex].src;
            Effect.Appear("ss_container_img", {duration: 0.3});
        }})
    }
    
    $("ss_container_prev").style.opacity = currSShotIndex == 0 ? 0.5 : 1.0;
    $("ss_container_next").style.opacity = currSShotIndex == (aImages.length-1) ? 0.5 : 1.0;
}

function showScreenshots(appid, lg)
{
    // Put the iPhone container in the middle of the screen
    $("ss_container").style.left = (document.width-710)/2+"px";
    
    // Fade the page
    Effect.Fade("homepage_container", {to: 0.2, duration: 0.5});
    
    // Get the sshots list for the app
    new Ajax.Request("/app/actions/screenshotsForAppWithId.php", { 
						asynchronous: true, 
						method: "post", 
						parameters: "id="+appid+"&lg="+lg,
						onSuccess: function(request){
							var res = request.responseText.evalJSON(true);
							
							aImages = new Array();
							
							res.each(function(item){
                                var img = new Image();
                                img.src = "/app/assets/products/sshots/large/"+item["image_large"];
                                aImages.push(img);
							});
							
							Effect.Grow('ss_container', {duration: 0.5, afterFinish: function() {
                                $("ss_container_img").src = aImages[0].src;
                                currSShotIndex = 0;
                                Effect.Appear("ss_container_prev", {duration: 0.2, afterFinish: function(){
                                    Effect.Appear("ss_container_img", {duration: 0.3, afterFinish: function() {
                                        Effect.Appear("ss_container_next", {duration: 0.2});                                    
                                        $("ss_container_prev").style.opacity = currSShotIndex == 0 ? 0.5 : 1.0;
                                    }});
                                }});
							}});
                        }});
}

function hideScreenshots()
{
    Effect.Fade("ss_container_img", {duration: 0.3, afterFinish: function() {
        Effect.Fade("ss_container_prev", {duration: 0.1, afterFinish: function(){
            Effect.Appear("ss_container_next", {duration: 0.1, afterFinish: function() {
                Effect.Shrink('ss_container', {duration: 0.5});
                Effect.Appear("homepage_container", {from: 0.2, to: 1.0, duration: 0.5});
            }});
        }});
    }});
}

function moveBack()
{
    var i = 1;
    var index = 0;

    if (curr_prod_id > -1) {    
        // Find the index
        for (i=0;i<$$(".product").length;i++) {
            if ($$(".product")[i].id == "prod_"+curr_prod_id) {
                break;
            }
            index++;
        }

        $$(".ilounge").each(function(prod) {
            Effect.Appear(prod.id, {duration: 0.2});
        });
        
        Effect.Fade("back_"+curr_prod_id, {duration: 0.3});
        Effect.Fade("sshots_"+curr_prod_id, {duration: 0.3});
        Effect.Fade("price_"+curr_prod_id, {duration: 0.3});
        Effect.Fade("details_"+curr_prod_id, {duration: 0.3, afterFinish: function() {
            Effect.MoveBy("mask", 0, (210 * index) + 12, {duration: 0.3 * (index+1), afterFinish: function () {
                $$(".product").each(function(prod) {
                    if (prod.id != "prod_"+curr_prod_id) {
                        Effect.Appear(prod.id, {duration: 0.2});
                    }
                    var a = prod.id.split("_");
                    var nid = a[a.length-1];
                    Effect.Appear("name_link_"+nid);
                });
            }});
        }});
        
        curr_prod_id = -1;  
    }
}

function show_details(id)
{
    if (curr_prod_id == id) {
        return;
    }
    
    curr_prod_id = id;
    var i = 1;
    var index = 0;

    // Find the index
    for (i=0;i<$$(".product").length;i++) {
        if ($$(".product")[i].id == "prod_"+id) {
            break;
        }
        index++;
    }

    $$(".product").each(function(prod) {
        if (prod.id != "prod_"+id) {
            Effect.Fade(prod.id, {duration: 0.2});
        }
    });
    
    $$(".ilounge").each(function(prod) {
        Effect.Fade(prod.id, {duration: 0.2});
    });  
    
    $$("a.name_link").each(function(prod) {
        Effect.Fade(prod.id, {duration: 0.2});
    });  
    
    Effect.Appear("back_"+id, {duration: 0.3});
    Effect.Appear("sshots_"+id, {duration: 0.3});
    Effect.MoveBy("mask", 0, (-210 * index) - 12, {duration: 0.3 * (index+1), afterFinish: function() {
        Effect.BlindDown("details_"+id, {duration: 1.0, afterFinish: function() {
            Effect.Appear("price_"+id, {duration: 0.3});
        }});
    }});
}

function addToMailing()
{
    if ($("email").value == "Your Email" || $("email").value == "") {
        alert("Please type your email address");
        $("email").focus();
        return;
    }
    
    new Ajax.Request("/app/actions/addToMailing.php", { 
						asynchronous: true, 
						method: "post", 
						parameters: $("frm_mailing").serialize(),
						onSuccess: function(request){
							$("submit").value = "Thanks!";
                            $("checkmark").show();
                        }});
}

function gotoMailing()
{
    new Effect.ScrollTo("footer_content", {
            afterFinish: function() {
                new Effect.Highlight("email", {duration: 2.0});
                $("email").focus();
            }
        });
}

function submitContactForm(res)
{
    var params = $("frm_contact").serialize()+"&email="+$("emailct").value;
    //$("submit_contact").disabled = true;
    new Ajax.Request("/app/actions/submitContactForm.php", { 
						asynchronous: true, 
						method: "post", 
						parameters: params,
						onSuccess: function(request){
							$("submit_contact").value = res;
                            $("checkmark_frm_contact").show();
                        }});
}