var $j = jQuery.noConflict();
var g_newsBarInterval = 8000;
var g_newsCount = 0;
var g_actualNews = 1;
var g_newsThis = null;


var ACCORDION_WIDTH = 960;
var ACCORDION_DRAW_ASIDE_WIDTH = 50;
var ACCORDION_EASING_METHOD = "easeOutCirc";
var ACCORDION_SLIDE_TIME = 650;
var g_slidedDivs = null;
var g_hoveredSlideIndex = null;

function setupAccordionImageSlider()
{
    $j("#accordionContainer").find(".accordionImgDiv:first").css("border-left", "0px");
    var slidedDivsList = $j("#accordionContainer .accordionImgDiv");
    g_slidedDivs = new Array;
    var firstDiv = $j("#accordionContainer .accordionImgDiv:first");
    for (var i = 0; i < slidedDivsList.length; i++)
    {
        var obj = new Object();
        obj.name = "#" + $j(firstDiv).attr('id');
        obj.dest = 0;
        obj.out = 0;
        g_slidedDivs.push(obj);
        firstDiv = $j(firstDiv).next(".accordionImgDiv");
    }
    var ribOutWidth = 0;
    ribOutWidth = ACCORDION_WIDTH / g_slidedDivs.length;
    for (var i = 0; i < g_slidedDivs.length; i++)
    {
        $j(g_slidedDivs[i].name).css("margin-left", (i * ribOutWidth) + "px");
        g_slidedDivs[i].dest = i * ribOutWidth;
    }
    $j("#accordionContainer").hover(function ()
    {
        if (true == g_sliderAutoPlay)
        {
            clearTimeout(g_sliderTimerAutoPlay);
        }
        if (g_loadedStripCount < g_slidedDivs.length)
        {
            return;
        }
        $j("#accordionContainer .accordionImgDiv").find(".slideDesc").stop().animate(
        {
            opacity: 0.0
        }, 150);
    }, function ()
    {
        if (g_loadedStripCount < g_slidedDivs.length)
        {
            return;
        }
        mouseOutAccorOnAll(null);
        for (var i = 0; i < g_slidedDivs.length; i++)
        {
            $j(g_slidedDivs[i].name).stop().animate(
            {
                marginLeft: (i * ribOutWidth) + "px"
            }, {
                duration: 900,
                easing: ACCORDION_EASING_METHOD
            });
            g_slidedDivs[i].dest = i * ribOutWidth;
            $j(g_slidedDivs[i].name).find(".slideDesc").stop().animate(
            {
                opacity: 1.0
            }, 1200);
        }
        if (true == g_sliderAutoPlay)
        {
            clearTimeout(g_sliderTimerAutoPlay);
            mouseOutAccorOnAll(null);
            g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
        }
    });
    $j(".accordionImgDiv").hover(function ()
    {
        if (true == g_sliderAutoPlay)
        {
            clearTimeout(g_sliderTimerAutoPlay);
        }
        if (g_loadedStripCount < g_slidedDivs.length)
        {
            return;
        }
        var divID = ("#" + $j(this).attr('id'));
        mouseOutAccorOnAll(divID);
        g_hoveredSlideIndex = $j("#accordionContainer .accordionImgDiv").index(this);
        var context = $j(this)[0];
        $j(".accordionSlideImage", context).find("img").stop().animate(
        {
            opacity: 1.0
        }, 400);
        $j(".accordionDescBack", context).stop().animate(
        {
            bottom: 0,
            opacity: 0.8
        }, 1000);
        $j(".accordionDesc", context).stop().animate(
        {
            bottom: 0,
            opacity: 1.0
        }, 1000);
        $j(".slideStrip", context).stop().animate(
        {
            opacity: 0.0
        }, 200, ACCORDION_EASING_METHOD);
        g_slidedDivs[g_hoveredSlideIndex].out = 0;
        setMoveForAccordionDivs(g_hoveredSlideIndex);
    }, function ()
    {
        if (g_loadedStripCount < g_slidedDivs.length)
        {
            return;
        }
        g_hoveredSlideIndex = null;
        var divID = ("#" + $j(this).attr('id'));
        var index = 0;
        for (var i = 0; i < g_slidedDivs.length; i++)
        {
            if (divID == g_slidedDivs[i].name)
            {
                index = i;
                break;
            }
        }
        if (g_slidedDivs[index].out != 1)
        {
            g_slidedDivs[index].out = 1;
            mouseOutAccor(this);
        }
    });
}
function setMoveForAccordionDivs(index)
{
    for (var i = 0; i < g_slidedDivs.length; i++)
    {
        var context = $j(g_slidedDivs[i].name)[0];
        var object = $j(g_slidedDivs[i].name);
        $j(".slideDesc", context).stop().animate(
        {
            opacity: 0.0
        }, 150);
        if (i < index)
        {
            var newMargin = (i * ACCORDION_DRAW_ASIDE_WIDTH);
            if (g_slidedDivs[i].dest != newMargin)
            {
                object.stop();
                var animTime = ACCORDION_SLIDE_TIME;
                g_slidedDivs[i].dest = newMargin;
                object.animate(
                {
                    marginLeft: newMargin + "px"
                }, {
                    duration: animTime,
                    easing: ACCORDION_EASING_METHOD
                });
            }
            continue;
        }
        if (index == i)
        {
            var newMargin = (i * ACCORDION_DRAW_ASIDE_WIDTH);
            if (g_slidedDivs[i].dest != newMargin)
            {
                object.stop();
                var animTime = ACCORDION_SLIDE_TIME;
                g_slidedDivs[i].dest = newMargin;
                object.animate(
                {
                    marginLeft: newMargin + "px"
                }, {
                    duration: animTime,
                    easing: ACCORDION_EASING_METHOD
                });
            }
            continue;
        }
        if (i > index)
        {
            var newMargin = (ACCORDION_WIDTH - ((g_slidedDivs.length - i) * ACCORDION_DRAW_ASIDE_WIDTH));
            if (g_slidedDivs[i].dest != newMargin)
            {
                object.stop();
                var animTime = ACCORDION_SLIDE_TIME;
                g_slidedDivs[i].dest = newMargin;
                object.animate(
                {
                    "marginLeft": newMargin + "px"
                }, {
                    duration: animTime,
                    easing: ACCORDION_EASING_METHOD
                });
            }
            continue;
        }
    }
}
var g_actualSlideImage = 0;
var g_sliderTimerAutoPlay = null;
var g_sliderTimerInterval = 4500;
var g_sliderAutoPlay = true;
var g_sliderNewLoop = false;
var g_setBackwardBtnOnLast = false;

function accordionPlay()
{
    if (g_loadedStripCount < g_slidedDivs.length)
    {
        if (true == g_sliderAutoPlay)
        {
            g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
        }
        return;
    }
    var timeOut = g_sliderTimerInterval;
    if (BACKWARD == g_lastSlideMoveDirection)
    {
        g_actualSlideImage++;
        if (g_actualSlideImage >= g_slidedDivs.length)
        {
            g_actualSlideImage = 0;
            g_sliderNewLoop = true;
        }
    }
    g_lastSlideMoveDirection = FORWARD;
    g_setBackwardBtnOnLast = false;
    if (true == g_sliderNewLoop)
    {
        ribOutWidth = ACCORDION_WIDTH / g_slidedDivs.length;
        mouseOutAccorOnAll(null);
        for (var i = 0; i < g_slidedDivs.length; i++)
        {
            $j(g_slidedDivs[i].name).stop().animate(
            {
                marginLeft: (i * ribOutWidth) + "px"
            }, {
                duration: 900,
                easing: ACCORDION_EASING_METHOD
            });
            g_slidedDivs[i].dest = i * ribOutWidth;
            $j(g_slidedDivs[i].name).find(".slideDesc").stop().animate(
            {
                opacity: 1.0
            }, 2000);
        }
        timeOut = g_sliderTimerInterval * 2;
        g_sliderNewLoop = false;
        g_setBackwardBtnOnLast = true;
        g_sliderTimerAutoPlay = setTimeout(accordionPlay, timeOut);
        return;
    }
    mouseOutAccorOnAll(null);
    mouseOnAccor(g_slidedDivs[g_actualSlideImage].name);
    g_actualSlideImage++;
    if (g_actualSlideImage >= g_slidedDivs.length)
    {
        g_actualSlideImage = 0;
        g_sliderNewLoop = true;
    }
    if (true == g_sliderAutoPlay)
    {
        g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
    }
}
function setupAccordionAutoPlay()
{
    if (true == g_sliderAutoPlay)
    {
        g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
    }
}
function mouseOnAccor(_this)
{
    var index = 0;
    for (var i = 0; i < g_slidedDivs.length; i++)
    {
        if (("#" + $j(_this).attr('id')) == g_slidedDivs[i].name)
        {
            index = i;
            break;
        }
    }
    g_slidedDivs[index].out = 0;
    $j(_this).find(".accordionSlideImage").find("img").stop().animate(
    {
        opacity: 1.0
    }, 400);
    $j(_this).find(".accordionDescBack").stop().animate(
    {
        bottom: 0,
        opacity: 0.8
    }, 1000);
    $j(_this).find(".accordionDesc").stop().animate(
    {
        bottom: 0,
        opacity: 1.0
    }, 1000);
    $j(_this).find(".slideStrip").stop().animate(
    {
        opacity: 0.0
    }, 300);
    setMoveForAccordionDivs(index);
}
function mouseOutAccor(_this)
{
    var context = $j('#accordionContainer')[0];
    $j(_this, context).find(".accordionSlideImage").find("img").stop().animate(
    {
        opacity: 0.0
    }, 800, function ()
    {
        $j(_this, context).find(".slideStrip").stop().animate(
        {
            opacity: 1.0
        }, 600);
    });
    $j(_this, context).find(".accordionDescBack").stop().animate(
    {
        bottom: -70,
        opacity: 0
    }, 300);
    $j(_this, context).find(".accordionDesc").stop().animate(
    {
        bottom: -70,
        opacity: 0
    }, 300);
}
function mouseOutAccorOnAll(excludedID)
{
    for (var j = 0; j < g_slidedDivs.length; j++)
    {
        if (excludedID != null)
        {
            if (excludedID == g_slidedDivs[j].name)
            {
                continue;
            }
        }
        if (g_slidedDivs[j].out != 1)
        {
            g_slidedDivs[j].out = 1;
            mouseOutAccor(g_slidedDivs[j].name);
        }
    }
}
var FORWARD = true;
var BACKWARD = false;
var g_lastSlideMoveDirection = FORWARD;

function setupAccordionControlPanel()
{
    $j("#accorControlBtnDesc").fadeTo(0, 0.0);
    $j("#accorPlayBtn").click(function ()
    {
        g_sliderAutoPlay = !g_sliderAutoPlay;
        if (false == g_sliderAutoPlay)
        {
            clearTimeout(g_sliderTimerAutoPlay);
            mouseOutAccorOnAll(null);
            var ribOutWidth = ACCORDION_WIDTH / g_slidedDivs.length;
            for (var i = 0; i < g_slidedDivs.length; i++)
            {
                $j(g_slidedDivs[i].name).stop().animate(
                {
                    marginLeft: (i * ribOutWidth) + "px"
                }, {
                    duration: 900,
                    easing: ACCORDION_EASING_METHOD
                });
                g_slidedDivs[i].dest = i * ribOutWidth;
                $j(g_slidedDivs[i].name).find(".slideDesc").stop().animate(
                {
                    opacity: 1.0
                }, 2000);
            }
        }
        else
        {
            g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
        }
        if (true == g_sliderAutoPlay)
        {
            $j(this).attr("src", "img/slider/accordion/control/pause_hover.png");
        }
        else
        {
            $j(this).attr("src", "img/slider/accordion/control/play_hover.png");
        }
    });
    $j("#accorPlayBtn").hover(function ()
    {
        $j("#accorControlBtnDesc").text("turn off/on slider auto play").fadeTo("slow", 1.0);
        if (false == g_sliderAutoPlay)
        {
            $j(this).attr("src", "img/slider/accordion/control/play_hover.png");
        }
        else
        {
            $j(this).attr("src", "img/slider/accordion/control/pause_hover.png");
        }
    }, function ()
    {
        if (false == g_sliderAutoPlay)
        {
            $j(this).attr("src", "img/slider/accordion/control/play.png");
        }
        else
        {
            $j(this).attr("src", "img/slider/accordion/control/pause.png");
        }
        $j("#accorControlBtnDesc").stop().fadeTo(0, 0.0);
    });
    $j("#accorBackBtn").hover(function ()
    {
        $j("#accorControlBtnDesc").text("previous slide").fadeTo("slow", 1.0);
        $j(this).attr("src", "img/slider/accordion/control/back_hover.png");
    }, function ()
    {
        $j(this).attr("src", "img/slider/accordion/control/back.png");
        $j("#accorControlBtnDesc").stop().fadeTo(0, 0.0);
    });
    $j("#accorBackBtn").click(function ()
    {
        clearTimeout(g_sliderTimerAutoPlay);
        if (FORWARD == g_lastSlideMoveDirection)
        {
            g_actualSlideImage--;
        }
        g_lastSlideMoveDirection = BACKWARD;
        if (false == g_setBackwardBtnOnLast)
        {
            mouseOutAccorOnAll(null);
            g_actualSlideImage--;
            if (true == g_sliderNewLoop)
            {
                g_sliderNewLoop = false;
            }
            if (0 > g_actualSlideImage)
            {
                if (g_actualSlideImage == -2)
                {
                    g_actualSlideImage = g_slidedDivs.length - 2;
                }
                else
                {
                    g_actualSlideImage = g_slidedDivs.length - 1;
                }
            }
            mouseOnAccor(g_slidedDivs[g_actualSlideImage].name);
        }
        else
        {
            mouseOutAccorOnAll(null);
            g_actualSlideImage = g_slidedDivs.length - 1;
            mouseOnAccor(g_slidedDivs[g_actualSlideImage].name);
            g_setBackwardBtnOnLast = false;
        }
        if (true == g_sliderAutoPlay)
        {
            g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
        }
    });
    $j("#accorForwardBtn").hover(function ()
    {
        $j("#accorControlBtnDesc").text("next slide").fadeTo("slow", 1.0);
        $j(this).attr("src", "img/slider/accordion/control/forward_hover.png");
    }, function ()
    {
        $j(this).attr("src", "img/slider/accordion/control/forward.png");
        $j("#accorControlBtnDesc").stop().fadeTo(0, 0.0);
    });
    $j("#accorForwardBtn").click(function ()
    {
        clearTimeout(g_sliderTimerAutoPlay);
        g_sliderNewLoop = false;
        if (BACKWARD == g_lastSlideMoveDirection)
        {
            g_actualSlideImage++;
            if (g_actualSlideImage >= g_slidedDivs.length)
            {
                g_actualSlideImage = 0;
                g_sliderNewLoop = true;
            }
        }
        g_lastSlideMoveDirection = FORWARD;
        mouseOutAccorOnAll(null);
        mouseOnAccor(g_slidedDivs[g_actualSlideImage].name);
        g_actualSlideImage++;
        if (g_actualSlideImage >= g_slidedDivs.length)
        {
            g_actualSlideImage = 0;
            g_sliderNewLoop = true;
        }
        if (true == g_sliderAutoPlay)
        {
            g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
        }
    });
}
function setupAdditionalCufonFontReplacement()
{
    Cufon.replace(".tabHeader", {
        fontWeight: 400
    });
    Cufon.replace(".tabsHeader", {
        fontWeight: 700
    });
    Cufon.replace(".accordionDescHeader", {
        fontWeight: 700
    });
    Cufon.replace("#servicesProductsHeader", {
        fontWeight: 300
    });
    Cufon.replace("#latestNewsHeader", {
        fontWeight: 300
    });
}
function setupLatestNews()
{
    $j(".lastNews").hover(function ()
    {
        $j(this).find(".lastNewsTitle").css("color", "#222");
    }, function ()
    {
        $j(this).find(".lastNewsTitle").css("color", "#444");
    });
}
g_loadedSlideCount = 0;
g_imgList = null;

function checkAccordionLoading()
{
    if (g_loadedSlideCount < g_imgList.length)
    {
        setupLoadingAsynchronousImagesForAccordion();
    }
}
function setupLoadingAsynchronousImagesForAccordion()
{
    if (g_imgList == null)
    {
        var imgDivsList = $j("#accordionContainer .asyncImgLoadAccordion");
        g_imgList = new Array;
        var firstDiv = $j("#accordionContainer .accordionImgDiv:first");
        var imgDiv = $j(firstDiv).find(".asyncImgLoadAccordion");
        for (var i = 0; i < imgDivsList.length; i++)
        {
            var obj = new Object();
            obj.id = "#" + $j(imgDiv).attr('id');
            g_imgList.push(obj);
            firstDiv = $j(firstDiv).next(".accordionImgDiv");
            imgDiv = $j(firstDiv).find(".asyncImgLoadAccordion");
        }
    }
    if (g_loadedSlideCount < g_imgList.length)
    {
        g_loadedSlideCount++;
        loadAccordionImg(g_imgList[g_loadedSlideCount - 1].id, g_loadedSlideCount - 1);
        setTimeout(setupLoadingAsynchronousImagesForAccordion, 500);
    }
    function loadAccordionImg(id, _index)
    {
        var loader = $j(id);
        var imagePath = loader.attr('title');
        var img = new Image();
        $j(img).css("opacity", "0.0").load(function ()
        {
            loader.append(this).removeAttr('title');
            loader.css("background-image", "none");
            $j(this).css("margin", "0px").css("opacity", "0.0");
            if (_index == g_hoveredSlideIndex)
            {
                $j(this).animate(
                {
                    opacity: 1.0
                }, 500);
            }
        }).attr('src', imagePath);
    }
}
var g_loadedStripCount = 0;
var g_stripList = null;

function setupLoadingAsyncSlideStripImages()
{
    if (g_stripList == null)
    {
        var imgDivsList = $j("#accordionContainer .slideStrip");
        g_stripList = new Array;
        var firstDiv = $j("#accordionContainer .accordionImgDiv:first");
        var imgDiv = $j(firstDiv).find(".slideStrip");
        for (var i = 0; i < imgDivsList.length; i++)
        {
            var obj = new Object();
            obj.id = imgDiv;
            g_stripList.push(obj);
            firstDiv = $j(firstDiv).next(".accordionImgDiv");
            imgDiv = $j(firstDiv).find(".slideStrip");
        }
    }
    if (g_loadedStripCount < g_stripList.length)
    {
        loadStripImg(g_stripList[g_loadedStripCount].id, g_loadedStripCount);
    }
    else
    {
        clearTimeout(g_sliderTimerAutoPlay);
        g_sliderTimerAutoPlay = setTimeout(accordionPlay, g_sliderTimerInterval);
    }
    function loadStripImg(id, _index)
    {
        var loader = $j(id);
        var imagePath = loader.attr('title');
        var img = new Image();
        $j(img).css("opacity", "0.0").load(function ()
        {
            loader.append(this).removeAttr('title');
            g_loadedStripCount++;
            $j(this).css("margin", "0px").css("opacity", "0.0").animate(
            {
                opacity: 1.0
            }, 400, function ()
            {
                loader.css("background-image", "none");
                setTimeout(setupLoadingAsyncSlideStripImages, 20);
            });
        }).attr('src', imagePath);
    }
}
var g_selectedTab = null;
var g_tabsBtnColor = "#3399CC";

function setupTabs()
{
    var tabs = $j(".tabsBtn");
    for (var i = 0; i < tabs.length; i++)
    {
        var defaultTab = null;
        defaultTab = $j(tabs[i]).find(".tabsDefaultTab");
        if (0 != defaultTab.length)
        {
            var tabSource = $j(tabs[i]).find(".tabsSource").text();
            $j(tabSource).css("visibility", "visible").css("top", 0);
            $j(tabs[i]).each(function ()
            {
                g_selectedTab = this;
            });
            $j(tabs[i]).css("background-color", g_tabsBtnColor);
            break;
        }
    }
    $j(".tabsBtn").click(function ()
    {
        if (g_selectedTab == this)
        {
            return;
        }
        if (g_selectedTab != null)
        {
            $j(g_selectedTab).css("background-color", "#000");
        }
        var oldSource = $j(g_selectedTab).find(".tabsSource").text();
        g_selectedTab = this;
        $j(this).css("background-color", g_tabsBtnColor);
        $j(oldSource).animate(
        {
            opacity: 0.0
        }, 200, function ()
        {
            $j(this).css("visibility", "hidden");
            var tabSource = $j(g_selectedTab).find(".tabsSource").text();
            $j(tabSource).css("opacity", 0.0).css("top", 0).css("visibility", "visible").animate(
            {
                opacity: 1.0
            }, 400);
        });
    });
    $j(".tabsBtn").hover(function ()
    {
        if (this != g_selectedTab)
        {
            $j(this).css("background-color", g_tabsBtnColor);
        }
    }, function ()
    {
        if (this != g_selectedTab)
        {
            $j(this).css("background-color", "#000000");
        }
    });
}
$j(document).ready(function ()
{
	   setupSideBarMiniSlider();
    setupLoadingAsynchronousImages();
    setupTextLabelImagePreview();
    setupFaderMoverSlider();
    setupLoadingAsynchronousImagesForAccordion();
    setupLoadingAsyncSlideStripImages();
    setupAccordionImageSlider();
    setupAccordionAutoPlay();
	
	
	
	
	
});
