﻿var agent = navigator.userAgent.toLowerCase();
var isChrome = (agent.indexOf('chrome') != -1);
var isFF = (agent.indexOf('firefox') != -1);
var isSaf = (agent.indexOf('safari') != -1);
var isMac = (agent.indexOf('mac') != -1);
var isMoz = (agent.indexOf('mozilla') != -1);
var isIE = (agent.indexOf('msie') != -1);
var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);

var mmselectedview = "mm_screenshots";

//	if (isChrome){
//		setActiveStyleSheet("chrome");
//	}
//	else if (isMac && isFF){
//		setActiveStyleSheet("macff");
//	}
//	else if (isMac && isSaf){
//		setActiveStyleSheet("macsaf");
//	}

//function setActiveStyleSheet(title)
//{
//	var a;
//	for(var i=0; a = document.getElementsByTagName("link")[i]; i++)
//	{
//		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title"))
//		{
//			a.disabled = true;	
//			if(a.getAttribute("title").toLowerCase() == title.toLowerCase())
//			{
//				a.disabled = false;
//			}
//		}
//	}
//}

// Functionality for the multimedia module
function setmultimediaview(object) {

    var mmodule = document.getElementById('multimediamodule');
    window.mmselectedview = object;

    if (mmodule.className.indexOf('openview') != -1) {
        mmodule.className = object + " openview";
    }
    else {
        mmodule.className = object;
    }
    multimediaslide(null);
}

function setmultimediaobjects(object, caption) {

    var mUrl = object.href;
    var mTitle = object.title;
    var mClassName = object.className;
    var mImage = '<img title="' + mTitle + '" src="' + mUrl + '"/>'

    if (isIE) {
        var mVideoClsid = 'classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"'
    }
    else {
        var mVideoClsid = ''
    }

    var mVideo = '<object id="mm_mediaplayer" ' + mVideoClsid + ' type="video/x-ms-wmv" width="640" height="480"><param name="URL" value="' + mUrl + '" /><param name="AutoStart" value="True" /><param name="ShowTracker" value="true" /><param name="ShowControls" value="true" /><param name="ShowGotoBar" value="false" /><param name="ShowDisplay" value="false" /><param name="ShowStatusBar" value="false" /><param name="uiMode" value="full" /></object>'

    var mCategory = object.parentNode.id;
    var mviewer = document.getElementById('mediaviewer');
    var mcaption = document.getElementById('mediacaption');
    var msizes = document.getElementById('mediasizes');
    var mcaptiontext = caption;
    var mmodule = document.getElementById('multimediamodule');

    /* assign a proper z-index to the popup container */
    FixZIndex(mmodule);

    if (document.getElementById('mm_activethumbnail')) {
        document.getElementById('mm_activethumbnail').id = "";
    }
    object.id = "mm_activethumbnail"

    if (mviewer) {
        if (mClassName == "mthumb_screenshots") {
            mviewer.innerHTML = mImage;
            msizes.innerHTML = "";
        }
        else if (mClassName == "mthumb_videos") {
            mviewer.innerHTML = mVideo;
            msizes.innerHTML = "";
        }
        else {
            mviewer.innerHTML = mImage;
            setmultimediawallpaper(mUrl);
        }
    }

    if (mcaption) {

        if (mcaptiontext != null) {
            mcaption.innerHTML = mcaptiontext;
        }
        else {
            mcaption.innerHTML = "";
        }
    }

    if (mmodule.className.indexOf('openview') != -1 && mmodule.className.indexOf('mm_') != -1) {

    }
    else if (mmodule.className.indexOf('openview') != -1 && mmodule.className.length <= 8) {

    }
    else {
        mmodule.className = mmodule.className + " openview";
    }
    scrollPageTo(object, '707');
}
function setmultimediawallpaper(url) {
    var mUrl = url;
    var mFiles = url.substring(url.lastIndexOf('=') + 1);
    var mPath = mUrl.substring(mUrl.lastIndexOf('http://') - 1, mUrl.lastIndexOf('/') + 1)
    var mPFilesFinal = mFiles.split(',')
    var mWallArray = [];
    var mDsize;

    for (var i = 0; i < mPFilesFinal.length; i++) {
        var mSize = parseFloat(mPFilesFinal[i].match(/\d+\.?\d*/g));

        if (mSize >= 273 && mSize <= 283) {
            mDsize = "1024 x 768";
        }
        else if (mSize >= 285 && mSize <= 295) {
            mDsize = "1280 x 960";
        }
        else if (mSize > 99) {
            mDsize = mSize;
        }

        if (mDsize) {
            mWallArray += '<a class="item' + i + '" href="' + mPath + mPFilesFinal[i].toString() + '" target="_blank">' + mDsize + '</a>';
        }
    }
    document.getElementById("mediasizes").innerHTML = mWallArray;

}
function closemultimediamodule(object) {

    var mmodule = document.getElementById('multimediamodule');
    var mviewer = document.getElementById('mediaviewer');
    var mcaption = document.getElementById('mediacaption');
    var msizes = document.getElementById('mediasizes');

    if (mmodule) {

        if (mmodule.className == "openview") {
            mmodule.className = "";
        }
        else {

            mmodule.className = mmselectedview;
        }
        mviewer.innerHTML = "";
        mcaption.innerHTML = "";
        msizes.innerHTML = "";
    }

}


// run onload
if (document.getElementById("multimediamodule")) {
    // show/hide media selector categories if there aren't any thumbnails
    var tempCategoriesCount;
    var tempCategoriesPointer;
    var tempCategoriesClass;
    var aCategories = ["videos", "wallpapers", "screenshots"];
    for (var i = 0; i < aCategories.length; i++) {
        try {
            tempCategoriesCount = getElementsByClassName(document.getElementById("mm_thumbnails"), "mthumb_" + aCategories[i]);
            if (tempCategoriesCount.length == 0) {
                tempCategoriesPointer = getElementsByClassName(document.getElementById("multimediamodule"), "mm_" + aCategories[i]);
                tempCategoriesPointer[0].style.display = "none";
            } else if (window.mmselectedview == "") {
                setmultimediaview("mm_" + aCategories[i]);
            }
        } catch (err) {
            // fail silently
        }
    }
    multimediaslide(null);
}

// check for animation running, if yes, then disable next/previous
var animationRunning = 0;
try {
    document.getElementById("mediaprevious").onclick = document.getElementById("medianext").onclick = function() {
        if (animationRunning == 0) {
            multimediaslide(this);
        }
    }
} catch (err) {
    // fail silently
}
    
function multimediaslide(buttonObj) {
    var oPrevious = document.getElementById("mediaprevious");
    var oNext = document.getElementById("medianext");
    var oSlideTrack = document.getElementById("mm_thumbnails");
    var iSpace = 156;
    var styleNew;
    var aThumbObj = [];
    var sThumbClass;

    if (window.mmselectedview.indexOf("videos") != -1) {
        sThumbClass = "mthumb_videos";
    } else if (window.mmselectedview.indexOf("wallpapers") != -1) {
        sThumbClass = "mthumb_wallpapers";
    } else {
        sThumbClass = "mthumb_screenshots";
    }
    aThumbObj = getElementsByClassName(oSlideTrack, sThumbClass);

    // show/hide previous/next buttons if there aren't enough thumbnails
    if (aThumbObj.length <= 3) {
        oPrevious.style.display = "none";
        oNext.style.display = "none";
    } else {
        oNext.style.display = "block";
    }


    if (buttonObj != null) {
        iSpace *= (buttonObj.id.indexOf("previous") != -1) ? 1 : -1;
    } else {
        iSpace = 0;
    }

    try {
        styleNew = parseInt(aThumbObj[0].style.left) + iSpace;
        if (styleNew == "0" || styleNew == "" || buttonObj == null) {
            oPrevious.style.display = "none";
        } else if (aThumbObj.length - (styleNew / iSpace) == 3) {
            oNext.style.display = "none";
            oPrevious.style.display = "block";
        } else {
            oPrevious.style.display = "block";
        }
        for (var i = 0; i < aThumbObj.length; i++) {
            if (buttonObj != null) {
                multimediaslideAnimation(aThumbObj[i], iSpace, 30);
            } else {
                aThumbObj[i].style.left = iSpace + "px";
            }
        }
    } catch (err) {
        // fail silently
    }
}

function multimediaslideAnimation(oAnimate, iMove, timeInterval) {
    var styleCurrent;

    animationRunning++;
    styleCurrent = oAnimate.style.left;
    oAnimate.style.left = (styleCurrent == "") ? "0px" : styleCurrent;

    if (oAnimate.slideEffect) {
        window.clearInterval(oAnimate.slideEffect);
    }

    var stepProgress = 0;
    oAnimate.slideEffect = window.setInterval(
		function() {
		    oAnimate.style.left = parseInt(oAnimate.style.left) + (iMove / 6) + "px";
		    stepProgress++;
		    if (stepProgress == 6) {
		        window.clearInterval(oAnimate.slideEffect);
		        animationRunning--;
		    }
		}
		, timeInterval);
}

function scrollPageTo(object, offset) {

    if (typeof (object) != 'object') {
        object = document.getElementById(object);
    }

    if (!offset) {
        offset = 0;
    }

    var nX = nY = 0;
    if (object.offsetParent) {
        do {
            nX += object.offsetLeft;
            nY += object.offsetTop;
        }
        while (object = object.offsetParent);
        nY = nY - offset;
        window.scrollTo(nX, nY);
        return;
    }
}

function ShowInlinePopup(popupid, fn, fnvalue, fn2, fn2value) {
    if (document.getElementById(popupid) != null) {
        document.getElementById(popupid).style.display = "block";
    }
    if (fn) {
        fn(fnvalue);
    }
    if (fn2) {
        fn2(fn2value);
    }
}

function HideInlinePopup(popupid, fn, fnvalue, fn2, fn2value) {

    if (document.getElementById(popupid) != null) {
        document.getElementById(popupid).style.display = "none";
    }
    if (fn) {
        fn(fnvalue);
    }
    if (fn2) {
        fn2(fn2value);
    }

}

function getElementsByClassName(refObj, searchClass, tag) {
    var returnArray = [];
    tag = tag || '*';
    var els = refObj.getElementsByTagName(tag);
    var pattern = new RegExp('(^|\\s)' + searchClass + '(\\s|$)');
    for (var i = 0; i < els.length; i++) {
        if (pattern.test(els[i].className)) {
            returnArray.push(els[i]);
        }
    }
    return returnArray;
}

function ShowMediaPlayer(play) {
    var mpframe = window.frames['vma_frm']
    if (mpframe != null) {
        var controls;
        var msiemp = mpframe.document.getElementById('msiemp');
        if (msiemp != null && msiemp.controls != null) {
            controls = msiemp.controls;
        }
        var fxmp = mpframe.document.getElementById('firefoxmp');
        if (fxmp != null && fxmp.controls != null) {
            controls = fxmp.controls;
        }
        if (controls != null) {
            if (play) {
                controls.play();
            }
            else {
                controls.stop();
            }
        }
    }
}

