var minutes = 2;
var interval_minute = 60000;
var interval_seconds = 1000;
var seconds = 59;
var stop = 0;
var gname = "";
var klasid = 0;
var msisdn = "";

function starttimer()
{
     minutes = 2;
     interval_minute = 60000;
     interval_seconds = 1000;
     seconds = 59;
     interval_pointer = setInterval( timer_handler , interval_seconds );
}


function timer_handler()
{
    clearInterval( interval_pointer );
    var text = '';

        if(seconds==0) {
            seconds = 59;
            seconds = 59;
            minutes--;
        }

    if(seconds>=0 && minutes>=0)  {
        text = "Şifreniz cep telefonunuza gönderilmiştir.<br>(" + minutes + " dk. " + seconds + " sn. içinde şifreniz gelmez ise <b>"+gname+"</b> yazıp <b>1230</b>'a göndererek gruba katılabilirsiniz.)";
        document.getElementById( 'time_display' ).innerHTML = text;
    }

    if(seconds == 1 && minutes==0) {
        text = "Şifreniz gelmediyse <b>"+gname+"</b> yazip <b>1230</b>'a göndererek gruba katılabilirsiniz.";

        $("#time_display").css("display", "block");
        $("#divCode").css("display", "block");
        $("#divRetry").css("display", "block");
        $("#time_display").css("color","white");
        $("#codetitle").html("<b>"+gname+"</b> grubuna katılmak için; ")
        
        document.getElementById( 'time_display' ).innerHTML = text;
    }
    if(stop==0)
      seconds--;
    interval_pointer = setInterval( timer_handler , interval_seconds );
}

function jumpToSinirsizArkadas(phonenumber,password,groupname) {

   if(groupname == "ARKADAS5")
   {
       setTimeout(function(){
             window.location="http://www.sinirsizarkadas.com/profiles.do";
         }, 1000); 
   }
   else
       window.location="http://www.sinirsizarkadas.com/profiles.do";
}

function jumpToMsn724(phonenumber,password,groupname) {
   window.location="http://msn724.com?msisdn="+phonenumber+"&password="+password+"&group="+groupname+"";
}
function jumpToKlasArkadas() {
   window.location="http://www.klasarkadas.com/cep/uyelik.html";
}
function jumpToTurkCam() {
   window.location="http://www.turkcam.com/ok.aspx?id="+klasid;
}
function jumpToKlasArkadas2() {
   window.location="http://www.klasarkadas.com/smsgoldyap.aspx?id="+klasid+"&tel="+msisdn;
}
function jumpToMsn724_WNP() {
   var msisdn = "90" + $("#op").val() + $("#phoneNumber").val();
   window.location="http://msn724.com?msisdn="+msisdn+"&password=NON&group="+gname+""; 
}
function selectOp() {
    var optype = $("#op").val();//document.getElementById("op").value;
    var prefix = optype.substring(0,2);
    var operator="";
    if(prefix=="50" || prefix=="55")
     operator="avea";
    else if(prefix=="53")
     operator="turkcell";
    else if(prefix=="54")
     operator="vodafone";
    document.getElementById(operator).checked=true;

}
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}
$(document).ready(function() {

    $("#retry").click (function (i) {
        $("#divRegister").css("display", "block");
        $("#divCode").css("display", "none");
        $("#divMessage").css("display", "none");
    });

    document.softreklam = new Softreklam();


    var futbol1903 = "Bu paket içeriği; Beşiktaş'ın Futbol A ve A2 takımlarının maç kadroları, maçların anında golleri ve maç sonuçlarının  bildirilmesini kapsamaktadır.";
    var skor1903 = "Bu paket içeriği Futbol1903 paketine ek olarak; Beşiktaş'ın Bay/Bayan Basketbol ve Voleybol Takımları ile Hentbol Takımı'nın maç programlarını ve maç sonuçlarını kapsamaktadır.";
    var haber1903 = "Bu paket içeriği Futbol1903 ve Skor1903 paketine ek olarak; Beşiktaş ile ilgili gün içerisinde gelişen önemli haberleri kapsamaktadır.";

    if($("#1903").val()=='ok')
    {
        $("#title").html(haber1903);
        gname="HABER1903";
    }

    $("#HABER1903").click(
            function(){
                $("#title").html(haber1903);
                gname="HABER1903";
            }
            );

    $("#SKOR1903").click(
            function(){
                $("#title").html(skor1903);
                gname="SKOR1903";
            }
            );

    $("#FUTBOL1903").click(
            function(){
                $("#title").html(futbol1903);
                gname="FUTBOL1903";
            }
            );


    // handle  registeration event
    $("#register").click(function () {
        registerOp();
    });
    
    $("#phoneNumber").keypress(function (event) {
          if(event.which == 13)
           registerOp();

      });

    $("#code").click(function () {
           sendActivationCode();
    });

    $("#activationCode").keypress(function (event) {
           if(event.which == 13)
            sendActivationCode();
    });

    //handle code submit event

    function registerOp() {

        /*
        if(!$("#sozlesme").attr("checked"))
         return false;
        */
        // TODO: Do Validation, check

        getGroupNameFromQueryString();


        //clears password input.
        document.getElementById("activationCode").value="";


        var gr = new GroupUtility();
        var elem = document.getElementById("phoneNumber");
        //kullanim sartlari
        if($("#ks").attr("checked") == false){
        alert("Üyaliğinizi başlatabilmek için kullanım şartlarını kabul etmelisiniz") 
        return;
        }
        if (!gr.checkNumber(elem, 7)) {
            //alert("Telefon numaranız yedi rakamdan oluşmalıdır");
            $("#registeralert").html("Telefon numaranız yedi rakamdan oluşmalıdır");
            $("#registeralert").fadeIn("slow");
            elem.focus();
            return;
        }
        if(elem.value.substring(0, 1) == 0)
        {
            $("#registeralert").html("Telefon numaranız sıfır ile başlayamaz");
            $("#registeralert").fadeIn("slow");
            elem.focus();
            return;
        }
        $("#registeralert").html("Lütfen bekleyiniz, şu an cep telefonunuza aktivasyon şifresi gönderiliyor...");
        $(document.softreklam).unbind("ajaxCallback");

        $(document.softreklam).bind("ajaxCallback", function (evt, params) {
            if (!params.succeeded || params.thrown != null) {
                alert(params.thrown);
                return;
            }

            var json = params.data;

            if(inputs.extrapp=="FENERCELL" && json.description == "FENERCELL_NONSUBCRIBER" && !json.result)
            {
                alert("Üzgünüz..! Bu yarışma grubuna sadece FENERCELL Aboneleri katılabilmektedir.");
                return;
            }

            if (!json.result) {
                if(json.description=="IP_RESTRICT" || json.description=="ACTIVATION_CODE_EXISTS")
                {
                    var msg = "Günlük şifre isteme limitinizi doldurdunuz. Gruba katılmak için lütfen <b>"+gname+"</b> yazıp 1230 a gönderiniz.";
                    if(gname=="MSN") {
                       $("#divMsn").css("display", "block");
                    }
                    
                    $("#registeralert").html(msg);
                    $("#registeralert").fadeIn("slow");
                    return;
                }
            
                if(json.description=="SOMETHING_WRONG") {
                    var msg = "Bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.";
                    $("#registeralert").html(msg);
                    return;
                }
			
                else
                    $("#registeralert").html(json.description);
                return;
            }

            $("#groupName").text($(document).getUrlParam("grup"));

            $("#divRegister").css("display", "none");
            $("#divCode").css("display","block");
            $("#divMessage").css("display", "none");
            $("#divRetry").css("display", "none");
            $("#codetitle").html("<b>"+gname+"</b> grubuna katılmak için; ")
            //$("#divPassword").css("display", "block");
            $("#time_display").css("display", "block");
            $("#divMsn").css("display", "none");
            $("#registeralert").css("display","none");
            $("#activationCode").focus();

            if(json.description!="ACTIVATION_CODE_EXISTS")
            {
             starttimer();
             $("#isactivationExists").css("display", "none");
             $("#isNotactivationExists").css("display", "block");
            }
            /*
            if(json.description=="ACTIVATION_CODE_EXISTS"){
              document.getElementById( 'time_display' ).innerHTML = "<b>DİKKAT !</b><br>Son bir gün içerisinde şifre isteme hakkınız dolmuştur! Gün içinde aldığınız şifreyi girerek ya da cep telefonunuzdan <b>"+gname+"</b> yazıp 1230’a sms göndererek gruba katılabilirsiniz.<br>" ;

              $("#isactivationExists").css("display", "block");
              $("#isNotactivationExists").css("display", "none");
            }
            */


        });

        var gender = $("#erkek").attr("checked") ;

        var cinsiyet = null;
        if (gender == null || gender == false) {
            cinsiyet = $("#kadin").val();
        }
        else {
            cinsiyet = $("#erkek").val();
        }

        var op_avea =  $("#avea").attr("checked");
        var op_turkcell = $("#turkcell").attr("checked");
        var op_vodafone = $("#vodafone").attr("checked");
        //operator
        var operator = null;
        if(op_avea==true)
          operator = $("#avea").val();
        else if(op_turkcell==true)
          operator = $("#turkcell").val();
        else if(op_vodafone==true)
          operator = $("#vodafone").val();
        else operator = "NON";


        var inputs = new Object();

        inputs.age = $("#age").val();
        inputs.gender = cinsiyet;
        inputs.city = $("#city").val();
        inputs.phoneNumber = "90" + $("#op").val() + $("#phoneNumber").val();
        msisdn = inputs.phoneNumber;
        inputs.grup = gname;
        inputs.username = $("#username").val();
        inputs.surname = $("#surname").val();
        inputs.nick = $("#nick").val();
        inputs.extrapp = $("#extrapp").val();
        inputs.operator = operator;
        inputs.screenMode = "register";



        // html ekranındaki parametreler
        document.softreklam.ajax(inputs);
    }

    function sendActivationCode() {

        var gr = new GroupUtility();
        var elem = document.getElementById("activationCode");

        if (!gr.checkNumber(elem, 4)) {
            $("#time_display").html("<b>Şifreniz dört rakamdan oluşmalıdır. Lütfen doğru şifreyi giriniz.</b><br>Şifreniz cep telefonunuza gelmediyse <b>"+gname+"</b> yazıp 1230'a göndererek gruba otomatik katılabilirsiniz.");
            elem.focus();
            return;
        }

        $(document.softreklam).unbind("ajaxCallback");
        $(document.softreklam).bind("ajaxCallback", function (evt, params) {
            if (!params.succeeded || params.thrown != null) {
                alert(params.thrown);
                return;
            }

            var json = params.data;

            if (!json.result) {
                if(json.description == "MEMBERSHIP_SUCCESFUL" && inputs.extrapp=="SINIRSIZARKADAS") {
                    jumpToSinirsizArkadas(inputs.phoneNumber,inputs.activationCode,inputs.grup);
                }
                else if(json.description=="IP_RESTRICT")
                {
                    var msg = "Üst üste 5 kez yanlış şifre girdiniz.<br>Gruba katılmak için lütfen <b>"+gname+"</b> yazıp 1230 a gönderiniz.";
                    stop = 1;
                    minutes = 0;
                    seconds = 0;
                    $("#time_display").html(msg);
                    return;
                }
                else if(json.description == "MEMBERSHIP_SUCCESFUL" && inputs.extrapp=="WEBCHAT") {
                    $("#divMessage").html($("#divMessage").html()+"<br>10 saniye içinde www.msn724.com sayfasına yönlendirileceksiniz. Lütfen bekleyiniz...");
                    setTimeout(function() {
                       jumpToMsn724(inputs.phoneNumber,inputs.activationCode,inputs.grup);
                     },10000);
                }
                else if(json.description == "MEMBERSHIP_SUCCESFUL" && inputs.extrapp=="KLASARKADAS") {
                     jumpToKlasArkadas();
                }
                else if(json.description == "MEMBERSHIP_SUCCESFUL" && inputs.extrapp=="KLASARKADAS2") {
                     jumpToKlasArkadas2();
                }
                else if(json.description == "MEMBERSHIP_SUCCESFUL" && inputs.extrapp=="TURKCAM") {
                     jumpToTurkCam();
                }
                else if(json.description=="WRONG_PASSWORD") {
                    stop = 1;
                    minutes = 0;
                    seconds = 0;
                    $("#time_display").html("<b>Yanlış şifre girdiniz! Lütfen doğru şifreyi giriniz.</b><br>Şifreniz cep telefonunuza gelmediyse <b>"+gname+"</b> yazıp 1230'a göndererek gruba otomatik katılabilirsiniz.");
                    return;
                }
                else if(json.description!="MEMBERSHIP_SUCCESFUL")  {
                    $("#time_display").html(json.description);
                    return;
                }

            }


            $("form")[0].reset();
            //window.close();
            $("#groupName2").text(gname);
            $("#divRegister").css("gruba", "none");
            $("#divCode").css("display","none");
            $("#divMessage").css("display", "block");
            $("#divRetry").css("display","none") ;
            $("#divMsn").css("display", "none");
            stop = 1;

            //timer...

            //pixel code
            if (json.data==null) {
                return;
            }

            var url =json.data["$"];
            $("#pixCode").attr("src", url);


            // TODO: process response mesg.

        });


        var gender = $("#erkek").attr("checked") ;
        var cinsiyet = null;
        if (gender == null || gender == '') {
            cinsiyet = $("#kadin").val();
        }
        else {
            cinsiyet = $("#kadin").val();
        }

        var op_avea =  $("#avea").attr("checked");
        var op_turkcell = $("#turkcell").attr("checked");
        var op_vodafone = $("#vodafone").attr("checked");

        //operator
        var operator = null;
        if(op_avea==true)
          operator = $("#avea").val();
        else if(op_turkcell==true)
          operator = $("#turkcell").val();
        else if(op_vodafone==true)
                  operator = $("#vodafone").val();
        else operator = "NON";

        var inputs = new Object();
        inputs.age = $("#age").val();
        inputs.gender = cinsiyet;
        inputs.city = $("#city").val();
        inputs.phoneNumber = "90" + $("#op").val() + $("#phoneNumber").val();
        inputs.grup = gname;
        inputs.username = $("#username").val();
        inputs.surname = $("#surname").val();
        inputs.nick = $("#nick").val();
        inputs.extrapp = $("#extrapp").val();
        inputs.activationCode = $("#activationCode").val();
        inputs.operator = operator;
        inputs.screenMode = "join";


        // html ekranındaki parametreler
        document.softreklam.ajax(inputs);
    }

});

// softreklam
function Softreklam() {
    // ajax callback handler
    this.ajaxCallback = jQuery.Event("ajaxCallback");
    // ajax request maker
    this.ajax = function (inputs) {
        var d = new Date();
        jQuery.ajax({
            url:  $("form")[0].getAttribute('action') + "?_d_=" + d.getTime(),
            data: inputs,
            //complete: postCallback,
            contentType :"application/x-www-form-urlencoded; charset=UTF-8",
            dataType: "json",
            cache: false,
            success:document.softreklam.successCallback,
            error: document.softreklam.errorCallback,
            type:   "POST"         }
                );

    };

    // failed ajax callback
    this.errorCallback = function  (XMLHttpRequest, textStatus, errorThrown) {
        // typically only one of textStatus or errorThrown
        // will have info
        //this; // the options for this ajax request
        document.softreklam.postCallback(XMLHttpRequest, textStatus, errorThrown, false);


    };

    // successful ajax callback
    this.successCallback = function (data, textStatus) {

        // data could be xmlDoc, jsonObj, html, text, etc...
        //this; // the options for this ajax request
       if (window.XMLHttpRequest) {
            // If IE7, Mozilla, Safari, and so on: Use native object.
            xmlHttp = new XMLHttpRequest();
        }
        else
        {
            if (window.ActiveXObject) {
                // ...otherwise, use the ActiveX control for IE5.x and IE6.
                xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
            }
        }
        document.softreklam.postCallback(data, xmlHttp, textStatus, null, true);
    };

    /* processes ajax callback*/
    this.postCallback = function (data, XMLHttpRequest, textStatus, thrown, succeeded) {

        $(document.softreklam).trigger(document.softreklam.ajaxCallback, {data: data, succeeded: succeeded, thrown:thrown, xmlHttpRequest: XMLHttpRequest, status: textStatus,   pageName: document.softreklam.getPageName() });

    };

    this.getPageName = function () {
        return window.location.pathname;
    };


}

function getGroupNameFromQueryString()
{
    if(gname != "")
    {
        return gname;
    }
    var fullurl=window.location.toString();

    if(fullurl.lastIndexOf("=")<0)
    {
        if(fullurl.lastIndexOf("/")<0)
        {
            alert("Grup yok!");
            return false;
        }
        else
        {
            gname = fullurl.substring(fullurl.lastIndexOf("/")+1,fullurl.length);
        }
    }
    else
    {
        gname = gup("grup");//fullurl.substring(fullurl.lastIndexOf("=")+1,fullurl.length);
        klasid = gup("id");

    }
    gname = gname.toUpperCase().replace("#","").replace("İ","I");
    return gname;
}

