var setupSite = { 
    siteUrl: "",
    webServiceUrl: "",
	langCode: ''
}
 
function newService(service, vars) {
	var service = new webService({ server: setupSite.webServiceUrl, service: service, lang: setupSite.langCode });
	service.setVars(vars);
	return service;
}

function webService(init) {
    var _init = init;
    var _vars = new Array();
	
	this.setVars = function(vars) {
		for (var indx in vars) {
            this.addVar(indx, vars[indx]);
        }
	}
    
    this.addVar = function(key, val) {
        _vars[_vars.length] = { k: key, v: val };
    }
    
    this.getUrl = function() {
        var res = "lang=" + _init.lang;
        
        for (var indx in _vars) {
            var obj = _vars[indx];
            res += "&" + obj.k + "=" + encodeURIComponent(obj.v);
        }
        return { url : _init.server + init.service + '.php', data : res };
    }
    
    this.call = function(params) {
		var urlData = this.getUrl();
        var dataType = typeof(params.dataType) != "undefined" ? params.dataType : "html";
        $.ajax( {  type: typeof(params.type) != "undefined" ? params.type : "POST",
                   async : typeof(params.async) != "undefined" ? params.async : true,
                   dataType : typeof(params.dataType) != "undefined" ? params.dataType : "html",
                   cache: false,
                   complete: function(res, txtStatus) {
                        if (res.status == 506) {
                            redirect(res.responseText);
                            return;
                        }
						if (params.xmlError == 'undefined' || params.xmlError == false) {
							dataType = res.status != 200 ? dataType = "html" : dataType; // errors return always in html format
						}
						
						params.success(dataType == "html" ? res.responseText : res.responseXML, res.status == 200 ? "success" : "error");
                   },
                   url: urlData.url,
                   data: urlData.data
                });
       
       // reset vars
       _vars = new Array();
    }
}

function redirect(url) {
    window.location = url
}

function getPressKeyCode(evt) {
	var code = (window.event) ? evt.keyCode : evt.which;
	return code;
}

function initPlayer(params) {    
    var so = new SWFObject('http://www.jongla.com/new-site/player/Player.swf', 'video_player', params.width, params.height, '9');
    so.addVariable('searchbar','false');
    so.addParam('wmode','transparent');
	so.addParam('name','player');
	so.addParam('flashvars', params.flashvars);
    so.addParam('allowfullscreen','true');
    so.addParam('allowscriptaccess','always');
	so.addParam('bgcolor','#ffffff');
    so.write(params.id);
}

$.fn.tagName = function() { 
	if (this.get(0) != null) {
	    return this.get(0).tagName; 
	}
	return '';
} 

var menu = {
	addItem: function(id, out, over) {
		$('#' + id).hover(function() {$(this).attr('src', over)}, function() {$(this).attr('src', out)});
	}
}