﻿/*  TagGeneratorScript.js 
    Nathan A Burn (PureNet - 22nd Jan 2008)
*/


/**** TAG TYPE ****/

function GetTagType(TagType)
{
    window.location = "../" + TagType + "/default.aspx";
}

function GetTagType_Response(sResults)
{
    $get('divTagContent').innerHTML = sResults;
}

/**** TAG SIDE ONE ****/
var SelectedSideOne = "";
var SelectedTextSideOne = "";
var SelectedImageSideOne = "";

function GetSideOne(AttributeID, BaseProductID, DivImage, ImageURL, DivText)
{
    TagGeneratorService.GetTagSideOne(AttributeID, BaseProductID, GetSideOne_Response);
    
    if(SelectedSideOne != "")
    {
        $get(SelectedSideOne).src = SelectedImageSideOne;
        $get(SelectedTextSideOne).style.color = '#999999';
    }
    
    SelectedSideOne = DivImage;
    SelectedTextSideOne = DivText;
    SelectedImageSideOne = $get(DivImage).src;
    SelectedImageSideOne = SelectedImageSideOne.replace("b.", ".")
     
    $get(DivImage).src = ImageURL;
    $get(DivText).style.color = '#000000';
}

function GetSideOne_Response(sResults)
{
    $get('divTagSideOnePreview').innerHTML = sResults;
}


/**** TAG SIDE TWO ****/
var SelectedSideTwo = "";
var SelectedTextSideTwo = "";
var SelectedImageSideTwo = "";

function GetSideTwo(AttributeID, BaseProductID, DivImage, ImageURL, DivText)
{
    TagGeneratorService.GetTagSideTwo(AttributeID, BaseProductID, GetSideTwo_Response);
    
    if(SelectedSideTwo != "")
    {
        $get(SelectedSideTwo).src = SelectedImageSideTwo;
        $get(SelectedTextSideTwo).style.color = '#999999';
    }
    
    SelectedSideTwo = DivImage;
    SelectedTextSideTwo = DivText;
    SelectedImageSideTwo = $get(DivImage).src;
    SelectedImageSideTwo = SelectedImageSideTwo.replace("b.", ".")
     
    $get(DivImage).src = ImageURL;
    $get(DivText).style.color = '#000000';
}

function GetSideTwo_Response(sResults)
{
    $get('divTagSideTwoPreview').innerHTML = sResults;
}



function SetText(divArea, txtBox)
{
    var txtBoxContent = $get(txtBox).value;
    $get(divArea).style.textAlign = 'center';

    if(sSelectedColour == "black") { $get('divBackground1').style.color = '#ffffff'; $get('divBackground2').style.color = '#ffffff'; }
    
    $get(divArea).innerHTML = "<span>" + txtBoxContent + "</span>";
}



function SetUploadedImageSideOne(ImageName, ImagePath)
{
    var iWidth = $get('divImage1').style.width;
    var iHeight = $get('divImage1').style.height;
    
    var sImageTemplate = 'TemplateOne';
    TagGeneratorService.SetImage(ImageName, ImagePath, iWidth, iHeight, sImageTemplate, SetUploadedImage_ResponseSideOne);
}

function SetUploadedImage_ResponseSideOne(sResult)
{
    $get('divImage1').innerHTML = sResult;
}

function SetUploadedImageSideTwo(ImageName, ImagePath)
{
    var iWidth = $get('divImageB1').style.width;
    var iHeight = $get('divImageB1').style.height;

    var sImageTemplate = 'TemplateTwo';
    TagGeneratorService.SetImage(ImageName, ImagePath, iWidth, iHeight, sImageTemplate, SetUploadedImage_ResponseSideTwo);
}

function SetUploadedImage_ResponseSideTwo(sResult)
{
    $get('divImageB1').innerHTML = sResult;
}



var sSelectedColour = 'white';
var sCurrentColour = 'white';

function SetColour(sNewColour)
{
    TagGeneratorService.SetColourSession(sNewColour);
    
    var urlBackground = $get('divBackground1').style.backgroundImage;
    var newUrlBackground = urlBackground.replace(sSelectedColour, sNewColour);
    $get('divBackground1').style.backgroundImage = newUrlBackground;
    
    var urlBackground = $get('divBackground2').style.backgroundImage;
    var newUrlBackground = urlBackground.replace(sSelectedColour, sNewColour);
    $get('divBackground2').style.backgroundImage = newUrlBackground;
    
    // SET FONT TO 'WHITE' FOR BLACK BACKGROUND
    if (sNewColour == 'black') { $get('divBackground1').style.color = '#ffffff'; $get('divBackground2').style.color = '#ffffff'; }
    else { $get('divBackground1').style.color = '#000000'; $get('divBackground2').style.color = '#000000'; }
    
    var ImgSelectedColour = $get(sSelectedColour).src;
    ImgSelectedColour = ImgSelectedColour.replace("b.gif", ".gif");
    $get(sSelectedColour).src = ImgSelectedColour;
    
    // DOUBLE CHECK ALL COLOURS ARE UNSELECTED [USED FOR 'EDIT']
    var sHTML = $get('divTagColourSelector').innerHTML;
    sHTML = sHTML.replace("b.gif", ".gif");
    $get('divTagColourSelector').innerHTML = sHTML;
    
    var ImgNewColour = $get(sNewColour).src;
    ImgNewColour = ImgNewColour.replace(".gif", "b.gif");
    $get(sNewColour).src = ImgNewColour;
    
    sSelectedColour = sNewColour;
    sCurrentColour = sNewColour;
}

function ResetColour()
{
    var urlBackground = $get('divBackground1').style.backgroundImage;
    var newUrlBackground = urlBackground.replace(sCurrentColour, sSelectedColour);
    $get('divBackground1').style.backgroundImage = newUrlBackground;
    
    var urlBackground = $get('divBackground2').style.backgroundImage;
    var newUrlBackground = urlBackground.replace(sCurrentColour, sSelectedColour);
    $get('divBackground2').style.backgroundImage = newUrlBackground;
    
    // SET FONT TO 'WHITE' FOR BLACK BACKGROUND
    if (sSelectedColour == 'black') { $get('divBackground1').style.color = '#ffffff'; $get('divBackground2').style.color = '#ffffff'; }
    else { $get('divBackground1').style.color = '#000000'; $get('divBackground2').style.color = '#000000'; }
    
    sCurrentColour = sSelectedColour;
}

function ShowColour(sNewColour)
{
    var urlBackground = $get('divBackground1').style.backgroundImage;
    var newUrlBackground = urlBackground.replace(sCurrentColour, sNewColour);
    $get('divBackground1').style.backgroundImage = newUrlBackground;
    
    var urlBackground = $get('divBackground2').style.backgroundImage;
    var newUrlBackground = urlBackground.replace(sCurrentColour, sNewColour);
    $get('divBackground2').style.backgroundImage = newUrlBackground;
    
    // SET FONT TO 'WHITE' FOR BLACK BACKGROUND
    if (sNewColour == 'black') { $get('divBackground1').style.color = '#ffffff'; $get('divBackground2').style.color = '#ffffff'; }
    else { $get('divBackground1').style.color = '#000000'; $get('divBackground2').style.color = '#000000'; }
    
    sCurrentColour = sNewColour;
}


/**** TAG ORDER ****/

function GetOrder()
{   
    var tagSideOne = $get('divBackground1').innerHTML;
    var tagSideTwo = $get('divBackground2').innerHTML;
    var imageSideOne = $get('divBackground1').style.backgroundImage;
    var imageSideTwo = $get('divBackground2').style.backgroundImage;
    
    // SEARCH FOR TEXT BOXES - RETRIEVE 'VALUE'    
    var tagPreview = $get('divTagPreview').innerHTML;
        
    var tagSideOneTxtBoxes = new Array();
    var countOne = 0;
    
    for (i = 1; i <= 3; i++)
    {
        if (tagPreview.search('txtText' + i) != -1)
        {
            tagSideOneTxtBoxes[countOne] = $get('txtText' + i).value;
            countOne++;
        }
    }
    
    // SEARCH FOR TEXT BOXES - RETRIEVE 'VALUE'
    
    var tagSideTwoTxtBoxes = new Array();
    var countTwo = 0;
    
    for (i = 1; i <= 3; i++)
    {        
        if (tagPreview.search('txtTextB' + i) != -1)
        {
            tagSideTwoTxtBoxes[countTwo] = $get('txtTextB' + i).value;
            countTwo++;
        }
    }
    
    TagBuilderHTML = $get('divTagContent').innerHTML;
    
    var bIEBrowser = false;
    if(navigator.appVersion.search('MSIE') > -1)
    {
        bIEBrowser = true;
    }
    
    TagGeneratorService.GetTagOrder(tagSideOne, tagSideTwo, imageSideOne, imageSideTwo, tagPreview, tagSideOneTxtBoxes, tagSideTwoTxtBoxes, bIEBrowser, GetOrder_Response);
}

var TagBuilderHTML = "";

function GetOrder_Response(sResults)
{
    scroll(0,0);
    $get('divTagContent').innerHTML = sResults;
}

function GetEditTag()
{
    scroll(0,0);
    $get('divTagContent').innerHTML = TagBuilderHTML;
}

function SetImage(DivImage, ImageURL, DivText, FontColour)
{
    var CurrentImage = $get(DivImage).src;
    
    if ((DivImage != SelectedSideOne) && (DivImage != SelectedSideTwo))
    {
        $get(DivImage).src = ImageURL;
        $get(DivText).style.color = FontColour;
    }
}

var Scrolling = false;

function GetLeftScroll(DivTag, ImgScroll)
{
    Scrolling = true;
    setTimeout("ContLeftScroll('" + DivTag + "', '" + ImgScroll + "')",1);
}

function ContLeftScroll(DivTag, ImgScroll)
{
    $get(DivTag).scrollLeft -= 1;

    // SCROLL BUTTON RIGHT 'TURN BLUE'
    var ImgScrollRight = ImgScroll.replace("Left", "Right");
    var sImgSrc = $get(ImgScrollRight).src;
        
    if(sImgSrc.search("scrollRight.gif") == -1)
    {
        sImgSrc =  sImgSrc.replace("Grey.gif", ".gif");
        $get(ImgScrollRight).src = sImgSrc;       
    }
    
    // SCROLL BUTTON LEFT 'TURN GREY' IF AT SCROLL START
    if($get(DivTag).scrollLeft == 0) 
    { 
        var sImgSrcLeft = $get(ImgScroll).src;
        
        if(sImgSrcLeft.search("scrollLeftGrey.gif") == -1)
        {
            sImgSrcLeft =  sImgSrcLeft.replace(".gif", "Grey.gif");
            $get(ImgScroll).src = sImgSrcLeft;
        }
    }
    
    if(Scrolling == true) { setTimeout("ContLeftScroll('" + DivTag + "', '" + ImgScroll + "')",1); } 
}

function GetRightScroll(DivTag, ImgScroll)
{
    Scrolling = true;
    setTimeout("ContRightScroll('" + DivTag + "', '" + ImgScroll + "')",1);
}

function ContRightScroll(DivTag, ImgScroll)
{
    var sScroll = $get(DivTag).scrollLeft;
    $get(DivTag).scrollLeft += 1;
    
    // SCROLL BUTTON RIGHT 'TURN GREY' IF AT END OF SCROLL
    if(sScroll == $get(DivTag).scrollLeft)
    {
        var sImgSrc = $get(ImgScroll).src;
        
        if(sImgSrc.search("scrollRight.gif") != -1)
        {
            sImgSrc =  sImgSrc.replace(".gif", "Grey.gif");
            $get(ImgScroll).src = sImgSrc;
        }        
    }
    
    // SCROLL BUTTON LEFT 'TURN BLUE' IF NOT AT START OF SCROLL
    if($get(DivTag).scrollLeft > 0) 
    { 
        var ImgScrollLeft = ImgScroll.replace("Right", "Left");
        var sImgSrc = $get(ImgScrollLeft).src;
        sImgSrc =  sImgSrc.replace("Grey.gif", ".gif");
        $get(ImgScrollLeft).src = sImgSrc;
    }
    
    if(Scrolling == true) { setTimeout("ContRightScroll('" + DivTag + "', '" + ImgScroll + "')",1); } 
}

function StopScroll()
{
    Scrolling = false; 
}

function GetTagConfirmation(TagCode)
{
    var sQty = $get('txtTagQty').value;
    
    if(sQty == "") { alert('Please enter a Quantity of Tags!'); }
    
    else 
    {
        var checkInt = new RegExp("[0-9]+");
        var result = checkInt.test(sQty);
    
        if(!result) { alert('Please enter a Quantity of Tags that is a Number value!'); }
        
        else
        {
            var iQty = parseInt(sQty);
            var bCableTie = false;
            // CABLE TIES (ROUND QTY. TO NEAREST 1000)
            if($get('divCableTie') != null) { iQty = (Math.ceil(iQty/1000) * 1000); bCableTie = true; }
            
            var sAddInfo = $get('txtAddInfo').value;
            TagGeneratorService.AddTagToBasket(TagCode, iQty, sAddInfo, bCableTie, GetTagConfirmation_Response);
        }
    }
}

function GetTagConfirmation_Response()
{
     window.location = "../basket/default.aspx";    
}
