﻿/// <reference path="jquery-1.3.1.js" />

//pre send mail
function preSendMail(pageid, senderName, language) {
    var mailAddress = document.getElementById("MailAddress" + pageid).value;

    if (mailAddress != "") {
        sendMail(pageid, senderName, mailAddress, language);
        LayerVisibility('sendMail', 'hide', pageid);
    }
}

//sendmail
function sendMail(pageid, senderName, mailAddress, language) {
    if (pageid == null || senderName == null || mailAddress == null) {
        alert("pageid" + pageid);
        alert("senderName" + senderName);
        alert("mailAddress" + mailAddress);

        return false;
    }
    else {
        if (pageTracker != null) pageTracker._trackPageview("/ajax/mailTo/" + mailAddress);
        
       // new Beckers.Toolbox().SendMail(pageid, senderName, mailAddress, language);

        $.ajax({
        type: "POST",
        data: "{'pageId':" + pageid + ",'senderName':'" + senderName + "','mailAddress':'" + mailAddress+ "','language': '"+language+ "'}",
            dataType: "json",
            url: ajaxBaseUrl + "SendMail",
            contentType: "application/json; charset=utf-8",
            success: function(data, status) {
                var flashObj = document.getElementById("colorguide"); //the flashobject
                if (flashObj) flashObj.sendMailCallback(); //let flash know we are done here.
            }
        });
    }
}

//pre print page
function prePrintPage(pageid) {
    LayerVisibility('print', 'hide', pageid);
    printPage(pageid);
}

//printpage
function printPage(pageid) {
    if (pageid == null) {
        alert("pageid" + pageid);

        return false;
    } else {
        if (pageTracker != null) pageTracker._trackPageview("/ajax/print/" + pageid);
        print();

        return true;
    }
}

//pre send sms
function preSendSMS(pageid) {    
    var number = document.getElementById("number" + pageid).value;
    number = fixNumber(number);

    if (number != null && number != "") {
        sendSMS(number, pageid);        
        LayerVisibility('sms', 'hide', pageid)
    }
}

//send sms
function sendSMS(number, pageid) {
    if (pageid == null || number == null) {
        alert("pageid" + pageid);
        alert("number" + number);

        return false;
    } else {
        if (pageTracker != null) pageTracker._trackPageview("/ajax/sendsms/" + pageid);

        $.ajax({
            type: "POST",
            data: "{'number':" + number + ",'pageId':'" + pageid + "','ajaxKey':'" + ajaxKey + "'}",
            dataType: "json",
            url: ajaxBaseUrl + "SendSMS",
            contentType: "application/json; charset=utf-8"
        });
    }
}

//show or hide layer
function LayerVisibility(layerid, value, pageid) {
    hideLayers(pageid);

    if (value == "hide") {
        $("#" + layerid + pageid).hide();
    }
    else {
        $("#" + layerid + pageid).show();
    }
}

//hidelayers
function hideLayers(pageid) {
    $("#sendMail" + pageid).hide();
    $("#print" + pageid).hide();
    $("#sms" + pageid).hide();
}

//fix phonenumber
function fixNumber(number) {
    if (number == null)
        return false;

    if (number.toString().length < 10)
        return "";        
                
    var firstNumber, secondNumber;
    firstNumber = number.toString().substring(0, 1);
    secondNumber = number.toString().substring(1, 2);

    if (firstNumber == "0" && secondNumber != "0") {
        number = "0046" + number.toString().substr(1);
    }

    return number;    
}


function sendCartAsEmail() {
    var mailAddress = document.getElementById("tabEmailOther").value;
    var senderName = document.getElementById("tabEmailYour").value;

    if (mailAddress != "" && senderName != "") {
        
        $.ajax({
        type: "POST",
            data: "{'senderName':'"+senderName+"','mailAddress':'" + mailAddress + "'}",
            dataType: "json",
            url: ajaxBaseUrl + "SendCartAsMail",
            contentType: "application/json; charset=utf-8"
        });
        
        //TODO: Hide progress or show message that it has been sent
    } else { 
    //TODO: Nice alert
    }
}

//add to toolbox cart
function addToCart(pageid, container ,sender) {
    if (pageid == null) alert("pageid" + pageid);

    if (pageTracker != null) pageTracker._trackPageview("/ajax/addToCart/" + pageid);
    if (sender && $(sender).hasClass("removepaintboxitem"))
    {
        removeFromCart(pageid, container, sender);
    }else
    {
        if (sender) $(sender).addClass("removepaintboxitem");

        $.ajax({
        type: "POST",
            data: "{'pageId':"+pageid+"}",
            dataType: "json",
            url: ajaxBaseUrl + "AddToCart",
            contentType: "application/json; charset=utf-8",
            success: function(data, status) {
            if (container) refreshContainer(container);
               $(".toolBox").addClass("toolBoxInUse");
                var count = $("#toolboxlink").html();
                $("#toolboxlink").html(parseInt(count) + 1);

               $("#addtocart" + pageid).hide();
               $("#removefromcart" + pageid).show();

               var flashObj = document.getElementById("colorguide"); //the flashobject
               if(flashObj) flashObj.addToCartCallback(); //let flash know we are done here.
               return true;
            }
        });
    }
}
//remove from toolbox cart
function removeFromCart(pageid, container, sender) {
    if (pageid == null) alert("pageid" + pageid);
    if (sender) $(sender).removeClass("removepaintboxitem");
    if (pageTracker != null) pageTracker._trackPageview("/ajax/removeFromCart/" + pageid);
    
   $.ajax({
    type: "POST",
        data: "{'pageId':"+pageid+"}",
        dataType: "json",
        url: ajaxBaseUrl + "RemoveFromCart",
        contentType: "application/json; charset=utf-8",
        success: function(data, status) {
               if (container) refreshContainer(container);

                $("#addtocart" + pageid).show();
                $("#removefromcart" + pageid).hide();

                var result = $("#toolboxlink").html();
                $("#toolboxlink").html(parseInt(result) + -1);

                if (result == 0) {
                    $(".toolBox").removeClass("toolBoxInUse");
                };
        }
    });
}

function toggleSelectedCartItem(source, pageId) {
    $.ajax({
        type: "POST",
        data: "{'pageId':" + pageId + "}",
        dataType: "json",
        url: ajaxBaseUrl + "ToggleSelectedCartItem",
        contentType: "application/json; charset=utf-8",
        success: function(data, status) {
            if (data)
                source.checked = true;
            else
                source.checked = false;
        }
    });
}

function refreshContainer(container) {
        showAllResults($(container).closest(".resultContent")[0].id, $(container).closest(".resultContent").find(".allQuery").val());
    //<a href="javascript:showAllResults('<%#TargetContainer %>', '<%#AllQuery %>');" class="showAll">Visa alla</a>
    }


function fullScreen() {
    var obj = document.getElementById("colorguide"); //the flashobject
    var obj_div = document.getElementById("colorguide_div"); //the div

    if (navigator.appName.indexOf("Microsoft") != -1) {
        var winW = document.body.offsetWidth;
        var winH = document.body.offsetHeight;
    } else {
        var winW = window.innerWidth;
        var winH = window.innerHeight;
    }
    obj_div.style.position = "absolute";
    obj_div.style.top = "0px";
    obj_div.style.left = "0px";
    obj.style.width = winW + "px";
    obj.style.height = winH + "px";
    alert("fullscreen obj: " + obj + " h: " + winH + " w: " + winW);

    obj.fullscreenChangedCallback();
    return true;
}

function defaultScreen() {
    var obj = document.getElementById("colorguide"); //the flashobject
    var obj_div = document.getElementById("colorguide_div"); //the div
    obj_div.style.position = "";
    obj_div.style.top = "";
    obj_div.style.left = "";
    obj.style.width = "711px";
    obj.style.height = "499px";

    obj.fullscreenChangedCallback();
    return true;
}