	d = document;

function extend(o, opts) {
	if (!o) return (false);
	for (var i in opts) o[i] = opts[i];		
	delete opts;
	return o;	
}

function make_menu(o) {
	var o = (typeof(o) != 'string') ? o : d.getElementById(o);	
	extend(o, {itms:o.getElementsByTagName('li'), def:false})
	o.s = o.itms[0];
	
	for (var i=0; o2 = o.itms[i]; i++) {
		if (o2.className == 's') o.def = o.s = o2;
		extend(o2, {
			_p:o,
			
			i:extend(o2.firstChild, {
				_p:o2,				
				onmouseover:function() {
					clearTimeout(this._p._p.t1);
					this._p._p.s.className = '';
					this._p.className = (this._p.sm) ? 's1' : 's';
					this._p._p.s = this._p;
				},
				
				onmouseout:function() {
					var o = this._p, act = function() {o.act();};
					this._p._p.t1 = setTimeout(act, 500);
				}
			}), 
			
			sm:extend(o2.getElementsByTagName('div')[0], {
				_p:o2,
				onmouseover:function() {
					clearTimeout(this._p._p.t1);
				},				
				onmouseout:function() {
					var o = this._p, act = function() {o.act();};
					this._p._p.t1 = setTimeout(act, 500);
				}		
			}),			
			
			act:function() {
				this._p.s.className = '';
				if (this._p.def) this._p.def.className = 's';
				this._p.s = this._p.def;
			}
		});
		if (o2.sm.className != 'sub') o2.sm = false;
	}	
}



function show_flash_popup(url, w, h, t) {
		var w1 = window.open('', 'w', 'width='+w+',height='+h+',resizable=no');
		w1.document.writeln('<html>');
		w1.document.writeln('<head><title>'+(t || '. ')+'</title></head>');
		w1.document.writeln('<body style="margin:0; padding:0"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="'+w+'" height="'+h+'">');
		w1.document.writeln('<param name="movie" value="'+url+'"/>');
		w1.document.writeln('<param name="quality" value="high"/>');
		w1.document.writeln('<embed src="'+url+'" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"/></embed></object></body></html>');
		w1.document.close();
		return w1;
}

function show_video(url,t,w,h) {
return show_flash_popup('players.swf?src='+url, w||300, h||200, t);
}

function rewrite_days(){
                var days = document.getElementById("day");
                var month = document.getElementById("month");
                var year = document.getElementById("year");
                var days_in_month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
                
                if (month.value != 0)
                {
                    if ((year.value % 4 == 0) && (month.value == 2))
                    {
                        days.length = 30;
                        days.item(29).value = 29;
                        days.item(29).text = 29;
                    }
                    else
                    {
                        days.length = days_in_month[month.value - 1] + 1;
                        for (var i = 29; i < days.length; i++)
                        {
                            days.item(i).value = i;
                            days.item(i).text = i;
                        }
                    }
                }
            }
            
function UpdateActionType(ctrl, val)
{
    var actionCtrl = document.getElementById(ctrl);
    if(actionCtrl == null)
        return;
                    
    actionCtrl.value = val;
}

/*AJAX Scripts*/
function CreateXMLHttpRequest() 
{
    var XmlReq = false;
    if (window.XMLHttpRequest) 
    {
        //XMLHttpRequest не-Microsoft браузеров
        XmlReq = new XMLHttpRequest();
    } 
    else 
    if(window.ActiveXObject) 
    {
        try 
        {
             //Поздние версии Internet Explorer
             XmlReq = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch(e1)
        {
             try 
             {
               //Старые версии Internet Explorer
               XmlReq = new ActiveXObject("Microsoft.XMLHTTP");
             } 
             catch(e2) 
             {
             }
        }
    }

    return XmlReq;
}

function OnGameResultHttpRequest(params)
{
    var xmlHttpReq = CreateXMLHttpRequest();
        
    xmlHttpReq.onreadystatechange = function()
    {  
        if (xmlHttpReq.readyState == 4) 
        { 
            if (xmlHttpReq.status == 200) //OK
            {
                //xmlHttpReq.responseText == null ? xmlHttpReq.responseXML : xmlHttpReq.responseText
                OnResponseText(xmlHttpReq.responseText);
            } 
            else 
            {
                //alert("HTTP error: " + xmlHttpReq.status);
            }
        }
    }
        
    xmlHttpReq.open("POST", "scripts/organizer_panel/ajax_resp/update_results.php", true);
    xmlHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlHttpReq.send(params);
}

function OnHttpRequest(url, params)
{
    var xmlHttpReq = CreateXMLHttpRequest();
        
    xmlHttpReq.onreadystatechange = function()
    {  
        if (xmlHttpReq.readyState == 4) 
        { 
            if (xmlHttpReq.status == 200) //OK
            {
                //xmlHttpReq.responseText == null ? xmlHttpReq.responseXML : xmlHttpReq.responseText
                OnResponseText(xmlHttpReq.responseText);
            } 
            else 
            {
                //alert("HTTP error: " + xmlHttpReq.status);
            }
        }
    }
        
    xmlHttpReq.open("POST", url, true);
    xmlHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlHttpReq.send(params);
}

function OnShowProgress()
{
    var fogCtrl = document.getElementById("fog_ctrl");
    if(fogCtrl == null)
        return;

    fogCtrl.style.visibility = fogCtrl.style.visibility == "hidden" ? "visible" : "hidden";
}

function GetRowIndexById(table, id)
{
    for (var i = 0; i < table.rows.length; i++)
    {
        if(table.rows[i].id == id)
            return i;
    }
            
    return -1;
}

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function getMonthNames() {
    return ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
}
function getDayNamesMin(){
     return ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'];
}
function getCurrentYearMonth(dtm){
    var cDate = dtm;
    var year = cDate.getFullYear();
    var dDate = cDate.getMonth() + 1;
    if (dDate < 9)
        dDate = "0" + dDate.toString();
    var result = year.toString() + "-" + dDate;    
    return result;
}
