var playerLoaded = 0;

// 0 = false & 1 = true
var pSetting_width = '590'; // player width
var pSetting_width_front = '492'; // player width
var pSetting_height = '400'; // player height
var pSetting_height_front = '322'; // player height
var pSetting_id = 'videoDiv'; // div id
var pSetting_rel = '0'; // Display related videos
var pSetting_autoplay = '0'; // Play video on load
var pSetting_loop = '0'; // Loop video
var pSetting_disablekb = '0'; // Setting to 1 will disable the player keyboard controls
var pSetting_egm = '0'; // Will display a menu when hovering the video
var pSetting_border = '0'; // Display border around video
var pSetting_color1 = 'DDDDDD'; // Primary color
var pSetting_color2 = 'BBBBBB'; // Secondary color
var pSetting_start = '0'; // Start seconds
var pSetting_fs = '0'; // Allow users to set video fullscreen
var pSetting_hd = '0'; // Show video standard in hd
var pSetting_showinfo = '0'; // Display info on pause and end video
function explode(delimiter, string, limit){
    var emptyArray = {
        0: ''
    };
    if (arguments.length < 2 || typeof arguments[0] == 'undefined' || typeof arguments[1] == 'undefined') {
        return null;
    }
    if (delimiter === '' || delimiter === false || delimiter === null) {
        return false;
    }
    if (typeof delimiter == 'function' || typeof delimiter == 'object' || typeof string == 'function' || typeof string == 'object') {
        return emptyArray;
    }
    if (delimiter === true) {
        delimiter = '1';
    }
    if (!limit) {
        return string.toString().split(delimiter.toString());
    }
    else {
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}

function strpos(haystack, needle, offset){
    var i = (haystack + '').indexOf(needle, (offset ? offset : 0));
    return i === -1 ? false : i;
}

function substr(str, start, len){
    str += '';
    var end = str.length;
    if (start < 0) {
        start += end;
    }
    end = typeof len === 'undefined' ? end : (len < 0 ? len + end : len + start);
    return start >= str.length || start < 0 || start > end ? !1 : str.slice(start, end);
}

function urlToYoutubeId(inputUrl){

    var newUrl = substr(inputUrl, strpos(inputUrl, '=') + 1);
    var aNewUrl = explode('&', newUrl);
    
    return aNewUrl[0];
    
}

function updateHTML(elmId, value){
    document.getElementById(elmId).innerHTML = value;
}

function loadVideo(videoId){
    if (ytplayer) {
        ytplayer.loadVideoById(videoId);
    }
}

function onPlayerError(errorCode){
    alert("An error occured of type:" + errorCode);
}

function onYouTubePlayerReady(playerId){
    ytplayer = document.getElementById("ytPlayer");
    ytplayer.addEventListener("onError", "onPlayerError");
}

function loadPlayer(videoId){
    if (videoId == '') {
        alert('Vul eerst een youtube code in!');
    }
    else {
        videoId = urlToYoutubeId(videoId);
        if (playerLoaded == 1) {
            loadVideo(videoId);
        }
        else {
            playerLoaded = 1;
            pSetting_autoplay = 0;
            var params = {
                allowScriptAccess: "always",
                wmode: "opaque"
            }; //wmode solves z-index issue with modal alert
            var atts = {
                id: "ytPlayer"
            };
            
            if (document.getElementById('video_page').value != '') {
                swfobject.embedSWF("http://www.youtube.com/v/" + videoId + "&enablejsapi=1&playerapiid=player1&rel=" + pSetting_rel + "&autoplay=" + pSetting_autoplay + "&loop=" + pSetting_loop + "&disablekb=" + pSetting_disablekb + "&egm=" + pSetting_egm + "&border=" + pSetting_border + "&color1=" + pSetting_color1 + "&color2=" + pSetting_color2 + "&start=" + pSetting_start + "&fs=" + pSetting_fs + "&hd=" + pSetting_hd + "&showinfo=" + pSetting_showinfo + "", pSetting_id, pSetting_width_front, pSetting_height_front, "8", null, null, params, atts);
            }
            else {
                swfobject.embedSWF("http://www.youtube.com/v/" + videoId + "&enablejsapi=1&playerapiid=player1&rel=" + pSetting_rel + "&autoplay=" + pSetting_autoplay + "&loop=" + pSetting_loop + "&disablekb=" + pSetting_disablekb + "&egm=" + pSetting_egm + "&border=" + pSetting_border + "&color1=" + pSetting_color1 + "&color2=" + pSetting_color2 + "&start=" + pSetting_start + "&fs=" + pSetting_fs + "&hd=" + pSetting_hd + "&showinfo=" + pSetting_showinfo + "", pSetting_id, pSetting_width, pSetting_height, "8", null, null, params, atts);
            }
        }
    }
}

function _run(){
    if (document.getElementById('video_page')) {
        loadPlayer(document.getElementById('video_page').value);
    }
    else {
        if (document.getElementById('videoId').value == '') {
            loadPlayer('http://www.youtube.com/watch?v=KiigGz_p8DA&feature=fvhl');
        }
        else {
            loadPlayer(document.getElementById('videoId').value);
        }
    }
}

