$(document).ready(
    function()
    {
        if (document.getElementsByTagName)
        {
            /* SETUP LINK TRIGGERS */
            var l = document.getElementsByTagName("a");
            for (var i=0; i < l.length; i++)
            {
                if (l[i].className.match("^plink(\_.*)?$"))
                {
                    l[i].onclick = function() {
                    	$("iframe").each( function(){
                            if ($(this).attr('id')) {
                                iframe = document.getElementById($(this).attr('id'));
                                iframe.src = $(this).attr('src');
                            }
                    		//window.location.iframe.reload(true);
                    		//$(this).html(html);
                    	});
                    	window.location.reload();
                    	var w = window.open(this.getAttribute("href") + "---", "popup", "toolbar=0, scrollbars=no, location=0, statusbar=0, menubar=0,resizable=1, width=700, height=490" );
                    		//Google analitics include
                    	//	pageTracker._trackPageview($(this).attr('href'));
                    		//end include
                    	w.focus();
                    	return false;
                    };
                }
            }
        }
        /*if( ( $.cookie('logged') != null || $.cookie('logged')!= undefined ) && ( $.cookie("logged") == "false" ) )
        {
            var data = { flag: 1, email: $.cookie("login_name"), password: $.cookie('password') };
            loadPreLogin( data );
        }*/
    }
);
function loadPreLogin( mass_to_send )
{
    if( mass_to_send == 0 )
    {
    $("#preLoginForm_id").load("/login.php",{},
        function()
        {
            $("#showLoginDialog_id").click(
                function()
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                    loadKanallers( );
                }
            );
            $("#edit_profile_id").click(
                function() // it's only for logged user's
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                    loadProfile();
                }
            );
            $("#log_in_site_id").click(
                function()
                {
                    if( Checker.FormSubmit({'email':['email', 'Din email skal udfyldes'], 'password':['text', 'Passwordet skal udfyldes']}) )
                    {
                        /*if( $('#rememberMe_id').attr('checked') )
                        {
                           $.cookie( 'login_name', $("#email").val() );
                           $.cookie( 'password', $("#password").val() );
                        }*/
                        var mass_data = $("#login_to_site_id").serializeArray();
                        $("#main_login_form_id").dialog("destroy");
                        $("#main_login_form_id").remove();
                        $("#preLoginForm_id").empty();
                        loadPreLogin( mass_data );
                    }
                }
            );
            $("#recovery_pass_id").click(
                function()
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                    loadRecovery();
                }
            );
            $("#lug_vinde_id").click(
                function()
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                }
            );
            $("#main_login_form_id").dialog({
                modal: false,
                resizable: true,
                draggable: true,
                autoOpen: true,
                title: "Min TVGuide",
                width: 870,
                close: function(event, ui)
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                }
            }).dialog("open");
        }
    );
    }
    else
    {
    $("#preLoginForm_id").load("/login.php", mass_to_send,
        function(data)
        {
            if( data == "login done" )
            {
                //$.cookie( 'logged', 'true' );
                $("#main_login_form_id").dialog("destroy");
                $("#main_login_form_id").remove();
                $("#preLoginForm_id").empty();
                window.location = "/";
                return;
            }
            /*else
            {
                $.cookie( 'logged', null );
                //$.cookie( 'login_name', null );
                $.cookie( 'password', null );
            }*/
            $("#showLoginDialog_id").click(
                function()
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                    loadKanallers( );
                }
            );
            $("#edit_profile_id").click(
                function() // it's only for logged user's
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                    loadProfile();
                }
            );
            $("#log_in_site_id").click(
                function()
                {
                    if( Checker.FormSubmit({'email':['email', 'Din email skal udfyldes'], 'password':['text', 'Passwordet skal udfyldes']}) )
                    {
                        var mass_data = $("#login_to_site_id").serializeArray();
                        $("#main_login_form_id").dialog("destroy");
                        $("#main_login_form_id").remove();
                        $("#preLoginForm_id").empty();
                        loadPreLogin( mass_data );
                    }
                }
            );
            $("#recovery_pass_id").click(
                function()
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                    loadRecovery();
                }
            );
            $("#lug_vinde_id").click(
                function()
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                }
            );
            $("#main_login_form_id").dialog({
                modal: false,
                resizable: true,
                draggable: true,
                autoOpen: true,
                title: "Min TVGuide",
                width: 870,
                close: function(event, ui)
                {
                    $("#main_login_form_id").dialog("destroy");
                    $("#main_login_form_id").remove();
                    $("#preLoginForm_id").empty();
                }
            }).dialog("open");
        }
    );
    }
}
function loadProfile()
{
    $("#kanaller_selector_id").load("/signup.php",{},function()
    {
        $("#tilbage_id").click(function(){
            $("#login_dialog_id").dialog("destroy");
            $("#login_dialog_id").remove();
            $("#kanaller_selector_id").empty();
            loadPreLogin( 0 );
        });
        if( $( "#signup_form_id" ) ) {
            $( "#signup_form_id" ).validate({
                submitHandler: function()
                    {
                        //var b = $.cookie("list-selectedChannels");
                        //alert(b);
                        $.post( "/my_login.php", $('#signup_form_id').serialize(), function(data){
                            $("#login_dialog_id").html(data);
                            $("#login_dialog_id").dialog('option', 'width', 390);
                            $("#login_dialog_id").dialog('option', 'position', 'center');
                        } );
                    },
                rules: {
                    fornavn: {
                        required: true
                    },
                    betingelser: {
                        required: true
                    },
                    efternavn: {
                        required: true
                    },
                    email: {
                        required: true,
                        email: true
                    },
                    kodeord1: {                    },
                    kodeord2: {
                        equalTo: "#password_id"
                    },
                    mobil: {
                        required: true
                    },
                    postnr: {
                        required: true
                    },
                    kon: {
                        required: true
                    },
                    birthday: {
                        required: true,
                        number: true
                    },
                    birthmonth: {
                        required: true,
                        number: true
                    },
                    birthyear: {
                        required: true,
                        number: true
                    }
                },
                messages: {
                    fornavn: {
                        required: "Du skal indtaste dit fornavn"
                    },
                    betingelser: {
                        required: "Du skal acceptere betingelserne!"
                    },
                    efternavn: {
                        required: "Du skal indtaste dit efternavn"
                    },
                    email: {
                        required: "Du skal indtaste en email adresse",
                        email: "Du skal indtaste dit email adresse"
                    },
                    kodeord1: {},
                    kodeord2: {
                        equalTo: "Du skal bekr&nbsp;fte dit password"
                    },
                    mobil: {
                        required: "Indtast dit mobil nummer"
                    },
                    postnr: {
                        required: "Du skal indtaste dit post nummer"
                    },
                    kon: {
                        required: "Du skal v&#230;lg k&#248;n"
                    },
                    birthday: {
                        required: "Du skal v&#230;lge din f&#248;dselsdag",
                        number: "Indtast venligst korrekt dato!"
                    },
                    birthmonth: {
                        required: "Du skal v&#230;lge din f&#248;dselsdag",
                        number: "Indtast venligst korrekt dato!"
                    },
                    birthyear: {
                        required: "Du skal v&#230;lge din f&#248;dselsdag",
                        number: "Indtast venligst korrekt dato!"
                    }
                },
                errorPlacement: function(error,element) {
                    if( element.is(":radio") ){
                        element_id = element.attr("name");
                        var placement_id = "#prv_" + element_id + "_id";
                        container = $(placement_id);
                        container.click(function() {
                            $(element).focus();
                        });
                        error.appendTo(container);
                        $(element).focus();
                    }else if( element.attr("name") == "birthday" || element.attr("name") == "birthmonth" || element.attr("name") == "birthyear" ){
                        var placement_id = "#prv_birth_date";
                        container = $(placement_id);
                        container.click(function() {
                            $(element).focus();
                        });
                        error.appendTo(container);
                        $(element).focus();
                    }else{
                        element_id = element.attr("id");
                        var placement_id = "#prv_" + element_id;
                        container = $(placement_id);
                        container.click(function() {
                            $(element).focus();
                        });
                        error.appendTo(container);
                        $(element).focus();
                    }
                }
            });
        }
        $("#login_dialog_id").dialog({
            modal: false,
            resizable: true,
            draggable: true,
            autoOpen: true,
            title: "Min TVGuide",
            width: 870,
            /*open: function() {
                $("#ui-datepicker-div").css("z-index", ( $(this).parents(".ui-dialog").css("z-index") - 1 ) );
            },*/
            close: function(event, ui)
            {
                $("#login_dialog_id").dialog("destroy");
                $("#login_dialog_id").remove();
                $("#kanaller_selector_id").empty();
            }
        }).dialog("open");
    });
}
function loadKanallers( ){
    $("#registr_id").load("/kanallselector.php", {}, function()
    {
        //var var_name = $('#checkbox_id').attr('checked')?1:0;
        /*$("#chechboxes_list_id :checkbox").click(function(){
            if( $(this).attr('name') == 'Alle' || $(this).attr('for') == 'alle_id' ){
                var b = $(this).attr('checked');
                $("#dialog :checkbox").each(function(){
                    $(this).attr('checked', b);
                });
                if( b == true )
                {
                    selectChannels( "Alle" );
                }
                else
                {
                    selectChannels( "none" );
                }
            } else {
                $("#dialog :checkbox[name='Alle']").attr('checked', false );
                selectChannels( "check" );
            }
        });*/
        var a = $.cookie("list-selectedchannels");
        $("#selectedChannels").sortable({
            revert: true,
            stop: saveSort
        });
        selectChannels("Alle");
        selectedChannels();

        $("#dialog_link").click(function(){
            saveSort();
            if( $( "#dialog" ) )
            {
                $("#dialog").dialog("destroy");
                $("#dialog").remove();
                $("#registr_id").empty();
            }
            var a = $.cookie("list-selectedchannels");
            //alert(a);
            $("#kanaller_selector_id").load("/signup.php",{},function()
            {
                $("#tilbage_id").click(function(){
                    $("#login_dialog_id").dialog("destroy"); //this close profile dialog
                    $("#login_dialog_id").remove();
                    $("#kanaller_selector_id").empty();
                    loadKanallers( );
                });
                if( $( "#signup_form_id" ) ) {
                    /*$.validator.addMethod(
                        "myDataFormat",
                        function(value, element)
                        {
                            return value.match(/^\d\d?\-\d\d?\-\d\d\d\d$/);
                        },
                        "Please enter a date in the format dd-mm-yyyy"
                    );*/
                    $( "#signup_form_id" ).validate({
                        submitHandler: function()
                            {
                                //var form_data = ;
                                //check if date enter correctly here
                                $.post( "/my_login.php", $('#signup_form_id').serialize(), function(data){
                                    $("#login_dialog_id").html(data);
                                    $("#login_dialog_id").dialog('option', 'width', 360);
                                    $("#login_dialog_id").dialog('option', 'position', 'center');
                                } );
                            },
                        rules: {
                            fornavn: {
                                required: true
                            },
                            betingelser: {
                                required: true
                            },
                            efternavn: {
                                required: true
                            },
                            email: {
                                required: true,
                                email: true
                            },
                            kodeord1: {
                                required: true
                            },
                            kodeord2: {
                                equalTo: "#password_id"
                            },
                            mobil: {
                                required: true
                            },
                            postnr: {
                                required: true
                            },
                            kon: {
                                required: true,
                                maxlength: 1
                            },
                            birthday: {
                                required: true,
                                number: true
                            },
                            birthmonth: {
                                required: true,
                                number: true
                            },
                            birthyear: {
                                required: true,
                                number: true
                            }

                        },
                        messages: {
                            fornavn: {
                                required: "Du skal indtaste dit fornavn"
                            },
                            betingelser: {
                                required: " Du skal acceptere betingelserne!"
                            },
                            efternavn: {
                                required: "Du skal indtaste dit efternavn"
                            },
                            email: {
                                required: "Du skal indtaste en email adresse",
                                email: "Du skal indtaste dit email"
                            },
                            kodeord1: {
                                required: "Du skal indtaste dit password"
                            },
                            kodeord2: {
                                equalTo: "Du skal bekr&nbsp;fte dit password"
                            },
                            mobil: {
                                required: "Indtast dit mobil nummer"
                            },
                            postnr: {
                                required: "Du skal indtaste dit post nummer"
                            },
                            kon: {
                                required: "Du skal v&#230;lg k&#248;n"
                            },
                            birthday: {
                                required: "Du skal v&#230;lge din f&#248;dselsdag",
                                number: "Please enter numbers!"
                            },
                            birthmonth: {
                                required: "Du skal v&#230;lge din f&#248;dselsdag",
                                number: "Please enter numbers!"
                            },
                            birthyear: {
                                required: "Du skal v&#230;lge din f&#248;dselsdag",
                                number: "Please enter numbers!"
                            }
                        },
                        errorPlacement: function(error,element) {
                            if( element.is(":radio") ){
                                element_id = element.attr("name");
                                var placement_id = "#prv_" + element_id + "_id";
                                container = $(placement_id);
                                container.click(function() {
                                    $(element).focus();
                                });
                                error.appendTo(container);
                                $(element).focus();
                            }else if( element.attr("name") == "birthday" || element.attr("name") == "birthmonth" || element.attr("name") == "birthyear" ){
                                var placement_id = "#prv_birth_date";
                                container = $(placement_id);
                                container.empty();
                                container.click(function() {
                                    $(element).focus();
                                });
                                error.appendTo(container);
                                $(element).focus();
                            }else{
                                element_id = element.attr("id");
                                var placement_id = "#prv_" + element_id;
                                container = $(placement_id);
                                container.click(function() {
                                    $(element).focus();
                                });
                                error.appendTo(container);
                                $(element).focus();
                            }
                        }
                    });
                }
                $("#login_dialog_id").dialog({
                    modal: false,
                    resizable: true,
                    draggable: true,
                    autoOpen: true,
                    title: "Min TVGuide",
                    width: 870,
                    /*open: function() {
                        $("#ui-datepicker-div").css("z-index", ( $(this).parents(".ui-dialog").css("z-index") + 1 ) );
                    },*/
                    close: function(event, ui)
                    {
                        $("#login_dialog_id").dialog("destroy");
                        $("#login_dialog_id").remove();
                        $("#kanaller_selector_id").empty();
                    }
                }).dialog("open");
            });

        });
        $("#save_kanaller_link").click(
            function()
            {
                //alert("test");
                saveSort();
                $.post( "/my_login.php", {saveKanaller:"saveKanaller"}, 
                    function(data)
                    {
                        window.location = "/";
                    }
                );
                //alert("test1");
            }
        );
        $("#nulstilkanaler_id").click(function(){
            clearSelect();
            //saveSort();
        });
        $("#standard_kanaler_id").click(function(){
            $("#selectedChannels").load("/js/p/channels_select.php", {id:"standart"}, function(){saveSort();});
            //saveSort();
        });
        $("#dialog").dialog({
            modal: false,
            resizable: true,
            draggable: true,
            autoopen: true,
            title: "Min TVGuide",
            width: 880,
            close: function(event, ui)
            {
                $("#dialog").dialog("destroy");
                $("#dialog").remove();
                $("#registr_id").empty();
            }
        }).dialog("open");
    });
}

function saveSort()
{
    var a = $("#selectedChannels").sortable("toArray");
    //alert(a);
    $.cookie("list-selectedChannels", a.join(","), { path: "/"});
}
function clearSelect()
{
    $.cookie("list-selectedChannels",null);
    $("#selectedChannels").load("/js/p/channels_select.php", { select:'none'});
    selectChannels( "Alle" );
}
function selectChannels(sID)
{
    /*if( sID == "check"){
        sID="";
        $("#dialog :checkbox").each(function(){
            if( $( this ).attr( 'checked' ) ){
                if(  $(this).attr("value") == "0" ){
                    return;
                }
                sID += $(this).attr('value') + ",";
            }
        });
    }*/
    if( sID == "none" || sID == "" )
    {
        sID = "none";
    }
    else
    {
        sID = sID.slice(0,-1);
    }
    $("#selectChannels").load("/js/p/channels_select.php", {id: sID});
}

function selectedChannels()
{
    $("#selectedChannels").load("/js/p/channels_select.php");
}

function channelSelected(el)
{
    $("#selectedChannels").append(el);
    saveSort();
}
function saveThisHomePage()
{
    if( $("#start_page_id").attr("checked") ){
        jQuery.each(jQuery.browser, function(i, val)
        {
            if( $.browser.msie && val )
            {
                document.body.style.behavior='url(#default#homepage)';
                document.body.setHomePage('http://tvguide.dk');
                $('#signup_form_id').submit();
                return false;
            }
            else if( $.browser.mozilla && val )
            {
                alert('To make current page your homepage please go to preferences->main and press "use current pages"');
                $('#signup_form_id').submit();
                return false;
            }
            else if( $.browser.opera && val )
            {
                alert('To make current page your homepage please go to preferences->general and press "use current"');
                $('#signup_form_id').submit();
                return false;
            }
            else
            {
                alert('To make current page your homepage go to browser`s setting and choose this page as your homepage.');
                $('#signup_form_id').submit();
                return false;
            }
        });
    }
    $('#signup_form_id').submit();
}
function makeLoginCall( choice )
{
    var tt= window.opener;
    if( tt==null || tt == "undefined" )
    {
        if( choice == "1" )
        {
            loadPreLogin();
        }
        else if( choice == "2" )
        {
            loadKanallers();
        }
    }
    else
    {
        alert("Some errore happend!");
    }
}
function loadRecovery()
{
    $("#recoveryDialogBox_id").load( "/recover.php", {}, 
        function()
        {
            $("#next_button_id").click(
                function()
                {
                    $("#recover_dialog_id").load( "/recover.php", { name: $("#email_id").val() }, 
                        function()
                        {
                            $("#close_this_id").click(
                                function()
                                {
                                $("#recover_dialog_id").dialog("destroy");
                                $("#recover_dialog_id").remove();
                                $("#recoveryDialogBox_id").empty();
                                }
                            );
                            $("#tilbage_this_id").click(
                                function()
                                {
                    		$("#recover_dialog_id").load( "/recover.php"); 
                                }
                            );
//                        }
                        }
                        );
                    return false;
                }
            );
            $("#tilbage_button_id").click(
                function()
                {
                    $("#recover_dialog_id").dialog("destroy");
                    $("#recover_dialog_id").remove();
                    $("#recoveryDialogBox_id").empty();
                }
            );
            $("#recover_dialog_id").dialog({
                modal: false,
                resizable: true,
                draggable: true,
                autoOpen: true,
                title: "Min TVGuide",
                width: 890,
                close: function(event, ui)
                {
                    $("#recover_dialog_id").dialog("destroy");
                    $("#recover_dialog_id").remove();
                    $("#recoveryDialogBox_id").empty();
                }
            }).dialog("open");
        }
    );
}

