// Simulates PHP's date function

function closeMenu()
{
    topMenu.timeoutActive=true;
    topMenu.active=false;
    topMenu.deleteAllActive();
    topMenu.ac()
}


Date.prototype.format = function(format) {
	var returnStr = '';
	var replace = Date.replaceChars;
	for (var i = 0; i < format.length; i++) {
		var curChar = format.charAt(i);
		if (replace[curChar]) {
			returnStr += replace[curChar].call(this);
		} else {
			returnStr += curChar;
		}
	}
	return returnStr;
};
Date.replaceChars = {
	shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
	longMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
	shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
	longDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],

	// Day
	d: function() { return (this.getDate() < 10 ? '0' : '') + this.getDate(); },
	D: function() { return Date.replaceChars.shortDays[this.getDay()]; },
	j: function() { return this.getDate(); },
	l: function() { return Date.replaceChars.longDays[this.getDay()]; },
	N: function() { return this.getDay() + 1; },
	S: function() { return (this.getDate() % 10 == 1 && this.getDate() != 11 ? 'st' : (this.getDate() % 10 == 2 && this.getDate() != 12 ? 'nd' : (this.getDate() % 10 == 3 && this.getDate() != 13 ? 'rd' : 'th'))); },
	w: function() { return this.getDay(); },
	z: function() { return "Not Yet Supported"; },
	// Week
	W: function() { return "Not Yet Supported"; },
	// Month
	F: function() { return Date.replaceChars.longMonths[this.getMonth()]; },
	m: function() { return (this.getMonth() < 9 ? '0' : '') + (this.getMonth() + 1); },
	M: function() { return Date.replaceChars.shortMonths[this.getMonth()]; },
	n: function() { return this.getMonth() + 1; },
	t: function() { return "Not Yet Supported"; },
	// Year
	L: function() { return "Not Yet Supported"; },
	o: function() { return "Not Supported"; },
	Y: function() { return this.getFullYear(); },
	y: function() { return ('' + this.getFullYear()).substr(2); },
	// Time
	a: function() { return this.getHours() < 12 ? 'am' : 'pm'; },
	A: function() { return this.getHours() < 12 ? 'AM' : 'PM'; },
	B: function() { return "Not Yet Supported"; },
	g: function() { return this.getHours() % 12 || 12; },
	G: function() { return this.getHours(); },
	h: function() { return ((this.getHours() % 12 || 12) < 10 ? '0' : '') + (this.getHours() % 12 || 12); },
	H: function() { return (this.getHours() < 10 ? '0' : '') + this.getHours(); },
	i: function() { return (this.getMinutes() < 10 ? '0' : '') + this.getMinutes(); },
	s: function() { return (this.getSeconds() < 10 ? '0' : '') + this.getSeconds(); },
	// Timezone
	e: function() { return "Not Yet Supported"; },
	I: function() { return "Not Supported"; },
	O: function() { return (-this.getTimezoneOffset() < 0 ? '-' : '+') + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() / 60)) + '00'; },
	T: function() { var m = this.getMonth(); this.setMonth(0); var result = this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/, '$1'); this.setMonth(m); return result;},
	Z: function() { return -this.getTimezoneOffset() * 60; },
	// Full Date/Time
	c: function() { return "Not Yet Supported"; },
	r: function() { return this.toString(); },
	U: function() { return this.getTime() / 1000; }
};

function change_bg_li(obj,bg)
{
    obj.style.background = bg;
}

function show_observe_info(game_id){

    obj = document.getElementById('observer_'+game_id);
   
    obj_display(obj);
}

function obm(obj)
{
    z = obj.getElementsByTagName("ul");
    if(z.length>0)
        obj_display(z.item(0));
}

function obj_display(obj)
{
    if(obj.style.display=="none")
        obj.style.display='block';
    else
        obj.style.display='none';
}


function removeByElement(arrayName,arrayElement)
{
for(i=0; i<arrayName.length;i++ )
 {
    if(arrayName[i]==arrayElement)
        arrayName.splice(i,1);
  }
}

function close_observe(obj)
{
    
     obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
     id = obj.parentNode.parentNode.id.replace(/ob_/,"");
     jar = new CookieJar({
          expires:3600*24*2, // seconds
          path: '/'
      });

      games = new Array();
      games_cookie = jar.get('livegol_watched_games');
      games = eval('(' + games_cookie + ')');

      removeByElement(games,id);

      jar.put('livegol_watched_games', games.toJSON());
    
}

function move_date(d)
{
    window.location = "http://"+window.location.host+window.location.pathname+"?date="+d;
}


function find_game(str,teams_id,date_from,date_to,page)
{
    if(!page)
       page = 1;
  
    teams_str = '';
    if(teams_id)
    {
        for(i=0;i<teams_id.length;i++)
        {
            teams_str += '&teams['+i+']='+teams_id[i];
        }
    }

    if(!date_from && !date_to)
    {
        date_from = '';
        date_to = '';
    }
 advAJAX.get({
         url: "/xml/game_html?search="+str+"&date_from="+date_from+"&date_to="+date_to+teams_str+"&page="+page,
         timeout : 4000,
         onTimeout : function() {  },
         retry: 1,
         retryDelay: 2000,
         onRetry : function() { },
         onFinalization: function(){ document.getElementById("loading").style.display="none"; },
         onInitialization: function(){document.getElementById("loading").style.display="block";},
         onRetryDelay : function() {  },
         onSuccess : function(obj){

            var xml = obj.responseXML;
            var found_teams = xml.getElementsByTagName("team");
       
            var found_teams_html = document.getElementById('found_teams');
            var game = xml.getElementsByTagName("game");
            if(!str){
                if(game.length > 0){
                    document.getElementById("znalezione_spotkania_box").style.display="block";
                    document.getElementById("znaleziono_spotkania").innerHTML = "";
                    for(i=0;i<game.length;i++)
                    {
                        document.getElementById("znaleziono_spotkania").innerHTML += game.item(0).firstChild.nodeValue;
                    }
            
                    document.getElementById('search_form_adv').style.display="none";

                    //strony
                    pages = xml.getElementsByTagName("pages");
                    if(pages.length > 0)
                    {
                        pages_num = pages.item(0).getAttribute("pages");
                        prev = pages.item(0).getAttribute("prev");
                        if(prev){
                            $('search_prev').style.visibility="visible";
                            $('search_prev').onclick = function(){find_game(str,teams_id,date_from,date_to,prev);}
                        }else{
                            $('search_prev').style.visibility="hidden";
                        }

                        next = pages.item(0).getAttribute("next");
                        if(next){
                   
                            $('search_next').style.visibility="visible";
                            $('search_next').onclick = function(){find_game(str,teams_id,date_from,date_to,next);}
                        }else{
                            $('search_next').style.visibility="hidden";
                        }

                        var strony = pages.item(0).getElementsByTagName("page");

                        $('page_items').innerHTML = "";
                        for(z=0;z<strony.length;z++)
                        {
                            span = document.createElement("span");
                            span.style.cursor="pointer";
                            span.onclick = function(){find_game(str,teams_id,date_from,date_to,parseInt(this.innerHTML));}
                            span.innerHTML = ""+strony[z].firstChild.nodeValue+"&nbsp;";

                            $('page_items').appendChild(span);
                        }
                        $('pages_items').innerHTML = pages_num;

                        strona_meczow = (page*20);
                        ilosc = pages.item(0).getAttribute("games");
                        if(strona_meczow > ilosc)
                            strona_meczow -= strona_meczow - ilosc;
                        
                        $('found_nums').innerHTML = strona_meczow+"/"+ilosc;
                        
                        if(strony.length<2)
                            $('search_pages').style.visibility="hidden";
                        else
                            $('search_pages').style.visibility="visible";
                    }

                    window.location = "#znalezione_spotkania_box";
                }else{
                    alert("Nie pobrano meczu");
                }
            }

            if(str)
            {
                found_teams_html.innerHTML="";
                document.getElementById("fraza").innerHTML = "'<strong>"+str+"</strong>'";
                document.getElementById("fraza_count").innerHTML = "<strong>"+found_teams.length+"</strong>";
                rows = found_teams.length/2;
                if(rows >= 4)
                {
                    height = 115;
                }else{
                    height = 26*rows;
                }

                found_teams_html.style.height=height+"px";

                for(i=0;i<found_teams.length;i++)
                {
                    if(i%2==0)
                        class_name = 'tna';
                    else
                        class_name = 'tnb';
                    if(found_teams[i].getAttribute("gender")=="f")
                        plec = " kobiety";
                    else
                        plec = "";

                    found_teams_html.innerHTML+='<div class="'+class_name+'"><input type="checkbox" name="search_teams['+i+']" value="'+found_teams[i].getAttribute("id")+'" />'+found_teams[i].getAttribute("sport_name")+' » <img src="http://www.livegol.pl/images/new_flags/'+found_teams[i].getAttribute("country_id")+'.png" alt="" /> <a style="text-decoration:underline;" onclick="select_checkbox(this)" title="Pokaż mecze dla drużyny '+found_teams[i].getAttribute("name")+'">'+found_teams[i].getAttribute("name")+plec+'</a></div>';
                }
                wysokosc_search = Math.ceil(rows*25);
                document.getElementById('search_form_adv').style.display="block";
                document.getElementById('found_teams').style.height = wysokosc_search+"px";
                setSlider();


            }
            
         },
         onError : function(obj) { }
     });
}

var ONE_DAY = 1000 * 60 * 60 * 24;

function find_game_adv()
{
    fy = document.getElementById("yf").options[document.getElementById("yf").selectedIndex].value;
    fm = document.getElementById("mf").options[document.getElementById("mf").selectedIndex].value;
    fd = document.getElementById("df").options[document.getElementById("df").selectedIndex].value;

    td = document.getElementById("dt").options[document.getElementById("dt").selectedIndex].value;
    tm= document.getElementById("mt").options[document.getElementById("mt").selectedIndex].value
    ty = document.getElementById("yt").options[document.getElementById("yt").selectedIndex].value

   date_from = fd+'-'
        +fm+'-'
        +fy;

   date_to = td+'-'
        +tm+'-'
        +ty;

    var d = new Date();
    d.setYear(parseInt(fy) + 1);
    d.setMonth(parseInt(fm)-1);
    d.setDate(parseInt(fd));

    var d2 = new Date();
    d2.setYear(parseInt(ty) + 1);
    d2.setMonth(parseInt(tm)-1);
    d2.setDate(parseInt(td));

    roznica = d2.getTime() - d.getTime();
    ilosc_dni = Math.round(roznica/ONE_DAY)

    if(ilosc_dni > 184){
        return alert("Zakres wybranej daty nie może być większy niż 6 miesięcy")
    }
    
  if(document.getElementById('found_teams'))
  {
      var found_teams = document.getElementById('found_teams').getElementsByTagName("input");

      added = 0;
      teams = new Array();
      for(k=0;k<found_teams.length;k++)
      {
          if(found_teams[k].checked){
             teams[teams.length] = found_teams[k].value;
             added++;
        }
      }
      if(added==0)
           return alert("Zaznacz drużyna dla której chcesz szukać meczów");

      find_game('',teams,date_from,date_to);
  }
}

function select_checkbox(obj)
{
    inputs = obj.parentNode.getElementsByTagName("input");
    if(inputs.length>0)
    {
        if(inputs.item(0).checked == 1)
            inputs.item(0).checked = false;
        else
            inputs.item(0).checked = true;
    }
}

function getGameHtml(game_id)
{
     c.clear();

     advAJAX.get({
         url: site_url+"/game_html?id="+game_id,
         timeout : 4000,
         onTimeout : function() {  },
         retry: 1,
         retryDelay: 2000,
         onRetry : function() { },
         onFinalization: function(){ document.getElementById("loading").style.display="none"; },
         onInitialization: function(){document.getElementById("loading").style.display="block";},
         onRetryDelay : function() {  },
         onSuccess : function(obj){
            xml = obj.responseXML;
            game = xml.getElementsByTagName("game");
            if(game.length > 0){
                document.getElementById("znalezione_spotkania_box").style.display="block";
                document.getElementById("znaleziono_spotkania").innerHTML += game.item(0).firstChild.nodeValue;
            }else{
                alert("Nie pobrano meczu");
            }
         },
         onError : function(obj) { }
     });
}

function utf8_decode ( str_data ) {

    var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0;

    str_data += '';

    while ( i < str_data.length ) {
        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
            tmp_arr[ac++] = String.fromCharCode(c1);
            i++;
        } else if ((c1 > 191) && (c1 < 224)) {
            c2 = str_data.charCodeAt(i+1);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i+1);
            c3 = str_data.charCodeAt(i+2);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    }

    return tmp_arr.join('');
}
function utf8_encode ( argString ) {

    var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");

    var utftext = "";
    var start, end;
    var stringl = 0;

    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;

        if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }

    if (end > start) {
        utftext += string.substring(start, string.length);
    }

    return utftext;
}


function sklady(obj,index)
{
    if($('sklady_team_'+index).style.display!="none"){
        $('sklady_team_'+index).style.display="none";
        $('sklady_team_'+index+'_b').style.display="block";
    }else{
        $('sklady_team_'+index).style.display="block";
        $('sklady_team_'+index+'_b').style.display="none";
    }

}

function show_player_cloud(obj,player_id,type)
{
    if(!obj)
        return false;

    
    if(player_id){
        var play = document.getElementById('pl_'+player_id);
        if(play){
            if(play.style.display=="block"){
                play.style.display="none";
            }else{
             
                play.style.margin = obj.style.margin;
                if(!type){
                    play.style.marginTop = new String(parseInt(play.style.marginTop)+28)+"px";
                    play.style.marginLeft = new String(parseInt(play.style.marginLeft)-3)+"px";
                }else{
                    play.style.marginTop = new String(parseInt(play.style.marginTop)+22)+"px";
                    play.style.marginLeft = new String(parseInt(play.style.marginLeft)-8)+"px";
                }
                play.style.display="block";
            }
        }
    }
}

function explode (delimiter, string, limit) {

    var emptyArray = { 0: '' };

    // third argument is not required
    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 {
        // support for limit argument
        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;
    }
}


var ns4 = document.layers;
var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
var agt=navigator.userAgent.toLowerCase();
var mac = (agt.indexOf("mac")!=-1);
var ie = (agt.indexOf("msie") != -1);
var mac_ie = mac && ie;
function isInteger(s)
{
  var i;
  if (isEmpty(s))
  if (isInteger.arguments.length == 1) return 0;
  else return (isInteger.arguments[1] == true);

  for (i = 0; i < s.length; i++)
  {
     var c = s.charAt(i);

     if (!isDigit(c)) return false;
  }

  return true;
}

function isEmpty(s)
{
  return ((s == null) || (s.length == 0))
}

function isDigit (c)
{
  return ((c >= "0") && (c <= "9"))
}

function getBodySize(){var scnWid,scnHei;if(self.innerHeight){scnWid=self.innerWidth;scnHei=self.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){scnWid=document.documentElement.clientWidth;scnHei=document.documentElement.clientHeight}else if(document.body){scnWid=document.body.clientWidth;scnHei=document.body.clientHeight}else{scnWid=getElementWidth("body");scnHei=getElementHeight("body")}return new Array(scnWid,scnHei)}function getStyleObject(objectId){if(document.getElementById&&document.getElementById(objectId)){return document.getElementById(objectId).style}else if(document.all&&document.all(objectId)){return document.all(objectId).style}else if(document.layers&&document.layers[objectId]){return getObjNN4(document,objectId)}else{return false}}function changeObjectVisibility(objectId,newVisibility){var styleObject=getStyleObject(objectId,document);if(styleObject){styleObject.visibility=newVisibility;return true}else{return false}}function findImage(name,doc){var i,img;for(i=0;i<doc.images.length;i++){if(doc.images[i].name==name){return doc.images[i]}}for(i=0;i<doc.layers.length;i++){if((img=findImage(name,doc.layers[i].document))!=null){img.container=doc.layers[i];return img}}return null}function getImage(name){if(document.layers){return findImage(name,document)}return null}function getObjNN4(obj,name){var x=obj.layers;var foundLayer;for(var i=0;i<x.length;i++){if(x[i].id==name)foundLayer=x[i];else if(x[i].layers.length)var tmp=getObjNN4(x[i],name);if(tmp)foundLayer=tmp}return foundLayer}function getElementHeight(Elem){if(ns4){var elem=getObjNN4(document,Elem);return elem.clip.height}else{var elem;if(document.getElementById){var elem=document.getElementById(Elem)}else if(document.all){var elem=document.all[Elem]}if(op5){xPos=elem.style.pixelHeight}else{xPos=elem.offsetHeight}return xPos}}function getElementWidth(Elem){if(ns4){var elem=getObjNN4(document,Elem);return elem.clip.width}else{var elem;if(document.getElementById){var elem=document.getElementById(Elem)}else if(document.all){var elem=document.all[Elem]}if(op5){xPos=elem.style.pixelWidth}else{xPos=elem.offsetWidth}return xPos}}function getElementLeft(Elem){if(ns4){var elem=getObjNN4(document,Elem);return elem.pageX}else{var elem;if(document.getElementById){var elem=document.getElementById(Elem)}else if(document.all){var elem=document.all[Elem]}xPos=elem.offsetLeft;tempEl=elem.offsetParent;while(tempEl!=null){xPos+=tempEl.offsetLeft;tempEl=tempEl.offsetParent}return xPos}}function getElementTop(Elem){if(ns4){var elem=getObjNN4(document,Elem);return elem.pageY}else{if(document.getElementById){var elem=document.getElementById(Elem)}else if(document.all){var elem=document.all[Elem]}yPos=elem.offsetTop;tempEl=elem.offsetParent;while(tempEl!=null){yPos+=tempEl.offsetTop;tempEl=tempEl.offsetParent}return yPos}}function getImageLeft(myImage){var x,obj;if(document.layers){var img=getImage(myImage);if(img.container!=null)return img.container.pageX+img.x;else return img.x}else{return getElementLeft(myImage)}return-1}function getImageTop(myImage){var y,obj;if(document.layers){var img=getImage(myImage);if(img.container!=null)return img.container.pageY+img.y;else return img.y}else{return getElementTop(myImage)}return-1}function getImageWidth(myImage){var x,obj;if(document.layers){var img=getImage(myImage);return img.width}else{return getElementWidth(myImage)}return-1}function getImageHeight(myImage){var y,obj;if(document.layers){var img=getImage(myImage);return img.height}else{return getElementHeight(myImage)}return-1}function moveXY(myObject,x,y){obj=getStyleObject(myObject);if(ns4){obj.top=y;obj.left=x}else{if(op5){obj.pixelTop=y;obj.pixelLeft=x}else{obj.top=y+'px';obj.left=x+'px'}}}
function changeClass(Elem,myClass){var elem;if(document.getElementById){var elem=document.getElementById(Elem)}else if(document.all){var elem=document.all[Elem]}elem.className=myClass}function changeImage(target,source){var imageObj;if(ns4){imageObj=getImage(target);if(imageObj)imageObj.src=eval(source).src}else{imageObj=eval('document.images.'+target);if(imageObj)imageObj.src=eval(source).src}}function changeBGColour(myObject,colour){if(ns4){var obj=getObjNN4(document,myObject);obj.bgColor=colour}else{var obj=getStyleObject(myObject);if(op5){obj.background=colour}else{obj.backgroundColor=colour}}}

function lang_set(obj)
{
    imgs = obj.getElementsByTagName("img");
    for(i=0;i<imgs.length;i++)
    {
        if(i > 0 && imgs[i].src.search(/2.gif/)==-1)
            imgs[i].src = imgs[i].src.replace(/.gif/,"2.gif");
    }

    imgs[0].src = imgs[0].src.replace(/2.gif/,".gif");
}

function show_lang_select()
{
    obj = $('lang_ul');
    if(obj.style.display=="block")
        obj.style.display = "none";
    else
        obj.style.display = "block";
}

