/*
 * © chill.lv, 2009
 *
 * Anpher
 * marcis@chill.lv
 */

$(function(){

    $.timer(0, function (timer)
    {

        $('#timer_recent_topics_spinner').show();
        $('#timer_recent_topics').hide();

        $.ajax({
            type: "GET",
            processdata: false,
            global: false,
            url: "/timer/recent_topics",
            error: function(){
                $('#timer_recent_topics_spinner').hide();
                $("#timer_recent_topics").text('Kļūda');
            },
            success: function(data){
                $('#timer_recent_topics_spinner').hide();
                $('#timer_recent_topics').show();
                $("#timer_recent_topics").html(data);
				$("#timer_recent_topics").find("a").bind("mouseover", function(){
					if(!$(this).attr("tip")){
						$(this).attr("tip", $(this).attr("title")).attr("title", "");
					}
					$("#tooltip").show().html($(this).attr("tip"));
				}).bind("mouseout", function(){
					$("#tooltip").hide();
				}).bind("mousemove", function(e){
					$("#tooltip").css({
						top: e.pageY+10,
						right: $(window).width()-e.pageX+10
					});
				});
            }
        })
        

        $('#timer_recent_comments_spinner').show();
        $('#timer_recent_comments').hide();

        $.ajax({
            type: "GET",
            processdata: false,
            global: false,
            url: "/timer/recent_comments",
            error: function(){
                $('#timer_recent_comments_spinner').hide();
                $("#timer_recent_comments").text('Kļūda');
            },
            success: function(data){
                $('#timer_recent_comments_spinner').hide();
                $('#timer_recent_comments').show();
                $("#timer_recent_comments").html(data);
            }
        })
        
        
        $('#timer_users_online_spinner').show();
        $('#timer_users_online').hide();

        $.ajax({
            type: "GET",
            processdata: false,
            global: false,
            url: "/timer/users_online",
            error: function(){
                $('#timer_users_online_spinner').hide();
                $("#timer_users_online").text('Kļūda');
            },
            success: function(data){
                $('#timer_users_online_spinner').hide();
                $('#timer_users_online').show();
                $("#timer_users_online").html(data);
				$("#timer_users_online").find("a").bind("mouseover", function(){
					if(!$(this).attr("tip")){
						$(this).attr("tip", $(this).attr("title")).attr("title", "");
					}
					$("#tooltip").show().html($(this).attr("tip"));
				}).bind("mouseout", function(){
					$("#tooltip").hide();
				}).bind("mousemove", function(e){
					$("#tooltip").css({
						top: e.pageY+10,
						right: $(window).width()-e.pageX+10
					});
				});
            }
        }) 

    
        timer.reset(40000);
    });

    $.timer(50000, function (timer) {
        

        $('#timer_server_monitor_spinner').show();
        $('#timer_server_monitor').hide();

        $.ajax({
            type: "GET",
            processdata: false,
            global: false,
            url: "/timer/server_monitor",
            error: function(){
                    $('#timer_server_monitor_spinner').hide();
                   $("#timer_server_monitor").text('Kļūda');
            },
            success: function(data){
                   $('#timer_server_monitor_spinner').hide();
                   $('#timer_server_monitor').show();
                   $("#timer_server_monitor").html(data);
            }
        }) 
        
        timer.reset(50000);
    });
	
    $.timer(60000, function (timer) {
        $('#timer_radioinfo_spinner').show();
        $('#timer_radioinfo').hide();

        $.ajax({
            type: "GET",
            processdata: false,
            global: false,
            url: "/timer/radioinfo",
            error: function(){
                   $('#timer_radioinfo_spinner').hide();
                   $("#timer_radioinfo").text('Kļūda');
            },
            success: function(data){
                   $('#timer_radioinfo_spinner').hide();
                   $('#timer_radioinfo').html(data).show();
            }
        });
        
        timer.reset(60000);
    });
	
    $.timer(300000, function (timer) {
		$("#page_stats").html('<img src="/media/images/spinner_page_stats.gif" alt="" />');
        $.ajax({
            type: "GET",
            processdata: false,
            global: false,
            url: "/timer/page_stats",
            error: function(){
				$("#page_stats").text('Kļūda');
            },
            success: function(data){
				$("#page_stats").html(data);
            }
        });
        
        timer.reset(300000);
    });
	
    $.timer(60000, function (timer) {
		$.ajax({
			type: "GET",
			processdata: false,
			global: false,
			url: "/timer/new_messages",
			success: function(data){
				if(data!="false"){
					if($("#messages_popup").length<1){
						$('<div id="messages_popup" style="display: none;"><h3>Informācija</h3><p><a href="/messages">Tev ir <span id="messages_popup_info"></span></a></p></div>').appendTo("body");
						$("#messages_popup").fadeIn(500);
					}
					$("#messages_popup_info").text(data);
				}
			}
		});
        
        timer.reset(60000);
    });

});

$(document).ready(function(){
	$("#loader").slideUp("slow").ajaxStart(function(){
		$(this).stop().slideDown("slow");
	}).ajaxStop(function(){
		$(this).stop().slideUp("slow");
	});
	$("#page_stats").load("/timer/page_stats");
	$.ajax({
		type: "GET",
		processdata: false,
		global: false,
		url: "/timer/new_messages",
		success: function(data){
			if(data!="false"){
				if($("#messages_popup").length<1){
					$('<div id="messages_popup" style="display: none;"><h3>Informācija</h3><p><a href="/messages">Tev ir <span id="messages_popup_info"></span></a></p></div>').appendTo("body");
					$("#messages_popup").fadeIn(500);
				}
				$("#messages_popup_info").text(data);
			}
		}
	});
	$('<p id="tooltip"></p>').appendTo("body");
});

function contest_vote(contest_id, vote){
	$("#contest_vote .info").text('Uzgaidi...').show();
	$.get('/contest/vote/'+contest_id+'/?v='+vote, null, function(msg){
		$("#contest_vote .info").html(msg);
	});
}

function load_comments_list(type, parent_id, allow_comments, page){
    $("#comments_list_spinner").show();

	$("#comments_list").hide();
	$("#comments_list").load("/comments/comments_list/?type=" +type + "&parent_id=" + parent_id + "&allow_comments=" + allow_comments + "&page=" + page, null, function(){
		$("#comments_list_spinner").hide();
		$("#comments_list").show();
	});
}

function rater(server_id, rating, l, hasvoted)
{
    if(l == 1) {
        $("#server_"+server_id).rater('do_rating&server_id='+server_id+'&rating='+rating, {style: "small", curvalue:+rating});
    } else {
        $("#server_"+server_id).html("jāielogojas");
    }
}

var mreaded = new Array();
var curr;

function message_read(id, read, box)
{
	if($("#message_c_"+id).css("display") == "none"){
		$("#message_c_"+id).show();
		$("#message_"+id).load("/messages/message/"+id, function(){
			$("#message_spinner_"+id).hide();
		});
	}else{
		$("#message_c_"+id).hide();
		$("#message_spinner_"+id).show();
	}
	/*

	if (!box) { box = 1; }
	try{
		$("#info_hover_" + id).toggleClass("info_hovered");
		if((curr == id || $("#info_hover_" + id).hasClass("selected")))
		{
			curr = '';
			$("#message_c_" + id).css({'display': 'none'});
		} else {
			
			if (read == 0 && box != 0){
				$("#info_hover_a_" + id).removeClass("unread");
				$("#info_hover_a_" + id).addClass("read");

			} else {
				$("#info_hover_" + id).css("color","blue");//.addClass("selected");
			}
			
			curr = id;
			$("#message_c_" + id).css({'display': ''});
	
			if(!mreaded[id])
			{
				$("#message_spinner_" + id).css({'display': ''});
				
				mreaded[id] = true;
			}
		
		}
	}catch(e){
		//return true;
		alert(e);
	}

	return false;
	*/
}

function message_reply(message_id, subject, receiver_id, receiver_name)
{
	if (subject)
	{
		newsubject = subject;
		if (subject.substring(0, 3) != 're:' && subject.substring(0, 3) != 're[')
		{
			newsubject = 're[1]: ' + subject;
		}
		else if (subject.substring(0, 3) == 're[')
		{
			pos = subject.indexOf(']');
			if (pos && pos > 0 && !isNaN(pos))
			{
				count = subject.substring(3, pos) * 1;
				newsubject = 're[' + (count + 1) + ']:' + subject.substring(pos + 2, subject.length);
			}
		}
		else if (subject.substring(0, 3) == 're:')
		{
			subject = subject.replace('re:', '');
			newsubject = 're[2]: ' + subject;
		}

	}

    $("#receiver").val(receiver_name);
    $("#receiver_id").val(receiver_id);
    $("#message_title").val(newsubject);

    $("#send_message").css({'display': ''});
    $("#message").focus();
}

function message_delete(id){
	if(!confirm("Dzēst šo vēstuli?")){
		return false;
	}
	$("#info_hover_"+id+", #message_c_"+id).remove();
	$.get("/messages/delete/"+id+".html");
}

function preempt_sms_server(id, is_free, is_logged_in, port)
{
    
    for(i = 1; i <= 10; i++) {
        $('#sms_server_a_'+i).css("font-weight","normal");
    }

    $('#sms_server_a_' + id).css("font-weight", "bold");

    load_sms_server_sidebar(id);

    /*$("#sidebar_right").ajaxSuccess(function() {
	$("#messages_container_spinner").css({'display': 'none'});
	$("#messages_container").css({'display': ''});
    });*/
        
    if(is_logged_in == 1)
    {
        $('#sms_server_port').html(port);
        validate_sms_server_form(id, is_free);
    
        change_info(0);

        if(is_free == 1)
        {
            $('#preempt_sms_server_error').hide();
            $('#preempt_sms_server').show();
        } else {
            $('#preempt_sms_server').hide();
            $('#preempt_sms_server_error').show();
        }
    } else {
        $('#preempt_sms_server_register').show();
    }
}

function load_sms_server_sidebar(id)
{
    $('#sidebar_right').load("/pakalpojumi/sms_serveri/server_sidebar_info_ajax/"+id);

    $('#sidebar_right').ajaxSend(function() {
        $('#sms_servers_sidebar').css({'display': 'none'});
        $('#sidebar_right').removeClass('spinner sms_server_info')
        $('#sidebar_right').addClass('spinner sms_server_info');
    });

    $('#sidebar_right').ajaxStop(function() {
        $('#sidebar_right').removeClass('spinner sms_server_info')
        $('#sms_servers_sidebar').css({'display': ''});
    });
}

function change_info(h)
{

    h = parseInt(h);

    switch(h)
    {
        case 2:
            $("#slr_id").val("NTP15");
            $('#preempt_sms_server_info').show();
            $('#preempt_sms_server_info').html("<td colspan='2'><b>2 stundās:</b> Nosūtiet kodu <strong>NTP15</strong> uz <strong>157</strong>(LMT/Tele2/Bite) SMS cena ir 0.15 Ls</td>");
            break
    
        case 5:
            $("#slr_id").val("NTP95");
            $('#preempt_sms_server_info').show();
            $('#preempt_sms_server_info').html("<td colspan='2'><b>5 stundām:</b> Nosūtiet kodu <strong>NTP95</strong> uz <strong>157</strong>(LMT/Tele2/Bite) SMS cena ir 0.95 Ls</td>");
            break
        
        case 24:
            $("#slr_id").val("NTP200");
            $('#preempt_sms_server_info').show();
            $('#preempt_sms_server_info').html("<td colspan='2'><b>24 stundām:</b> Nosūtiet kodu <strong>NTP200</strong> uz <strong>157</strong>(LMT/Tele2/Bite) SMS cena ir 2.00 Ls</td>");
            break

	case 120:
            $("#slr_id").val("NTP300");
            $('#preempt_sms_server_info').show();
            $('#preempt_sms_server_info').html("<td colspan='2'><b>120 stundām:</b> Nosūtiet kodu <strong>NTP300</strong> uz <strong>157</strong>(LMT/Tele2/Bite) SMS cena ir 3.00 Ls</td>");
            break
        
        default:
            $('#preempt_sms_server_info').hide();
    }

	Fat.fade_element('preempt_sms_server_info');
}

function load_message_box(id)
{
	messages_list(0, id);

	for(i = 1; i <= 2; i++) {
		$('#message_box_'+i).css("font-weight","normal");
	}

	$('#message_box_'+id).css("font-weight","bold");
	return false;
}

function messages_list(page, mbox_id)
{
	mreaded = new Array();
    
	$("#messages_container_spinner").css({'display': ''});

	//if (!page) { page = 1; }
	$("#messages_container").css({'display': 'none'});
	$("#messages_container").load("/messages/messages_list/&mbox_id=" +mbox_id + "&page=" + page);
	$("#messages_container").ajaxSuccess(function() {
		$("#messages_container_spinner").css({'display': 'none'});
		$("#messages_container").css({'display': ''});
	});
}

function load_sms_servers()
{
    $('#preempt_sms_server').hide();
    $("#sms_servers_container_spinner").css({'display': ''});
    $("#sms_servers_container").css({'display': 'none'});
	$("#sms_servers_container").load("/pakalpojumi/ajax_sms_servers/");
	$("#sms_servers_container").ajaxSuccess(function() {
		$("#sms_servers_container_spinner").css({'display': 'none'});
		$("#sms_servers_container").css({'display': ''});
	});
}

function validate_sms_server_form(server_id, is_active)
{
    if(is_active == 1)
    {
        $('#server_id').val(server_id);
        var slr_id = document.getElementById("slr_id");
        var preempt_sms_server_form = document.getElementById("preempt_sms_server_form");
        if (!slr_id.value) { slr_id.value = "SLR35"; }

        var validator = $("#preempt_sms_server_form").validate({
                    rules: {
                        server_name: {
                            required: true,
                            minLength: 3
                        },
                        server_password: {
                            required: true,
                            minLength: 2
                        },
                        server_rcon_password: {
                            required: true,
                            minLength: 2
                        },
                        server_hours: {
                            required: true
                        },
                        server_code: {
                            required: true,
                            minLength: 3/*, 
                            remote: "/services/check_code/" + slr_id.value + "/"*/
                        }
                    },
    
                messages: {
                    server_hours: {
                        required: "Izvēlies uz cik ilgu laiku pirksi serveri"
                    },
                    server_name: {
                        required: "Ievadi servera nosakumu",
                        minLength: String.format("Ievadi vismaz {0} simbolus")
                    },
                    server_code: {
                        required: "Ievadi kodu",
                        minLength: String.format("Ievadi vismaz {0} simbolus")/*,
                        remote: String.format("Kods nav pareizs")*/
                    }
                },
    
            errorPlacement: function(error, element) { 
                error.appendTo( element.parent("td").next("td") ); 
            }, 
    
            /*submitHandler: function() {
                $('sms_server_form').submit();//alert("submitted!");
            },*/
    success: function(label) { 
        $('sms_server_form').submit();
    } 

            /*submitHandler: function(form) {
                jQuery(form).ajaxSubmit({
                    after: function(result) {
                        if(result.status) {
                            v.showErrors(result.data);
                            v.focusInvalid();
                        }
                    },
    
                    beforeSubmit: function(){
                        $("#preempt_sms_server_form_spinner").show();
                    },
    
                    success: function(responseText,statusText) {
                        alert("ok");
                        /*$("#send_message").hide();
                        $("#send_message_spinner").hide();
                        $("#message_return").show();
                        $("#message_return").html("VÄ“stule veiksmÄ«gi nosÅ«tÄ«ta.");
                        //load_message_box(1); bled, kkaads gljuks, jaameklee... 
                        window.location = "/messages/"
                        
                        alert("submit");
                    }*/
    
               // });
            //}
                
            });
    } else
    {
        var validator = null;
    }
}

function post_comment(type, parent_id)
{
    var comment = $("#comment").val();

    if(comment != 0)
    {
        $("#comment").removeClass("error");
        $.post("/post_comment",
          { type: type, parent_id: parent_id, comment: comment },
			function(data){
				load_comments_list(type, parent_id, "T", 0);
			}
        );

    } else {
        $("#comment").addClass("error");
        $("#comment").focus();
    }
    
    return false;

}

function quote_comment(comment_id)
{
    //$("#comment").val("test");
    //$("comment").val("<b>Some</b> new text.");
    //$("textarea").val("<b>Some</b> new text.");
    
    $.get("/get_comment_quote",
      { comment_id: comment_id},
      function(data){
        $("#comment").val(data).focus();
      }
    );
    
    return true;
}

function delete_comment(comment_id, type, parent_id)
{
    if ( !confirm('Vai tiešām vēlies izdzēst komentāru?') )
        return;

    $.post("/delete_comment",
      { comment_id: comment_id, parent_id: parent_id, type: type}
    );
    
    
    $("#comment_container_" + comment_id).fadeOut("fast");
    //return load_comments_list(type, parent_id, "T", 0);
}

function edit_comment(comment_id, type, parent_id)
{

    $.get("/get_comment",
      { comment_id: comment_id},
      function(data){
        $("#comment_text_" + comment_id).html(data);

        $("#comment_text_" + comment_id).editInPlace({
                url: "/edit_comment",
                params: "comment_id=" + comment_id,
                /*callback: function(){

                    $.get("/get_comment",
                        { comment_id: comment_id},
                        function(comment){
                            //alert("Data Loaded: " + comment);
                            //$("#comment_text_" + comment_id).html(data);
                            return (comment);
                        });

                    return (comment);
                },*/
                bg_over: "#feffdf",
                field_type: "textarea",
                textarea_rows: "5",
                textarea_cols: "5",
                saving_image: "/media/images/spinner.gif"
        }).click();
        
      }
    );
    

    /*$.post("/delete_comment",
      { comment_id: comment_id, parent_id: parent_id}
    );
    
    
    $("#comment_container_" + comment_id).fadeOut("fast");
    //return load_comments_list(type, parent_id, "T", 0);*/
    return true;
}



// @name      The Fade Anything Technique
// @namespace http://www.axentric.com/aside/fat/
// @version   1.0-RC1
// @author    Adam Michela

var Fat = {
	make_hex : function (r,g,b) 
	{
		r = r.toString(16); if (r.length == 1) r = '0' + r;
		g = g.toString(16); if (g.length == 1) g = '0' + g;
		b = b.toString(16); if (b.length == 1) b = '0' + b;
		return "#" + r + g + b;
	},
	fade_all : function (dur)
	{
		var a = document.getElementsByTagName("*");
		for (var i = 0; i < a.length; i++) 
		{
			var o = a[i];
			var r = /fade-?(\w{3,6})?/.exec(o.className);
			if (r)
			{
				if (!r[1]) r[1] = "";
				if (o.id) Fat.fade_element(o.id,null,dur,"#"+r[1]);
			}
		}
	},
	fade_element : function (id, fps, duration, from, to) 
	{
		if (!fps) fps = 30;
		if (!duration) duration = 3000;
		if (!from || from=="#") from = "#FFFF33";
		if (!to) to = this.get_bgcolor(id);

		var frames = Math.round(fps * (duration / 1000));
		var interval = duration / frames;
		var delay = interval;
		var frame = 0;

		if (from.length < 7) from += from.substr(1,3);
		if (to.length < 7) to += to.substr(1,3);

		var rf = parseInt(from.substr(1,2),16);
		var gf = parseInt(from.substr(3,2),16);
		var bf = parseInt(from.substr(5,2),16);
		var rt = parseInt(to.substr(1,2),16);
		var gt = parseInt(to.substr(3,2),16);
		var bt = parseInt(to.substr(5,2),16);

		var r,g,b,h;
		while (frame < frames)
		{
			r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
			g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
			b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
			h = this.make_hex(r,g,b);

			setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);

			frame++;
			delay = interval * frame; 
		}
		setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);
	},
	set_bgcolor : function (id, c)
	{
		var o = document.getElementById(id);
		o.style.backgroundColor = c;
	},
	get_bgcolor : function (id)
	{
		var o = document.getElementById(id);
		while(o)
		{
			var c;
			if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");
			if (o.currentStyle) c = o.currentStyle.backgroundColor;
			if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }
			o = o.parentNode;
		}
		if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";
		var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);
		if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));
		return c;
	}
}

function start_vote_timers(){
	set_vote_time(vote_start, '#vote_start');
	set_vote_time(vote_end, '#vote_end');
	window.setInterval(function(){
		time+= 1;
		set_vote_time(vote_start, '#vote_start');
		set_vote_time(vote_end, '#vote_end');
	}, 1000);
}

function set_vote_time(vtime, target){
	var left = vtime-time;
	if(left <= 0){
		var msg = target=='#vote_start' ? 'balsojums ir sācies!' : 'balsojums ir beidzies!';
		$(target).text(msg);
		return false;
	}
	var minute = 60;
	var hour = minute*60;
	var day = hour*24;
	var week = day*7;
	var weeks = floor(left/week);
	left-= weeks*week;
	var days = floor(left/day);
	left-= days*day;
	var hours = floor(left/hour);
	left-= hours*hour;
	var minutes = floor(left/minute);
	left-= minutes*minute;
	var str = '';
	if(weeks>0){
		str+= weeks+' nedēļas, ';
	}
	if(days>0){
		str+= days+' dienas, ';
	}
	str+= hours+' stundas, ';
	str+= minutes+' minūtes, ';
	str+= left+' sekundes';
	$(target).html(str);
}

function o(u, w, h){
	ww = $(window).width();
	wh = $(window).height();
	if(!w || w>ww){
		w = ww-40;
	}
	if(!h || h>wh){
		h = wh;
	}
	window.open(u,'','height='+h+',width='+w+',scrollbars=no,resizable=yes,toolbar=no,location=no,status=no,menubar=no');
	return false;
}