﻿var IE = document.all?true:false;
var _ScrollY = 0;
var _ScrollX = 0;

function ToggleCssClass(obj, class1, class2)
{
    if (obj.className == class1) 
    {
        obj.className = class2;
    }
    else 
    {
        obj.className = class1;
    }
}

function UpdateChartByFile(objId, filePath) 
{
   var FCObject = (navigator.appName.indexOf("Microsoft") !=-1 && !window.opera) ? window[objId] : document[objId];

   FCObject.SetVariable('_root.xml_file', filePath);
}

function DisplayModal(htmlContent, innerWidth, innerHeight, offsetTop)
{
    document.getElementById("Body").className = "Blurred";
    var modalBody = document.getElementById("ModalBody");
    modalBody.innerHTML = htmlContent;
    if (typeof(innerWidth) != 'undefined')
    {
        modalBody.style.width = innerWidth + "px";
    }
    if (typeof(innerHeight) != 'undefined')
    {
        modalBody.style.height = innerHeight + "px";
    }
    var divModal = document.getElementById("Modal");
    ShowElement(divModal.id);
    _ScrollY = FindScrollY();
    _ScrollX = FindScrollX();
    offsetTop = (typeof(offsetTop) == 'undefined') ? 80 : offsetTop;
    SetObjectPosition(divModal, _ScrollX, offsetTop + _ScrollY, 0, 0);
}
function CloseModal()
{
    HideElement("Modal");
    document.getElementById("Body").className = '';
    window.scrollTo(_ScrollX,_ScrollY);
}
function FindScrollX()
{
    var scrOfX = 0;
    if( typeof( window.pageYOffset ) == 'number' ) 
    {
        //Netscape compliant
        scrOfX = window.pageXOffset;
    } 
    else if( document.body && ( document.body.scrollLeft ) ) {
        //DOM compliant
        scrOfX = document.body.scrollLeft;
    } 
    else if( document.documentElement && ( document.documentElement.scrollLeft ) ) 
    {
        //IE6 standards compliant mode
        scrOfX = document.documentElement.scrollLeft;
    }
    return scrOfX;
}

function FindScrollY() 
{
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) 
  {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } 
  else if( document.body && ( document.body.scrollTop ) ) 
  {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } 
  else if( document.documentElement && ( document.documentElement.scrollTop ) ) 
  {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

function SetObjectPosition(obj, x, y, offsetX, offsetY)
{
    try
    {
        if (typeof(offsetX) == 'undefined')
        {
            offsetX = 0;
        }
        if (typeof(offsetY) == 'undefined')
        {
            offsetY = 0;
        }
        //alert(y);
        obj.x = x;
        obj.y = y;
        obj.style.left = x + offsetX + "px";
        obj.style.top = y + offsetY + "px";
        obj.style.display = "block";
    }
    catch(e)
    {
        alert(e);
    }
}

function HideElement(elementId)
{
    var element = document.getElementById(elementId);
    if (element)
    {
        element.style.display = "none";
    }
}
function ShowElement(elementId)
{
    var element = document.getElementById(elementId);
    if (element)
    {
        element.style.display = "";
    }
}
function ShowHideElement(elementId)
{
    var element = document.getElementById(elementId);
    if (element.style.display == "none") 
    {
        element.style.display = "";
    }
    else 
    {
        element.style.display = "none";
    }
}

function DrawChart(xmlPath, width, height)
{
    var so = new SWFObject("swf/FlashChart/fcp-bars.swf", "flashchart" + size, width, height, 5, "");
    so.addParam("wmode", "transparent");
    so.addVariable("xml_file", xmlPath);
    so.write("GameChart");
}

function RefreshPage()
{
    window.location.reload();
}


//---------------------------
//----- Calendar functions
//---------------------------
var _CalenderDivId = "DivCalendar";
var _CalenderWidth = 223;
var _CalenderHeight = 183;
var _StartDateField = "";
var _EndDateField = "";
var _CheckDatesMessage = "";
var _CalendarSwfPath = "swf/Calendar.swf";

function OpenCalendar(txtObjectId, openerButton, offsetX, offsetY)
{
    try
    {
        var divCalendar = document.getElementById(_CalenderDivId);
        divCalendar.x = FindPosX(openerButton);
        divCalendar.y = FindPosY(openerButton);
        divCalendar.style.left = divCalendar.x + offsetX + "px";
        divCalendar.style.top = divCalendar.y + offsetY + "px";
        divCalendar.style.display = "block";
        divCalendar.style.width = _CalenderWidth + "px";
        divCalendar.style.height = _CalenderHeight + "px";
        var so = new SWFObject(_CalendarSwfPath, "", _CalenderWidth.toString(), _CalenderHeight.toString(), "8", "#ffffff");
        so.addParam("wmode", "transparent");
        so.addVariable("id", txtObjectId);
        // Pass the date to the calendar
        var txtObj = document.getElementById(txtObjectId);
        var strDate = txtObj.value;
        if (strDate != "")
        {
            var currentDate = new Date(strDate);
            so.addVariable("startYear", currentDate.getFullYear());
            so.addVariable("startMonth", currentDate.getMonth());
            so.addVariable("startDay", currentDate.getDate());
        }
        so.write(_CalenderDivId);
    }
    catch(e)
    {
        alert(e);
    }
}

function SetDate(txtObjectId, inDay, inMonth, inYear)
{
    try
    {
        if (    typeof(txtObjectId) != 'undefined'
            && typeof(inDay) != 'undefined'
            && typeof(inMonth) != 'undefined'
            && typeof(inYear) != 'undefined'
            )
        {
            var txtObj = document.getElementById(txtObjectId);
            txtObj.value = GetMonthName(inMonth) + " " + inDay + ", " + inYear;
            HideCalendar();
            if (txtObjectId == _EndDateField)
            {
                CheckDates();
            }
        }
    }
    catch(e)
    {
        alert(e);
    }
}

function CheckDates()
{
    try
    {
        if (IE && _StartDateField != "" && _EndDateField != "")
        {
            var startDate = document.getElementById(_StartDateField).value;
            var endDate = document.getElementById(_EndDateField).value;
            
            if (Date.parse(startDate) > Date.parse(endDate))
            {
                if (_CheckDatesMessage != "")
                {
                    alert(_CheckDatesMessage);
                }
                else
                {
                    alert("The start date can not be later the end date.");
                }
                document.getElementById(_EndDateField).select();
            }
        }
    }
    catch (e)
    {
        alert(e)
    }
}

function HideCalendar()
{
    var divCalendar = document.getElementById(_CalenderDivId);
    divCalendar.style.display = "none";
    divCalendar.x = 0;
    divCalendar.y = 0;
}

function GetMonthName(month)
{
    var strDisplay = "";
    switch (month)
    {
        case 1:
            strDisplay = "Jan";break;
        case 2:
            strDisplay = "Feb";break;
        case 3:
            strDisplay = "Mar";break;
        case 4:
            strDisplay = "Apr";break;
        case 5:
            strDisplay = "May";break;
        case 6:
            strDisplay = "Jun";break;
        case 7:
            strDisplay = "Jul";break;
        case 8:
            strDisplay = "Aug";break;
        case 9:
            strDisplay = "Sep";break;
        case 10:
            strDisplay = "Oct";break;
        case 11:
            strDisplay = "Nov";break;
        case 12:
            strDisplay = "Dec";break;
    }
    return strDisplay;
}



function FindPosX(obj) 
{
    var curleft = 0;

    if (obj.offsetParent) 
    {
        while (obj.offsetParent) 
        {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else
    {
        if (obj.x) { curleft += obj.x; }
    }
    return curleft;
}

function FindPosY(obj) 
{
    var curtop = 0;
    if (obj.offsetParent) 
    {
        while (obj.offsetParent) 
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else
    {
        if (obj.y) { curtop += obj.y; }
    }
    return curtop;
}

function SetSelectedPicture(chkBox, objParentId)
{
    try
    {
        var theForm = document.forms[0];
        
        for (var i = 0 ; i < theForm.elements.length ; i++)
        {
            if (theForm.elements[i].id.indexOf(objParentId) > -1
                && theForm.elements[i].id.indexOf("chkPicture") > -1)
            {
                if (theForm.elements[i].id != chkBox.id)
                {
                    theForm.elements[i].checked = false;
                }
            }
        }
        
        chkBox.checked = true;
    }
    catch(e)
    {
        alert(e);
    }
}

function TellFriend()
{
    try
    {
        var url = "TellFriend.aspx";
        var iframeSrc = "<iframe src=\"" + url + "\" width=\"100%\" height=\"100%\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" scrolling=\"auto\"></iframe>";
        DisplayModal(iframeSrc, 500, 500, 20);
    }
    catch(e) 
    {
        //alert(e);
    }
}
function ContactUs()
{
    try
    {
        var url = "contact.aspx";
        var iframeSrc = "<iframe src=\"" + url + "\" width=\"100%\" height=\"100%\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" scrolling=\"auto\"></iframe>";
        DisplayModal(iframeSrc, 500, 500, 30);
    }
    catch(e) 
    {
        //alert(e);
    }
}

function AddToWishList(bookId)
{
    BookAPrize.WebServices.BooksService.AddToWishList(bookId, AddToWishList_Completed);
}
function AddToWishList_Completed(result)
{
    try
    {
        if (result != "0")
        {
            var hl = document.getElementById("hlAdd" + result);
            hl.className = "SuccessMessage";
            hl.href = "javascript:;";
            hl.innerHTML = "<br/>Book was added!";
        }
    }
    catch(e)
    {
        alert(e);
    }
}
function RemoveFromWishList(bookId)
{
    BookAPrize.WebServices.BooksService.RemoveFromWishList(bookId, RemoveFromWishList_Completed);
}
function RemoveFromWishList_Completed(result)
{
    try
    {
        if (result != "0")
        {
            var hl = document.getElementById("hlRemove" + result);
            hl.className = "SuccessMessage";
            hl.href = "javascript:;";
            hl.innerHTML = "<br/>Book was removed!";
        }
    }
    catch(e)
    {
        alert(e);
    }
}

function SetPrizeReceived(prizeId, checkBox)
{
    var received = 0;
    if (checkBox.checked)
    {
        received = 1;
    }
    BookAPrize.WebServices.UserProfileService.SetPrizeReceived(prizeId, received);
}

