/*
 * oley scripts
 * http://www.oley.com/
 *
 * Copyright (c) 2009 oley.com
 * Authors: İzzet Emre Erkan, Ozan Çağlargil, Önder Karademirci
 * Licensed under Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License
 * http://creativecommons.org/licenses/by-nc-nd/3.0/
 *
 */
$(function () {
  /* patron */
  $('#logo').after('<a id="patronTrigger" href="#">imdat Patron</a>');
  
  $(document).bind('keydown', function(e) {
    if (e.ctrlKey && e.shiftKey && e.which == 32)
      return patronButonu();
  });
  
  $("#patronTrigger").click(function(){
    return patronButonu();
  });

  $('#hazirKupon table tbody tr, #sonDakika table tbody tr').hover(function () {
    $(this).addClass('hover');
  },
  function () {
    $(this).removeClass('hover');
  });
  $('#menu-iddaa,#menu-at-yarisi,#menu-spor-toto,#menu-hesabim,#menu-milli-piyango').hover(
    function () {
      var $this = $(this),
        $a = $this.find('>a'),
        posX = $.browser.msie ? $a.css('background-position-x') : $a.css('background-position').split(' ')[0];
      $a.css('background-position', posX + ' -116px');
      $this.find('>div').show();
    },
    function () {
      var $this = $(this),
        $a = $this.find('>a'),
        posX = $.browser.msie ? $a.css('background-position-x') : $a.css('background-position').split(' ')[0];
      $a.css('background-position', posX + ($a.hasClass('selected') ? ' -58px' : ' 0'));
      $this.find('>div').hide();
    }
  );

  $(".tabBox").each(function(){
	  var $this = $(this);
	  if(!$this.hasClass('selectorNoTrigger')){
		  $this.idTabs();
	  }
  });

  /* login form */
  $('#loginForm .tBox').defaultVal();
  if($('#kullanici_id').length > 0)
    $('#kullanici_id').infoBubble({content:'Kullanıcı adınız ve e-postanıza alternatif olarak üye numaranızı ya da TC kimlik numaranızı da kullanabilirsiniz',position:'bottom',width:200,distance:15});
  /* login form */

  /* Bülten      */
  $('.bulten td a.bet, .live td a.bet').live('click', function () {
    var $this = $(this);
    

    
    var $tr = $this.closest('tr');
    if(eventType != 'live' && eventType != 'specialEvent' && eventType != 'longtermEvent' && eventType != 'motorsports' && eventType != 'billard' && eventType != 'tennis' && eventType != 'athletism'){
    	var id = parseInt($tr.attr('id').replace('m', ''), 10);
    }
    else{
    	var id = $tr.attr('id').replace('m', '');
    }
    if ($this.hasClass('selected')) {
      eventList.remove(id, $this.parent().attr('className').replace('dark', '').trim().substring(1), $this.attr('rel'));
    } else {
      if(checkEventCount()) {
    	

        if ($this.closest('table').hasClass('football') && $this.parent().hasClass('tF')) {
          var $td = $tr.find('.tF');
          var hasOdd = false;
		  for(var event in eventList.events){
			  if(event.split('_')[0] == id){
				  for(var i=0,il=eventList.events[event].tip.length;i<il;i++){
					  if(eventList.events[event].tip[i] != 'F') {
						  hasOdd = true;
						  break;
					  }
				  }
			  }
		  }
          if(!hasOdd) {
            var $a = $td.find('.selected');
            if ($a.length == 2) {
              var $tmp = $a.eq(0);
              $a.each(function () {
                if (parseFloat($tmp.html()) > parseFloat($(this).html()))
                  $tmp = $(this);
              });
              eventList.remove(id, $tmp.parent().attr('className').replace('dark', '').trim().substring(1), $tmp.attr('rel'));
            }
            eventList.add(id, $this.parent().attr('className').replace('dark', '').trim().substring(1), $this.attr('rel'), eventType);
          }
          else{
            $.jGrowl('Kuponunuza bu maçın başka bir bahsini eklemişsiniz.', {header: 'Uyarı'});
          }
        }
        else{
          var hasEvent = false;
  		  for(var event in eventList.events){
			  if(event.split('_')[0] == id.toString().split('_')[0]){
				  hasEvent = true;
			  }
		  }
          if (hasEvent){
            $.jGrowl('Kuponunuza bu maçın başka bir bahsini eklemişsiniz.', {header: 'Uyarı'});
          }
          else{
              if(eventType == 'live' || eventType == 'specialEvent' || eventType == 'longtermEvent' || eventType == 'motorsports' || eventType == 'billard' || eventType == 'tennis' || eventType == 'athletism'){
            	  var hasEvent = false;
            	  var tId = id.split('-');
            	  for(property in eventList.events){
            		  property = property.split('-');
            		  if(property[0]==tId[0] && property[1]==tId[1]){
            			  hasEvent=true;
            			  break;
            		  }
            	  }
            	  if(hasEvent){
            		  $.jGrowl('Kuponunuza bu etkinliğin başka bir bahsini eklemişsiniz.', {header: 'Uyarı'});
            	  }
            	  else {
            		  eventList.add(id, $this.attr('rel'), false, eventType);
            	  }
              }
              else{
            	  eventList.add(id, $this.parent().attr('className').replace('dark', '').trim().substring(1), $this.attr('rel'), eventType);
              }
          }
        }
      }
    }
    return false;
  });
  
  $('.bulten td a.msbet').live('click', function () {

	  var $this = $(this);
	  var id = parseInt($('.matchTitle h1').attr('rel'),10);
	  
	  var $tr = $('.t' + id + ' tr');
	  if ($this.hasClass('selected')) {
		  eventList.remove(id, $this.parent().attr('className').replace('dark', '').trim().substring(1), $this.attr('rel'));
	  }
	  else {
		  if(checkEventCount()) {
			  
			  if (eventType == 'football' && $this.parent().hasClass('tF')){
				  var $td = $tr.find('.tF');
				  var hasOdd = false;
				  for(var event in eventList.events){
					  if(event.split('_')[0] == id){
						  for(var i=0,il=eventList.events[event].tip.length;i<il;i++){
							  if(eventList.events[event].tip[i] != 'F') {
								  hasOdd = true;
								  break;
							  }
						  }
					  }
				  }
				  if(!hasOdd) {
					  var $a = $td.find('.selected');
					  if ($a.length == 2) {
						  var $tmp = $a.eq(0);
						  $a.each(function () {
							  if (parseFloat($tmp.html()) > parseFloat($(this).html())){
								  $tmp = $(this);
							  }
						  });
						  eventList.remove(id, $tmp.parent().attr('className').replace('dark', '').trim().substring(1), $tmp.attr('rel'));
					  }
					  eventList.add(id, $this.parent().attr('className').replace('dark', '').trim().substring(1), $this.attr('rel'), eventType, $('.matchTitle h1').html().split('·')[1], $('#mbs').html(), parseFloat($this.html().replace(',','.')));
				  }
				  else{
					  $.jGrowl('Kuponunuza bu maçın başka bir bahsini eklemişsiniz.', { header: 'Uyarı'});
				  }
			  }
			  else if ((eventType == 'football' || eventType == 'basketball' ) && $this.parent().hasClass('tSF')){
				  var hasEvent = false;
				  for(var event in eventList.events){
					  if(event.split('_')[0] == id && eventList.events[event].tip[0] != 'SF') {
						  hasEvent = true;
						  break;
					  }
				  }
				  if(!hasEvent){

					  var ttype = $this.parent().attr('className').replace('dark', '').trim().substring(1);
					  eventList.add(id, ttype, $this.attr('rel'), eventType, $('.matchTitle h1').html().split('·')[1], parseInt($('#mbs').html()), parseFloat($this.html().replace(',','.')));
				  }
				  else{
					  $.jGrowl('Kuponunuza bu maçın başka bir bahsini eklemişsiniz.', {header: 'Uyarı'});
				  }
			  }
			  else{
		          var hasEvent = false;
		  		  for(var event in eventList.events){
					  if(event.split('_')[0] == id.toString().split('_')[0]){
						  hasEvent = true;
					  }
				  }
		          if (hasEvent){
					  $.jGrowl('Kuponunuza bu maçın başka bir bahsini eklemişsiniz.', {header: 'Uyarı'});
				  }
				  else {
					  var ttype = $this.parent().attr('className').replace('dark', '').trim().substring(1);
					  eventList.add(id, ttype, $this.attr('rel'), eventType, $('.matchTitle h1').html().split('·')[1], parseInt($('#mbs').html()), parseFloat($this.html().replace(',','.')));
				  }
			  }
		  }
	  }
	  return false;
  });

  Eeb.iddaa.selections.init();
  
  /* Bülten */

  /* Kupon */
  $('#sizin-kuponunuz ul li a').live('click', function () {
    eventList.remove($(this).parent().attr('id').replace('k', ''));
    return false;
  });
  $('#sizin-kuponunuz ul li input[type="checkbox"],#sk-sistem input[type="checkbox"]').live('click', function () {
    eventList.update();
  });
  $('#sk-misli').change(function () {
    eventList.update();
  });


  $('#sk-kupon-sil').click(function () {
    eventList.clear();
    return false;
  });
  /* Kupon */
});
function checkEventCount() {
  if(eventList.eventCount >= 30) {
    $.jGrowl('Kuponunuza en fazla 30 maç ekleyebilirsiniz.', { header: 'Uyarı'});
    return false;
  }
  else {
	  /*
    var hasHB = false;
    for(var code in eventList.events) {
      if(eventList.events[code].type == 'handball') {
        hasHB = true;
        break;
      }
    }
    if(eventType == 'handball' && hasHB) {
      $.jGrowl('Kuponunuza sadece bir tane hentbol karşılaşması ekleyebilirsiniz.', { header: 'Uyarı'});
      return false;
    }
    */
    /* #bb
    var hasBB = false;
    for(var code in eventList.events) {
      if(eventList.events[code].type == 'basketball') {
        hasBB = true;
        break;
      }
    }
    if(eventList.eventCount >= 15 && (eventType == 'basketball' || hasBB)) {
      $.jGrowl('Kuponunuzda basketbol karşılaşması olduğunda en fazla 15 karşılaşma ekleyebilirsiniz.', { header: 'Uyarı'});
      return false;
    }
    */
  }
  return true;
}
function formatMatchName(home,away,handicap,type) {
	

	
  var ret = home + ' - ' + away;
  handicap = parseFloat(handicap);
  if(handicap > 0) {
    switch(type) {
      case 'basketball':
        ret = '<span title="' + home + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">' + home + ' - ' + away + ' (h)</span>';
      break;
      default: // football
        ret = '<span title="' + home + ' normal süre sonunda maçı kaybeder ya da berabere kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">' + home + ' - ' + away + ' (' + handicap + 'h)</span>';
      break;
    }
  }
  if(handicap < 0) {
    handicap *= -1;
    switch(type) {
      case 'basketball':
        ret = '<span title="' + away + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help">' + home + ' (h) - ' + away + '</span>';
      break;
      default: // football
        ret = '<span title="' + away + ' normal süre sonunda maçı kaybeder ya da berabere kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">' + home + ' (' + handicap + 'h) - ' + away + '</span>';
      break;
    }
  }
  return ret;
}

function formatMatchNameV2(home,away,handicap,type,year,gp,code) {
	
	  var ret = home + ' - ' + away;
	 
	  if(year != undefined)ret = '<a href="/iddaa/mac/'+year+'/'+gp+'/'+code+'/'+Emi.util.str.fixTr(home+'-'+away) + '">'+ret+'</a>';
	  handicap = parseFloat(handicap);
	  if(handicap < 0) {
		handicap =  handicap*-1;
	    switch(type) {
	      case 'basketball':
	        ret = ret +'<span class="emiHandikapBox" title="' + home + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">(h)</span>';
	      break;
	      default: // football
	        ret =  ret +'<span class="emiHandikapBox" title="' + home + ' normal süre sonunda maçı kaybeder ya da berabere kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">(' + handicap + 'h)</span>';
	      break;
	    }
	  }
	  else if(handicap > 0) {
	    switch(type) {
	      case 'basketball':
	        ret = '<span class="emiHandikapBox" title="' + away + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help">(h)</span>'+ret;
	      break;
	      default: // football
	        ret = '<span class="emiHandikapBox" title="' + away + ' normal süre sonunda maçı kaybeder ya da berabere kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">(' + handicap + 'h) </span>'+ret;
	      break;
	    }
	  }
	  return ret;
	}
function formatMatchNameV3(home,away,handicap,type) {
	
	
	  var ret = home + ' - ' + away;
	 
	  handicap = parseFloat(handicap);
	  if(handicap < 0) {
		handicap=handicap*-1;
	    switch(type) {
	      case 'basketball':
	        ret = ret +'<span class="emiHandikapBox" title="' + home + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">(h)</span>';
	      break;
	      default: // football
	        ret =  ret +'<span class="emiHandikapBox" title="' + home + ' normal süre sonunda maçı kaybeder ya da berabere kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">(' + handicap + 'h)</span>';
	      break;
	    }
	  }
	  else if(handicap > 0) {
	    switch(type) {
	      case 'basketball':
	        ret = '<span class="emiHandikapBox" title="' + away + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help">(h)</span>'+ret;
	      break;
	      default: // football
	        ret = '<span class="emiHandikapBox" title="' + away + ' normal süre sonunda maçı kaybeder ya da berabere kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">(' + handicap + 'h) </span>'+ret;
	      break;
	    }
	  }
	  return ret;
	}
function formatTeamName(team1, team2, handicap, type) {
  ret = team1;
  switch(type) {
    case 'basketball':
      ret = '<span title="' + team2 + ' normal süre sonunda maçı kaybeder ya da ' + Math.floor(handicap) + ' farkla kazanırsa mağlup, ' + Math.ceil(handicap) + ' veya üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">' + team1 + ' (h)</span>';
    break;
    default: // football
      ret = '<span title="' + team2 + ' normal süre sonunda maçı kaybeder ya da berabare kalırsa mağlup, ' + handicap + ' farkla kazanırsa berabere, ' + handicap + ' üzerinde bir farkla kazanırsa galip sayılacaktır." style="cursor:help;">' + team1 + ' (' + handicap + 'h)</span>';
    break;
  }
  return ret;
}

// patron
function patronButonu(){if($('#warning-boss').length>0){$('#warning-boss').remove();$('object').show()}else{$('body').append('<div id="warning-boss" style="position:absolute;left:0px;top:0px;z-index:99999;cursor:pointer;" title="Kapatmak için tıklayın" onclick="patronButonu();"><img src="'+GLOBAL.staticPath+'/resources/assets/excel.png"></div>');$('object').hide()}return false}
// Array.indexOf for IE
if(!Array.indexOf){Array.prototype.indexOf=function(obj){for(var i=0,il=this.length;i<il;i++){if(this[i]==obj){return i;}}return-1;}}
// combination
function comb(n,r){if((r==0)||(r==n))return 1;else if((r>n)||(r<0))return 0;else{var k=n-r,t;if(r<k){i=r;r=k;k=i}t=1;while(k>1)t*=k--;var t2=1;while(n>r)t2*=n--;t=t2/t;return t}}
// format date/time
var aylar=['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],gunler=['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'];
function parseDataDate(d){if(d!=undefined){var t,x=[0,0,0];if(d.toString().indexOf(' ')>-1){var p=d.toString().split(' ');t=p[0].split('-');x=p[1].split(':');if(x.length<3)x.push(0)}else t=d.toString().split('-');return new Date(t[0],t[1]-1,t[2],x[0],x[1],x[2])}}
function formatDate(d){if(d!=undefined){var t,s='',x=parseDataDate(d);if(d.toString().indexOf(' ')>-1){var p=d.toString().split(' ');t=p[0].split('-');s=p[1].substring(0,5)}else t=d.toString().split('-');return t[2]+' '+aylar[t[1]-1]+' '+t[0]+', '+gunler[x.getDay()]+" "+s;}}
function formatTime(d) {return d.toString().substring(11,16);}
function formatDateTime(dt){return(dt.getDate()<10?'0':'')+dt.getDate()+'.'+(dt.getMonth()+1<10?'0':'')+(dt.getMonth()+1)+'.'+dt.getFullYear()+' '+(dt.getHours()<10?'0':'')+dt.getHours()+':'+(dt.getMinutes()<10?'0':'')+dt.getMinutes()+':'+(dt.getSeconds()<10?'0':'')+dt.getSeconds()}
function formatShortDate(d){if(d!=undefined){var x=parseDataDate(d);return x.getDate()+' '+aylar[x.getMonth()]+' '+x.getFullYear()+', '+gunler[x.getDay()];}}
function formatShortTime(d) {if(d!=undefined){var x=parseDataDate(d);return (x.getHours() < 10 ? '0' + x.getHours() : x.getHours()) + ':' + (x.getMinutes() < 10 ? '0' + x.getMinutes() : x.getMinutes());}}
// merge_sort: http://en.literateprograms.org/Merge_sort_(JavaScript)?action=history&offset=20081119164105
function merge_sort(array,comparison){if(array.length<2)return array;var middle=Math.ceil(array.length/2);return merge(merge_sort(array.slice(0,middle),comparison),merge_sort(array.slice(middle),comparison),comparison)}
function merge(left,right,comparison){var result=new Array();while((left.length>0)&&(right.length>0)){if(comparison(left[0],right[0])<0)result.push(left.shift());else result.push(right.shift())}while(left.length>0)result.push(left.shift());while(right.length>0)result.push(right.shift());return result}

var emiMatches = {
  constants:{
    b:[1,1.7,2.8,4.8,8.0,14.0,25.0,45.0,80.0,140.0,250.0,450.0,800.0,1500.0,3000.0,6000.0]
  },
  bankos: [],
  nonBankos: [],
  systems: [],
  allRatio: 0,
  colCount: 0,
  emiSubCombsMultiply: function (G, sT) {
    var tT = 1;
    var tD = 0;
    var cB=0;
    for (i=0; i<G.length;i++) {
      var tR = G[i].o[0];
      if (G[i].o.length > 1) {
        tR = (G[i].o[0] > G[i].o[1]) ? G[i].o[0] : G[i].o[1];
        tD++;
      }
      tT *= tR;
    }
    if (tD > 0) {
      var tM = 1;
      for (n = 0; n < tD; n++) tM *= 2;
      tM -= 1;
      this.colCount += tM;
    }
    sT.push([tT]);
    this.colCount++;
  },
  emiCombsMultiply: function (N, S, G, T) {
    if (N == 0) {
      this.emiSubCombsMultiply(G, T);
      return;
    }
    for (var j = 0; j < S.length; j++) {
      this.emiCombsMultiply(N - 1, S.slice(j + 1), G.concat([S[j]]), T);
    }
    return;
  },
  calc: function(){
    var tBr = 1;
    var tBd = 0;
    var cBB = 0;
    for (i=0;i< this.bankos.length;i++) {
      var tR = this.bankos[i].o[0];
      if (this.bankos[i].o.length > 1) {
        if (this.bankos[i].o[0] < this.bankos[i].o[1]) tR = this.bankos[i].o[1];
        tBd++;
      }
      tBr *= tR;
    }
    for (var i=0;i<this.systems.length;i++) {
      var tA = [];
      if(this.systems[i]<this.nonBankos.length){
    	  this.emiCombsMultiply(this.systems[i], this.nonBankos, [], tA);
      }
      else{
    	  this.emiSubCombsMultiply(this.nonBankos, tA);
      }
      for (var n=0;n<tA.length;n++) this.allRatio += tA[n][0] * tBr ;
    }
    for(var i=0;i<tBd;i++)this.colCount *= 2;
  }
  ,reset:function(){
    this.bankos = [];
    this.nonBankos = [];
    this.systems = [];
    this.allRatio = 0;
    this.colCount = 0;
  }
}

var eventList = {
  // props
  events: {},
  status: 'invalid',
  minAmount: 2,
  eventCount: 0,
  initializing: false,
  // methods
    init: function (list) {
    	var self = this;
    	list = list || [];
    	if(list.length > 0){
    		self.initializing = true;
      
    		$('#sk-misli').val("2");
    		for(var i=0,il=list.length;i<il;i++){
    			var item = list[i];

    			if(item.SEL.length > 1) {
    				for(var y=0;y<2;y++) {
    					var tt = item.SEL[y].split('.');
    					self.add(item.CODE, tt[0], tt[1], item.ETYPE, item.ET, item.MBS, item.ODD[y], item.BANKO, item.DATA);
    				}
    			}
    			else {
    				if(item.ETYPE == 'live' || item.ETYPE == 'specialEvent' || item.ETYPE == 'longtermEvent' || item.ETYPE == 'motorsports' || item.ETYPE == 'billard' || item.ETYPE == 'tennis' || item.ETYPE == 'athletism'){
    					self.add(item.CODE+'-'+item.GNO+'-'+item.SEL[0], item.SEL[0], [item.SELTR], item.ETYPE, item.ET, item.MBS, item.ODD[0], item.BANKO, item.DATA);
    				}
    				else{
    					if(item.SEL[0] == 'UNDER' || item.SEL[0] == 'OVER'){
    						self.add(item.CODE, 'AU', item.SEL[0], item.ETYPE, item.ET, item.MBS, item.ODD[0], item.BANKO, item.DATA);
    					}
    					else {
    						var tt = item.SEL[0].split('.');
    						self.add(item.CODE, tt[0], tt[1], item.ETYPE, item.ET, item.MBS, item.ODD[0], item.BANKO, item.DATA);
    					}
    				}
    			}
    		}
	      
    		var tMisli = parseInt($('#sk-misli').val(), 10);
    		var tColCount = parseInt($('#sk-kolon-sayisi').val(), 10);
    		if(tColCount>1){
    			tMisli=1;
    			$('#sk-misli').val(tMisli);
    			$('#sk-tutar').val(eventList.status == 'valid' ? formatNumber(tColCount * tMisli) + ' TL' : '-');
	          
    			var maxGain = parseFloat($('#sk-toplam-oran').val().replace('.','').replace(',','.')) * tMisli;
    			if (maxGain > 500000){
    				maxGain = 500000;
    			}
    			$('#sk-maksimum-kazanc').val(formatNumber(maxGain) + ' TL');
    		}
	      
    		$('#sk-bos-kupon').hide();
    		$('#sk-dolu-kupon').show()
    		$('#iddaaBetbox').find('.selectorButtons').show();
	      
    		self.initializing = false;
    	}
    	else {
    		$('#sk-dolu-kupon').hide();
    		$('#iddaaBetbox').find('.selectorButtons').hide();
    		$('#sk-bos-kupon').show();
    	}
    },
    add: function (id, tip, taraf, type, baslik, mbs, oran, banko, t_data) {
    	var $tr = $('#m' + id);
    	var tmpOran = oran || parseFloat($tr.find('.t' + tip + ' [rel="' + taraf + '"]').text().replace('.','').replace(',','.'));
    	
    	var hasEvent = false;
    	for(var i in this.events){
    		if(i.toString().split('_')[0] == id){
    			hasEvent = true;
    			break;
    		}
    	}

    	if (!hasEvent) {
		    var obj = {};
		    if(type == 'live'){
			    obj.id = id;
		        obj.taraf = [taraf ||  $tr.prev().find('[rel="'+tip+'"]').text()];
		        obj.OID4 = tip;
		        obj.tip = ['LIVE'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = 1;
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'LIVE' + ' [rel="' + tip+ '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else if(type == 'specialEvent'){
		        obj.id = id;
		        obj.taraf = [taraf ||  $tr.find('td:eq(0)').text()];
		        obj.OID4 = tip;
		        obj.tip = ['SE'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'SE' + ' [rel="' + id.split('-')[2] + '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else if(type == 'longtermEvent'){
		        obj.id = id;
		        obj.taraf =  [taraf || $tr.find('td:eq(0)').text()];
		        obj.OID4 = tip;
		        obj.tip = ['LT'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'LT' + ' [rel="' + id.split('-')[2] + '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else if(type == 'motorsports'){
		        obj.id = id;
		        obj.taraf = [taraf ||  $tr.find('td:eq(0)').text()];
		        obj.OID4 = tip;
		        obj.tip = ['SE-MTS'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'SE-MTS' + ' [rel="' + id.split('-')[2] + '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else if(type == 'billard'){
		        obj.id = id;
		        obj.taraf = [taraf ||  $tr.find('td:eq(0)').text()];
		        obj.OID4 = tip;
		        obj.tip = ['SE-BLD'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'SE-BLD' + ' [rel="' + id.split('-')[2] + '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else if(type == 'tennis'){
		        obj.id = id;
		        obj.taraf = [taraf ||  $tr.find('td:eq(0)').text()];
		        obj.OID4 = tip;
		        obj.tip = ['SE-TNS'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'SE-TNS' + ' [rel="' + id.split('-')[2] + '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else if(type == 'athletism'){
		        obj.id = id;
		        obj.taraf = [taraf ||  $tr.find('td:eq(0)').text()];
		        obj.OID4 = tip;
		        obj.tip = ['SE-ATH'];
		        obj.type = type;
		        obj.baslik = baslik ||  $tr.attr('title');
		        obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
		        obj.oran = [oran || parseFloat($tr.find('.t' + 'SE-ATH' + ' [rel="' + id.split('-')[2] + '"]').text().replace('.','').replace(',','.'))];
		        obj.banko = banko || 0;
		    }
		    else{
			    obj.id = parseInt(id, 10);
			    obj.taraf = [taraf];
			    obj.tip = [tip];
			    obj.type = type;
			    obj.baslik = baslik || $tr.find('td:eq(1)').text();
			    obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
			    obj.oran =  [tmpOran];
			    obj.banko = banko || 0;
		    }

		    if(t_data){
		    	obj.data = t_data;
		    }
		  
		    var $ul = $('#sk-' + obj.tip[0]);
		    var isFirst = false;
		    var taraf = obj.taraf[0];

		    
		    var strSelSF='';
		    
		    switch (obj.tip[0]) {
		    	case 'F':
		    		tip = 'MS';
		    		break;
		    	case 'H':
		    		tip = 'MS(h)';
		    		break;
		    	case 'AU':
		    		tip = type == "basketball" ? "TS" : 'A/Ü';
		    		taraf = obj.taraf[0] == 'UNDER' ? 'Altı' : 'Üstü';
		    	break;
		    	case 'S':
		    		tip = 'İY';
		    		break;
		    	case 'DC':
		    		tip = 'ÇS';
		    		taraf = [obj.taraf[0].charAt(0), '-', obj.taraf[0].charAt(1)].join('');
		    		break;
		    	case 'GS':
		    		tip = 'TG';
		    		if(obj.taraf[0]=='7P'){
		    			taraf = '7+';
		    		}
		    		else{
		    			taraf = [obj.taraf[0].charAt(0), '-', obj.taraf[0].charAt(1)].join('');
		    		}
		    		break;
		    	case 'SF':
		    		strSelSF=' selSF-'+id;
		    		obj.id=obj.id+'_'+obj.taraf[0];
		    		tip = 'İM';
		    		taraf = [obj.taraf[0].charAt(0), '/', obj.taraf[0].charAt(1)].join('');
		    		obj.mbs = Math.ceil(obj.mbs / 2);
		    		break;
		    	case 'SC':
		    		switch(obj.taraf[0]){
		    			case 'GG':
				    		tip = 'KG';
			    			taraf = 'Var';
		    				break;
		    			case 'NG':
				    		tip = 'KG';
				    		taraf = 'Yok';
		    				break;
		    			default:
				    		tip = 'SK';
			    			taraf = [obj.taraf[0].charAt(0), ':', obj.taraf[0].charAt(1)].join('');
			    			obj.mbs = Math.ceil(obj.mbs / 4);
		    				break;
		    		}
		    		break;
		    	case 'LIVE':
		    		tip='Ci';
		    		taraf = obj.taraf[0];
		    		break;
		    	case 'SE':
		    		tip='ÖE';
		    		taraf = obj.taraf[0];
		    		break;
		    	case 'LT':
		    		tip='UV';
		    		taraf = obj.taraf[0];
		    		break;
		    	case 'SE-MTS':
		    		tip='ÖE';
		    		taraf = obj.taraf[0];
		    		break;
		    	case 'SE-BLD':
		    		tip='ÖE';
		    		taraf = obj.taraf[0];
		    		break;
		    	case 'SE-TNS':
		    		tip='ÖE';
		    		taraf = obj.taraf[0];
		    		break;
		    	case 'SE-ATH':
		    		tip='ÖE';
		    		taraf = obj.taraf[0];
		    		break;
		    	default:
		    		return false;
		    	break;
		    }

		    if ($ul.length == 0) {
		    	var baslik, $offset;
		    	switch (obj.tip[0]) {
			    	case 'LIVE':
			    		baslik = 'Canlı iddaa';
			    		$offset = $('#sk-dolu-kupon > p');
			    		break;
			    	case 'F':
			    		baslik = 'Maç Sonucu';
			    		$offset = $('#sk-LIVE,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'H':
			    		baslik = 'Maç Sonucu (Handikaplı)';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'AU':
			    		baslik = 'Alt / Üst';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'S':
			    		baslik = 'İlk Yarı Sonucu';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'DC':
			    		baslik = 'Çifte Şans';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'GS':
			    		baslik = 'Toplam Gol';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SF':
			    		baslik = 'İlk Yarı/Maç Sonucu';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SC':
			    		baslik = 'Maç Skoru';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SE':
			    		baslik = 'Özel Etkinlik';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-SC,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'LT':
			    		baslik = 'Uzun Vadeli';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-SC,#sk-SE,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SE-MTS':
			    		baslik = 'Motor Sporları';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-SC,#sk-SE,#sk-LT,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SE-BLD':
			    		baslik = 'Bilardo';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-SC,#sk-SE,#sk-LT,#sk-SE-MTS,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SE-TNS':
			    		baslik = 'Tenis';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-SC,#sk-SE,#sk-LT,#sk-SE-MTS,#sk-SE-BLD,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	case 'SE-ATH':
			    		baslik = 'Atletizm';
			    		$offset = $('#sk-LIVE,#sk-F,#sk-H,#sk-AU,#sk-S,#sk-DC,#sk-GS,#sk-SF,#sk-SC,#sk-SE,#sk-LT,#sk-SE-MTS,#sk-SE-BLD,#sk-SE-TNS,#sk-dolu-kupon > p').filter(':last');
			    		break;
			    	default:
			    		return false;
			    	break;
		    	}
		    	var $h3 = $('<h3><span>' + baslik + '</span><em>[0]</em></h3>');
		    	$ul = $('<ul id="sk-' + obj.tip[0] + '"></ul>');
		    	$offset.after($h3);
		    	$h3.after($ul);
		    	isFirst = true;
		    }
		    if(obj.type == 'live' || obj.type == 'specialEvent' || obj.type == 'longtermEvent' || obj.type == 'motorsports' || obj.type == 'billard' || obj.type == 'tennis' || obj.type == 'athletism'){
		    	$ul.append('<li' + (isFirst ? ' class="first"' : '') + ' id="k' + obj.id + '"><input type="checkbox" id="sk-chk' + obj.id + '" title="Banko seçmek için tıklayın." /><label for="sk-chk' + obj.id + '"> <strong>' + obj.id.split('-')[0] + '</strong> ' + obj.baslik + '</label><a class="close" href="#">çıkar</a><span class="mMbs">Mbs: ' + obj.mbs + '</span><span class="mTip">' + tip + '</span><span class="mOran"> ' + taraf +': '+ formatNumber(obj.oran[0]) + '</span></li>');
		    	
		    }
		    else if(obj.type == 'live'){
		    	$ul.append('<li' + (isFirst ? ' class="first"' : '') + ' id="k' + obj.id + '"><input type="checkbox" disabled="disabled" id="sk-chk' + obj.id + '" title="Banko seçmek için tıklayın." /><label for="sk-chk' + obj.id + '"> <strong>' + obj.id.split('-')[0] + '</strong> ' + obj.baslik + '</label><a class="close" href="#">çıkar</a><span class="mMbs">Mbs: ' + obj.mbs + '</span><span class="mTip">' + tip + '</span><span class="mOran"> ' + taraf +': '+ formatNumber(obj.oran[0]) + '</span></li>');
		    }
		    else{
		    	$ul.append('<li class="' + (isFirst ? 'first' : 'bet') + strSelSF+'" id="k' + obj.id + '"><input type="checkbox" id="sk-chk' + obj.id + '" title="Banko seçmek için tıklayın." /><label for="sk-chk' + obj.id + '"> <strong>' + obj.id.toString().split('_')[0] + '</strong> ' + obj.baslik + '</label><a class="close" href="#">çıkar</a><span class="mMbs">Mbs: ' + obj.mbs + '</span><span class="mTip">' + tip + '</span><span class="mOran">' + taraf +  ': ' + formatNumber(obj.oran[0]) + '</span></li>');	
		    }
		    if(obj.banko === 1){
		    	$('#sk-chk'+obj.id).attr('checked','checked');
		    }
		    if(obj.type == 'live' || obj.type == 'specialEvent' || obj.type == 'longtermEvent' || obj.type == 'motorsports' || obj.type == 'billard' || obj.type == 'tennis' || obj.type == 'athletism'){
		    	$('#m'+obj.id+' .t' + obj.tip[0] + ' a[rel="' + obj.OID4 + '"]').addClass('selected');
		    	var arId = obj.id.toString().split('-');
		    	$('.selectorBet.selector_'+arId[0]+'-'+arId[1]+' .selectorOID4_' + arId[2]).addClass('selected');
		    }
		    else{
			    $('#m'+obj.id.toString().split('_')[0]+' .t' + obj.tip[0] + ' a[rel="' + obj.taraf[0] + '"]').addClass('selected');
			    $('.t'+obj.id.toString().split('_')[0]+' .t' + obj.tip[0] + ' a[rel="' + obj.taraf[0] + '"]').addClass('selected');
			    $('.selectorBet.selector_'+obj.id.toString().split('_')[0]+' .selector' + obj.tip[0] +'_'+ obj.taraf[0]).addClass('selected');
		    }

		    this.events[obj.id] = obj;
		    this.eventCount++;
    	}
    	else {
	    	switch(tip){
	    		case 'F':
	    			$('#m'+id+' .t' + tip + ' a[rel="' + taraf + '"]').addClass('selected');
	    			$('.t'+id+' .t' + tip + ' a[rel="' + taraf + '"]').addClass('selected');
	    			$('.selectorBet.selector_'+id+' .selector' + tip +'_'+ taraf).addClass('selected');
	    			this.events[id].tip.push(tip);
	    			this.events[id].taraf.push(taraf);
	    			this.events[id].oran.push(tmpOran);
	    			$('#k' + id).find('.mOran').html(this.events[id].taraf[0] + '/' + this.events[id].taraf[1] + ': ' + formatNumber(this.events[id].oran[0]) + '/' + formatNumber(this.events[id].oran[1]));
	    		break;
	    		case 'SF':
	    			var obj = {};
	    			obj.id = parseInt(id, 10).toString()+"_"+taraf;
	    			obj.taraf = [taraf];
	    			obj.tip = [tip];
	    			obj.type = type;
	    			obj.baslik = baslik || $tr.find('td:eq(1)').text();
	    			obj.mbs = parseInt(mbs) || parseInt($tr.find('td.mbs').text(), 10);
	    			obj.oran =  [tmpOran];
	    			obj.banko = banko || 0;
	    			
	    			if(t_data){
	    				obj.data = t_data;
	    			}
	    			
	    			var $ul = $('#sk-' + obj.tip[0]);
		    		
		    		tip = 'İM';
		    		
		    		obj.mbs = Math.ceil(obj.mbs / 2);
	    			
		    		$ul.append('<li class="bet selSF-'+id+'" id="k' + obj.id + '"><input type="checkbox" id="sk-chk' + obj.id + '" disabled="disabled" title="Banko seçmek için tıklayın." /><label for="sk-chk' + obj.id + '"> <strong>' + obj.id.toString().split('_')[0] + '</strong> ' + obj.baslik + '</label><a class="close" href="#">çıkar</a><span class="mMbs">Mbs: ' + obj.mbs + '</span><span class="mTip">' + tip + '</span><span class="mOran">' + obj.taraf[0].charAt(0)+'/'+obj.taraf[0].charAt(1) +  ': ' + formatNumber(obj.oran[0]) + '</span></li>');
	    		    $('#m'+id+' .t' + obj.tip[0] + ' a[rel="' + obj.taraf[0] + '"]').addClass('selected');
	    		    $('.t'+id+' .t' + obj.tip[0] + ' a[rel="' + obj.taraf[0] + '"]').addClass('selected');
	    		    $('.selectorBet.selector_'+id+' .selector' + obj.tip[0] +'_'+ obj.taraf[0]).addClass('selected');
	    		    
	    		    $ul.find('.selSF-'+id+' input').attr("disabled","disabled");
	    		    
	    		    this.events[obj.id] = obj;
	    		    this.eventCount++;
	        	break;
	    	}
    	}
    	this.update();
    	return true;
    },
    update: function () {
    	$('#sizin-kuponunuz ul').each(function () {
    		var $this = $(this);
    		var $li = $this.find('li');
    		var lil = $li.length;
    		if (lil == 0) {
    			$this.prev().remove();
    			$this.remove();
    		}
    		else {
    			$this.prev().find('em').html('[' + lil + ']');
    		}
    	});
    	if (this.eventCount > 0) {
    		var maxMbs = 0;
    		for(var i in this.events){
    			//if(this.events[i].mbs > maxMbs || (maxMbs != 1 && this.events[i].mbs == 1)){
    			if(this.events[i].mbs > maxMbs){
    				maxMbs = parseInt(this.events[i].mbs,10);
    			}
    		}

    		var ratio = 1,
    		ratios = {},
    		colMultiplier = 1;

    		emiMatches.reset();
      
    		var basketballCount = 0;
    		var bbOdd = 1;
    		
    		var bankoMbs = 0;
    		var tObjEventsSF={};
    		var hasMultipleSF = false;
    		for (var i in this.events) {
    			event = this.events[i];
    			if(event.type=="basketball") {
    				if(event.oran.length == 0){
    					basketballCount++;
    				}
    				else{
    					bbOdd *= event.oran[0];
    				}
    			}
    			event.banko = $('#sk-chk' + event.id).is(':checked') ? 1 : 0;
    			var tmpRatio = 1;
    			if (event.oran.length > 1) {
    				tmpRatio = event.oran[0] > event.oran[1] ? event.oran[0] : event.oran[1];
    				colMultiplier *= 2;
    			}
    			else{
    				tmpRatio = event.oran[0];
    			}
    			ratio *= tmpRatio;
    			if(event.banko){
    				emiMatches.bankos.push({o: event.oran,t:event.type});
        			if(event.mbs > bankoMbs || (bankoMbs != 1 && event.mbs==1)){
        				bankoMbs = parseInt(event.mbs,10);
        			}
    			}
    			else{
    				var tId = i.split('_')[0];
    				var tOran = event.oran;
    				if(tObjEventsSF[tId]){
    					hasMultipleSF = true;
    					for(var n=0,nl=emiMatches.nonBankos.length;n<nl;n++){
    						var tRow = emiMatches.nonBankos[n];
    						if(tRow.c == tId){
    							
    							if(parseFloat(event.oran,10)>parseFloat(tRow.o,10)){
    								tRow.o=[0];
    							}
    							else{
    								tOran=[0];
    							}
    						}
    					}
    				}
    				else{
    					tObjEventsSF[tId]=true;
    				};
    				emiMatches.nonBankos.push({o: tOran,t:event.type,c:tId});
    			}
    		}
    		
    		if(bankoMbs>maxMbs || bankoMbs == 1){
    			maxMbs = bankoMbs;
    		}
    		
    		$('#sizin-kuponunuz strong:first').html(this.eventCount);
    		var colCount = 0;
      
    		var $sistem = $('#sk-sistem input[type="checkbox"]:checked');
    		if ($sistem.length > 0) {
    			$sistem.each(function () {
    				emiMatches.systems.push(parseInt($(this).val(), 10))
    			});
    			emiMatches.calc();
    			ratio = emiMatches.allRatio;
    			colCount = emiMatches.colCount;
    			colMultiplier = 1;
    			$('#sk-toplam-oran').val(formatNumberFloor(ratio));
    		} else {
    			colCount = 1;
    			$('#sk-toplam-oran').val(formatNumberFloor(ratio));
    		}
      
    		colCount *= colMultiplier;
      
    		var maxMisli = Math.floor(1000 / colCount);
    		var $misli = $('#sk-misli');
    		$misli.find('option').attr('disabled','').css('color','#666').each(function() {
    			var val = parseInt(this.value, 10);
    			if(val > maxMisli && val != 1){
    				$(this).attr('disabled','disabled').css('color','#ccc').attr('selected','');
    			}
    		});
      
    		if($misli.val() == null){
    			$misli.val(1);
    		}
      
    		var bankoCount = $('#sizin-kuponunuz li input:checked').length;
    		

    		
    		if (this.eventCount > 0 && this.eventCount >= maxMbs && this.eventCount != bankoCount) {
    			var schk = [], nchk = [];
        
    			var sistem = '';
    			
    			
      			$('#sk-sistem input:checked').each(function() {
    				var tmp = parseInt(this.value,10);
    				if (1000 - colCount >= comb(this.eventCount - bankoCount, tmp) * parseInt($misli.val(), 10)){
    					schk.push(tmp);
    				}
    			});

        		if(hasMultipleSF){
        			if((bankoCount+1)>=maxMbs){
        				nchk = [1];
        				if(schk.indexOf(0)>-1){
        					schk = [0,1];	
        				}
        				else{
        					schk = [1];
        				}
        				
        			}
        		}
        		else{
        			
        			for (var i = 0, il = this.eventCount - maxMbs; i <= il; i++) {
        				var tmp = i + maxMbs - bankoCount;

        				if (tmp > 0 && (1000 - colCount >= comb(this.eventCount - bankoCount, tmp) * parseInt($misli.val(), 10))) {
        					if ($('#s' + tmp + ':checked').length == 0){
        						nchk.push(tmp);
        					}
        				}
        			}
        			for(var i=0,il=schk.length;i<il;i++) {
        				if(nchk.indexOf(schk[i]) < 0 && schk[i] <= this.eventCount - bankoCount){
        					nchk.push(schk[i]);
        				}
        			}
        		}

    			
    			$('#sk-sistem').html('');


    			nchk = merge_sort(nchk, function(o1, o2) {return o1>o2 ? 1 : -1;});
    			for(var i=0,il=nchk.length;i<il;i++) {
    				if($('#s' + nchk[i]).length == 0){
    					$('#sk-sistem').append('<input type="checkbox" value="' + nchk[i] + '" id="s' + nchk[i] + '"' + (schk.indexOf(nchk[i]) < 0 ? '' : ' checked="checked"') + ' /><label for="s' + nchk[i] + '"> ' + nchk[i] + '</label>');
    				}
    			}

    			if($('#sk-sistem input:checked:not(#s0)').length > 0) {
    				var mMbs = 0;
    				$('#sizin-kuponunuz li input:checked').each(function() {
    					var tMbs = parseInt($(this).parent().find('.mMbs').html().replace('Mbs: ',''),10);
    					if(tMbs > mMbs){
    						mMbs = tMbs;
    					}
    				});
    				

    				if(bankoCount > 0 && bankoCount >= mMbs) {
    					if($('#s0').length == 0){
    						$('#sk-sistem').prepend('<input type="checkbox" value="0" id="s0"' + (schk.indexOf(0) < 0 ? '' : ' checked="checked"') + ' /><label for="s0"> 0</label>');
    					}
    				}
    			}
    			if(bankoCount == this.eventCount && bankoCount == maxMbs) $('#sk-sistem').html('');
    		}
    		else{
    			$('#sk-sistem').html('');
    		}

    		$('#sk-kolon-sayisi').val(colCount);
      
      
    		var tMisli = parseInt($('#sk-misli').val(), 10);
    		if(!this.initializing) {
    			if(tMisli == 1 && colCount<2 && $('#sk-sistem input:checked').length==0){
    				$('#sk-misli').val("2");
    				tMisli=2;
    			}
    		}
     
    		var maxGain = ratio * tMisli;
    		if (maxGain > 500000) maxGain = 500000;
    		$('#sk-maksimum-kazanc').val(formatNumber(maxGain) + ' TL');
    		var hasLive = false;
    		var mbsCount = [0,0,0,0,0];
    		for(var i in this.events) {
    			var event = this.events[i];
    			mbsCount[event.mbs]++;
    			if(event.tip[0] == 'LIVE'){
    				hasLive = true;
    			}
    		}

    		if(this.eventCount>1 && hasLive){
    			this.status = 'liveFail';
    		}
    		else if(hasMultipleSF && (bankoCount+1)<maxMbs){
    			this.status = 'sfFail';
    		}
    		else if(mbsCount[1] < 1) {
    			var mbs2 = mbsCount[2] * 2;
    			var mbs3 = mbsCount[3] * 3;
    			var mbs4 = mbsCount[4] * 4;
    			if(mbs2 >= 4 || mbs3 >= 9 || mbs4 >= 16) {
    				this.status = 'valid';
    			}
    			else {
    				var mbsTotal = mbs2 + mbs3 + mbs4;
    				if(mbsTotal > 12){
    					this.status = 'valid';
    				}
    				else if((mbsTotal == 8 || mbsTotal == 12) && mbsCount[3] == 2 && mbsCount[2] == 1){
    					this.status = 'valid';
    				}
    				else{
    					this.status = 'mbsFail';
    				}
    			}
    		}
    		else{
    			this.status = 'valid';
    		}
    		var skTutar = colCount * parseInt($('#sk-misli').val(), 10);
    		$('#sk-tutar').val(this.status == 'valid' ? formatNumber(skTutar) + ' TL' : '-');
    		if(this.status == 'valid') {
    			if(skTutar < this.minAmount){
    				this.status = 'minAmountFail';
    			}
    		}
    		$('#sk-bos-kupon').hide();
    		$('#sk-dolu-kupon').show();
    		$('#iddaaBetbox').find('.selectorButtons').show();
    		if(colCount > 1000){
    			this.update();
    		}
    	}
    	else {
    		$('#sk-dolu-kupon').hide();
    		$('#iddaaBetbox').find('.selectorButtons').hide();
    		$('#sk-bos-kupon').show();
    	}
    	if(!this.initializing) {
    		var tSerial = this.serialize();
    		if(!this.lastSerial || this.lastSerial != tSerial){
    			Eeb.iddaa.coupon.save({matches:tSerial.matches});
    			this.lastSerial = tSerial;
    		}
    	}
    },
    remove: function (id, tip, taraf) {
    	if (tip && taraf) {

    		$('#m'+id+' .t' + tip + ' a[rel="' + taraf + '"]').removeClass('selected');
    		$('.t'+id+' .t' + tip + ' a[rel="' + taraf + '"]').removeClass('selected');
    		$('.selectorBet.selector_'+id+' .selector' + tip +'_' + taraf).removeClass('selected');
    		
			if(tip == 'SF'){
				var $sf = $('#sk-SF .selSF-'+id+' input');
				if($sf.length==2){
					$sf.attr('disabled','');
				}
				id=id+'_'+taraf;
			}
    		
    		if (this.events[id].tip.length > 1) {
    			var i = this.events[id].taraf[0] == taraf ? 0 : 1;
    			this.events[id].tip.splice(i, 1);
    			this.events[id].taraf.splice(i, 1);
    			this.events[id].oran.splice(i, 1);
    			$('#k' + id).find('.mOran').html(this.events[id].taraf[0] + ': ' + formatNumber(this.events[id].oran[0]));
    		}
    		else{
    			delete(this.events[id]);
    			this.eventCount--;
    			$('#k' + id).remove();
    		}
    	}
    	else{
			if(this.events[id].tip[0] == 'SF'){
				var $sf = $('#sk-SF .selSF-'+id.split('_')[0]+' input');
				if($sf.length==2){
					$sf.attr('disabled','');
				}
			}
			else{
				if (this.events[id].tip.length > 1) {
					$('.selectorBet.selector_'+id+' .selector' + this.events[id].tip[0] +'_' + this.events[id].taraf[0]).removeClass('selected');
					$('.selectorBet.selector_'+id+' .selector' + this.events[id].tip[1] +'_' + this.events[id].taraf[1]).removeClass('selected');
				}
				else{
					$('.selectorBet.selector_'+id+' .selector' + this.events[id].tip[0] +'_' + this.events[id].taraf[0]).removeClass('selected');
				}
			}
    		$('#m' + id).find('.selected').removeClass('selected');
    		$('.t' + id).find('.selected').removeClass('selected');
    		
	    	var arId = id.toString().split('-');
	    	if(arId.length>2){
	    		$('.selectorBet.selector_'+arId[0]+'-'+arId[1]+' .selectorOID4_' + arId[2]).removeClass('selected');
	    	}
    		
    		delete(this.events[id]);
    		this.eventCount--;
    		$('#k' + id).remove();
    	}
    	this.update();
    },
    clear: function (t_obj) {
    	if (this.eventCount > 0) {
    		tObj = {
				title:"Kupon sil",
				html:"Kuponunuzdaki tüm bahisler silinecek.<br/> Emin misiniz?",
				onYes:function(){
					$('#sizin-kuponunuz strong:first').html("0");
					$('.bulten .selected').removeClass('selected');
					$('a.rate.selected').removeClass('selected');
					$('#sizin-kuponunuz ul,#sizin-kuponunuz h3').remove();
					$('#sk-toplam-oran').val('');
					$('#sk-misli').val(1);
					$('#sk-sistem').html('');
					eventList.status = 'invalid';
					eventList.events = {};
					eventList.eventCount = 0;
					eventList.update();
					if(t_obj && t_obj.onYes){
						t_obj.onYes();
					}
				}
    		};
    		Page.ui.confirm(tObj);
    	}
    	else{
    		if(t_obj && t_obj.onYes)t_obj.onYes();
    	}
    },
    get: function(id){
    	return this.events[id];
    },
    serialize: function () {
    	if (this.events.length == 0){
    		return;
    	}
    	var coupon = {
            'matches': [],
	        'multi': parseInt($('#sk-misli').val(), 10),
	        'system': [],
	        'betboxStatus': eventList.status
    	};
    	var tBankoCount=0;
    	for (var event in this.events) {
    		event = this.events[event];
    		if(event.banko == 1){
    			tBankoCount++;
    		}
    		var tmp = {};
    		tmp.code = parseInt(event.id.toString().split('_')[0], 10);;
    		tmp.banko = event.banko;
    		tmp.odd = event.oran;
    		tmp.sel = [];
    		switch(event.type){
    			case 'specialEvent':
    			case 'motorsports':
	    		case 'billard':
	    		case 'tennis':
	    		case 'athletism':
	    		case 'longtermEvent':
	    		case 'live':
	    			tmp.sel.push(event.taraf[0]);
	    			var tId = event.id.split('-');
	    			tmp.code = parseInt(tId[0], 10);
	    			tmp.gno = tId[1];
	    			tmp.sel = [tId[2]];
	    			switch(tmp.btype){
	    				case 'longtermEvent':
	    					tmp.btype = 'longtermEvent';
	    				break;
	    				default:
	    					tmp.btype = 'specialEvent';
	    					tmp.ctype = event.type;
	    				break;
	    			}
	    			break;
	    		default:
	    			if (event.tip[0] == 'AU'){
	    				tmp.sel.push(event.taraf[0]);
	    			}
	    			else{
	    				for (var i = 0, il = event.tip.length; i < il; i++) {
	    					tmp.sel.push(event.tip[i] + '.' + event.taraf[i]);
	    				}
	    			}
	    			if(!event.data){
	    				switch(event.type){
	    					case 'football':
	    						switch(event.tip[0]){
	    							case 'H':
	    								if(Eeb.iddaa.data.football[tmp.code.toString()])tmp.data = {EXTRA_HANDICAP:Eeb.iddaa.data.football[tmp.code.toString()].EXTRA_HANDICAP};
	    							break;						
	    						}
	    					break;
	    					case 'basketball':
	    						switch(event.tip[0]){
    								case 'F':
    									if(Eeb.iddaa.data.basketball[tmp.code.toString()])tmp.data = {HCF:Eeb.iddaa.data.basketball[tmp.code.toString()].HCF};
    								break;
      								case 'S':
    									if(Eeb.iddaa.data.basketball[tmp.code.toString()])tmp.data = {HCH:Eeb.iddaa.data.basketball[tmp.code.toString()].HCH};
    								break;
      								case 'AU':
    									if(Eeb.iddaa.data.basketball[tmp.code.toString()])tmp.data = {TSL:Eeb.iddaa.data.basketball[tmp.code.toString()].TSL};
    								break;
	    						}
	    					break;
	    				}
	    			}
	    			else{
	    				tmp.data = event.data;
	    			}
	    		break;
    		}
    		coupon.matches.push(tmp);
    	}
	    $('#sk-sistem input[type="checkbox"]:checked').each(function (i) {
	        coupon.system.push(parseInt($(this).val(), 10)+tBankoCount);
	    });
	    if(this.referer){
	    	coupon.referer = this.referer;
	    }
	    return coupon;
    },
    checkEventCount: function(t_eventType){
    	if(eventList.eventCount >= 30) {
    		$.jGrowl('Kuponunuza en fazla 30 maç ekleyebilirsiniz.', { header: 'Uyarı'});
    		return false;
    	}
    	/*
		if(t_eventType == 'handball') {
			var hasHB = false;
    		for(var code in eventList.events) {
    			if(eventList.events[code].type == 'handball') {
    				hasHB = true;
    				break;
    			}
    		}
    		if(hasHB){
    			$.jGrowl('Kuponunuza sadece bir tane hentbol karşılaşması ekleyebilirsiniz.', { header: 'Uyarı'});
    			return false;
    		}
		}
		*/
		return true;
    }
};

var serverTime = {
  _diff: 0,
  _control: $('#serverClockTime'),
  _interval: null,
  render: function() {
    var cTime = new Date();
    var sTime = new Date(cTime.setMilliseconds(cTime.getMilliseconds() - serverTime._diff));
    serverTime._control.html('Sistem Saati : ' + formatDateTime(sTime));
  },
  start: function(t) {
    if(this._interval) {
      clearInterval(this._interval);
      this._diff = 0;
    }
    var sTime = parseDataDate(t);
    var cTime = new Date();
    this._diff = cTime - sTime;
    this._control.html('Sistem Saati : ' + formatDateTime(sTime)).show();
    this._interval = setInterval(this.render, 1000);
  },
  stop: function() {
    clearInterval(this._interval);
  }
  ,getDate:function(){
	  var cTime = new Date();
	  cTime.setMilliseconds(cTime.getMilliseconds() - this._diff);
	  return cTime;
  },
  getUnixtimestamp:function(){
	    var cTime = new Date();
	    var sTime = new Date(cTime.setMilliseconds(cTime.getMilliseconds() - serverTime._diff));
	    
	  return Math.round(sTime.getTime() / 1000);
  },
  getHumanTime:function(t_date){
	  var date = Emi.util.date.parse(t_date);
	  var strTime = (date.getHours().toString().length>1?date.getHours():"0"+date.getHours())+":"+(date.getMinutes().toString().length>1?date.getMinutes():"0"+date.getMinutes())+":"+(date.getSeconds().toString().length>1?date.getSeconds():"0"+date.getSeconds());
	  var strDate = (date.getDate().toString().length>1?date.getDate():"0"+date.getDate())+"."+((date.getMonth()+1).toString().length>1?(date.getMonth()+1):"0"+(date.getMonth()+1))+"."+date.getFullYear()+ ' '+strTime;

	  var dif = serverTime.getDate().getTime()-date.getTime();

	  var digit = Math.floor(dif/31536000000);
	  if(digit > 0){
		  return {htime:digit+" yıl önce",date:strDate};
	  }
	  digit = Math.floor(dif/2592000000);
	  if(digit > 0){
		  return {htime:digit+" ay önce",date:strDate};
	  }
	  digit = Math.floor(dif/604800000);
	  if(digit > 0){
		  return {htime:digit+" hafta önce",date:strDate};
	  }
	  digit = Math.floor(dif/86400000);
	  if(digit > 0){
		  if(digit == 1){
			  return {htime:"dün",date:strDate};
		  }
		  return {htime:digit+" gün önce",date:strDate};
	  }
	  digit = Math.floor(dif/3600000);
	  if(digit > 0){
		  return {htime:digit+" saat önce",date:strDate};
	  }
	  digit = Math.floor(dif/60000);
	  if(digit > 0){
		  return {htime:digit+" dakika önce",date:strDate};
	  }
	  digit = Math.floor(dif/1000);
	  return {htime:digit+" saniye önce",date:strDate};
  }
};

// 2010-04-12 Cookie metotları
function getCookie(name){var start=document.cookie.indexOf(name+"=");var len=start+name.length+1;if((!start)&&(name!=document.cookie.substring(0,name.length))){return null}if(start==-1)return null;var end=document.cookie.indexOf(';',len);if(end==-1)end=document.cookie.length;return unescape(document.cookie.substring(len,end))}
function setCookie(name,value,expires,path,domain,secure){var today=new Date();today.setTime(today.getTime());if(expires){expires=expires*1000*60*60}var expire_date=new Date(today.getTime()+(expires));document.cookie=name+'='+escape(value)+((expires)?';expires='+expire_date.toGMTString():'')+((path)?';path='+path:'')+((domain)?';domain='+domain:'')+((secure)?';secure':'')}
function deleteCookie(name,path,domain){if(getCookie(name))document.cookie=name+'='+((path)?';path='+path:'')+((domain)?';domain='+domain:'')+';expires=Thu, 01-Jan-1970 00:00:01 GMT'}
