var videoStatisticClass = (window.Prototype)?(Class.create()):(new Object());
videoStatisticClass.prototype={
	initialize : function(EventAndJavaScriptId) {},
	currentConditionOfVideo: [
	],
	pattern:[
		{
			functionEvent: function(type,parametr1,parametr2,javaScriptId,conditionOfVideo){
				var patternName="startVideo";
				if (type=='state' && parametr1=='2') {
					if (!conditionOfVideo[javaScriptId]) {
					    conditionOfVideo[javaScriptId]= new Array();
					}
					if (!conditionOfVideo[javaScriptId]['startPlayVideo']) {
					    conditionOfVideo[javaScriptId]['startPlayVideo'] = true;
					    return patternName;
					}					
				}
			}	
		},
		{
			functionEvent: function(type,parametr1,parametr2,javaScriptId,conditionOfVideo){
				var patternName="endVideo";
				if (type=="state" && parametr1=='0' && conditionOfVideo[javaScriptId]['timeElapsed'] == 0) {
				    conditionOfVideo[javaScriptId]['startPlayVideo'] = false;
					return patternName;
				}
			}
		},
		{
			functionEvent: function(type,parametr1,parametr2,javaScriptId,conditionOfVideo){
				if (type=="time") {
                    conditionOfVideo[javaScriptId]['timeElapsed'] = parametr1;
                    conditionOfVideo[javaScriptId]['timeRemaining'] = parametr2;                    
				}
			}
		}		
	],  
    trackerUpdate : function(type,parametr1,parametr2,javaScriptId){
         for (var i=0,imax=this.pattern.length; i<imax;i++) {
         	var patternName=this.pattern[i].functionEvent(type,parametr1,parametr2,javaScriptId,this.currentConditionOfVideo);
         	if (patternName){
         		this.updateTrackerRequest(patternName,javaScriptId);
         	}        
         }
    },
    updateTrackerRequest : function(patternName,javaScriptId){
        console.log(patternName + ' '+ javaScriptId);
    	var pattern=/[^0-9]*/;
    	var videoId=javaScriptId.replace( pattern, "" );
    	var clientId = globalVars['clientId'];
	   	var url = "/videoTracker/";
            new Ajax.Request(url, {
                postBody: "videoId=" + videoId + "&clientId=" + clientId + "&typeEvent=" + patternName,
                onSuccess: this.processQueryResult.bind(this),
                onException: function(r, e) {console.log(e);},
                onFailure: function (e, r) {console.log(e);}
            });
    },
    processQueryResult : function(transport){    
    	//console.log(transport.responseText)    
    }    
};