
if (typeof(djplayer) == "undefined"){
    var djplayer = {};
    if (typeof(dj_require_base) == "undefined")
	dj_require_base = "http://www.drjays.com";
    djplayer.players = {}; //holds all players
    djplayer.videos  = {}; //for all videos (viewed,url_video,url_still,url_thumb)
    djplayer.ids     = {}; //for single videos
    djplayer.campaigns = {}; //for campaigns
    document.write('<script type="text/javascript" src="' + dj_require_base + '/includes/javascript/video/swfobject.js"></script>');
}

djplayer.fill = function(opt){
    var flashvars = {
        file: opt.video,
	image: opt.image,
        autostart:(opt.autostart ? "true" : "false"),
        controlbar: "over",
        skin: dj_require_base + "/includes/javascript/video/dangdang.swf",
        abouttext: "DrJays.com",
        aboutlink: dj_require_base,
        id: "djvideo_"+opt.video_id
    };
    var params = {
        allowfullscreen:"true",
        allowscriptaccess:"always"
    };
    var attributes = {
        id: "djvideo_"+opt.video_id,
        name: "djvideo_"+opt.video_id
    };

    var width  = (djplayer.ids[opt.video_id].width  ? djplayer.ids[opt.video_id].width  : opt.width);
    var height = (djplayer.ids[opt.video_id].height ? djplayer.ids[opt.video_id].height : opt.height);
    swfobject.embedSWF(dj_require_base + "/includes/javascript/video/player.swf", "djvideo_"+opt.video_id, width, height, "9.0.115", false, flashvars, params, attributes);
}

djplayer.create = function(opt){
    if (opt.video_id){
	document.write("<div style=\"text-align:center;margin:0 auto;\"><div id=\"djvideo_"+opt.video_id+"\"></div></div>");
	djplayer.ids[opt.video_id] = opt;
    }
    else if (opt.campaign_id){
	document.write("<div style=\"text-align:center;margin:0 auto;\"><div id=\"djvideo_campaign_"+opt.campaign_id+"\"></div></div>");
	djplayer.campaigns[opt.campaign_id] = opt;
    }
};

$(document).ready(function(){

    if (djplayer.debug)alert("ready, trying to build");

	var videos = [];
	var campaigns = [];

	for (var video_id in djplayer.ids){
	    var type = (djplayer.ids[video_id].type ? djplayer.ids[video_id].type : "");
	    videos.push( {video_id : video_id , type : type} );
	}

	for (var campaign_id in djplayer.campaigns){
	    var type = (djplayer.campaigns[campaign_id].type ? djplayer.campaigns[campaign_id].type : "");
	    var nocats = (djplayer.campaigns[campaign_id].nocats ? djplayer.campaigns[campaign_id].nocats : 0);
	    campaigns.push( {campaign_id : campaign_id , type : type , nocats : nocats} );
	}

	if (videos.length){
	    dj.ajax({
		    url : dj_require_base + "/sitejson",
			data : "class=Video&cmd=get_videos",
			ref : { videos : videos },
			success : function(incoming){
			if (incoming.success){
			    for (var i in incoming.videos){
				var v = incoming.videos[i];
				djplayer.videos[v.video_id] = {
				    url_video : v["url_video"],
				    url_still : v["url_still"],
				    title : v.title,
				    viewed : 0
				};
				if (djplayer.ids[v.video_id].callBack){
				    djplayer.ids[v.video_id].callBack(v);
				}
				else{
				    djplayer.fill({
					    video : v.url_video,
						image : v.url_still,
						video_id : v.video_id,
						width : v.width,
						height : v.height
						});
				}
			    }
			}
		    }
		});
	}

	if (campaigns.length){
	    for (var i in campaigns){
		var campaign = campaigns[i];
		dj.ajax({
			url : dj_require_base + "/sitejson",
			    data : "class=Video&cmd=get_all",
			    ref : { campaign : campaign.campaign_id, nocats : nocats },
			    success : function(incoming){
			    if (incoming.success){
				if (djplayer.campaigns[campaign.campaign_id].callBack){
				    djplayer.campaigns[campaign.campaign_id].callBack(incoming);
				}
			    }
			}
		    });
	    }
	}
    });


/* JWPlayer call */
function playerReady(obj){
    if (typeof(obj.id) != "undefined" && obj.id != null){
	if (typeof(djplayer.players[obj.id]) == "undefined")
	    djplayer.players[obj.id] = {};
	if (!djplayer.players[obj.id].first_id)
	    djplayer.players[obj.id].first_id = 0; // for campaigns we need to know first id
	djplayer.players[obj.id].player = window.document[obj.id];
	djplayer.players[obj.id].player.addModelListener('STATE','djplayer.stateMonitor' );
	if (djplayer.debug)alert("added listener");
    }
}

djplayer.stateMonitor = function(obj) {
    if (typeof(obj.id) != "undefined" && obj.id != null && obj['newstate'] == "PLAYING"){
	var matches = obj.id.match(/^djvideo_(\d+)/);
	if (matches)
	    djplayer.videoView(matches[1]);
	else{
	    matches = obj.id.match(/^djvideo_campaign_(\d+)/);
	    if (matches)
		djplayer.videoView(djplayer.players[obj.id].first_id);
	}
    }
}

djplayer.videoView = function(video_id){
    if (video_id != 0 && djplayer.videos[video_id].viewed == 0){
	dj.ajax({
		url : dj_require_base + "/sitejson",
		data : "class=Video&cmd=update_views",
		ref : { video_id : video_id },
		success : djplayer.videoViewCallBack
	    });
	djplayer.videos[video_id].viewed = 1;
    }
}

djplayer.videoViewCallBack = function(incoming){if(djplayer.debug)alert("view successfully recorded");}
